PHP工作環境搭建

 LAMP搭建

 本文主要參考高老師的《細說php》一書,並結合自己實踐過程中遇到的問題做一下記錄:
 
1.Linux系統下源碼包方式安裝最理想的lamp,需要準備的安裝包有以下13個(注:安裝包並不是最新,建議更新)
==============================
httpd-2.2.9.tar.gz
mysql-5.0.41.tar.gz
php-5.2.6.tar.gz
phpMyAdmin-3.0.0-rc1-all-languages.tar.gz
libxml2-2.6.30.tar.gz
libmcrypt-2.5.8.tar.gz
zlib-1.2.3.tar.gz
gd-2.0.35.tar.gz
Autoconf-2.61.tar.gz
freetype-2.3.5.tar.gz
libpng-1.2.31.tar.gz
jpegsrc.v6b.tar.gz
ZendOptimizer330a.tar.gz
==============================
2.安裝過程:
注意:系統必須有安裝過gcc,; gcc –v 檢測是否存在gcc編譯程序
將13個安裝包都拷貝到/usr/local/src 中
tar zxvf *.tar.gz //解壓安裝包,再進入相應的目錄就可以進行編譯和安裝。
==============================
  1. 安裝libmxl2最新庫文件  
  2. ./configure --prefix=/usr/local/libxml2   //指定安裝目錄  
  3. # make   
  4. # make install  
     
  1. 安裝libmcrypt最新庫文件  
  2. ./configure --prefix=/usr/local/libmcrypt 
  3. # make   
  4. # make install 
  5. 安裝完成libmcryp後,最好再安裝一下libltdl庫
    cd /usr/local/src/libmcrypt-2.5.8/libltdl
    ./configure --enable-ltdl-install
    make
    make install
     
       
  1.  安裝zlib最新庫文件  
  2. #./configure --prefix=/usr/local/zlib   
  3. # make   
  4. # make install   
       
  1. 安裝libpng最新庫文件  
  2. # ./configure --prefix=/usr/local/libpng   
  3. # make   
  4. # make install   
       
  1. 安裝jpeg6最新庫文件  
  2. # mkdir /usr/local/jpeg6                      //建立jpeg6軟件安裝目錄  
  3. # mkdir /usr/local/jpeg6/bin                  //建立存放命令的目錄  
  4. # mkdir /usr/local/jpeg6/lib                  //創建jpeg6庫文件所在目錄  
  5. # mkdir /usr/local/jpeg6/include            //建立存放頭文件目錄  
  6. # mkdir -p /usr/local/jpeg6/man/man1   //建立存放手冊的目錄   
  7. # ./configure \  
  8. >--prefix=/usr/local/jpeg6/ \               
  9. --enable-shared \                     //建立共享庫使用的GNU的libtool   
  10. --enable-static                       //建立靜態庫使用的GNU的libtool   
  11. make && make install  
  1. 安裝freetype最新庫文件  
  2. # ./configure --prefix=/usr/local/freetype   
  3. # make   
  4. # make install     
  1. 安裝autoconf最新的庫文件  
  2. # ./configure   
  3. # make   
  4. # make install    
  1. 安裝最新的GD庫文件  
  2. #./configure \    //配置命令   
  3. --prefix=/usr/local/gd2/ \                       //指定軟件安裝的位置   
  4. --with-zlib=/usr/local/zlib/ \                   //指定到哪去找zlib庫文件的位置   
  5. --with-jpeg=/usr/local/jpeg6/ \               //指定到哪去找jpeg庫文件  
  6. --with-png=/usr/local/libpng/ \               //指定到哪去找png庫文件的位置   
  7. --with-freetype=/usr/local/freetype/        //指定到哪去找freetype 2.x字體庫的位置   
  8. make && make install  
  1. 安裝新版本的Apache服務器  
  2. #./configure  \   //執行當前目錄下軟件自代的配置命令   
  3. --prefix=/usr/local/apache2 \       //指定Apache軟件安裝的位置   
  4. --sysconfdir=/etc/httpd  \            //指定Apache服務器的配置文件  
  5. --with-z=/usr/local/zlib/ \            //指定zlib庫文件的位置   
  6. --with-included-apr  \                 //使用捆綁APR/APR-Util的副本   
  7. --enable-so \                          //以動態共享對象(DSO)編譯   
  8. --enable-deflate=shared \           //縮小傳輸編碼的支持   
  9. --enable-expires=shared \          //期滿頭控制   
  10. --enable-rewrite=shared \          //基於規則的URL操控   
  11. --enable-static-support              //建立一個靜態鏈接版本的支持   
  12. # make && make install  
  13. 測試Apache服務器  
  14. 檢查安裝目錄  
  15. 檢查配置文件目錄  
  16.  /usr/local/apache2/bin/apachectl start    //啓動Apache   
  17.  /usr/local/apache2/bin/apachectl stop    //關閉Apache   
  18. # netstat -tnl|grep 80     //查看80端口是否開啓   
  19. http://localhost/去訪問Apache服務器   
  20. echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local //添加自啓動  
  1. 安裝MySQL數據庫管理系統  
  2. # groupadd mysql           //添加一個mysql標準組  
  3. useradd -g mysql mysql   //添加mysql用戶並加到mysql組中   
  4. # ./configure \   
  5. --prefix=/usr/local/mysql \                 
  6. --with-extra-charsets=all     //安裝所有的字符集               
  7. #make && make install  
  8. 創建MySQL數據庫服務器的配置文件   
  9. # cp support-files/my-medium.cnf /etc/my.cnf   
  10.  bin/mysql_install_db --user=mysql //創建授權表   
  11. # chown -R root  .            //將文件的所有屬性改爲root用戶  
  12. # chown -R mysql var       //將數據目錄的所有屬性改爲mysql用戶  
  13. # chgrp -R mysql .            //將組屬性改爲mysql組  
  14. # /usr/local/mysql/bin/mysqld_safe --user=mysql &    啓動數據庫  
  15. # netstat -tnl|grep 3306     //查看3306端口是否開啓   
  16. # bin/mysqladmin version   //簡單的測試   
  17. # bin/mysqladmin variables //查看所有mysql參數   
  18. # bin/mysql -u root          //沒有密碼可以直接登錄本機服務器  
  19. mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';  
  20. mysql> FLUSH PRIVILEGES;  
  21. mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');   
  22. # bin/mysql -u root -h localhost –p //回車進入MySQL客戶端  
  23. # bin/mysqladmin -u root –p shutdown //關閉MySQL數據庫   
  1. 安裝最新版本的PHP模塊  
  2. # ./configure \              //執行當前目錄下軟件自代的配置命令  
  3. --prefix=/usr/local/php \                             //設置PHP5 的安裝路徑  
  4. --with-config-file-path=/usr/local/php/etc \    //指定PHP5配置文件存入的路徑  
  5. --with-apxs2=/usr/local/apache2/bin/apxs \   //告訴PHP查找Apache 2的地方  
  6. --with-mysql=/usr/local/mysql/ \                    //指定MySQL的安裝目錄  
  7. --with-libxml-dir=/usr/local/libxml2/ \            //告訴PHP放置libxml2庫的地方  
  8. --with-png-dir=/usr/local/libpng/ \                 //告訴PHP放置libpng庫的地方  
  9. --with-jpeg-dir=/usr/local/jpeg6/ \                 //告訴PHP放置jpeg庫的地方  
  10. --with-freetype-dir=/usr/local/freetype/ \       //告訴PHP放置freetype庫的地方  
  11. --with-gd=/usr/local/gd2/ \                           //告訴PHP放置gd庫的地方  
  12. --with-zlib-dir=/usr/local/zlib/ \                    //告訴PHP放置zlib庫的地方  
  13. --with-mcrypt=/usr/local/libmcrypt/ \             //告訴PHP放置libmcrypt庫的地方  
  14. --with-mysqli=/usr/local/mysql/bin/mysql_config \     //變量激活新增加的MySQLi功能  
  15. --enable-soap \                                    //變量激活SOAP和Web services支持  
  16. --enable-mbstring=all \                        //使多字節字符串支持  
  17. --enable-sockets                                  //變量激活socket通訊特性   
  18. #make && make install  
  19. # cp php.ini-dist /usr/local/php/etc/php.ini //創建配置文件   
  20. vi /etc/httpd/httpd.conf     //使用vi編輯apache配置文件  
  21. Addtype application/x-httpd-php .php .phtml    #添加這一條  
  22. # vi test.php         //編輯test.php文件  
  23. <?php   
  24.         phpinfo();  
  25. ?>   
  26. 瀏覽器: http://localhost/test.php 成功則顯示出php版本相關信息  
  1. 安裝Zend加速器  
  2. ./install.sh //執行安裝,爲圖形界面安裝,根據提示需要輸入以下三個目錄   
  3. /usr/local/Zend                           //Zend 目錄  
  4. /usr/local/php/etc                       //php.ini目錄     
  5. /usr/local/apache2/bin/apachectl //apache 執行文件目錄  
  1. phpMyAdmin的安裝  
  2. cp -a phpMyAdmin-3.0.0-rc1-all-languages \   
  3. /usr/local/apache2/htdocs/phpmyadmin //拷貝目錄到指定位置並改名爲phpmyadmin   
  4. cd /usr/local/apache2/htdocs/phpmyadmin/  
  5. cp config.sample.inc.php config.inc.php   
  6.  vi config.inc.php  
  7. http身份驗證模式  
  8.   $cfg[‘Servers’][$i][‘auth_type’]='http' ;//修改這一行爲http身份驗證   
  9.   這時可以訪問phpMyAdmin目錄下的index.php文件, 啓動phpMyAdmin  
  10.   用戶名和密碼爲Mysql的用戶名和密碼  
  11.  
  12. cookie身份驗證模式  
  13.   $cfg[‘Servers’][$i][‘auth_type’]='cookie' ; //修改這一行爲cookie身份驗證   
  14.        其他同http一樣   
  15.  
  16. config身份驗證模式  
  17. $cfg[‘Servers’][$i][‘auth_type’]='config';  
  18. $cfg[‘Servers’][$i][‘user’]='root';  
  19. $cfg[‘Servers’][$i][‘password’]='123456';  
  20. Web 可以直接登錄  
 
可能會遇到的問題: 
 
  1. 1.gd_png.c  
  2. 安裝 Gd庫錯誤 [gd_png.lo] Error 1   
  3. make[2]: *** [gd_png.lo] Error 1  
  4. make[2]: Leaving directory `/tmp/gd-2.0.26gif'  
  5. make[1]: *** [all-recursive] Error 1  
  6. make[1]: Leaving directory `/tmp/gd-2.0.26gif'  
  7. make: *** [all] Error 2  
  8. [root@RHEL3 gd-2.0.26gif]#   
  9. 解決方法 【將gd庫的文件進行修改】   
  10.    
  11. vi gd_png.c  
  12. 找到“png.h”改成“/usr/local/libpng/include/png.h”)   
  1. 2.zlib  
  2. 安裝libpng出現configure: error: ZLib not installed  
  3. 然後就按照以下步驟做  
  4. 0.先安裝zlib   
  5. 1.進入zlib的源文件目錄,執行命令 make clean,清除zlib;  
  6. 2.重新配置 ./configure,後面不要接--prefix參數;  
  7. 3.編輯 make && make install 安裝;  
  8. 4.進入libpng目錄,執行命令 ./configure --prefix=/usr/local/libpng;  
  9. 5.編譯 make && make install 安裝  
  1. 3.selinux permission deny  
  2. 1、關閉iptables  
  3. #service iptables stop  
  4. 2、關閉SELinux  
  5. #vi /etc/selinux/config  
  6. 將文件中的SELINUX="" 爲 disabled ,然後重啓。  
  7. 如果不想重啓系統,使用命令setenforce 0  
  8. 注:  
  9. setenforce 1 設置SELinux 成爲enforcing模式  
  10. setenforce 0 設置SELinux 成爲permissive模式   
  11. 在lilo或者grub的啓動參數中增加:selinux=0,也可以關閉selinux   
  1. 4.安裝mysql,在./configure時出現錯誤:error: No curses/termcap library found的解決辦法  
  2. 原因:  
  3.    
  4. 缺少ncurses安裝包  
  5. 解決辦法:  
  6. 一、如果你的系統是RedHat系列:  
  7.    
  8. yum list|grep ncurses  
  9. yum -y install ncurses-devel  
  1. 5.php  
  2. ../bin/nagios: error while loading shared libraries: libltdl.so.3: cannot open shared object file: No such file or directory  
  3.    
  4. 解決辦法:  
  5. yum -y install libtool-ltdl-devel.i386  
  6.    
 
  ==============================================================

      OK,完工,Lamp基本搭建到此結束!(鼓掌)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章