LAMP(linux下apache+mysql+php)プラットフォームコンパイルインストールの実現
LAMPコンパイルインストールを実現
httpd 2.4.1+mysql-5.5.19+php-5.3.10コンパイルインストール手順:
一、コンパイルインストールapache
1、依存関係の解決
httpd-2.4.1はaprとapr-utilの比較的新しいバージョンが必要であるため、事前にアップグレードする必要があります.アップグレード方式は2種類あり、1つはソースコードコンパイルによるインストールであり、1つはrpmパッケージを直接アップグレードする.ここでは使用後の方式を選択して行います.次の4つのパッケージが必要です.
apr-1.4.6-1.i386.rpm
apr-devel-1.4.6-1.i386.rpm
apr-util-1.4.1-1.i386.rpm
apr-util-devel-1.4.1-1.i386.rpm
必要なパッケージはインターネットでダウンロードできます.
ダウンロードが完了したら、「rpm-Uvh」でアップグレードすればいいです.
また、httpd-2.4.1コンパイルプロセスもpcre-develパッケージに依存し、事前にインストールする必要があります.このパッケージシステムのCDは付属しているので、見つけてインストールすればいいです.
# mount/dev/cdrom/media
まずディスクをローカル/mediaにマウントします.
yumソースを作成するには:
/etc/yum.repos.d/ディレクトリの下で、確立する.repoの最後の任意のファイル名のファイル、local.repo
保存が完了すると終了し、yumソースの作成に成功し、yumインストールソフトウェアを使用できるようになりました.
2.httpd-2.4.1をローカルにダウンロードし、次のコマンドを実行してコンパイルインストールプロセスを行います.
3.httpdのメインプロファイルを修正し、そのPidファイルのパスを設定する
編集/etc/http/http.conf、下行のように追加します.
4、SysVサービススクリプト/etc/rcを提供する.d/init.d/httpd,
その後、このスクリプトに実行権限を付与し、サービスリストに追加し、起動してselinuxを閉じます.
次はサービスを起動してテストすることができます.
備考:このスクリプトを追加するメリットはrpmインストール後のservice httpd startコマンドを使用できることです.
二、mysql-5.5.19をインストールする
1、データ保存のファイルシステムを準備する
論理ボリュームを新規作成し、特定のディレクトリにマウントします.
# fdisk/dev/sda
sda 5を1つ増やして、idは8 eで、フォーマットしないでください.
ここでは、論理ボリュームのマウントディレクトリが/mydataであり、mysqlデータとして/mydata/dataディレクトリを作成する必要があると仮定します.
2、新しいユーザーは安全な方法でプロセスを実行する:
3、mysql-5.5.19をインストールして初期化する
まず、プラットフォームに対応するmysqlバージョンをローカルにダウンロードします.ここでは32ビットプラットフォームです.そのため、mysql-5.19-linux 2を選択します.6-i686.tar.gz.
4、mysqlにマスタープロファイルを提供する:
説明:このファイルのthread_を変更します.concurrencyの値はあなたのCPUの個数に2を乗じて、下りのようにmysqlデータファイルの格納場所を指定します.
5、mysqlにsysvサービススクリプトを提供する:
メモ:このスクリプトの利点は、サービスmysqld startなどのコマンドを使用できることです.
サービスリストに追加し、起動を実現し、サービステストの使用を開始します.
mysqlを使用するインストールがシステム使用仕様に合致し、その開発コンポーネントをシステム使用にエクスポートするには、次の手順に従います.
6、mysqlのmanマニュアルをmanコマンドの検索パスに出力する:
編集/etc/man.config、下行のように追加します.
7、mysqlのヘッダファイルをシステムヘッダファイルパス/usr/includeに出力する:
これは、簡単にリンクを作成することによって実現できます.
8、mysqlのライブラリファイルを出力してシステムライブラリにパスを検索し、システムにシステムライブラリを再ロードさせる:
9、PATH環境変数を修正し、mysqlの関連コマンドを直接使用できるようにする
編集/etc/profile次の文を追加します.
三、コンパイルインストールphp-5.3.10
1、依存関係の解決:
# yum -y groupinstall "X Software Development"
コンパイルphpにmcrypt拡張をサポートするにはlibmcrypt-2.5.7-5をダウンロードする必要があります.el5.i386.rpm
libmcrypt-devel-2.5.7-5.el5.i386.rpmの2つのパッケージは、拡張をサポートします.
2、コンパイルインストールphp-5.3.10
まず、ソースパッケージをローカルディレクトリにダウンロードします.
説明:前のステップ1で依存関係を解決するときにmcrypt関連の2つのrpmパッケージをインストールする場合、この./configureコマンドは、phpがmycrpt拡張をサポートするように--with-mcryptオプションを付けることもできます.
phpにプロファイルを提供するには、次の手順に従います.
3、apacheプロファイルhttpdを編集する.confは、apacheでphpをサポートする2行を追加します.
Directory Index indexにナビゲートします.htmlを次のように変更します.
その後httpdを再起動したり、プロファイルを再ロードしたりすると、phpが正常に使用されているかどうかをテストできます.
httpd 2.4.1+mysql-5.5.19+php-5.3.10コンパイルインストール手順:
一、コンパイルインストールapache
1、依存関係の解決
httpd-2.4.1はaprとapr-utilの比較的新しいバージョンが必要であるため、事前にアップグレードする必要があります.アップグレード方式は2種類あり、1つはソースコードコンパイルによるインストールであり、1つはrpmパッケージを直接アップグレードする.ここでは使用後の方式を選択して行います.次の4つのパッケージが必要です.
apr-1.4.6-1.i386.rpm
apr-devel-1.4.6-1.i386.rpm
apr-util-1.4.1-1.i386.rpm
apr-util-devel-1.4.1-1.i386.rpm
必要なパッケージはインターネットでダウンロードできます.
ダウンロードが完了したら、「rpm-Uvh」でアップグレードすればいいです.
- # rpm -Uvh apr-1.4.6-1.i386.rpm apr-util-1.4.1-1.i386.rpm
- # rpm -Uvh apr-devel-1.4.6-1.i386.rpm apr-util-devel-1.4.1-1.i386.rpm
また、httpd-2.4.1コンパイルプロセスもpcre-develパッケージに依存し、事前にインストールする必要があります.このパッケージシステムのCDは付属しているので、見つけてインストールすればいいです.
# mount/dev/cdrom/media
まずディスクをローカル/mediaにマウントします.
yumソースを作成するには:
/etc/yum.repos.d/ディレクトリの下で、確立する.repoの最後の任意のファイル名のファイル、local.repo
- # vim /etc/yum.repos.d/local.repo
- [base]
- name=Server
- baseurl=file:///media/Server
- gpgcheck=0
- enabled=1
-
- [VT]
- name=VT
- baseurl=file:///media/VT
- gpgcheck=0
- enabled=1
-
- [Cluster]
- name=Cluster
- baseurl=file:///media/Cluster
- gpgcheck=0
- enabled=1
-
- [ClusterStorage]
- name=ClusterStorage
- baseurl=file:///media/ClusterStorage
- gpgcheck=0
- enabled=1
保存が完了すると終了し、yumソースの作成に成功し、yumインストールソフトウェアを使用できるようになりました.
2.httpd-2.4.1をローカルにダウンロードし、次のコマンドを実行してコンパイルインストールプロセスを行います.
- # tar xvf httpd-2.4.1.tar.bz2
- # cd httpd-2.4.1
- # yum install pcre-devel -y
- # yum groupinstall "Development Tools"
- # yum groupinstall "Development Libraries"
- # ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib
- # make
- # make install
3.httpdのメインプロファイルを修正し、そのPidファイルのパスを設定する
編集/etc/http/http.conf、下行のように追加します.
- # vim /etc/httpd/httpd.conf
- PidFile "/var/run/httpd.pid"
4、SysVサービススクリプト/etc/rcを提供する.d/init.d/httpd,
- # vim /etc/rc.d/init.d/httpd
- #!/bin/bash
- #
- # httpd Startup script for the Apache HTTP Server
- #
- # chkconfig: - 85 15
- # description: Apache is a World Wide Web server. It is used to serve \
- # HTML files and CGI.
- # processname: httpd
- # config: /etc/httpd/conf/httpd.conf
- # config: /etc/sysconfig/httpd
- # pidfile: /var/run/httpd.pid
- # Source function library.
- . /etc/rc.d/init.d/functions
-
- if [ -f /etc/sysconfig/httpd ]; then
- . /etc/sysconfig/httpd
- fi
- # Start httpd in the C locale by default.
- HTTPD_LANG=${HTTPD_LANG-"C"}
-
- # This will prevent initlog from swallowing up a pass-phrase prompt if
- # mod_ssl needs a pass-phrase from the user.
- INITLOG_ARGS=""
-
- # Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
- # with the thread-based "worker" MPM; BE WARNED that some modules may not
- # work correctly with a thread-based MPM; notably PHP will refuse to start.
-
- # Path to the apachectl script, server binary, and short-form for messages.
- apachectl=/usr/local/apache/bin/apachectl
- httpd=${HTTPD-/usr/local/apache/bin/httpd}
- prog=httpd
- pidfile=${PIDFILE-/var/run/httpd.pid}
- lockfile=${LOCKFILE-/var/lock/subsys/httpd}
- RETVAL=0
-
- start() {
- echo -n $"Starting $prog: "
- LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
- RETVAL=$?
- echo
- [ $RETVAL = 0 ] && touch ${lockfile}
- return $RETVAL
- }
-
- stop() {
- echo -n $"Stopping $prog: "
- killproc -p ${pidfile} -d 10 $httpd
- RETVAL=$?
- echo
- [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
- }
- reload() {
- echo -n $"Reloading $prog: "
- if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then
- RETVAL=$?
- echo $"not reloading due to configuration syntax error"
- failure $"not reloading $httpd due to configuration syntax error"
- else
- killproc -p ${pidfile} $httpd -HUP
- RETVAL=$?
- fi
- echo
- }
-
- # See how we were called.
- case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- status)
- status -p ${pidfile} $httpd
- RETVAL=$?
- ;;
- restart)
- stop
- start
- ;;
- condrestart)
- if [ -f ${pidfile} ] ; then
- stop
- start
- fi
- ;;
- reload)
- reload
- ;;
- graceful|help|configtest|fullstatus)
- $apachectl $@
- RETVAL=$?
- ;;
- *)
- echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
- exit 1
- esac
-
- exit $RETVAL
-
その後、このスクリプトに実行権限を付与し、サービスリストに追加し、起動してselinuxを閉じます.
- # chmod +x /etc/rc.d/init.d/httpd
- # chkconfig --add httpd
- # chkconfig httpd on
- # setenforce 0
次はサービスを起動してテストすることができます.
備考:このスクリプトを追加するメリットはrpmインストール後のservice httpd startコマンドを使用できることです.
- # service httpd start
二、mysql-5.5.19をインストールする
1、データ保存のファイルシステムを準備する
論理ボリュームを新規作成し、特定のディレクトリにマウントします.
# fdisk/dev/sda
sda 5を1つ増やして、idは8 eで、フォーマットしないでください.
- # partprobe /dev/sda
- # pvcreate /dev/sda5
- # vgcreate myvg /dev/sda5
- # lvcreate -L 2G -n mysql myvg
- # mke2fs -j /dev/myvg/mysql
- # mkdir /mydata/data -pv
- # mount /dev/myvg/mysql /mydata
ここでは、論理ボリュームのマウントディレクトリが/mydataであり、mysqlデータとして/mydata/dataディレクトリを作成する必要があると仮定します.
2、新しいユーザーは安全な方法でプロセスを実行する:
- # groupadd -r mysql
- # useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql
- # chown -R mysql:mysql /mydata/data
3、mysql-5.5.19をインストールして初期化する
まず、プラットフォームに対応するmysqlバージョンをローカルにダウンロードします.ここでは32ビットプラットフォームです.そのため、mysql-5.19-linux 2を選択します.6-i686.tar.gz.
- # tar xf mysql-5.5.19-linux2.6-i686.tar.gz -C /usr/local
- # cd /usr/local/
- # ln -sv mysql-5.5.19-linux2.6-i686 mysql
- # cd mysql
- # chown -R mysql:mysql .
- # scripts/mysql_install_db --user=mysql --datadir=/mydata/data
- # chown -R root .
4、mysqlにマスタープロファイルを提供する:
- # cd /usr/local/mysql
- # cp support-files/my-large.cnf /etc/my.cnf
- thread_concurrency = 2
- datadir = /mydata/data
説明:このファイルのthread_を変更します.concurrencyの値はあなたのCPUの個数に2を乗じて、下りのようにmysqlデータファイルの格納場所を指定します.
5、mysqlにsysvサービススクリプトを提供する:
- # cd /usr/local/mysql
- # cp support-files/mysql.server /etc/rc.d/init.d/mysqld
メモ:このスクリプトの利点は、サービスmysqld startなどのコマンドを使用できることです.
サービスリストに追加し、起動を実現し、サービステストの使用を開始します.
- # chkconfig --add mysqld
- # chkconfig mysqld on
- # service mysqld start
mysqlを使用するインストールがシステム使用仕様に合致し、その開発コンポーネントをシステム使用にエクスポートするには、次の手順に従います.
6、mysqlのmanマニュアルをmanコマンドの検索パスに出力する:
編集/etc/man.config、下行のように追加します.
- # vim /etc/man.config
- MANPATH /usr/local/mysql/man
7、mysqlのヘッダファイルをシステムヘッダファイルパス/usr/includeに出力する:
これは、簡単にリンクを作成することによって実現できます.
- # ln -sv /usr/local/mysql/include /usr/include/mysql
8、mysqlのライブラリファイルを出力してシステムライブラリにパスを検索し、システムにシステムライブラリを再ロードさせる:
- # echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
- # ldconfig -v
9、PATH環境変数を修正し、mysqlの関連コマンドを直接使用できるようにする
編集/etc/profile次の文を追加します.
- # vim /etc/profile
- PATH=$PATH:/usr/local/apache/bin:/usr/local/mysql/bin
- # source /etc/profile
三、コンパイルインストールphp-5.3.10
1、依存関係の解決:
# yum -y groupinstall "X Software Development"
コンパイルphpにmcrypt拡張をサポートするにはlibmcrypt-2.5.7-5をダウンロードする必要があります.el5.i386.rpm
libmcrypt-devel-2.5.7-5.el5.i386.rpmの2つのパッケージは、拡張をサポートします.
- # rpm –ivh libmcrypt-2.5.7-5.el5.i386.rpm libmcrypt-devel-2.5.7-5.el5.i386.rpm
2、コンパイルインストールphp-5.3.10
まず、ソースパッケージをローカルディレクトリにダウンロードします.
- # tar xf php-5.3.10.tar.bz2
- # cd php-5.3.10
- # ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt
説明:前のステップ1で依存関係を解決するときにmcrypt関連の2つのrpmパッケージをインストールする場合、この./configureコマンドは、phpがmycrpt拡張をサポートするように--with-mcryptオプションを付けることもできます.
- # make
- # make test
- # make install
phpにプロファイルを提供するには、次の手順に従います.
- # cp php.ini-production /usr/local/php/lib/php.ini
3、apacheプロファイルhttpdを編集する.confは、apacheでphpをサポートする2行を追加します.
- # vim /etc/httpd/httpd.conf
- AddType application/x-httpd-php .php
- AddType application/x-httpd-php-source .phps
Directory Index indexにナビゲートします.htmlを次のように変更します.
- DirectoryIndex index.php index.html
その後httpdを再起動したり、プロファイルを再ロードしたりすると、phpが正常に使用されているかどうかをテストできます.
- # service httpd restart
- #cd /usr/local/apache/htdocs
- #vim index.php
- <?php
- phpinfo()
- ?>