一、目標
目標是安裝Web Application 可擴展的運營環境,所以系統由多個角色組成:LB Server、Web Server、APP Server、DB Server。
由於本文的主旨是LAMP(Linux、Apache、Mysql、php)安裝,所以這里僅就Web Server與DB Server的安裝部署作說明。

二、軟件版本
Linux:CentOS6.3
Apache:2.2
Mysql:5.1/5.5(升級需求)
PHP:5.3/5.2(老代碼運行需求)
就Linux的發行版本來說,會遇到Linux發行版本與需要運行的軟件版本不一致的問題,經常花費相當多的時間做安裝、編譯與配置。
這里是一些經驗的總結:
- 我們在配置Server上走了彎路,認為Apache,php,mysql要分開安裝在不同Server上。其實,完全沒有必要,安裝但關閉服務即可與配置目標一致,又可在出問題時開啟進行本地測試。
- 在Mysql版本上也糾結了很長時間。應該一開始就用最易用的方式搭建App,在保證應用沒有問題的情況下(也就是我們熟悉App應用配置后),再對系統進行版本選擇、配置、優化
三、安裝流程
1、DB Server安裝
Mysql版本:5.1
1.1、安裝Mysql
首先來進行 MySQL 的安裝。打開超級終端,輸入:
[root@localhost ~]# yum install mysql mysql-server
安裝完畢,讓 MySQL 能夠隨系統自動啟動:
[root@localhost ~]# chkconfig --levels 235 mysqld on
[root@localhost ~]# /etc/init.d/mysqld start
設置 MySQL 數據 root 賬戶的密碼:
[root@localhost ~]# mysql_secure_installation
當出現如下提示時候直接按回車、輸入新密碼、進行設置確認:
Enter current password for root Set root password? [Y/n] New password: Remove anonymous users? [Y/n] Disallow root login remotely? [Y/n] Remove test database and access to it? [Y/n] Reload privilege tables now? [Y/n]
至此MySql安裝完成。
1.2、安裝Apache
由於 CentOS 已經封裝了 Apache,直接運行安裝:
[root@localhost ~]# yum install httpd
同樣配置系統讓 Apache 隨系統啟動:
[root@localhost ~]# chkconfig --levels 235 httpd on [root@localhost ~]# /etc/init.d/httpd start
此時已經可以訪問你的服務器,不出意外的話,能夠看到 “Apache 2 Test Page powered by CentOS” 的測試頁面。如下圖所示
注意,如果其他機器訪問這台服務無法顯示這個頁面,而直接在這台服務器上可以訪問的話,一般情況下是 CentOS 自帶的防火牆禁止了。
處理方式:
- 你只需要進入防火牆,將 “WWW” 對應的 “80” 端口打開即可。
- 執行命令:
[root@localhost ~]#iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 80-j ACCEPT

注意:在 CentOS 中 Apache 的默認根目錄是 /var/www/html,配置文件 /etc/httpd/conf/httpd.conf。其他配置存儲在 /etc/httpd/conf.d/ 目錄。
1.3、安裝PHP
輸入如下指令安裝 PHP:
[root@localhost ~]# yum install php
需要重新啟動 Apache 服務:
[root@localhost ~]# /etc/init.d/httpd restart
1.4、測試PHP相關信息
這步實際上可以省略,但是為了測試是否安裝成功,你可以新建一個 PHP 頁面進行測試,使用 vim 編輯器新建:
[root@localhost ~]# vi /var/www/html/info.php
按 “i” 鍵進行編輯,輸入:
<?php
phpinfo();
?>
此時你可以訪問你的站點地址,例如 “http://localhost/info.php”,查看是否能看到相關的 PHP 信息

看到這樣的圖,就說明 PHP 安裝成功了。
1.5、將PHP模塊和MySql模塊關聯起來
還需要將 PHP 和 MySQL 關聯起來,才能正常工作。搜索模塊:
[root@localhost ~]# yum search php
安裝相關模塊:
[root@localhost ~]# yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
需要重啟 Apache 模塊才能生效:
[root@localhost ~]# /etc/init.d/httpd restart
再次刷新剛才建立的 “info.php” 頁面,往下拉找到相關 MySQL 模塊,看是否檢測到相關信息。

如果看到如上圖相關信息,則說明 MySQL 工作正常了。
1.6、安裝phpMyAdmin管理數據庫
這步不是必須的,但對於系統的調試差錯很有幫助,建議安裝。
phpMyAdmin是一個Web界面,通過它可以管理你的MySQL數據庫。
首先,我們使我們的CentOS 系統的RPMForge軟件庫phpMyAdmin是不是官方的CentOS 6.0庫:
導入rpmforge的GPG密鑰:
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
x86_64 系統安裝命令:
yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
i386 系統安裝命令:
yum install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
現在可以安裝phpMyAdmin如下:
yum install phpmyadmin
現在,我們配置phpMyAdmin。改變Apache的配置,使phpMyAdmin連接,而不僅僅是從localhost(注釋掉允許) :
vi /etc/httpd/conf.d/phpmyadmin.conf
修改配置文件內容如下:
# # Web application to manage MySQL # # # Order Deny,Allow # Deny from all # Allow from 127.0.0.1 # Alias /phpmyadmin /usr/share/phpmyadmin Alias /phpMyAdmin /usr/share/phpmyadmin Alias /mysqladmin /usr/share/phpmyadmin
下一步,我們改變在phpMyAdmin的身份驗證 cookie ,HTTP:
vi /usr/share/phpmyadmin/config.inc.php
文件中修改內容如下:
/* Authentication type */ $cfg['Servers'][$i]['auth_type'] = ‘http’; [...]
重新啟動Apache:
/etc/init.d/httpd restart
之后,您可以根據訪問phpMyAdmin http://localhost/phpmyadmin/管理數據庫。
至此,DB Server 安裝成功,這時可用關閉Apache提高Mysql在系統資源的使用率:
[root@localhost ~]# chkconfig --levels 235 httpd off [root@localhost ~]# /etc/init.d/httpd stop
2、Web Server安裝
Apache版本:2.2
PHP版本:5.2
2.1、安裝MySql
如1.1安裝方式完全相同
2.2、安裝Apache
如1.2安裝方式完全相同
2.3、安裝PHP
由於我們需要安裝PHP5.2,而CentOS6.3提供的缺省安裝方式的PHP是5.3版本(PHP5.3與PHP5.2有較大的更新,不少之前的應用程序在PHP5.3上不可用)
所以我們需要使用第三方包含PHP5.2的RPM的YUM repo。Atomic YUM repo有兩個PHP5.2和5.3的RPM。在啟用Atomic YUM repo后,排除PHP5.3的RPM,然后再安裝PHP5.2的RPM。
啟用Atomicorp repo
wget -q -O - http://www.atomicorp.com/installers/atomic | sh
排除PHP5.3的RPM
vi /etc/yum.conf
在配置文件中增加如下內容
exclude=php-*5.3*
安裝PHP5.2
arch=$(uname -m) yum install php-common.$arch php-gd.$arch php-soap.$arch php-cli.$arch php-pdo.$arch php-mhash.$arch php-bcmath.$arch php-imap.$arch php-mcrypt.$arch php-xml.$arch php-devel.$arch php.$arch php-mysql.$arch php-mbstring.$arch php-xmlrpc.$arch -y
如果順利,就完成PHP5.2的安裝了。
當然這里有個問題,如果Atomic repo修改對應PHP版本RPM該怎么辦?一個完整的解決方案就是在本地建立YUM repo庫(具體方法見如何建立本地yum repo庫)
2.5、將PHP模塊和MySql模塊關聯起來,和phpmyadmin安裝
與1.5、1.6完全一致即可
2.6、關閉Mysql服務
[root@localhost ~]# chkconfig --levels 235 mysqld off [root@localhost ~]# /etc/init.d/mysqld stop
四、小結
至此,WebServer與DBServer的LAMP環境均已建設完成。
當然,到這一步只是完成軟件安裝,之后Apache、php、mysql均需要再配置來滿足應用的需要,提供更好的效能。這些將在之后的文檔中進行說明。
參考文獻:
http://www.cnblogs.com/linuxer/archive/2011/09/21/2272542.html
http://shellboy.com/install-php-52-on-rhel-centos-6.html
http://www.fantxi.com/blog/archives/enable-remote-access-mysql-centos/
