LAMP平台部署及應用(一)
1. LAMP平台概述
LAMP架構是目前應用最為成熟的企業網站應用模式之一,指的是協同工作的一整
套系統和相關軟件,能夠提供動態Web站點服務及其應用開發環境。LAMP這個詞是一
個縮寫,具體包括:Linux操作系統、Apache網站服務器、MySOL數據庫服務器,PHP
(或PerI、Python)網頁編程語言。
1.1 LAMP平台的構成組件
在LAMP平台的四個構成組件中,每一個組件都承擔着一部分關鍵應用。經過過去
十幾年的發展,各組件間的兼容性得到了不斷的完善,協作能力和穩定性也不斷增強,
可以構建出非常優秀的Web應用系統。各組件的主要作用如下。
➣
(平台)
Linux:作為LAMP架構的基礎,提供用於支撐Web站點的操作系統,能夠與其他三
個組件提供更好的穩定性,兼容性(AMP組件也支持Windows、UNIX等平台) 。
➣
(前台)
Apache:作為LAMP架構的前端,是一款功能強大,穩定性好的Web服務器程序,
該服務器直接面向用戶提供網站訪問,發送網頁,圖片等文件內容。
➣
(后台)
MySOL:作為LAMP架構的后端,是一款流行的開源關系數據庫系統。在企業網
站、業務系統等應用中,各種賬戶信息、產品信息,客戶資料、業務數據等都可以
存儲到MySQL數據庫,其他程序可以通過SQL語句來查詢,更改這些信息。
➣
(中間連接)
PHP/Perl/Python:作為三種開發動態網頁的編程語言,負責解釋動態網頁文件,並提供
Web應用程序的開發和運行環境。其中PHP是一種被廣泛應用的開放源代碼
的多用途腳本語言,它可以嵌入到HTML中,尤其適合於Web應用開發。
1.2 LAMP平台的應用優勢
構成LAMP平台的四個組件中,每一個都經歷了數十年之久的企業應用的考驗,各
自都是同類軟件中的佼佼者,從而成為典型的“黃金搭檔”,
其主要優勢體現在以下幾
個方面:
➣
成本低廉:構成組件都是開放源代碼的軟件,可以自由獲得和免費使用,在技術上
和許可證方面沒有太嚴格的限制,大大降低“企業實施成本。
➣
可定制:擁有大量的額外組件和可擴展功能的模塊,能夠滿足大部分企業應用的定
制需求,甚至可以自行開發,添加新的功能。
➣
易於開發:基於LAMP平台的動態網站中頁面代碼簡潔,與HTML標記語言的結
合度非常好,即便是非專業的程序員也能夠輕松讀懂乃至修改網頁代碼。
➣
方便易用:PHP,Perl等屬於解釋性語言,開發的各種程序不需要編譯,方便
進行移植使用。整套的網站項目程序,通常只要復制到網站目錄中,就可以直接訪
問了。
➣
安全和穩定:得益於開源的優勢,大量的程序員在關注並持續改進着LAMP平台
的各個組件,發現的問題能夠很快得到解決。LAMP架構已經歷了數十年的長期驗
證,在安全性和穩定性方面表現得非常優秀。
在構建LAMP平台時,各組件的安裝順序依次為Linux、Apache、MySQL,PHP。其
中Apache和MySQL的安裝並沒有嚴格的順序;而PHP環境的安裝一般放到最后,負責
溝通Web服務器和數據庫系統以協同工作。
2. 構建PHP運行環境
PHP即"PHP Hypertext Preprocessor"(超級文本預處理語言)的縮寫,是一種服務
器端的HTML嵌入式腳本語言。PHP的語法混合了C,Java,Perl以及部分自創的新語
法,擁有更好的網頁執行速度,更重要的是PHP幾乎支持所有流行的數據庫。在數據庫
層面的操作功能十分強大,而且能夠支持UNIX、Windows、Linux等多種操作系統。
本節將學習如何構建PHP運行環境以實現LAMP協同架構。其前提條件是服務器
已經編譯安裝好”Apache HTTP Server“和MySQL數據庫。
HTTP網站服務和MySQL數據庫服務的安裝請參考前面的章節。
2.1 安裝PHP軟件包
PHP項目最初由Rasums Lerdorf在1994年創建,
1995年發布第一個版本PHP1.0,
目前已更新到5.3.×版本。本章將以最新的穩定版源碼包PHP-5.3.6.tar.gz為例,該版本
可以從PHP官方站點http://www.php.net/downloads/下載。
1. 准備工作
為了避免發生程序沖突等現象,建議先將RPM方式安裝的pnp及相關依賴包(如里
有的話)卸載。例如,根據實際安裝情況可卸載php、pnp-cli、php-ldap、php-
common、pnp-mysql等。
[root@mysql mysql]
# rpm -e php php-cli php-ldap php-common php-mysql --nodeps
|
2.安裝擴展工具庫
在實際企業應用中,一部分基於PHP開發的Web應用系統會需要額外的擴展工
具,如數據加密工具libmcrypt,mhash,mcrypt等(可以從站點sf.net下載)。安裝php
軟件包之前,應先安裝好這些擴展工具程序。
1)安裝libmcrypt
[root@mysql home]
# tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/
[root@mysql home]
# cd /usr/src/libmcrypt-2.5.8/
[root@mysql libmcrypt-2.5.8]
# ./configure
[root@mysql libmcrypt-2.5.8]
# make && make install
[root@mysql libmcrypt-2.5.8]
# ln -s /usr/local/lib/libmcrypt.* /usr/lib/
|
2)安裝mhash
[root@mysql home]
# tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/
[root@mysql home]
# cd /usr/src/mhash-0.9.9.9/
[root@mysql mhash-0.9.9.9]
# ./configure
[root@mysql mhash-0.9.9.9]
# make && make install
[root@mysql mhash-0.9.9.9]
# ln -s /usr/local/lib/libmhash* /usr/lib/
|
3)安裝mcrypt
[root@mysql home]
# tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/
[root@mysql home]
# cd /usr/src/mcrypt-2.6.8/
[root@mysql mcrypt-2.6.8]
# export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH
[root@mysql mcrypt-2.6.8]
# ./configure
[root@mysql mcrypt-2.6.8]
# make && make install
|
3.編澤安裝PHP
1)解包
將下載獲得的PHP源碼包解壓並釋放至/usr/src/目錄下,切換到展開后的源碼目錄。
[root@mysql home]
# tar zxf php-5.3.6.tar.gz -C /usr/src/
[root@mysql home]
# cd /usr/src/php-5.3.6/
|
2)配置
在定制PHP的配置選項時最關鍵的是要指定httpd,mysqld的安裝路徑,以便添
加相關支持設置,使LAMP各組件協同工作。除此以外還可以指定安裝路徑啟用多
字節支持,加密擴展支持等。
[root@mysql php-5.3.6]
# yum install libxml2
[root@mysql php-5.3.6]
# yum -y install libxml2-devel
[root@mysql php-5.3.6]
# ./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php5 --enable-mbstring
上述配置命令中,各選項的含義如下所述。
➣
--prefix:指定將PHP程序安裝到哪個目錄,如/usr/local/php5。
➣
--with-mcrypt:加載數據加密等擴展工具支持。
➣
--with-apxs2:設置“Apache HTTP Server”提供的apxs模塊支持程序的文件位置。
➣
--with-mysql:設置MySOL數據庫服務程序的安裝位置。
➣
--with-config-file-path:設置PHP的配置文件php.ini將要存放的位置。
➣
--enable-mbstring,啟用多字節字符串功能,以便支持中文等代碼。
3)編譯及安裝
[root@mysql php-5.3.6]
# make
[root@mysql php-5.3.6]
# make install
編譯的過程可能會需要較長時間,需耐心等待。若期間未出現鍺誤,郡么程序
的安裝過程就基本完成了。接下來需要對LAMP組件環境進行適當的配置並驗證是否
能夠協同工作。
2.2 設置LAMP組件環境
在設置LAMP組件環境時主要包括對PHP的配置文件php.ini,Apache的配置文件httpd.
conf的調整。前者用來確定PHP的運行參數,后者用來加載libphp5.so模塊,以便
支持PHP網頁。
1. php.ini配置調整
1)php.ini的建立及基本設置
安裝好php軟件包以后服務器並不會自動創建php.ini配置文件,但在源碼目錄
下提供了兩份樣例,配置文件分別對應於開發環境,生產環境。
[root@mysql ~]
# ls /usr/src/php-5.3.6/php.ini-*
/usr/src/php-5.3.6/php.ini
-development
<==開發版樣例文件,用於學習,測試
/usr/src/php-5.3.6/php.ini
-production <==開發版樣例文件,用於實際運營
選擇其中一個樣例文件並復制到PHP的配置文件目錄(如/usr/local/php5/,應
確保與configure步驟中指定的路徑一致),並改名為php.ini。在php.ini配置文件中,
以分號開頭的內容表示注釋信息。
[root@mysql ~]
# cp /usr/src/php-5.3.6/php.ini-development /usr/local/php5/php.ini
[root@mysql ~]
# grep -v "^;" /usr/local/php5/php.ini | grep -v "^$"
[PHP]
engine = On
short_open_tag = Off
asp_tags = Off
|
...... //省略部分內容
|
通過修改php.ini文件中的配置內容,可以控制PHP網頁的執行特性。如是否允許
用戶上傳文件、設置上傳文件的大小限制、設置默認使用的字符集,加載額外的擴展模
塊等。如果沒有特別要求,可以直接沿用默認配置,不做任何修改。
[root@mysql ~]
# vim /usr/local/php5/php.ini
...... //省略部分內容
default_charset =
"utf-8"
<==設置默認字符集為utf-8
file_uploads = On <==允許通過PHP網頁上傳文件
upload_max_filesize = 2M <==允許上傳的文件大小限制
max_file_uploads = 20 <==每個HTTP請求最多允許上傳的文件數
post_max_size = 8M <==每次通過表單POST提交的數據量限制
short_open_tag = On <==允許識別PHP短語法標記,即<?...?>
|
2)添加ZendGuardLoader優化模塊
為了進一多提高程序的執行效率,優化頁面加載速度,可以為PHP添加Zend
公司開發的ZendGuardLoade”優化模塊。若需要加密PHP代碼以限制未經授權的分發,還
可以購買該公司的ZendGuard軟件。
(1)首先將下載的ZendcardLoader包釋放,並將其中pnp-5.3.X目錄下的模塊文件
復制到程序的模塊文件夾。
[root@mysql home]
# tar zxf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/
[root@mysql home]
# cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/
[root@mysql php-5.3.x]
# cp ZendGuardLoader.so /usr/local/php5/lib/php/
|
(2)然后修改php.ini配置文件,添加加載及啟用ZendGuardLoader.so模塊的配置語句
。
[root@mysql php-5.3.x]
# vim /usr/local/php5/php.ini
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
|
2.httpd.conf配置調整
要讓httpd服務器支持PHP頁面解析功能,需通過LoadModule配置項加載程序
的模塊文件,並通過AddType配置項添加對”.php",類型網頁文件的支持,除此以外
還應修改Directoryindex配置行,添加inaex.php項,以識別常見的PHP首頁文件。
[root@mysql php-5.3.x]
# vim /usr/local/httpd/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
AddType application/x
-httpd
-php
.php
DirectoryIndex index.php index.html
[root@mysql php-5.3.x]
# /usr/local/httpd/bin/apachectl restart <重啟服務以更新配置
在上述配置內容中,LoadModule行應該會在安裝php的過程中自動添加,其中的
php5_module表示模塊名稱;modules/libphp5.so是模塊文件位置。而AddType行
需要手動添加,DirectaryIndex行在原有基礎上對其進行修改即可。
2.3 測試LAMP協同工作
完成PHP相關軟件的安裝,調整配置以后,應進行必要的功能測試,以驗證LAMP
平台各組件是否能夠協同運作。在網站根目錄下創建相應的PHP測試網頁,然后通過瀏覽器
進行訪問,根據顯示結果即可判斷LAMP平台是否構建成功。
下面分別從PHP網頁的解析,通過PHP頁面訪問mysql數據庫這兩個方面進行
測試。
要想測試PHP環境是否能夠正常工作,需要建立一個使用PHP語言編寫的網頁文
件,並通過httpd服務器發布在瀏覽器中對其進行訪問。由於PHP語言並非本章學習
的重點,這里不做過多的講解。用於測試時,只需要建立一個簡短的PHP測試文件
即可。
1. 測試PHP網頁能否正確顯示
編寫一個".
php"格式的測試網頁文件,使用PHP內建的'phpinfo()”函數顯示服
務器的PHP環境信息,PHP代碼應包括在”<?php...?>
”標記之間。將測試網頁文件
放置到網站根目錄下,如/usr/local/httpd/htdocs/test1.php。
[root@mysql ~]
# vim /usr/local/httpd/htdocs/test1.php
<?php
phpinfo( );
?>
|
然后通過瀏覽器訪問測試網頁,如http://www.sky.com/test1.php。若能夠看到
程序的版本號,配置命令,運行變量等相關信息,如圖所示,則表示此Web服
務器已經能正常顯示PHP網頁。若還能看到Zend引擎相關信息,則表示
ZendGuardLaader模塊也已啟用成功。

2.測試PHP網頁能否訪問MySQL數據庫
再編寫一個測試網頁文件test2.php,添加簡單的數據庫操作命令用於驗證與
MySQL服務器的連接,查詢等操作,其中”
mysql_connect()”函數用於連接MySQL
據庫,需要指定目標主機地址以及授權訪問的用戶名,密碼。
[root@mysql ~]
# vim /usr/local/httpd/htdocs/test2.php
<?php
$link
=mysql_connect(
'localhost'
,
'root'
,
'123456'
); <==連接MySQL數據庫
if(
$link
)
echo
"恭喜你,數據庫連接成功啦!!"
; <==連接成功時的反饋消息
mysql_close(); <==關閉數據庫連接
?>
|
然后通過瀏覽器訪問測試網頁,如http://www.aaa.com/test2.php。若能看到成
功連接的提示信息,如圖所示,則表示能夠通過PHP網頁訪問MySQL數據庫。當
使用了錯誤的用戶名密碼,或者mysql未運行而導致連接失敗執行時將會報
錯。

3. LAMP架構應用實例
在企業Web應用系統中動態網站已經逐步成為主流,而基於LAMP架構的Web動
態網站更是其中的佼佼者。本節將介紹一個LAMP架構協同應用的實例——phpMyAdmin
管理套件的部署及使用。
3. 1 部署phpMyAdmin系統
phpMyAdmin是一個使用PHP語言編寫,用來管理MySQL數據庫的Web應用系統。
通過該套件提供的網頁界面,即便是對SQL語句不太熟悉的人,也能夠非常容易地對
MySQL數據庫進行管理和維護。
phpMyAdmin的源碼包可以從其官方站點http://www.phpadmin.net中下載。下
面以多國語言版源碼包pnpMyAdmin-3.3.10-all-languages.tar為例介紹ppMyAdmin
套件的部署過程。
1.解包並復制到網站目錄
對於大部分PHP應用系統來說,只需要解包后復制到網站目錄下即可完成部署,之后
再根據需要調整配置,或者訪問安裝頁面以完成進一步的安裝、例如若要將phpMyAdmin 套件
部署到網站根目錄下以便通過地址http://www.sky.com/phpMyAdmin/訪問,可
以參考以下步驟。
[root@mysql home]
# tar zxf phpMyAdmin-3.3.10-all-languages.tar.gz
[root@mysql home]
# mv phpMyAdmin-3.3.10-all-languages/ /usr/local/httpd/htdocs/phpMyAdmin
|
2.建立配置文件config.inc.php
將phpMyAdmin套件復制到網站目錄以后,還需要創建配置文件方可正常使用。默
認提供的樣例配置文件為config.sample.inc,需參照該文件內容建立config.inc.php配
置文件。查找並修改配置文件中的”blowfish_secret行“並設置一個短語密鑰,此密
鑰用於網頁cookie認證,不需要用戶記憶)。
[root@mysql home]
# cd /usr/local/httpd/htdocs/phpMyAdmin/
[root@mysql phpMyAdmin]
# cp config.sample.inc.php config.inc.php
[root@mysql phpMyAdmin]
# vim config.inc.php
$cfg [ 'blowfish_secret' ] = 'qwe.123' ;
|
3.訪問phpMyAdmin的Web管理界面
在瀏覽器中訪問http://www.sky.com/phpMyAdmin/如果能夠看到
phpMyAdmin系統的登錄界面,如圖所示,則表示部署成功。使用MySQL數據庫的
用戶(不能是密碼為空的用戶)登錄后即可在授權范圍內對數據庫進行管理。

phpMyAdmin系統默認使用cookie認證方式,在首次訪問時頁面下方可能會提示"
必須啟用cookies才能登錄",要求客戶
機的瀏覽器啟用cookies機制。實際上大多數
瀏覽器默認都是支持cookies的,因此按F5鍵刷新頁面后該提示信息即會消失。
3.2 使用phpMyAdmin系統
需要使用phpMyAdmin系統時應先通過MySQL服務器中授權的數據庫用戶(如
roo)進行登錄,認證成功后可以看到管理界面,如圖所示。通過phpMyAdmin套
件,用戶可以在授權的范圍內執行各種數據庫管理操作,使界面更加直觀,友好,大大
降低了遠程維護MySQL數據庫服務器的難度。

如果報錯:#2002 無法登錄 MySQL 服務器 解決方法如下:
[root@mysql ~]
# vim /usr/local/httpd/htdocs/phpMyAdmin/config.inc.php
$cfg [ 'Servers' ][ $i ][ 'host' ] = 'localhost'
將localhost改為127.0.0.1
$cfg [ 'Servers' ][ $i ][ 'host' ] = '127.0.0.1' ;
|
管理頁面的初始界面是一個典型的分欄結構,左側部分包括一排導航按鈕(主
頁、退出、查詢,幫助,SOL文檔)庫列表;右側部分是主體窗口,其中顯示了若干
導航鏈接、操作面板、界面控制等組件,以及網站服務器中phpMyAdmn的版
本信息。
下面僅簡單介紹phpMyAdmin系統中幾個常見的數據庫操作
。
1.創建新的庫、新的表
若要創建新的庫,可以在管理主頁中的創建部分進行操作,如圖所示,或
者單擊右側的數據庫鏈接,然后在下方的新建數據庫部分進行操作。例如指
定新建的庫名稱為ceshi,使用的校對規則選擇utf-8_general_ci,然后單擊“創建”按鈕
即可新建ceshi庫。

回到管理界面主頁,選擇左側列表中新建的ceshi庫,在右側的結構標簽頁下
方,可以輸入新的表名,字段數,如圖所示。單擊”執行“按鈕然后根據頁面內容
設置各字段的名稱,類型(對於要包含中文數據的字段類型應選用STRING欄下的
CHAR、VCHAR等),長度等要素后,單擊"保存"按鈕即可新建指定的表。

2. 表及數據記錄的管理
選中指定庫中的表,單擊操作欄的
按鈕可分別進行瀏覽
數據,修改表結構,搜索數據,插入數據,清空表,刪除表的操作,如圖所示。


值得注意的是,如果數據庫,表中需要記錄包含中文的數據,應確保LAMP平台
各組件使用相同的字符集(如UTF-8),否則可能會出現亂碼的情況,在編碼一致的
前提下,新建數據庫,表以及插入,瀏覽記錄時,都可以正常使用中文,如圖所示
。

3.
直接執行MySQL查詢語句
在管理界面的主頁中,單擊左側導航欄的圖標,可以打開SQL查詢窗口。在該
窗口中,可以直接輸入MySQL操作語句,如圖所示,並通過單擊右下方的”執
行“按鈕來完成相應的管理任務。


對於非常熟悉MySQL語句的維護人員來說,直接使用查詢窗口將更加有效率。如果
有已經編寫好的SQL腳本文件,還可以切換到"導入文件"標簽頁,選擇文件位置並
導入后再執行,非常方便。

LAMP平台部署及應用(二)
1. 網站社區概述
在Internet中,凡是能夠聚合一部分具有共同特征的人群,並為這些人群提供相互
交流和服務功能的網站,都可以稱之為“社區“網站。這其中包括各種技術論壇,校友
錄、交友網站、在線游戲平台等。
下面介紹常見的幾種社區網站類型。
1.BBS,論壇
BBS的英文全稱是Bulletin Board System(電子公告板系統)在國內一般稱為”論
壇“,表示可以自由發言、討論交流的網站平台。通過論壇系統,每個參與的用戶都能
夠發表自己的言論(即”發帖”),也可以回復他人的言論(即”回帖“)。論壇廣泛
應用於技術交流、售前/售后服務、資源發布,聊天交友等各種領域。
長期以來,互聯網的蓬勃發展在國內催生了眾多知名大型社區論壇,常見的IT技
術交流論壇有51CTO,ChinaUnix、CSDN、Net130,54master等,綜合娛樂社區有貓撲,
天涯、泡泡、網易等。
2.BLOG,博客;PodCast,播客
BLOG的名字來源於英文的Weblog(網絡日記) ,
后簡寫為BLOG,在國內一般稱為"
博客"
表示可以撰寫,展示個人日記的網站平台。對於用戶來說,博客就相當於自
己的個人網站,可以在博客中發表自己寫的文章,生活照片,技術資料等各種圖文信息
(電子版的日記),並與訪問自己博客的其他用戶進行交流。國內的新浪,搜狐,網易
等大型門戶網站,以及51CTO,ChinaUnix、CSDN等眾多專業技術網站也都提供個人博
客服務。
目前比較流行的"微博"指的是微型博客 · · · 每條博客記錄往
往只有一兩句話,字數較少對版面要求不高,因此更方便移動終端(如手機,平板電
腦)用戶的使用。
PodCast的名字來源於蘋果的iPod(一款多媒體播放器)與broadcast(廣播),在
國內一般稱為播客。表示可以通過聲音和視頻來展現個人生活看法的網站平台、
播客相當於博客的多媒體版,不僅可以記錄圖片和文字,而且還可以記錄聲音和視頻,
為用戶提供更豐富的內容表達形式。播客服務網站主要集中在視頻分享等娛樂領域,如
新浪,土豆,六間房,優酷等,而技術方面的播客相對比較少。
3.SNS,社交網絡
SNS的英文全稱為Social Networking Services(社會化網絡服務),在國內一般稱
為”社交網絡’,表示可以為人們提供一個社交圈子的網站應用平台,主要基於熟人,
朋友,同學,共同興趣者等關系進行構築。
SNS網絡的含義比較寬泛不僅包括論壇、博客,博客圈等子系統還會提供社交
式的游戲(如種菜,經營牧場,虛擬婚姻)等網站應用,以加強用戶之間的相互溝通。
較知名的社交網站有人人網,開心網,中國同學錄,QQ社區等。
對於廣大IT技術學習者來說,若要獲得技術上的不斷進步,可以多參與相關的技
術交流論壇,創建並編寫自己的技術博客;若要獲得更好的人脈關系,拓展人際交往能
力可以參與各種社交網站。
2. 安裝Discuz!論壇系統
Crossday Discuz!Board論壇系統(簡稱Discuz!論壇)是一個采用PHP和MySQL等
數據庫構建的高效論壇解決方案。作為商業軟件產品,Discuz!在代碼質量、運行效
率,負載能力,安全性能及可操控性等方面都擁有良好的口碑。
Discuz!的源代碼可以免費獲得,任何人都可以對其進行安裝,使用,並在授權
協議范圍內對其進行更改。只要不將該論壇程序應用於商業用途,用戶則無需購買商
業授權。通過Discuz!可以在最短的時間內架設一個功能全面、性能穩定的社區論壇
平台。
本節主要講解在LAMP平台中Discuz!論壇的部署及安裝測試過程。
2.1 服務器端的部署
在部署一台論壇服務器之前,需要完成相應的准備工作,然后下載Discuz!系統的
程序文件並上傳到網站相應的目錄,下面分別講解這些步驟。
1.准備工作
首先應准備一台能夠解析PHP網頁,支持數據庫的網站服務器,其中Apache,
PHPMySQL組件的版本應符合Discuz!系統的最低要求(詳見其官方說明),這里以
此前源碼編譯構建的LAMP平台為例,默認首頁設置為index.php。
其次,應確定論壇服務器的域名、IP地址以及訪問論壇的URL地址。Discuz!論壇
支持作為獨立的網站運行,如http://bbs.sky.com;也可以作為網站的一個目錄,
如http://www.sky.com/bbs/,具體訪問方式由網站管理員根據所注冊的DNS域名
而定。在本節的案例中將使用http://www.sky.com/bbs/來訪問Discuz!論壇系統。
最后啟動httpd,mysqld服務器程序,並創建數據庫及授權用戶。Discuz!論壇系
統需要使用MySQL數據庫來存放各種信息,因此在安裝之前應提供一個可用的庫以
及能夠讀寫該庫的用戶。例如,若要新建庫bbsdb,並授權用戶runbbs能從本機全權訪
問,密碼設置為"adm123”,可以執行以下操作。
mysql> CREATE DATABASE bbsdb;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT all ON bbsdb.* TO
'runbbs'
@
'localhost'
IDENTIFIED BY
'adm123'
;
Query OK, 0 rows affected (0.00 sec)
2.下載並確認程序代碼
訪問Discuz!論壇的官方網站http://www.discuz.net
下載Discuz!
論壇程序的最新版本,在后
續內容中將以UTF-8編碼的簡體中文完整版Discuz_7.2_FULL_SC_UTF-8為例。
解壓Discuz_7.2_FULL_SC_UTF-8文件包,其中默認包括“readme、upload,utilpties”三
個文件夾,readme目錄下包括軟件簡介,安裝說明,版本更新日志等文件,upload是需
要上傳到網站中的論壇代碼目錄,utilities目錄下包括一些額外的工具網頁,解壓此文
件包可以執行以下操作。
[root@mysql home]
# unzip Discuz_7.2_FULL_SC_UTF8.zip -d DiscuzPkg
[root@mysql home]
# ls -lh DiscuzPkg/
總用量 12K
drwxr
-xr
-x
. 2 root root 4.0K 1月 6 2010 readme
drwxr
-xr
-x
. 18 root root 4.0K 1月 6 2010 upload
drwxr
-xr
-x
. 2 root root 4.0K 1月 6 2010 utilities
|
3.部署Discuz!論壇代碼
Discuz!論壇代碼對應解包后的upload目錄,因此需要將此目錄上傳到網站中,具
體位置由網站管理員指定。例如,若網站www.sky.com的根目錄為
var/www/html/,希望通過http://www.sky.com/bbs/的URL地址來訪問Discuz!
論壇,則應該將upload復制或移動到/var/www/html/目錄下,並改名為bbs。具體操
作如下。
[root@mysql home]
# mv DiscuzPkg/upload/ /var/www/html/bbs
|
上述操作是針對由網站管理員在論壇服務器本機進行操作的情況。對於授權的個人
網站用戶來說則應該使用FlashFXP等FTP客戶端軟件來進行上傳而不是直接復制。
將論壇代碼部署到網站目錄的相應位置以后,為了確保Discuz!論壇程序有權限寫
入數據(如用戶發帖,上傳圖片等) ,
還應該調整幾個子目錄的權限或屬。所要調整
的目錄包括templates/、attachments/、forumdata/,uc_client/data/cache/以及配置文件
config.inc.php。調整的原則是確保httpd的運行用戶(默認為daemon)能夠對上述目錄
及文件進行可讀,可寫操作。
[root@mysql home]
# grep "^User" /usr/local/httpd/conf/httpd.conf <==確認httpd運行用戶
User daemon
[root@mysql home]
# cd /var/www/html/bbs/
[root@mysql bbs]
# chown -R daemon templates/ attachments/ forumdata/
[root@mysql bbs]
# chown -R daemon uc_client/data/cache/ config.inc.php <==調整目錄及文件歸屬
[root@mysql bbs]
# ls -ld templates/ attachments/ forumdata/ <==確認讀寫權限
drwxr
-xr
-x
. 2 daemon root 4096 1月 6 2010 attachments/
drwxr
-xr
-x
. 9 daemon root 4096 1月 6 2010 forumdata/
drwxr
-xr
-x
. 11 daemon root 4096 1月 6 2010 templates/
|
2.2 論壇的安裝過程
完成2.1小節中的部署工作以后,接下來可以安裝Discuz!論壇了。在瀏覽器中
訪問地址http://www.sky.com/bbs/install/,將會打開論壇的安裝程序,然后根據頁
面提示即可逐步完成安裝過程。
1.接受授權協議
單擊’我同意"按鈕,接受中文版授權協議,如圖所示,以便正式開始安裝,
否則安裝過程將無法繼續。

2.檢查環境及目錄、文件權限
接下來在正式安裝之前,安裝程序會檢查軟件需求、磁盤空間、目錄和文件權限、
PHP函數支持等是否滿足條件。所有的檢查項目均應為
狀態,如圖所示,否則
可能會導致安裝失敗。


對於檢測結果中發現的問題,必須先妥善解決以后再繼續進行安裝。例如,若在此
處發現某些必需的目錄為不可寫狀態,則應參照2.1小節中部署代碼的過程設置相應
目錄的權限,然后刷新安裝頁面即可。
確認所有檢查結果都正常后,單擊”下一步”按鈕繼續安裝過程。
3.安裝數據庫、設置管理員賬號
正確填寫為Discuz!論壇准備的MySQL數據庫相關信息,包括服務器地址,庫名、授權用戶及
密碼,確保與服務器端的部署設置一致,如圖所示。除此以外還應為論壇
管理員賬號admin設置密碼,若有必要也可以更改此賬號名。

若設置無誤則單擊“下一步”按鈕后將會執行數據庫安裝操作(時間很短) ,完
成后會自動進入下一頁面。
4.完成論壇安裝
當出現“關於《康盛改善計划的說明》”的頁面時表示Discuz!論壇已經成功安
裝完畢。在此頁面中,用戶可以輸入QQ、MSN、E-mail等聯系信息,保持與Discuz!
廠商的溝通,若不需要相關功能,可直接單擊"跳過本步"按鈕,如圖所示,以完
成安裝。

上一步驟結束后,界面通常會自動跳轉Discuz!區的首頁。當然,用戶也可以
直接訪問http:/www.sky.com/bbs來打開此頁面,如圖所示。新安裝的Discuz!
論壇只包括一個“默認版塊”,論壇名稱、站點LOGO圖片等也都是默認的。

5. 安裝后的處理
完成Discuz!論壇的安裝以后,為了避免重復安裝,減少安全隱患。應該將install/
目錄進行轉移,並限制訪問權限。例如可將install改名為install.lock/,並將權限設
置為600。
[root@sky ~]
# cd /var/www/html/bbs/
[root@sky bbs]
# mv install/ install.lock
[root@sky bbs]
# chmod 600 install.lock/
[root@sky bbs]
# ls -ld install.lock/
drw-------. 3 root root 4096 1月 6 2010 install.lock/
|
3. 使用Discuz!論壇系統
Discuz!論壇系統包括前台,后台兩套網頁程序。前台即正常的論壇入口,提供給
所有用戶訪問:后台則作為管理員入口,只在執行論壇管理任務時才會使用。下面僅分
別介紹Discuz!
論壇的后台管理,前台使用這兩個方面的基礎知識,更多操作還需要大
家自行探索和嘗試。
3. 1 后台管理設置
在瀏覽器中訪問http://www.sky.com/bbs/admincp.php可以進入Discuz!論壇
的管理中心,登錄界面如圖所示。若提示"您無權訪問管理面板 · · · · · · "
請先以管
理員用戶登錄論壇前台,然后單擊右上方的"管理中心"鏈接也可以打開該頁面。

成功登錄以后將會看到Discuz!管理中心的控制面板,如圖所示,在此頁面
中能夠執行各項論壇管理任務。

1. 全局設置
單擊控制面板頂部的“全局”鏈接可以打開論壇站點的全局設置頁,自行定義站
點信息,注冊與訪問控制,優化設置、安全驗證,時間設置等各種信息。如通過“站點
信息”可以設置論壇名稱,網站名稱等論壇基本信息,如圖所示。

通過‘注冊與訪問“可以設置是否開放注冊,新用戶是否需要驗證,新用戶的見習
時間以及允許訪問本論壇的IP地址等,如圖所示。

通過”優化設置“可以啟用搜索引擎優化,URL靜態化,以及調整頁面緩存,服務
器優化等相關設置,如圖所示。

2.定義論壇版塊
版塊的划分應根據論壇實際的定位和需求來定,以便用戶在使用論壇時感覺層次清晰,
一目了然。例如”
學員交流中心”主要面向學員提供交流平台,分享和討論
的內容也只限於技術,因此可以划分三個大版塊:網絡及硬
件,Windows技術、Linux技術。
單擊控制面板頂部的”版塊“鏈接,可以打開Discu
z!論壇的版塊管理頁,便於新
建,刪除版塊或子版塊,以及設置版塊顯示順序,指定版主賬號等。例如可以參考以
下設置來規划“學員交流中心”的論壇版塊,如圖所示,其中的站務公告區可作
為管理員與論壇用戶的交互區域。

3.管理論壇用戶
單擊控制面板頂部的”用戶“鏈接,可以打開Discuz!論壇的用戶管理頁,能夠添
加或刪除用戶,以及添加管理員用戶,禁止用戶發帖等。例如,通過”添加用戶“可以
添加用戶賬號,同時指定其所在的組,如圖所示。

3.2 前台基本使用
通過Discuz!論壇的后台管理頁面所做的修改,包括站點名稱,版塊調整,頁面風格
等,將會在前台頁面中得到體現。在瀏覽器中訪問http://www.sky.com/bbs/可
以看到更新后的論壇首頁,如圖所示。

下面分別介紹最基本的論壇使用操作。
1. 注冊論壇用戶
幾乎所有的論壇都要求用戶進行注冊,否則將視為”游客“,游客通常只能查看其
他人所發的帖子,而不能發表自己的帖子。在Discuz!論壇中,單擊頁面上方的’注
冊”鏈接可以打開用戶注冊頁面,用戶根據表單內容填寫相關內容並提交即可,如
圖所示。

根據論壇的安全性設置不同,部分論壇可能會要求進行郵件驗證,還有一部分論壇
會需要人工審核,在此之前會限制用戶登錄或限制發帖。注冊及驗證設置都可以通過
Discuz!論壇的后台管理頁面完成。

2.發表帖子、瀏覽帖子、回復帖子
單擊Discuz!論壇上方的"登錄"鏈接,使用已注冊的用戶賬號進行登錄,如圖
所示,登錄成功后就可以發表新的主題帖了。例如,注冊用戶若要在“Linux技術“版
塊中發表一個新的帖子,可以先進入“Linux技術"版塊,然后單擊上方的"發帖"按
鈕,將會打開”發新話題"編輯窗口,如圖所示。輸入帖子標題及內容后,單擊
下方的”發新話題"按鈕即可完成發帖。

單擊“Linux技術"版塊可以看到剛發表的帖子已經列出,如圖所示,單擊帖
子標題即可查看帖子內容。

若要對指定的帖子內容進行回復,可以在主題帖的下方直接輸入新的內容,然后單
擊“發表回復”按鈕即可,如圖所示。通過發帖與回帖機制,論壇中的所有用戶
都能夠對某一主題發表各自的看法、相互交流意見,從而形成融洽的討論氛圍。
3.使用論壇短消息
在Discuz!論壇系統中,除了多人參與的發帖及回帖活動以外,注冊用戶之間還可
以通過“短消息”進行點對點交流。登錄論壇以后,單擊上方的“短消息”鏈接將打開
短消息面板,用戶可以閱讀收到的短消息、發表新短消息,如圖所示。
發送給指定用戶的短消息,對方會在刷新頁面或下次登錄時收到提醒。對於收到的短消息,用戶可以進行回復。
