Linux系統中搭建LAMP動態博客網站
發表于:2007-06-13來源:作者:點擊數:
標簽:
用全球最大博客網站Blogger.com的解釋:“blog 可以是個人日記、每日道壇、合作空間、政治講壇、特發新聞集散地、各種鏈接的匯集地、您的個人想法、世界大事備忘錄等”,“簡單地說,blog 是一個網站,您可以源源不斷地往里填充內容。新內容顯示在頂部,以便
用全球最大博客網站Blogger.com的解釋:“blog 可以是個人日記、每日道壇、合作空間、政治講壇、特發新聞集散地、各種鏈接的匯集地、您的個人想法、世界大事備忘錄等”,“簡單地說,blog 是一個網站,您可以源源不斷地往里填充內容。新內容顯示在頂部,以便訪問者能夠閱讀到最新內容。然后他們可以發表評論、進行鏈接或給您發電子郵件”。顯然最早的博客是作為網絡“過濾器”的作用出現的,那就是挑選一些特別的網站,并作簡單的介紹。因此有人認為瀏覽器發明人Marc Andreesen開發的Mosaic的What’s New網頁就是最早的博客網頁。Justin Hall的(http://www.links.net/vita/web/story.html)也是最早的博客網站原型之一。1998年誕生了博客這個概念并有了固定的網站。在美國2000年前后博客發展如火如荼,受到了社會普遍關注。美國很多政治、經濟和文化屆的名流都有自己的博客,并且這些博客有時就是一些重大新聞事件的源頭,對社會有著深遠的影響。
目前LAMP (Linux + Apache + MySQL + PHP) 近幾年來發展迅速,已經成為Web 服務器的事實標準?,F在的Web網站已經不再是僅向瀏覽者或用戶提供靜態網頁內容的瀏覽,而是要求能夠和用戶進行動態的信息交流的動態Web網站,所以,搭建Web網站平臺不僅要支持簡單的HTML網頁瀏覽,更重要的是使Web站點能和用戶實現一種動態的交互式操作。這就要求Web服務器在提供標準的 HTML網頁瀏覽之外提供一種能和用戶交流的技術。這種技術不但要能夠收集和反饋用戶信息,還要支持數據庫操作(把信息存入數據庫和從數據庫中檢索信息)。PHP是一種跨平臺的服務器端的嵌入式腳本語言,它大量的借鑒C、Java和Perl語言的語法,并加入了PHP自己的特性,使Web開發者能夠快速地寫出動態頁面。PHP支持所有主流數據庫。它是完全免費的,使用時不需要支付任何費用。本文將要搭建LAMP動態網站博客是基于Linux的完全免費的PHP技術的實現方法。
一、
軟件的獲得安裝在整個配置過程中,我們使用的軟件都是完全免費的開放源代碼軟件,可以從互聯網上免費
下載。在Linux下開發Web應用,一定要有一個HTTP服務器,這就是著名的Apache。當然數據庫是一定少不了的,Linux支持多種數據庫,包括像
Oracle、DB2等這樣大型的數據庫。不過與PHP最為相配、也是運用最多的數據庫當屬MySQL了。另外PHP語言本身也是必不可少的。下面是它們相應的網站: Apache http://www.apache.org ;MySQL http://www.mysql.com ;PHP http://www.php.net 。就Apache而言,有1.3.X版本與2.X版本兩個分支。由于2.X是在1.3.X上進行重寫,因此在結構和功能上都有很大的改進。關于 Apache 1.3.X的安裝介紹比較多,故本文選用了Apache 2.X版本。同樣,也選用了支持Apache 2.X版本的PHP版本。如何用Red Hat Enterprise Linux AS4.0+Apache+PHP +MySQL+bblog來架構動態網站
論壇,所選取的是目前最新版本的軟件,均從源代碼開始編譯,而不是下載二進制文件來進行安裝。LAMP的具體安裝過程,由于這方面文章比較多筆者就不贅述了。
二、搭建bblog博客網站
下面以Linux發行版Red Hat Enterprise Linux AS 4.0為例,介紹搭建bblog博客網站從安裝到使用。
bblog官方網站是http://www.bblog.com/ 最新版本:0.7.6。
1. bblog軟件下載:
#cd var/www/html
wegt http://jaist.dl.sourceforge.net/sourceforge/bblog/bBlog-0.7.6.tar.gz |
#tar –zxvf bBlog-0.7.6.tar.gz “建立一個目錄” |
2.為bblog建立數據庫:
# mysql –u root –p
Enter password: xxxxxxxxx
Your Mysql connection id is 3 to server version: 4.11
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
Mysql> create database bblog ; “為phpbb2建立數據庫”
Query OK, 1 row affected (0.01 sec)
Mysql>gr ant all privileges on bblog.* to bblog@lo calhost identified by ‘76543981’ ; “將建立的 bblog 權限給bblog 帳號,并且設定密碼”
mysql>quit
Bye |
3. 測試剛建立的數據庫與帳號是否可以使用:
# mysql –u bblog –p
Enter password: xxxxxxxxx
Your Mysql connection id is 3 to server version: 4.11
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
Mysql> connect bblog ;
Connection id: 5
Current database: bblog mysql>show databases;
+--------------+
| Database |
+--------------+
| mysql |
| bblog |
+--------------+
2 rows in set (0.00 sec)
mysql>quitquit
Bye |
4.開始安裝bblog :
安裝前需要說明的是:Mysql服務器名稱為 localhost ,這個是 Mysql 的服務器名稱,不是 Linux服務器名稱。通常 Mysql 的服務器名稱是: localhost 。Mysql 數據庫名稱為 bblog ,Mysql 帳號為 bblog 且密碼為上面設定值。
#cd /var/www/html/bblog #進入到Apache 服務器的確省目錄中#
#chmod 777 cache#賦予文件和目錄的可以執行權限#
#chmod 777 config.php
#chmod 777 compiled_templates ;#chmod 777 cache/favorites.xml
#chmod 777 install.php ;#chmod 777 install |
進行網絡安裝安裝非常簡單,打開Linux的Firefox火狐瀏覽器在地址欄直接輸入:http://主機名/bblog/install.php 后,出現一個協議書,選擇同意后點擊“NEXT”按鈕,會出現對話框讓你填寫一些系統信息見圖-1。
Linux系統中搭建LAMP動態博客網站 src="http://www.kjueaiud.com/uploads/2007/06/1_200706132010281.jpg" border=0>
圖-1 填寫系統信息
為了讀者填寫方便筆者把它作一個列表,填寫內容分見表-1:
表-1系統信息
填寫系統信息 |
填寫內容 |
說明 |
General Config |
基本設定 |
Blog Name |
Cjk |
博客名稱 |
Blog Description |
My cjk |
博客描述 |
Full Name |
Caojh |
全名 |
Username |
Admin |
管理員名稱 |
Password |
XXXXXXX |
管理員口令 |
Re-enter Password |
XXXXXXX |
再次輸入管理員口令 |
Email address |
goodcjh@2911.net |
系統管理員電子郵件 |
Mysql Setting |
|
|
|
|
Mysql Username |
bblog |
Mysql數據庫用戶帳號 |
Mysql Password |
XXXXXXXXXXX |
Mysql數據庫用戶帳號密碼 |
Mysql database name |
bblog |
Mysql數據庫用戶帳號 |
Mysql Host |
localhost |
Mysql數據庫主機名稱 |
table Prefix |
Bb_ |
Mysql數據庫表格字首
|
Server Config |
服務器設定 |
Url to your blog |
http://192.168.1.16/ |
Blog的完整URL |
Path to bBlog |
/var/www/html/bblog/ |
|
填寫結束后按“Next ” 按鈕繼續,所有配置結束后系統如果出現圖2表示安裝成功,如果有錯誤會自動退回到開始的對話框讓你從新設定。
圖-2系統設定成功
5.安全設定
測試成功后系統提醒你出于安全考慮,刪除安裝文件(防止他人使用這些文件修改系統信息)
# rm –rf install ;# rm –rf install.Php |
6.博客的常規設置
以系統管理員的身份登錄,登錄后對話框下邊會出現“博客的管理員控制面板”(見圖-3)。
圖-3博客的管理員控制面板
博客的管理員控制面板,一共十一個大版面:Post(郵局)、comments(注釋)、Archives(管理)、RSS Links(RSS鏈接)、RSS Fetcher(RSS聯播)、Links(鏈接)Section、Plugins (插件)、Option(選項)、About(聲明)、docs(在線幫助,http://www.bblog.com/docs)。通過這些版面這樣你也可以自己管理博客了。點擊“Post”按鈕就可以寫自己的博客了,界面見圖4。另外在在線幫助頁有常見問題回答??梢酝ㄟ^點擊“Archives”管理文章。
圖4 博客書寫的界面
博客寫完后就可以發布了,可以點擊“Vist you Site”進行瀏覽了,見面見圖5。

圖5 Web頁面瀏覽
Bblog的RSS選項:RSS就是互聯網信息相互交流引用的通用語言,是一種簡單的新聞聚合標準,一種將信息推送到用戶端的推送技術。RSS 是基于文本的格式。它是XML(可擴展標識語言)的一種形式,所以通常RSS文件都標為XML。目前有很多根據RSS標準開發的閱讀器軟件,或者內容聚合主頁。RSS技術最早是由NetScape設計出來的,目的是建立一種新聞頻道標準,遺憾的是當時NetScape和微軟在瀏覽器兩強爭霸中節節敗退,也就沒有多余的心思和精力去發展完善RSS技術,RSS也因此沉寂多年,直到這兩年網絡中博客(Blog)橫行,RSS才重新找到了用武之地,使其成為Blog間相互傳遞新聞主題和內容的方式,RSS也由此隨著Blog的日漸盛行而被新聞網站認同并加以應用。Bblog內置了 RSS Linker和RSS Fetcher。方便用戶使用RSS閱讀器瀏覽博客。RSS應用最火爆的當屬博客、播客等網站支持RSS。在傳統網站中,目前只有一部分支持RSS,而且一般只提供很簡單的內容提要,要閱讀全文還需要打開相應的網頁。因此,RSS應用仍然受到了很大的局限,故此更多地與新型的網絡應用播客、博客等緊密結合。
7. bblog博客的一些安全措施
1.管理員權限
bblog博客的系統管理員具有最大的權限,而該權限可能會與其它的板主權限相沖突而造成不可預期的錯誤,所以最好不要讓系統管理員當版主。另外用root權限運行MYSQL也不太安全,這里推薦使用其他用戶運行MYSQL。方法是:
# mysql -u root -p
Enter password:xxxxxxxxx
………
mysql>update user set user="cao" where user="root";
mysql> flush privileges;
mysql>quit
Bye |
2. 關閉Mysql遠程連接
首先,應該關閉3306端口,這是MySQL的默認監聽端口。由于此處MySQL只服務于本地腳本,所以不需要遠程連接。盡管MySQL內建的安全機制很嚴格,但監聽一個TCP端口仍然是危險的行為,因為如果MySQL程序本身有問題,那么未授權的訪問完全可以繞過MySQL的內建安全機制。關閉網絡監聽的方法很簡單,mysqld進程啟動時,會自動尋找/etc/my.conf這個配置文件。在 /etc/my.cnf文件中的[mysqld]部分,去掉#skip-networking前面的“#”即可。另外要盡量養成在mysql下輸入密碼的習慣,因為Shell下面輸入的時候可能會被其它人看見。
3.php配置文件的安全設定:
phpinfo和get_cfg_var函數主要用于調試程序是否正常,當LAMP安裝結束后應當禁用,在php.ini文件加入一行:
disable_functions = phpinfo,get_cfg_var |
這樣可以避免泄漏系統服務信息。關于php和Apache其他安全措施可以查看筆者的:教您如何應用PHP開發出安全的應用程序,鏈接:http://tech.ccidnet.com/pub/article/c1113_a239881_p1.html
4.關注補丁問題
bBlog功能強大包含系統信息也比較多,所以,您必須要了解到這個軟件有可能會產生一些安全上的漏洞的。例如2004-10-12 bblog被發現bBlog包含的rss.php腳本不正確處理用戶提交的URI輸入,遠程攻擊者可以利用這個漏洞
進行SQL注入攻擊,可以獲得敏感信息或更改數據庫。rss.php腳本對用戶提交的$p參數缺少過濾,就直接傳遞給$bBlog-> make_post_query()函數,攻擊者提交特殊的SQL數據作為$p參數數據,可以更改原有SQL邏輯,可以獲得敏感信息或更改數據庫。使用 0.7.3和0.7.2版本的用戶請馬上下載補?。╤ttp://www.servers.co.nz/security/patches/SCN200409-1/rss.php-patch.txt )或者升級到0.7.4版本以上。建議您隨時注意bblog官方網站,這里不定期的會有一些安全技術公告,可以幫助您的博客使用更加安全。
另外你應該經常到你所安裝的系統發行商的主頁上去找最新的補丁。對于私有操作系統,如
Windows/Solaris等,由于個人用戶不能直接接觸其源代碼,其代碼由公司內部開發人員維護,其安全性由同樣的團隊保證,內核的修正與其他應用程序一樣,以patch/SP包的方式發布。對于Linux這樣的開放式系統,是一種開放的結構。應該說,開放的模式是雙刃劍。從機制上講,全世界的開發人員都能獲得源代碼,從而找出其中的紕漏,似乎安全性應該更好;但是同時,如果網絡管理人員不能及時更新內核,也會留下安全隱患。而且,影響操作系統安全的因素有很多。僅僅通過開放或者封閉源代碼,都不能從根本上解決安全問題。如果你是一個Linux網管員,你經常需要上相應的網站看,是否有補丁,是否有了bug fix,是否需要升級。Linux服務器運行的軟件主要包括:Samba,Mysql,Php,Apache,Firefox等,這些軟件,大都是
開源軟件,而且都在不停升級,穩定版和測試版交替出現。在Apache等網站上,最新的ChangeLog中都寫著:bug fix, security bug fix的字樣。所以Linux網管員要經常的關注相關網站的bug fix和升級,及時升級或添加補丁。
總結:LAMP和bblog可以組成一個優秀的博客網站,可以在互聯網上運行,也可以在Linux局域網中運行。1999年,也是博客開始高速增長的一年,主要是包括Pita、Greymatter、Manila、Diaryland、Big Blog Tool,但是基本是基于
Windows操作系統。Bblog是Linux網絡環境下的為數不多的博客軟件。有了Bblog一個博客就可以低成本地發布、更新和維護自己的博客網站。在預算短缺的今天,LAMP+bblog組成博客網站無疑具備明顯的價格優勢。
(責任編輯:城塵)