SUSE 下安裝php+apache+mysql

season0891發表於2009-06-09

本文轉自 http://uu9.cn/blogview.asp?logID=237

1 安裝軟體。
一、準備軟體包
存放/home/xiutuo/software/目錄下。
主要軟體包,(這裡沒有選擇mysql-standard-5.0.20-linux-i686.tar.gz,呆會再說明原因。)
httpd-2.2.0.tar.gz
mysql-max-5.0.21-linux-i686-glibc23.tar.gz
php-5.1.2.tar.gz
安裝php所需的軟體包
(其中libxml2是安裝php5必須的,為什麼還需要perl呆會說明原因。)
libxml2-2.6.19.tar.gz 
libxslt-1.1.15.tar.gz
ActivePerl-5.8.8.817-i686-linux-2.2.17-gcc-257965.rpm
curl-7.15.0.tar.gz
GD庫所需要軟體包(有人說PHP原始碼包裡自帶了GD2.0.28和zlib,只要安裝GD的三個支援包:jpg,png和freetype,但是我們還是下載)
gd-2.0.33.tar.gz
freetype-2.1.10.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.8.tar.gz
zlib-1.2.3.tar.gz
相關下載(根據自己的linux版本下載相應的包,檢視作業系統版本:# uname -r )



http://curl.haxx.se/download/curl-7.15.0.tar.gz





把以上所有軟體包下載到:/home/xiutuo/software/目錄下。
二、安裝apache2。
# cd /home/xiutuo/software/ 
進入目錄/home/xiutuo/software/
# tar -zvxf httpd-2.2.0.tar.gz
解壓httpd-2.2.0.tar.gz
# cd httpd-2.2.0
進入httpd-2.2.0目錄
# mkdir -p /usr/local/apache2
生成/usr/local/apache2目錄
# ./configure --prefix=/usr/local/apache 
或者
# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite
# make; make install
安裝apache
# vi /usr/local/apache/conf/httpd.conf
#ServerName 在其下增加
ServerName 
儲存退出,現在就這麼簡單配置apache。
# /usr/local/apache/bin/apachectl -k start 
啟動apahce,
用瀏覽器檢視,得到it works,說明apache已經配置成功了。
# /usr/local/apache/bin/apachectl -k stop
停止apache。
三、安裝mysql
# cd /home/xiutuo/software/ 
# tar -zvxf mysql-max-5.0.21-linux-i686-glibc23.tar.gz
# mkdir -p /usr/local/mysql (省略也可)
# cp -r mysql-max-5.0.21-linux-i686-glibc23.tar.gz /usr/local/mysql
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
新增mysql使用者及使用者組
# groupadd mysql
# useradd -g mysql mysql
修改mysql目錄許可權
# chown -R root /usr/local/mysql
# chgrp -R mysql /usr/local/mysql
# chown -R mysql /usr/local/mysql/data
生成mysql系統資料庫
#/cp /usr/local/mysql/scripts/mysql_install_db ../
# /usr/local/mysql/mysql_install_db --user=mysql&
啟動mysql服務
# /usr/local/mysql/bin/mysqld_safe --user=mysql&
如出現 Starting mysqld daemon with databases from /usr/local/mysql/data
代表正常啟動mysql服務了, 按Ctrl + C 跳出
修改 mysql 的 root 密碼
# /usr/local/mysql/bin/mysqladmin -u root -p password "123456"
如果在安裝的過程中,mysql不是被安裝在/usr/local/mysql,注意調整../mysql/bin/mysqld_safe這個檔案中的路徑。 
四、安裝GD庫(讓PHP支援GIF,PNG,JPEG)
a.安裝 jpeg6
建立目錄:
# mkdir -p /usr/local/jpeg6 
# mkdir -p /usr/local/jpeg6/bin 
# mkdir -p /usr/local/jpeg6/lib 
# mkdir -p /usr/local/jpeg6/include 
# mkdir -p /usr/local/jpeg6/man 
# mkdir -p /usr/local/jpeg6/man1
# mkdir -p /usr/local/jpeg6/man/man1
# cd /home/xiutuo/software/ 
# tar -zvxf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-static
# make; make install
b.安裝libpng
# cd /home/xiutuo/software/ 
# tar -zvxf libpng-1.2.8.tar.gz
# cd libpng-1.2.8
# cp scripts/makefile.std makefile 
# make; make install 
c.安裝 freetype
# cd /home/xiutuo/software/ 
# tar -zvxf freetype-2.1.10.tar.gz 
# cd freetype-2.1.10
# mkdir -p /usr/local/freetype
# ./configure --prefix=/usr/local/freetype 
# make;make install
d.:安裝zlib
# cd /home/xiutuo/software/ 
#tar -zxvf zlib-1.2.3.tar.gz
#cd zlib.1.2.3
# ./configure
# make;make install
e.安裝GD庫
# cd /home/xiutuo/software/ 
# tar -zvxf gd-2.0.33.tar.gz 
# mkdir -p /usr/local/gd2
# cd gd-2.0.33
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/lib/ --with-zlib=/usr/local/lib/ --with-freetype=/usr/local/freetype/
# make; make install
e.安裝Curl庫
# cd /home/xiutuo/software/ 
# tar -zxf curl-7.15.0.tar.gz
# mkdir -p /usr/local/curl
# ./configure --prefix=/usr/local/curl
# make; make install
五、安裝php5,php5必須有libxml2支援!
a.安裝libxml2
# cd /home/xiutuo/software/
# tar -zxf libxml2-2.6.19.tar.gz
# cd libxml2-2.6.19
# mkdir -p /usr/local/libxml2
# ./configure --prefix=/usr/local/libxml2
# make; make install
b.安裝 libxslt(可選安裝,你可以不安裝)
# cd /home/xiutuo/software/
# tar -zxf libxslt-1.1.15.tar.gz
# mkdir -p /usr/local/libxslt
# cd libxslt-1.1.15
# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
# make; make install
c.安裝php5
# cd /home/xiutuo/software/
# tar -zvxf php-5.1.2.tar.gz 
# mkdir -p /usr/local/php
# cd php-5.05
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql/ 
--with-curl=/usr/local/curl --enable-ftp 
--with-libxml-dir=/usr/local/libxml2 
--with-expat-dir=/usr/lib --enable-soap 
--with-xsl=/usr/local/libxslt --enable-xslt 
--with-gd=/usr/local/gd2/ 
--with-jpeg-dir=/usr/local/jpeg6/ 
--with-zlib-dir=/usr/local/lib/
--with-png=/usr/local/lib/
--with-freetype-dir=/usr/local/freetype/ 
//…編譯程式時提示下面的資訊解決方法: configure: error: cannot find output from lex; giving up 方法很簡單,在編譯語句之前執行命令: touch lex.yy.c 這樣就 OK 了…//
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini (別忘記了呵呵)
其中./configure 後的 
--prefix=/usr/local/php 
--with-apxs2=/usr/local/apache/bin/apxs 
--with-mysql=/usr/local/mysql/
--with-libxml-dir=/usr/local/libxml2
是必要的選項
--with-gd=/usr/local/gd2/ 
--with-jpeg-dir=/usr/local/jpeg6/ 
--with-png=/usr/local/lib 
--with-zlib-dir=/usr/lib
--with-freetype-dir=/usr/local/freetype
這是讓PHP支援GD庫的配置選項
--with-curl=/usr/local/curl 支援CURL庫
--enable-ftp 開啟FTP庫函式支援
--enable-soap --with-xsl=/usr/local/libxslt --enable-xslt
讓PHP支援SOAP, 上面這些一般用得少, 可以去掉
 
六、重新配置apache2讓他支援php。
配置 httpd.conf 讓apache支援PHP
# vi /usr/local/apache/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz 在其下新增如下內容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
重啟apache
# /usr/local/apache/bin/apachectl restart
在htdocs目錄裡建一內容為 PHP檔案, 輸入URL地址檢視PHP配置是否正確

2 安裝中出現的問題
1、當你看到mysql有很多版本,如:
mysql-max-5.0.21-linux-i686-glibc23.tar.gz和
mysql-max-5.0.21-linux-i686.tar.gz
這倆個到底選哪個呢,請你使用如下命令來決定
# rpm -qa | grep glibc
glibc-kernheaders-2.4-8.10
glibc-common-2.3.2-11.9
glibc-2.3.2-11.9
glibc-devel-2.3.2-11.9
如果出現以上資訊,請選擇mysql-max-5.0.21-linux-i686-glibc23.tar.gz版本
2、編譯php時出現
./configure: /usr/local/apache2/bin/apxs: /replace/with/path/to/perl/interpreter:
bad interpreter: No such file or directory
這是找不到perl直譯器的緣故。
修改/usr/local/apache2/bin/apxs檔案中:
/replace/with/path/to/perl/interpreter
把他替換成perl所在的路徑如/opt/ActivePerl-5.8/bin/perl,
(如果你下載的是active perl5.8的rpm,他預設安裝路徑是/opt/ActivePerl-5.8/bin/perl)
3、安裝了perl後,發現所有的文字編輯器都不能用了。
執行vi或者gedit時候,提示找不到libperl.so
到perl的安裝目錄下找一個libperl.so放到/usr/lib目錄下就解決問題了
我的libperl.so在/opt/ActivePerl-5.8/lib/5.8.8/i686-linux-thread-multi-CORE/目錄下。
如果不知道libperl.so在什麼地方,可以用
# locate libperl.so
查詢,或者用find命令
4、當我使用mysql-standard-5.0.20,編譯php時出現mysql錯誤:
checking for mSQL support... no
checking for MSSQL support via FreeTDS... no
checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... /tmp/mysql.sock
checking for mysql_close in -lmysqlclient... no
checking for mysql_error in -lmysqlclient... no
configure: error: mysql configure failed. Please check config.log for more information.
網查詢說:安裝PHP的時候沒有指定一下mysql的安裝目錄。但是我已經指定了,所以這個說法是錯誤的,其實主要原因是 mysql-level沒有裝,也就是mysql的版本不對,應該換mysql-max-5.0.21版本(包含所有mysql相關內容的軟體包)
5、編譯php時出現
configure: error: freetype2 not found! 
沒有安裝freetype-level
configure: error: libpng.(a|so) not found. 
沒有安裝libpng-devel
6、忘了mysql的root口令怎麼辦
# /usr/local/mysql/support-files/mysql.server stop
# mysqld_safe --skip-grant-tables & 
# mysqladmin -u user password 'newpassword'
# mysqladmin flush-privileges


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-605609/,如需轉載,請註明出處,否則將追究法律責任。

相關文章