1. はじめに
LAMP とは
LAMP は、Linux、Apache、MySQL、Php/Perl の略称であり、それぞれのコンポーネント自体が非常に重要です。それらが表現するものにおいて強力なコンポーネント。 LAMPという言葉の由来は、1990年にミヒャエル・クンツェが最初にこれらのプロジェクトを組み合わせてLAMPの略語を作成したドイツの雑誌「c't Magazine」に由来しています。これらのコンポーネントはもともと一緒に使用するように設計されていませんでしたが、ソフトウェアはオープンソースであり、無料で簡単に入手して使用できるため、これらのコンポーネントは一緒に使用されることがよくあります。これらのコンポーネントの互換性も常に向上しており、異なるコンポーネント間の連携を向上させるために、特定の拡張機能が作成され、アプリケーション シナリオが非常に一般的になっているため、現在最も人気のある Web アプリケーション インフラストラクチャとなっています。
LAMP コンポーネント
Linux: Linux は最下位にあり、オペレーティング システムを提供します。その柔軟性とカスタマイズ性は、他のコンポーネントを実行できる高度にカスタマイズされたプラットフォームを作成できることを意味します。他のコンポーネントは Linux 上で実行されますが、必ずしも Linux に限定されるわけではなく、Microsoft Windows、Mac OS X、または UNIX 上でも実行できます。
Apache: Apache は第 2 層に位置し、ユーザーが Web ページを取得できるメカニズムを提供する Web サービス プラットフォームです。 Apache は、強力で安定したミッションクリティカルな Web サーバーであり、インターネット上の Web サイトの 50% 以上が Web サーバーとして使用しています。
MySQL: MySQL は、最も人気のあるオープンソースのリレーショナル データベース管理システムであり、LAMP のデータ ストレージ端です。 Web アプリケーションでは、すべてのアカウント情報、製品情報、顧客情報、ビジネス データ、およびその他の種類の情報がデータベースに保存され、SQL 言語を使用して簡単にクエリできます。
PHP/Perl: Perl は、特にテキスト要素を処理する場合に柔軟な言語です。この柔軟性により、Perl は CGI インターフェイスを通じて提供されるデータを簡単に処理し、テキスト ファイルと単純なデータベースを柔軟に使用して動的要素をサポートできます。 PHP は、広く使用されているオープンソースの多目的スクリプト言語で、HTML に埋め込むことができ、特に Web 開発に適しています。 PHP を使用すると、MySQL データベース内のデータや Linux が提供する一部の機能にアクセスする動的コンテンツを作成できます。
2. システム環境
Apache バージョン: httpd-2.2.9.tar.gz
Mysql バージョン: mysql-5.0.41.tar.gz
Php バージョン:php-5.2.6.tar.gz
3. インストール前の準備
1. ライブラリファイルの準備 PHPをインストールする前に、まず、libxml2、libmcrypt、およびPHP5で必要な最新バージョンのライブラリファイルをインストールする必要があります。 GD2 ライブラリとその他のドキュメント。 GD2 ライブラリをインストールする目的は、PHP5 が GIF、PNG、および JPEG 画像形式をサポートできるようにすることです。したがって、GD2 ライブラリをインストールする前に、まず最新の zlib、libpng、freetype、jpegsrc およびその他のライブラリ ファイルをインストールする必要があります。さらに、一部のソフトウェアはこのセクションに記載されている順序でインストールできます。
autoconf-2.61.tar.gz
freetype-2.3.5.tar.gz
gd-2.0.35.tar.gz
jpegsrc.v6b.tar.gz
libmcrypt-2.5.8.tar。 gz
libpng-1.2.31.tar.gz
libxml2-2.6.30.tar.gz
zlib-1.2.3.tar.gz
ZendOptimizer-3.2.6-linux-glibc21-i386.tar。 gz
phpMyAdmin-3.0.0-rc1-all-langages.tar.gz
2. gcc、gcc-c++ コンパイラーをインストールしますgcc -v コマンドを使用して、インストール中に使用されたコンパイル ジョブが存在するかどうかを確認します
システムがインストールされていない場合は、システムがインターネットに接続されているときに yum install gcc と yum install gcc-c++ を使用してインストールします
3. デフォルトの下位バージョン環境をアンインストールします
現在リリースされている Linux オペレーティング システムのバージョンでシステムで、デフォルトですべてをインストールすることを選択した場合、LAMP 環境はインストールされていますが、バージョンは比較的低いです。別の LAMP 環境をインストールして、元の LAMP 環境と共存させることもできますが、同時に開くことができる LAMP 環境は 1 つだけであるため、これは必須ではありません。インストールする前に、システムに下位バージョンの環境がインストールされているかどうかを確認する必要があります。インストールされている場合は、元のサービスを停止するか、元の環境をアンインストールします。
a. Apache をアンインストールします
# rpm -qa | grep httpd
手順: httpd パッケージがインストールされているかどうかを確認します
# rpm -e httpd-2.2.3-63.el5.centos
手順: ソフトウェア パッケージ --nodeps をアンインストールします。接続がある場合は、アンインストールも強制します
# cd /etc/httpd/
# rm -rf *
手順: 元の Apache インストール ディレクトリに移動し、削除しますインストールディレクトリとファイルをすべて削除します
b. Mysql をアンインストールします
# rpm -qa | grep mysql
# rpm -e mysql-5.0.77-4.el5_4.2 --nodeps
手順: mysql をアンインストールしますc. Php
をアンインストールします
# rpm -qa | grep php# rpm -e php-common-5.1.6-27.el5 --nodeps
# rpm -e php-ldap-5.1.6-27。 el5 --nodeps
# rpm -e php-cli-5.1.6-27.el5 --nodeps
# rpm -e php-5.1.6-27.el5 --nodeps
手順: PHP
をアンインストールします4.ファイアウォール ルールをクリアします
5. SSH シェルを使用して、Windows の 13 個のソース コード パッケージを /usr/local/src にアップロードします
6. 解凍するシェル スクリプト tar.sh を作成します。rReeeeshute Script tar.shは、すべてのソースコードパッケージを削除します/src/libxml2-2.6.30
# ./configure --prefix=/usr/local/libxml2# make && make install
2. libmcrypt
をインストールします# cd /usr/local/src/libmcrypt-2.5。 8
# ./configure --prefix=/usr/local/libmcrypt# make && make install
3. zlib
をインストールします# cd /usr/local/src/zlib-1.2.3# ./configure
# make && make install4. libpng をインストールします
# cd /usr/local/src/libpng-1.2.31
# ./configure --prefix=/usr/local/libpng
# make && make install
5. jpeg6 をインストールします
このソフトウェア パッケージのインストールは少し特殊です。他のソフトウェア パッケージをインストールするときにディレクトリが存在しない場合は、自動的に作成されますが、このソフトウェア パッケージはインストール時に手動で作成する必要があります。
# mkdir /usr/local/jpeg6
# mkdir /usr/local/jpeg6/bin
# mkdir /usr/local/jpeg6/include
# mkdir -p /usr /local/jpeg6/man/man1
# cd /usr/local/src/jpeg-6b
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
6. freetype をインストールします
# cd /usr/local/src/freetype-2.3.5
# ./configure --prefix=/usr/local/freetype
# make install
7. autoconf をインストールします
# cd /usr/local/src/autoconf-2.61
# ./configure
# make && make install
8. GD ライブラリをインストールします
# cd /usr/local/src/gd-2.0 .35
# ./configure
--prefix=/usr/local/gd2/
--with-zlib=/usr/local/zlib/
--with-jpeg=/usr/local /jpeg6/--with-png=/usr/local/libpng/
--with-freetype=/usr/local/freetype/
# make
エラーが発生しました:
make[2]: *** [gd_png.lo] エラー 1
make[2]: ディレクトリ `/usr/local/src/gd-2.0.35' を離れます
make[1]: *** [すべて再帰] エラー 1
make: *** [all] エラー 2
分析: この問題は、gd ライブラリのソース ファイル gd_png.c に png が含まれていることが原因です.h、png.h が見つかりません。
解決策:
コンパイルされたファイル内
include “png.h” を変更して “/usr/local/libpng/include/png.h” を含めます
where /usr / local/libpng/ は libpng のインストール パスです。
# make install
# cd /usr/local/src/httpd-2.2.9
# ./configure--prefix=/usr/local/apache2
--sysconfdir=/etc /httpd--with-z=/usr/local/zlib
--with-include-apr--enable-so
--enable-deflate=shared--enable-expires=shared
--enable- rewrite=shared--enable-static-support
# make && make install10. Apache を設定する
Apache を起動する
# /usr/local/apache2/bin/apachectl start
Apache を閉じる
# /usr/local /apache2/bin/apachectl stop
ポート80が開いているか確認
# netstat -tnl|grep 80
Apacheサーバーにアクセス
self-startを追加
# echo "/usr/local/apache2/bin/ apachectl start" >> /etc/rc.d/rc.local
11. Mysql をインストールします
mysql 標準グループを追加します
# groupadd mysql
mysql ユーザーを追加し、mysql グループに追加します
# cd /usr/local/src/mysql-5.0.41
--prefix=/usr/local/mysql/
--with-extra-charsets=all
エラーが発生しました:
-lncurses で tgetent をチェックしています... no
-lcurses で tgetent をチェックしています... no -ltermcap で tgetent をチェックしています... no
-ltinfo で tgetent をチェックしています... no
分析: ncurses インストール パッケージがありません
解決策:
# make && make install
12.
データベースサーバーの MySQL 設定ファイルを作成します
# cp support-files/my-medium.cnf /etc/my.cnf
mysql ユーザーを使用して認証テーブルを作成します。作成が成功すると、var ディレクトリが作成されます。 /usr/local/mysql ディレクトリに生成されます
# /usr/local/mysql/bin/mysql_install_db --user=mysql
ファイルのすべての属性を root ユーザーに変更します
データディレクトリのすべての属性をmysql userに変更します
# chown -R mysql /usr/local/mysql/var
グループ属性をmysql groupに変更します
# chgrp -R mysql /usr/local/ mysql
启动数据库
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
查看3306端口是否开启
# netstat -tnl|grep 3306
简单的测试
# /usr/local/mysql/bin/mysqladmin version
查看所有mysql参数
# /usr/local/mysql/bin/mysqladmin variables
设置Mysql开机自启动
# cp /usr/local/src/mysql-5.0.41/support-files/mysql.server /etc/rc.d/init.d/mysqld
# chown root.root /etc/rc.d/init.d/mysqld
# chmod 755 /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --list mysqld
# chkconfig --levels 245 mysqld off
13、Mysql安全性设置
没有密码可以直接登录本机服务器
# /usr/local/mysql/bin/mysql -u root
查看mysql用户权限信息
mysql> select * from mysql.user;
删除非localhost的主机
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';
刷新授权表
mysql> FLUSH PRIVILEGES;
为root用户添加密码
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('abc123');
再次进入Mysql客户端
# /usr/local/mysql/bin/mysql -u root -h localhost -p
关闭MySQL数据库
# /usr/local/mysql/bin/mysqladmin -u root -p shutdown
14、安装PHP
# cd /usr/local/src/php-5.2.6
# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql/ \
--with-libxml-dir=/usr/local/libxml2/ \
--with-png-dir=/usr/local/libpng/ \
--with-jpeg-dir=/usr/local/jpeg6/ \
--with-freetype-dir=/usr/local/freetype/ \
--with-gd=/usr/local/gd2/ \
--with-zlib-dir=/usr/local/zlib/ \
--with-mcrypt=/usr/local/libmcrypt/ \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-soap \
--enable-mbstring=all \
--enable-sockets
# make && make install
15、配置PHP
创建配置文件
# cp php.ini-dist /usr/local/php/etc/php.ini
使用vi编辑apache配置文件
# vi /etc/httpd/httpd.conf
添加这一条代码
Addtype application/x-httpd-php .php .phtml
重启Apache
# /usr/local/apache2/bin/apachectl restart
以上安装步骤可以写成一个shell script,详细参考http://files.cnblogs.com/mchina/lamp.rar
16、安装Zend加速器
# cd /usr/local/src/ZendOptimizer-3.2.6-linux-glibc21-i386/
# ./install.sh
17、安装phpMyAdmin
拷贝目录到指定位置并改名为phpmyadmin
# cp -a phpMyAdmin-3.0.0-rc1-all-languages /usr/local/apache2/htdocs/phpmyadmin
# cd /usr/local/apache2/htdocs/phpmyadmin/
# cp config.sample.inc.php config.inc.php
18、配置phpMyAdmin
# vi /usr/local/apache2/htdocs/phpmyadmin/config.inc.php
将auth_type 改为http
$cfg['Servers'][$i]['auth_type'] = 'http';
五、测试
1、编写info.php文件,查看php配置详细
# vi /usr/local/apache2/htdocs/info.php
<?phpphpinfo();?>
通过浏览器访问http://10.0.0.154/info.php,获得php的详细配置信息
2、Zend加速器信息
3、访问phpMyAdmin
至此LAMP环境配置完毕。
关于LNMP(linux+nginx+mysql+php)服务器环境配置,请参考:
http://www.cnblogs.com/mchina/archive/2012/05/17/2507102.html
David Camp
技术交流,请加QQ群:系统运维技术分享:296513821
业务合作,请联系作者QQ:562866602 我的微信号:mchina_tang 给我写信:mchina_tang@qq.com 我的地址:江苏·苏州我们永远相信,分享是一种美德 | We Believe, Great People Share Knowledge...