實驗環境:redhat 企業版 5.4
httpd-2.2.19.tar.bz2
mysql-5.5.15-linux2.6-i686.tar.gz
php-5.3.7.tar.bz2
需要的軟體
Development Libraries
Development Tools
Legacy Software Development
X Software Development
GNME Software Devleopment
KDE Software Development
確定以上包已被安裝
将軟體考入管理者家目錄下
[root@localhost ~]# ll -h
總計 171M
-rw------- 1 root root 1.2K 02-09 22:23 anaconda-ks.cfg
drwxr-xr-x 2 root root 4.0K 03-18 17:11 Desktop
-rwxrw-rw- 1 root root 5.1M 2011-05-22 httpd-2.2.19.tar.bz2
-rw-r--r-- 1 root root 35K 02-09 22:23 install.log
-rw-r--r-- 1 root root 4.0K 02-09 22:22 install.log.syslog
-rwxrw-rw- 1 root root 155M 2011-07-15 mysql-5.5.15-linux2.6-i686.tar.gz
-rwxrw-rw- 1 root root 11M 2011-08-18 php-5.3.7.tar.bz2
将以上軟體分别解壓縮
[root@localhost ~]# cd /usr/local/
[root@localhost local]# tar -zxvf /root/mysql-5.5.15-linux2.6-i686.tar.gz
[root@localhost local]# ll
總計 76
drwxr-xr-x 2 root root 4096 2008-08-08 bin
drwxr-xr-x 2 root root 4096 2008-08-08 etc
drwxr-xr-x 2 root root 4096 2008-08-08 games
drwxr-xr-x 2 root root 4096 2008-08-08 include
drwxr-xr-x 2 root root 4096 2008-08-08 lib
drwxr-xr-x 2 root root 4096 2008-08-08 libexec
drwxr-xr-x 13 root root 4096 03-18 17:17 mysql-5.5.15-linux2.6-i686
drwxr-xr-x 2 root root 4096 2008-08-08 sbin
drwxr-xr-x 4 root root 4096 02-09 22:09 share
drwxr-xr-x 2 root root 4096 2008-08-08 src
root@localhost local]# cd src
[root@localhost src]# tar -jxvf /root/httpd-2.2.19.tar.bz2
[root@localhost src]# tar -jxvf /root/php-5.3.7.tar.bz2
[root@localhost src]# ll
總計 8
drwxr-xr-x 11 sun sun 4096 2011-05-21 httpd-2.2.19
drwxr-xr-x 13 1000 1000 4096 2011-08-17 php-5.3.7
配置mysql
[root@localhost src]# cd ../local/mysql-5.5.15-linux2.6-i686/
[root@localhost mysql-5.5.15-linux2.6-i686]# less INSTALL-BINARY
根據提示步驟配置

建立mysql系統賬号
[root@localhost mysql-5.5.15-linux2.6-i686]# groupadd mysql
[root@localhost mysql-5.5.15-linux2.6-i686]# useradd -r -M -g mysql mysql
修改mysql目錄下的所屬組及所屬使用者
[root@localhost mysql-5.5.15-linux2.6-i686]# chown -R mysql .
[root@localhost mysql-5.5.15-linux2.6-i686]# chgrp -R mysql .
[root@localhost mysql-5.5.15-linux2.6-i686]# ll
drwxr-xr-x 2 mysql mysql 4096 03-18 17:16 bin
-rw-r--r-- 1 mysql mysql 17987 2011-07-14 COPYING
drwxr-xr-x 4 mysql mysql 4096 03-18 17:16 data
drwxr-xr-x 2 mysql mysql 4096 03-18 17:17 docs
drwxr-xr-x 3 mysql mysql 4096 03-18 17:16 include
-rw-r--r-- 1 mysql mysql 7604 2011-07-14 INSTALL-BINARY
drwxr-xr-x 3 mysql mysql 4096 03-18 17:17 lib
drwxr-xr-x 4 mysql mysql 4096 03-18 17:16 man
drwxr-xr-x 10 mysql mysql 4096 03-18 17:16 mysql-test
-rw-r--r-- 1 mysql mysql 2552 2011-07-14 README
drwxr-xr-x 2 mysql mysql 4096 03-18 17:16 scripts
drwxr-xr-x 27 mysql mysql 4096 03-18 17:16 share
drwxr-xr-x 4 mysql mysql 4096 03-18 17:17 sql-bench
drwxr-xr-x 2 mysql mysql 4096 03-18 17:17 support-files
使用mysql使用者初始化mysql
[root@localhost mysql-5.5.15-linux2.6-i686]# scripts/mysql_install_db --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
Alternatively you can run:
./bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd . ; ./bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd ./mysql-test ; perl mysql-test-run.pl
Please report any problems with the ./bin/mysqlbug script!
将mysql目錄下除了data目錄的所有者重新改回管理者
[root@localhost mysql-5.5.15-linux2.6-i686]# chown -R root .
[root@localhost mysql-5.5.15-linux2.6-i686]# chown -R mysql data
drwxr-xr-x 2 root mysql 4096 03-18 17:16 bin
-rw-r--r-- 1 root mysql 17987 2011-07-14 COPYING
drwxr-xr-x 5 mysql mysql 4096 03-18 17:41 data
drwxr-xr-x 2 root mysql 4096 03-18 17:17 docs
drwxr-xr-x 3 root mysql 4096 03-18 17:16 include
-rw-r--r-- 1 root mysql 7604 2011-07-14 INSTALL-BINARY
drwxr-xr-x 3 root mysql 4096 03-18 17:17 lib
drwxr-xr-x 4 root mysql 4096 03-18 17:16 man
drwxr-xr-x 10 root mysql 4096 03-18 17:16 mysql-test
-rw-r--r-- 1 root mysql 2552 2011-07-14 README
drwxr-xr-x 2 root mysql 4096 03-18 17:16 scripts
drwxr-xr-x 27 root mysql 4096 03-18 17:16 share
drwxr-xr-x 4 root mysql 4096 03-18 17:17 sql-bench
drwxr-xr-x 2 root mysql 4096 03-18 17:17 support-files
重做關于記憶體的配置檔案
[root@localhost mysql-5.5.15-linux2.6-i686]# cp support-files/my-large.cnf /etc/my.cnf
在背景啟動mysql
[root@localhost mysql-5.5.15-linux2.6-i686]# bin/mysqld_safe --user=mysql &
[1] 8348
[root@localhost mysql-5.5.15-linux2.6-i686]# 120318 17:57:55 mysqld_safe Logging to '/usr/local/mysql-5.5.15-linux2.6-i686/data/localhost.localdomain.err'.
120318 17:57:55 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql-5.5.15-linux2.6-i686/data
檢視監聽端口,表示已經啟動成功
[root@localhost mysql-5.5.15-linux2.6-i686]# netstat -utpln|grep mysql
tcp 0 0 :::3306 :::* LISTEN 8412/mysqld
設定啟動配置檔案
[root@localhost mysql-5.5.15-linux2.6-i686]# cp support-files/mysql.server /etc/init.d/mysqld
将頭檔案和庫檔案連接配接到系統預設的位置
[root@localhost mysql-5.5.15-linux2.6-i686]# ln -s /usr/local/mysql/include/ /usr/include/mysql [root@localhost mysql-5.5.15-linux2.6-i686]# vim /etc/ld.so.conf.d/mysqld.conf
/usr/local/mysql-5.5.15-linux2.6-i686/lib/
測試是否成功導入
[root@localhost mysql-5.5.15-linux2.6-i686]# ldconfig -v|grep mysql
/usr/local/mysql/lib:
libmysqlclient.so.18 -> libmysqlclient_r.so.18.0.0
在系統變量插入mysq路徑
[root@localhost mysql-5.5.15-linux2.6-i686]# vim /etc/profile
[root@localhost mysql-5.5.15-linux2.6-i686]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin:/usr/local/mysql/bin
在chkconfig中添加mysql服務
[root@localhost mysql-5.5.15-linux2.6-i686]# chkconfig --add mysqld
[root@localhost mysql-5.5.15-linux2.6-i686]# chkconfig --list |grep mysqld
mysqld 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
至此可以用 service mysqld 來管理mysqld服務
[root@localhost mysql-5.5.15-linux2.6-i686]# service mysqld status
MySQL running (6571) [ OK ]
配置apache
[root@localhost mysql-5.5.15-linux2.6-i686]# cd ../src/httpd-2.2.19/
[root@localhost httpd-2.2.19]# ll –h
可以看到有個configure可執行檔案,說明該軟體包是未編譯的原檔案
配置安裝檔案
[root@localhost httpd-2.2.19]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-ssl --with-z --enable-so
其中
--prefix=(安裝檔案目錄)
--sysconfdir=(配置檔案目錄)
--enable-ssl(啟用ss)
--with-z(使用特殊的庫檔案)
編譯
[root@localhost httpd-2.2.19]# make
[root@localhost httpd-2.2.19]# make install
啟動httpd服務
[root@localhost httpd-2.2.19]# cd /usr/local/apache/
[root@localhost apache]# bin/apachectl start
檢視監聽端口
[root@localhost apache]# netstat -utpln |grep httpd
tcp 0 0 :::80 :::* LISTEN 29231/httpd
修改環境變量
[root@localhost apache]# vim /etc/profile
重新讀取配置檔案
[root@localhost apache]# . /etc/profile
檢視環境變量
[root@localhost apache]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/usr/local/apache/bin:/root/bin
此時可以直接用
[root@localhost include]# apachectl stop
[root@localhost include]# apachectl start
[root@localhost apache]# vim /etc/ld.so.conf.d/httpd.conf
/usr/local/apache/lib/
[root@localhost apache]# ldconfig -v|grep apache
/usr/local/apache/lib:
[root@localhost apache]# cd /usr/include/
[root@localhost include]# ln -s /usr/local/apache/include/ httpd
[root@localhost include]#
測試apache安裝成功
Php
[root@localhost php-5.3.7]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all --with-xmlrpc --with-png-dir --with-jpeg-dir --with-zlib --with-gd
--prefix= 指明安裝位置
--with-apxs2= 指明調用子產品
--with-mysql= 指明mysql
--wtih-mysqli= 指明mysql接口
--enable-mbstring=all 支援的字元集
--with-xmlrpc 支援xml
--with-png 支援的圖形格式
--with-jpeg 支援的圖形格式
--with-zlib
--with-gd 支援壓縮
[root@localhost php-5.3.7]#make
[root@localhost php-5.3.7]#make install
[root@localhost php-5.3.7]# cd /usr/local/php/
[root@localhost php]# ll
總計 20
drwxr-xr-x 2 root root 4096 03-19 10:37 bin
drwxr-xr-x 2 root root 4096 03-19 10:37 etc
drwxr-xr-x 3 root root 4096 03-19 10:36 include
drwxr-xr-x 3 root root 4096 03-19 10:36 lib
drwxr-xr-x 3 root root 4096 03-19 10:36 man
修改apache的主配置檔案
[root@localhost php]#vim /etc/httpd/httpd.conf
重新開機apache服務
[root@localhost php]# apachectl stop
[root@localhost php]# apachectl start
編輯一個測試頁
[root@localhost php]# cd /usr/local/apache/htdocs/
[root@localhost htdocs]# mv index.html index.php
[root@localhost htdocs]# vim index.php
測試php成功
重新編輯頁面測試mysql是否連接配接成功
測試mysal連接配接成功