以下是本人以centos5.3下安裝配置php5的整個過程的記錄。整理好,以方便自己日后查閱,有需要者可參閱。 (須先安裝好了gcc) 需要的軟件列表:
ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz curl-7.19.5.tar.gz freetype-2.3.9.tar.gz gd-2.0.35.tar.gz httpd-2.2.13.tar.gz jpegsrc.v7.tar.gz libmcrypt-2.5.8.tar.gz libpng-1.2.40.tar.gz libxml2-2.6.30.tar.gz libxslt-1.1.22.tar.gz mcrypt-2.6.8.tar.gz mhash-0.9.9.9.tar.gz mysql-5.1.30.tar.gz php-5.3.0.tar.gz phpMyAdmin-3.1.2-all-languages.tar.gz zlib-1.2.3.tar.gz
把以上軟件下載到 ~/software目錄下。再創建解壓目錄~/software/unzip/, 在~/software目錄下執行:
tar -zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz -C unzip/ && tar -zxvf curl-7.19.5.tar.gz -C unzip/ && tar -zxvf freetype-2.3.9.tar.gz -C unzip/ && tar -zxvf gd-2.0.35.tar.gz -C unzip/ && tar -zxvf httpd-2.2.13.tar.gz -C unzip/ && tar -zxvf jpegsrc.v7.tar.gz -C unzip/ && tar -zxvf libmcrypt-2.5.8.tar.gz -C unzip/ && tar -zxvf libpng-1.2.40.tar.gz -C unzip/ && tar -zxvf libxml2-2.6.30.tar.gz -C unzip/ && tar -zxvf libxslt-1.1.22.tar.gz -C unzip/ && tar -zxvf mcrypt-2.6.8.tar.gz -C unzip/ && tar -zxvf mhash-0.9.9.9.tar.gz -C unzip/ && tar -zxvf mysql-5.1.30.tar.gz -C unzip/ && tar -zxvf php-5.3.0.tar.gz -C unzip/ && tar -zxvf phpMyAdmin-3.1.2-all-languages.tar.gz -C unzip/ && tar -zxvf zlib-1.2.3.tar.gz -C unzip/
將所有軟件解壓到unzip/目錄下。
進入unzip/目錄,開始安裝: 1.安裝jpeg cd jpeg-7/ && ./configure --prefix=/usr/local/jpeg7 --enable-shared --enable-static && make && make install && cd ..
2.安裝libpng cd libpng-1.2.40/ && ./configure --prefix=/usr/local/libpng && make && make install && cd ..
3.安裝freetype cd freetype-2.3.9/ && ./configure --prefix=/usr/local/freetype && make && make install && cd ..
4.安裝zlib cd zlib-1.2.3/ && ./configure --prefix=/usr/local/zlib && make && make install && cd .. 5.安裝gd 5.1 安裝gd必須先檢查一下 gd-2.0.35/gd_png.c 文件,對png.h的引用路徑是否正確。 用vi打開此文件 : vi gd-2.0.35/gd_png.c 在第16行: ======== #include "png.h" ======== 把它改為你的libpng安裝路徑下的png.h。若libpng按上面第2步安裝的,那么應該改為: ======== #include "/usr/local/libpng/include/png.h" ======== 這樣在編譯過程中就不會出現以下錯誤: =========== aclocal:configure.ac:64: warning: macro `AM_ICONV' not found in library ... =========== 5.2 修改完保存退出后,繼續安裝gd: cd gd-2.0.35/ && ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg7 --with-zlib-dir=/usr/local/zlib --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype && make && make install && cd ..
6.安裝libxml2 cd libxml2-2.6.30/ && ./configure --prefix=/usr/local/libxml2 && make && make install && cd ..
7.安裝libxslt cd libxslt-1.1.22/ && ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 && make && make install && cd ..
8.安裝apache 8.1 安裝: cd httpd-2.2.13/ && ./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite && make && make install && cd ..
8.2 檢測。安裝完后運行:/usr/local/apache/bin/apachectl -k start 啟動apache,再打開瀏覽器進入http://localhost,若顯示"It works!",則表示apache已經安裝好了。 (若執行啟動命令時,打印錯誤“httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName”, 暫時可以不管,這是由于未配置好ServerName,后面有apache的配置說明)
9.安裝mysql 9.1 安裝: cd mysql-5.1.30/ && ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charsets=all && make && make install
9.2 用mysql_install_db創建MySQL授權表初始化: /usr/local/mysql/bin/mysql_install_db --user=root
9.3 添加MySQL配置文件: 如果你想要設置一個選項文件,使用support-files目錄中的一個作為模板。在這個目錄中有4個模板文件,是根據不同機器的內存定制的。 cp support-files/my-medium.cnf /etc/my.cnf
9.4 啟動mysql: /usr/local/mysql/bin/mysqld_safe --user=root &
9.5 檢測是否啟動: /usr/local/mysql/bin/mysql -u root 如果能顯示: ============= Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> ============= 則表明 mysql 已經正常啟動。輸入exit;退出。
9.6 設置root密碼。默認安裝密碼為空,為了安全,最好把密碼修改掉 /usr/local/mysql/bin/mysqladmin -uroot password yourpassword
10. 安裝PHP 10.1 安裝: cd php-5.3.0/ && ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-gd=/usr/local/gd2 --with-jpeg-dir=/usr/local/jpeg7 --with-zlib-dir=/usr/local/zlib --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype --enable-mbstring=all --enable-mbregex --with-config-file-path=/usr/local/php5 --enable-soap --with-xsl=/usr/local/libxslt --enable-sockets && make && make install 10.2 復制配置文件: cp php.ini-development /usr/local/php5/php.ini 10.3 用vi打開 查找date.timezone 去掉前面的分號,并改為date.timezone =PRC
11.配置apache: 11.1 用vi打開/usr/local/apache/conf/httpd.conf 11.2 查找 LoadModule 可以看到 LoadModule php5_module modules/libphp5.so 這是安裝時設置好的,但也務必檢查一下。 11.3 查找 AddType 在“AddType application/x-gzip .gz .tgz” 下面添加一行:AddType application/x-httpd-php .php 11.4 查找DirectoryIndex,在DirectoryIndex index.html 后加上index.php(用空格隔開) 11.5 查找#ServerName,把#去掉,后面的IP改成你的IP或localhost 11.6 查找 DocumentRoot 把 "/usr/local/apache/htdocs" 修改成你的php文件存放路徑,也可以不改.但必須保證你的apache用戶(參看11.7)對此目錄可讀可寫。 11.7 查找 User ,把User daemon修改成你的apache用戶(只需保證此用戶對DocumentRoot可讀可寫即可) 11.8 重啟 apache ,若報以下錯誤: =========== httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied =========== 這是因為Linux有一個SELinux保護模式引起的。 有兩種解決辦法: 1)關閉SELINUX : 用vi打開 /etc linux/config 將SELINUX=enforcing 改成SELINUX=disabled 需要重啟。 2)不關閉SELINUX的方法: 執行以下shell(可能需要以root用戶來執行): setenforce 0 && chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so && setenforce 1 再重新啟動apache.
至此所有基本的LAMP環境安裝完畢。 以下是選裝的,可裝可不裝:
12. 安裝ZendOptimizer(zend加速引擎) 12.1 安裝: cd ZendOptimizer-3.3.3-linux-glibc23-i386/ && ./install && cd .. 然后像在windows下安裝軟件一樣,一路OK或yes下去,直到“Enter the location of your php.ini file”,輸入你的php.ini文件所在的目錄,即/usr/local/php5/, 再接著OK/yes,直到安裝完成。
13. 為了方便管理mysql數據庫,可以安裝phpMyAdmin: 13.1 直接把unzip/目錄下的phpMyAdmin-3.1.2-all-languages 移動到/usr/local/apache/htdocs/ 下,并把它改為apache用戶及組所屬。 mv phpMyAdmin-3.1.2-all-languages/ /usr/local/apache/htdocs/phpmyadmin chown -R yourApacheUser.yourApacheGroup /usr/local/apache/htdocs/phpmyadmin/ 13.2 配置: cd /usr/local/apache/htdocs/phpmyadmin/ cp config.sample.inc.php config.inc.php (把配置示例復制一份,作為正式配置文件) 用vi打開config.inc.php , 查找blowfish_secret,隨便填入一個字符串值,只要保證這變量不為空就行; 再查找controluser及controlpass 分別填入你的mysql用戶名及密碼 13.3 打開瀏覽器,瀏覽http://localhost/phpmyadmin,輸入用戶名及密碼,即可登錄mysql進行數據庫管理。
14.以上進入phpmyadmin時可能會有提示: ========== 無法載入 mcrypt 擴展,<br />請檢查 PHP 配置 ========== 這是因為沒有安裝mcrypt 導致的。mcrypt是一個功能強大的加密算法擴展庫。 在此順便介紹一下如何安裝PHP擴展。 安裝PHP mcrypt擴展,必須先安裝libmcrypt 及 mhash ,這兩個請直接安裝在/user/local目錄,否則后面安裝mcrypt時會提示找不到相關文件。 14.1 安裝libmcrypt : cd libmcrypt-2.5.8/ && ./configure && make && make install && cd .. 14.2 安裝mhash: cd mhash-0.9.9.9/ && ./configure && make && make install && cd .. 14.3 安裝mcrypt: cd mcrypt-2.6.8/ && LD_LIBRARY_PATH=/usr/local/lib ./configure --prefix=/usr/local/mcrypt --with-libmcrypt-prefix=/usr/local && make && make install cd .. (LD_LIBRARY_PATH=/usr/local/lib 是指定libmcrypt及mhash的庫文件所在目錄,編譯時與下面的./configure...之間不能用 “&&”號,只能用空格隔開。 ) 14.4 編譯php 中的mcrypt擴展: cd php-5.3.0/ext/mcrypt && /usr/local/php5/bin/phpize && ./configure --with-php-config=/usr/local/php5/bin/php-config --with-mcrypt=/usr/local/mcrypt && make && make install 14.5 修改php.ini: 用vi打開 /usr/local/php5/php.ini 查找extension,在一大堆extension=*.dll下面追加一行:extension=mcrypt.so (注意extension=mcrypt.so 前面不能加“;”),保存,退出并重啟apache 再刷新一下http://localhost/phpmyadmin,就會發現,沒有mcrypt警告提示了,表明mcrypt已經安裝好。
|