LAMPの詳細とソースコードのコンパイルインストールプロセス


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構成環境をチェックしてインストールします.

  
  
  
  
  1. #cd /etc/yum.repos.d/ 
  2. #wget ftp://172.16.0.1/pub/gls/server.repo--( yum ) 
  3. #hwclock -s -- , , 。 
  4. #yum grouplist--- yum ; 
  5. #yum -y groupinstall "Development Libraries"--- yum ;

2)ダウンロードコンパイルインストールAPR:

  
  
  
  
  1. #lftp 172.16.0.1 
  2. #cd pub/Sources/new_lamp/ 
  3. #get apr-1.4.6.tar.bz2 apr-util-1.4.1.tar.bz2--APR-util APR  
  4. #bye
  5. #tar xf apr-1.4.6.tar.bz2 
  6. #cd apr-1.4.6 
  7. #./buildconf 
  8. #./configure --prefix=/usr/local/apr------- apr ; 
  9. #make 
  10. #make install---APR ; 

3)APR-utilのコンパイルインストール:

  
  
  
  
  1. #cd 
  2. #tar xf apr-util-1.4.1.tar.bz2 
  3. #cd apr-util-1.4.1 
  4. #./buildconf --with-apr=/root/apr-1.4.6-- apr ; 
  5. #./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr---- apr apr-util ; 
  6. #make---- ; 
  7. #make install----- ,apr-util ;

4)ダウンロードコンパイルインストールhttpd:

  
  
  
  
  1. #cd
  2. #lftp 172.16.0.1 
  3. #cd pub/Sources/new_lamp/ 
  4. #get httpd-2.4.2.tar.bz2 
  5. #bye
  6. #tar xf httpd-2.4.2.tar.bz2 
  7. #cd httpd-2.4.2 
  8. #rpm -q pcre-devel---- pcre-devel ; 
  9. #yum -y install pcre-devel---- pcre-devel ; 
  10. #./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 
  11. #make--- ; 
  12. #make install---- ;--------httpd ; 
  13. #vim /etc/profile-- bash ;

1)bash環境のプロファイルを編集し、httpdコマンドパスを追加します.

   
   
   
   

  1. # No core files by default
     
  2. ulimit -S -c 0 > /dev/null 2>&1 
  3.  
  4. if [ -x /usr/bin/id ]; then 
  5.         USER="`id -un`" 
  6.         LOGNAME=$USER 
  7.         MAIL="/var/spool/mail/$USER" 
  8. fi 
  9.  
  10. HOSTNAME=`/bin/hostname` 
  11. HISTSIZE=1000 
  12.  
  13. if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then 
  14.     INPUTRC=/etc/inputrc 
  15. fi 
  16.  
  17. PATH=/usr/local/apache/bin:$PATH ------ , httpd , ;
  18. export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC 

2)httpd-lコマンドを使用して、すべてのモジュールを表示します.

   
   
   
   
  1. [root@localhost ~]# httpd -l 
  2. Compiled in modules: 
  3.   core.c 
  4.   mod_so.c 
  5.   http_core.c 
  6.   event.c ----httpd2.4 ;
  7. [root@localhost ~]#  

3)httpdサービスの有効化

   
   
   
   
  1. [root@localhost bin]# apachectl start 
  2. [root@localhost bin]# netstat -tnlp 
  3. Active Internet connections (only servers) 
  4. Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name    
  5. tcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN      3310/./hpiod         
  6. tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      2954/portmap         
  7. tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      3688/httpd           
  8. tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      3335/sshd            
  9. tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      3351/cupsd           
  10. tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      3407/sendmail        
  11. tcp        0      0 127.0.0.1:6010              0.0.0.0:*                   LISTEN      3620/sshd            
  12. tcp        0      0 127.0.0.1:6012              0.0.0.0:*                   LISTEN      4318/sshd            
  13. tcp        0      0 0.0.0.0:636                 0.0.0.0:*                   LISTEN      2998/rpc.statd       
  14. 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"------この項目を無効にします.
 

  
  
  
  
  1. # Virtual hosts 
  2. Include /etc/httpd/extra/httpd-vhosts.conf ---- ;
 5)  /etc/httpd/extra/httpd-vhosts.conf    :

  
  
  
  
  1. #<VirtualHost *:80> ------- ;
  2. #    ServerAdmin [email protected] 
  3. #    DocumentRoot "/usr/local/apache/docs/dummy-host.example.com" 
  4. #    ServerName dummy-host.example.com 
  5. #    ServerAlias www.dummy-host.example.com 
  6. #    ErrorLog "logs/dummy-host.example.com-error_log" 
  7. #    CustomLog "logs/dummy-host.example.com-access_log" common 
  8. #</VirtualHost> 
  9. # 
  10. #<VirtualHost *:80> 
  11. #    ServerAdmin [email protected] 
  12. #    DocumentRoot "/usr/local/apache/docs/dummy-host2.example.com" 
  13. #    ServerName dummy-host2.example.com 
  14. #    ErrorLog "logs/dummy-host2.example.com-error_log" 
  15. #    CustomLog "logs/dummy-host2.example.com-access_log" common 
  16. #</VirtualHost> 
  17. <VirtualHost *:80> ----------------------- , ;
  18.    ServerName www.magedu.com 
  19.    DocumentRoot /web/vhosts/www 
  20.    <Directory "/web/vhosts/www"
  21.       Options Indexes 
  22.       AllowOverride none 
  23.       Require all granted 
  24.    </Directory> 
  25. </VirtualHost> 
  26. <VirtualHost *:80> 
  27.    ServerName pma.magedu.com 
  28.    DocumentRoot /web/vhosts/pma 
  29. </VirtualHost> 

6)編集/etc/man.configファイル、manコマンドを永続的に有効にします.

  
  
  
  
  1. # Every automatically generated MANPATH includes these fields 
  2. # 
  3. MANPATH /usr/man 
  4. MANPATH /usr/share/man 
  5. MANPATH /usr/local/man 
  6. MANPATH /usr/local/share/man 
  7. MANPATH /usr/X11R6/man 
  8. MANPATH /usr/local/apache/man----- man ; 
  9. # 
  10. # Uncomment if you want to include one of these by default 

7)apacheのヘッダファイルにアクセスできるようにする:

  
  
  
  
  1. #ln -sv /usr/local/apache/include/ /usr/include/ 

8)電源を入れてhttpdサービスを正常にオン、オフ、再起動できるようにする:
httpd起動スクリプトファイルを他のホストからこのホストにコピーし、変更して/etc/

  
  
  
  
  1. apachectl=/usr/local/apache/bin/apachectl ---- apachectl ;
  2. httpd=${HTTPD-/usr/local/apache/bin/httpd}---- httpd ; 
  3. prog=httpd 
  4. pidfile=${PIDFILE-/usr/local/apache/logs/httpd.pid} -- httpd.pid ;
  5. lockfile=${LOCKFILE-/var/lock/subsys/httpd} 
  6. RETVAL=0 
  7. STOP_TIMEOUT=${STOP_TIMEOUT-10} 
  8.   
  9. # check for 1.3 configuration ---- 14 , 1.3 apache;
  10. #check13 () { 
  11. #       CONFFILE=/etc/httpd/conf/httpd.conf 
  12. #       GONE="(ServerType|BindAddress|Port|AddModule|ClearModuleList|" 
  13. #       GONE="${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|" 
  14. #       GONE="${GONE}AccessConfig|ResourceConfig)" 
  15. #       if LANG=C grep -Eiq "^[[:space:]]*($GONE)" $CONFFILE; then 
  16. #               echo 
  17. #               echo 1>&2 " Apache 1.3 configuration directives found" 
  18. #               echo 1>&2 " please read /usr/share/doc/httpd-2.2.3/migration.html" 
  19. #               failure "Apache 1.3 config directives test" 
  20. #               echo 
  21. #               exit 1 
  22. #       fi 
  23. #} 
  24. # 
  25. # The semantics of these two functions differ from the way apachectl does 
  26. # things -- attempting to start while running is a failure, and shutdown 
  27. # when not running is also a failure.  So we just do it the way init scripts 
  28. # are expected to behave here. 
  29. start() { 
  30.         echo -n $"Starting $prog: " 
  31. #       check13 || exit 1 --- ;
  32.         LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS 
  33.         RETVAL=$? 
  34.         echo 
  35.         [ $RETVAL = 0 ] && touch ${lockfile} 
  36.         return $RETVAL 

  
  
  
  
  1. #cp httpd /etc/rc.d/init.d/httpd 
  2. #chmod +x /etc/rc.d/init.d/httpd 
  3. #chkconfig --add httpd --- httpd ;
  4. # chkconfig httpd on ;

二、mysqlコンパイルインストール;

  
  
  
  
  1. #lftp 172.16.0.1 
  2. #cd pub/Sources/mysql-5.5/ 
  3. #get mysql-5.5.24-linux2.6-i686.tar.gz --- mysql ;
  4. #useradd -r mysql --- mysql , mysql mysql ;
  5. #id mysql 
  6. #finger mysql 
  7. #tar xf mysql-5.5.24-linux2.6-i686.tar.gz -C /usr/local/ --- /usr/local ;
  8. # ---- , , /dev/sda5;
  9. #pvcreate /dev/sda5 
  10. # vgcreate myvg /dev/sda5 
  11. #lvcreate -L 1G -n mydata myvg 
  12. #mke2fs -j -L MYDATA /dev/myvg/mydata 
  13. #vim /etc/fstab 
  14. #mkdir /data 
  15. #mount -a 
  16. #mkdir /data/mysql 
  17. #chown mysql:mysql /data/mysql/ 
  18. #cd /usr/local/ 
  19. #ln -sv mysql-5.5.24-linux2.6-i686 mysql 
  20. #cd mysql 
  21. #chown -R mysql:mysql . 
  22. #scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql --- mysql;
  23. #cp support-files/my-large.cnf /etc/my.cnf-- ; 
  24. #vim /etc/my.cnf
  25. thread_concurrency = 4 4; datadir= /data/mysql -- ;
  26. #cp support-files/mysql.server /etc/rc.d/init.d/mysqld ---- ;
  27. #chkconfig --add mysqld 
  28. #chkconfig --list mysqld 
  29. #chown -R root . ----- root;
  30. #service mysqld start 
  31. #vim /etc/profile-------(PATH=/usr/local/mysql/bin:$PATH)  ;
  32. #export PATH=$PATH:/usr/local/mysql/bin/ ----- ;
  33. #vim /etc/ld.so.conf.d/mysql.conf---- mysql /usr/local/mysql/lib 
  34. #ldconfig------ ;  
  35. #ln -sv /usr/local/mysql/include/ /usr/include/mysql--- mysql ; 
  36. ----mysql ;

三、phpコンパイルインストール;

  
  
  
  
  1. #lftp 172.16.0.1 
  2. #cd pub/Sources/new_lamp/ 
  3. #get php-5.4.4.tar.bz2  --- php ;
  4. #bye
  5. #tar xf php-5.4.4.tar.bz2
  6. #cd php-5.4.4 
  7. #yum -y groupinstall "X Software Development" ------ ;
  8. #lftp 172.16.0.1 
  9. #cd pub/Sources/nginx/ 
  10. #mget libmcrypt-2.5.7-5.el5.i386.rpm libmcrypt-devel-2.5.7-5.el5.i386.rpm 
  11. #bye
  12. #rpm -ivh libmcrypt-* 
  13. #./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;
  14. #make---- ;
  15. #make install --- ----- php ;
1) php apache:
  1. #cp php.ini-production /etc/php.ini 
  2. #vim /etc/httpd/httpd.conf 
  3.  
  4. 
        
        
        
        
    1. # DirectoryIndex: sets the file that Apache will serve if a directory 
    2. # is requested. 
    3. #      
    4. <IfModule dir_module> 
    5.     DirectoryIndex index.php index.html ----- php
    6. </IfModule>
     
    
         
         
         
         
    1. # probably should define those extensions to indicate media types: 
    2. # 
    3. AddType application/x-compress .Z 
    4. AddType application/x-gzip .gz .tgz 
    5. AddType application/x-httpd-php  .php  ---- web php
    6. AddType application/x-httpd-php-source  .phps  ---- web php
    #service httpd restart------phpインストール ;
    1)phpアクセラレータxcacheのインストールをコンパイルします.
    2.0.0
    
      
      
      
      
    1. #lftp 172.16.0.1 
    2. #cd pub/Sources/new_lamp/ 
    3. #get xcache-2.0.0.tar.bz2 ----- xcache ;
    4. #bye 
    5. #tar xf xcache-2.0.0.tar.gz 
    6. #cd xcache-2.0.0 
    7. #/usr/local/php/bin/phpize---- php xcache ; 
    8. #./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config 
    9. #make -- ;
    10. #make install-- ; 

    2)phpを する.ini、phpとxcacheを する:
    
      
      
      
      
    1. #mkdir /etc/php.d 
    2. #cp xcache.ini /etc/php.d---- xcache php.ini; 
    3. #vim /etc/php.d/xcache.ini-- /etc/php.d/xcache.ini, zend_extension , : 
    4. zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so 
    5. #service httpd restart--- php xcache ;

    :xcache.iniファイルはxcacheのソースディレクトリにあります.
    :php.iniファイルに のzend_がありますextensionコマンドラインは、この しいローが1 であることを します.
    :まとめ:
    がLAMPの とソースコードのインストールのコンパイル で、 の と が られていることを して、 いは れて、 に を えることを みます.