LAMPの詳細とソースコードのコンパイルインストールプロセス
32505 ワード
LAMPはLinux(オペレーティングシステム)、ApacheHTTPサーバ、MySQL(データベースソフトウェア)、PHP(PerlまたはPythonを指す場合もある)の最初のアルファベットで、一般的に構築に用いられるwebサーバを指す.
Linux+Apache+Mysql+Perl/PCH/Pythonは、ダイナミックなWebサイトやサーバを構築するためによく使われるオープンソースソフトウェアのセットであり、それ自体はそれぞれ独立したプログラムであるが、よく一緒に使用されるため、ますます高い互換性を持ち、強力なWebアプリケーションシーケンスプラットフォームを構成している.オープンソース潮流の盛んな発展に従って、オープンソースコードのLAMPはすでにJ 2 EEと.Netビジネスソフトウェアは三足鼎立の勢いを形成し、このソフトウェア開発プロジェクトはソフトウェア面での投資コストが低いため、IT界全体の注目を集めている.ウェブサイトのトラフィックから言えば、70%以上のアクセストラフィックはLAMPで提供され、LAMPは最も強力なウェブサイトソリューションである.
その中でLは私たちがよく知っているLinuxシステムを代表しています.AはApacheを表し、Apacheは世界で1位のWebサーバソフトウェアを使用している.ほとんどの広く使用されているコンピュータプラットフォームで実行できます.プラットフォーム間およびセキュリティが広く使用されているため、最も流行しているWebサーバ側ソフトウェアの1つです.また、Apacheはアパッチと音訳され、北米インディアンの部族で、アパッチ族と呼ばれ、アメリカ南西部にある.財団の名前、武装ヘリコプターなどでもあります.MはMySQL(データベースソフトウェア)を表します.PはPHPを表します
(PerlやPythonを指す場合もある);
ソースパッケージを使用してLAPMサービスプラットフォームをインストールする手順は、次のとおりです.
一、Apacheインストール:
httpサービスをインストールするには、まずAPRをインストールする必要があります.APR(Apache portable Run-time libraries、Apache移行可能ライブラリ)の目的は、名前のように、主に上位アプリケーションにマルチオペレーティングシステムプラットフォームで使用できる下位サポートインタフェースライブラリを提供することです.
1)yum構成環境をチェックしてインストールします.
2)ダウンロードコンパイルインストールAPR:
3)APR-utilのコンパイルインストール:
4)ダウンロードコンパイルインストールhttpd:
1)bash環境のプロファイルを編集し、httpdコマンドパスを追加します.
2)httpd-lコマンドを使用して、すべてのモジュールを表示します.
3)httpdサービスの有効化
4)編集/etc/http/http.conf(apacheのプロファイル)、仮想ホストオプションを開く
DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
#DocumentRoot"/usr/local/apache/htdocs"------この項目を無効にします.
6)編集/etc/man.configファイル、manコマンドを永続的に有効にします.
7)apacheのヘッダファイルにアクセスできるようにする:
8)電源を入れてhttpdサービスを正常にオン、オフ、再起動できるようにする:
httpd起動スクリプトファイルを他のホストからこのホストにコピーし、変更して/etc/
二、mysqlコンパイルインストール;
三、phpコンパイルインストール;
Linux+Apache+Mysql+Perl/PCH/Pythonは、ダイナミックなWebサイトやサーバを構築するためによく使われるオープンソースソフトウェアのセットであり、それ自体はそれぞれ独立したプログラムであるが、よく一緒に使用されるため、ますます高い互換性を持ち、強力なWebアプリケーションシーケンスプラットフォームを構成している.オープンソース潮流の盛んな発展に従って、オープンソースコードのLAMPはすでにJ 2 EEと.Netビジネスソフトウェアは三足鼎立の勢いを形成し、このソフトウェア開発プロジェクトはソフトウェア面での投資コストが低いため、IT界全体の注目を集めている.ウェブサイトのトラフィックから言えば、70%以上のアクセストラフィックはLAMPで提供され、LAMPは最も強力なウェブサイトソリューションである.
その中でLは私たちがよく知っているLinuxシステムを代表しています.AはApacheを表し、Apacheは世界で1位のWebサーバソフトウェアを使用している.ほとんどの広く使用されているコンピュータプラットフォームで実行できます.プラットフォーム間およびセキュリティが広く使用されているため、最も流行しているWebサーバ側ソフトウェアの1つです.また、Apacheはアパッチと音訳され、北米インディアンの部族で、アパッチ族と呼ばれ、アメリカ南西部にある.財団の名前、武装ヘリコプターなどでもあります.MはMySQL(データベースソフトウェア)を表します.PはPHPを表します
(PerlやPythonを指す場合もある);
ソースパッケージを使用してLAPMサービスプラットフォームをインストールする手順は、次のとおりです.
一、Apacheインストール:
httpサービスをインストールするには、まずAPRをインストールする必要があります.APR(Apache portable Run-time libraries、Apache移行可能ライブラリ)の目的は、名前のように、主に上位アプリケーションにマルチオペレーティングシステムプラットフォームで使用できる下位サポートインタフェースライブラリを提供することです.
1)yum構成環境をチェックしてインストールします.
- #cd /etc/yum.repos.d/
- #wget ftp://172.16.0.1/pub/gls/server.repo--( yum )
- #hwclock -s -- , , 。
- #yum grouplist--- yum ;
-
#yum -y groupinstall "Development Libraries"--- yum ;
2)ダウンロードコンパイルインストールAPR:
- #lftp 172.16.0.1
- #cd pub/Sources/new_lamp/
- #get apr-1.4.6.tar.bz2 apr-util-1.4.1.tar.bz2--APR-util APR ;
- #bye
- #tar xf apr-1.4.6.tar.bz2
- #cd apr-1.4.6
- #./buildconf
- #./configure --prefix=/usr/local/apr------- apr ;
- #make
- #make install---APR ;
3)APR-utilのコンパイルインストール:
- #cd
- #tar xf apr-util-1.4.1.tar.bz2
- #cd apr-util-1.4.1
- #./buildconf --with-apr=/root/apr-1.4.6-- apr ;
- #./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr---- apr apr-util ;
- #make---- ;
-
#make install----- ,apr-util ;
4)ダウンロードコンパイルインストールhttpd:
- #cd
- #lftp 172.16.0.1
- #cd pub/Sources/new_lamp/
- #get httpd-2.4.2.tar.bz2
- #bye
- #tar xf httpd-2.4.2.tar.bz2
- #cd httpd-2.4.2
- #rpm -q pcre-devel---- pcre-devel ;
- #yum -y install pcre-devel---- pcre-devel ;
- #./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-modules-shared=most
- #make--- ;
- #make install---- ;--------httpd ;
-
#vim /etc/profile-- bash ;
1)bash環境のプロファイルを編集し、httpdコマンドパスを追加します.
# No core files by default
- ulimit -S -c 0 > /dev/null 2>&1
-
- if [ -x /usr/bin/id ]; then
- USER="`id -un`"
- LOGNAME=$USER
- MAIL="/var/spool/mail/$USER"
- fi
-
- HOSTNAME=`/bin/hostname`
- HISTSIZE=1000
-
- if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
- INPUTRC=/etc/inputrc
- fi
-
- PATH=/usr/local/apache/bin:$PATH ------ , httpd , ;
- export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
2)httpd-lコマンドを使用して、すべてのモジュールを表示します.
- [root@localhost ~]# httpd -l
- Compiled in modules:
- core.c
- mod_so.c
- http_core.c
- event.c ----httpd2.4 ;
-
[root@localhost ~]#
3)httpdサービスの有効化
- [root@localhost bin]# apachectl start
- [root@localhost bin]# netstat -tnlp
- Active Internet connections (only servers)
- Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
- tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 3310/./hpiod
- tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2954/portmap
- tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3688/httpd
- tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3335/sshd
- tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3351/cupsd
- tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3407/sendmail
- tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 3620/sshd
- tcp 0 0 127.0.0.1:6012 0.0.0.0:* LISTEN 4318/sshd
- tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 2998/rpc.statd
- tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN 3315/python
4)編集/etc/http/http.conf(apacheのプロファイル)、仮想ホストオプションを開く
DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
#DocumentRoot"/usr/local/apache/htdocs"------この項目を無効にします.
-
# Virtual hosts
-
Include /etc/httpd/extra/httpd-vhosts.conf ---- ;
5) /etc/httpd/extra/httpd-vhosts.conf :
-
#<VirtualHost *:80> ------- ;
- # ServerAdmin [email protected]
- # DocumentRoot "/usr/local/apache/docs/dummy-host.example.com"
- # ServerName dummy-host.example.com
- # ServerAlias www.dummy-host.example.com
- # ErrorLog "logs/dummy-host.example.com-error_log"
- # CustomLog "logs/dummy-host.example.com-access_log" common
- #</VirtualHost>
- #
- #<VirtualHost *:80>
- # ServerAdmin [email protected]
- # DocumentRoot "/usr/local/apache/docs/dummy-host2.example.com"
- # ServerName dummy-host2.example.com
- # ErrorLog "logs/dummy-host2.example.com-error_log"
- # CustomLog "logs/dummy-host2.example.com-access_log" common
- #</VirtualHost>
- <VirtualHost *:80> ----------------------- , ;
- ServerName www.magedu.com
- DocumentRoot /web/vhosts/www
- <Directory "/web/vhosts/www">
- Options Indexes
- AllowOverride none
- Require all granted
- </Directory>
- </VirtualHost>
- <VirtualHost *:80>
- ServerName pma.magedu.com
- DocumentRoot /web/vhosts/pma
- </VirtualHost>
6)編集/etc/man.configファイル、manコマンドを永続的に有効にします.
- # Every automatically generated MANPATH includes these fields
- #
- MANPATH /usr/man
- MANPATH /usr/share/man
- MANPATH /usr/local/man
- MANPATH /usr/local/share/man
- MANPATH /usr/X11R6/man
- MANPATH /usr/local/apache/man----- man ;
- #
- # Uncomment if you want to include one of these by default
7)apacheのヘッダファイルにアクセスできるようにする:
- #ln -sv /usr/local/apache/include/ /usr/include/
8)電源を入れてhttpdサービスを正常にオン、オフ、再起動できるようにする:
httpd起動スクリプトファイルを他のホストからこのホストにコピーし、変更して/etc/
- apachectl=/usr/local/apache/bin/apachectl ---- apachectl ;
- httpd=${HTTPD-/usr/local/apache/bin/httpd}---- httpd ;
- prog=httpd
- pidfile=${PIDFILE-/usr/local/apache/logs/httpd.pid} -- httpd.pid ;
- lockfile=${LOCKFILE-/var/lock/subsys/httpd}
- RETVAL=0
- STOP_TIMEOUT=${STOP_TIMEOUT-10}
-
- # check for 1.3 configuration ---- 14 , 1.3 apache;
- #check13 () {
- # CONFFILE=/etc/httpd/conf/httpd.conf
- # GONE="(ServerType|BindAddress|Port|AddModule|ClearModuleList|"
- # GONE="${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|"
- # GONE="${GONE}AccessConfig|ResourceConfig)"
- # if LANG=C grep -Eiq "^[[:space:]]*($GONE)" $CONFFILE; then
- # echo
- # echo 1>&2 " Apache 1.3 configuration directives found"
- # echo 1>&2 " please read /usr/share/doc/httpd-2.2.3/migration.html"
- # failure "Apache 1.3 config directives test"
- # echo
- # exit 1
- # fi
- #}
- #
- # The semantics of these two functions differ from the way apachectl does
- # things -- attempting to start while running is a failure, and shutdown
- # when not running is also a failure. So we just do it the way init scripts
- # are expected to behave here.
- start() {
- echo -n $"Starting $prog: "
- # check13 || exit 1 --- ;
- LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
- RETVAL=$?
- echo
- [ $RETVAL = 0 ] && touch ${lockfile}
- return $RETVAL
- #cp httpd /etc/rc.d/init.d/httpd
- #chmod +x /etc/rc.d/init.d/httpd
- #chkconfig --add httpd --- httpd ;
-
#
chkconfig httpd on ;
二、mysqlコンパイルインストール;
- #lftp 172.16.0.1
- #cd pub/Sources/mysql-5.5/
- #get mysql-5.5.24-linux2.6-i686.tar.gz --- mysql ;
- #useradd -r mysql --- mysql , mysql mysql ;
- #id mysql
- #finger mysql
- #tar xf mysql-5.5.24-linux2.6-i686.tar.gz -C /usr/local/ --- /usr/local ;
- # ---- , , /dev/sda5;
- #pvcreate /dev/sda5
- # vgcreate myvg /dev/sda5
- #lvcreate -L 1G -n mydata myvg
- #mke2fs -j -L MYDATA /dev/myvg/mydata
- #vim /etc/fstab
- #mkdir /data
- #mount -a
- #mkdir /data/mysql
- #chown mysql:mysql /data/mysql/
- #cd /usr/local/
- #ln -sv mysql-5.5.24-linux2.6-i686 mysql
- #cd mysql
- #chown -R mysql:mysql .
- #scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql --- mysql;
- #cp support-files/my-large.cnf /etc/my.cnf-- ;
- #vim /etc/my.cnf
- thread_concurrency = 4 4; datadir= /data/mysql -- ;
- #cp support-files/mysql.server /etc/rc.d/init.d/mysqld ---- ;
- #chkconfig --add mysqld
- #chkconfig --list mysqld
- #chown -R root . ----- root;
- #service mysqld start
- #vim /etc/profile-------(PATH=/usr/local/mysql/bin:$PATH) ;
- #export PATH=$PATH:/usr/local/mysql/bin/ ----- ;
- #vim /etc/ld.so.conf.d/mysql.conf---- mysql /usr/local/mysql/lib
- #ldconfig------ ;
- #ln -sv /usr/local/mysql/include/ /usr/include/mysql--- mysql ;
- ----mysql ;
三、phpコンパイルインストール;
-
#lftp 172.16.0.1
-
#cd pub/Sources/new_lamp/
-
#get
php-5.4.4.tar.bz2
--- php ;
-
#bye
-
#tar xf php-5.4.4.tar.bz2
-
#cd php-5.4.4
-
#yum -y groupinstall "X Software Development" ------ ;
-
#lftp 172.16.0.1
-
#cd pub/Sources/nginx/
-
#mget libmcrypt-2.5.7-5.el5.i386.rpm libmcrypt-devel-2.5.7-5.el5.i386.rpm
-
#bye
-
#rpm -ivh libmcrypt-*
-
#./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 --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 -- php;
-
#make---- ;
-
#make install --- ----- php ;
1) php apache:
-
#cp php.ini-production /etc/php.ini
-
#vim /etc/httpd/httpd.conf
-
-
# DirectoryIndex: sets the file that Apache will serve if a directory
-
# is requested.
-
#
-
<IfModule dir_module>
-
DirectoryIndex index.php index.html -----
php ;
-
</IfModule>
-
# probably should define those extensions to indicate media types:
-
#
-
AddType application/x-compress .Z
-
AddType application/x-gzip .gz .tgz
-
AddType application/x-httpd-php .php
----
web php ;
-
AddType application/x-httpd-php-source .phps
----
web php ;
#service httpd restart------phpインストール ;
1)phpアクセラレータxcacheのインストールをコンパイルします.
2.0.0
- #lftp 172.16.0.1
- #cd pub/Sources/new_lamp/
- #get xcache-2.0.0.tar.bz2 ----- xcache ;
- #bye
- #tar xf xcache-2.0.0.tar.gz
- #cd xcache-2.0.0
- #/usr/local/php/bin/phpize---- php xcache ;
- #./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
- #make -- ;
- #make install-- ;
2)phpを する.ini、phpとxcacheを する:
- #mkdir /etc/php.d
- #cp xcache.ini /etc/php.d---- xcache php.ini;
- #vim /etc/php.d/xcache.ini-- /etc/php.d/xcache.ini, zend_extension , :
- zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so
- #service httpd restart--- php xcache ;
:xcache.iniファイルはxcacheのソースディレクトリにあります.
:php.iniファイルに のzend_がありますextensionコマンドラインは、この しいローが1 であることを します.
:まとめ:
がLAMPの とソースコードのインストールのコンパイル で、 の と が られていることを して、 いは れて、 に を えることを みます.