在新Web2.0革命中,博客是最早出現的,也被更多的人所了解。博客的中文有兩重含義,既指撰寫個人網絡日誌的人(Blogger),也指承載個人網絡日誌的網站(Blog)。用全球最大博客網站Blogger.com的解釋:「blog可以是個人日記、每日道壇、合作空間、政治講壇、特發新聞集散地、各種連結的匯集地、您的個人想法、世界大事備忘錄等」,「簡單地說,blog是一個網站,您可以源源不斷地往裡填充內容。新內容顯示在頂部,以便訪問者能夠閱讀到最新內容。然後他們可以發表評論、進行連結或給您發電子郵件」。顯然最早的博客是作為網絡「過濾器」的作用出現的,那就是挑選一些特別的網站,並作簡單的介紹。因此有人認為瀏覽器發明人MarcAndreesen開發的Mosaic的What’sNew網頁就是最早的博客網頁。JustinHall的(http://www.links.net/vita/web/story.html)也是最早的博客網站原型之一。1998年誕生了博客這個概念並有了固定的網站。在美國2000年前後博客發展如火如荼,受到了社會普遍關注。美國很多政治、經濟和文化屆的名流都有自己的博客,並且這些博客有時就是一些重大新聞事件的源頭,對社會有著深遠的影響。
目前LAMP(Linux+Apache+MySQL+PHP)近幾年來發展迅速,已經成為Web伺服器的事實標準。現在的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
二、搭建bblog博客網站
下面以Linux發行版RedHatEnterpriseLinuxAS4.0為例,介紹搭建bblog博客網站從安裝到使用。
bblog官方網站是
1.bblog軟體下載:
#cdvar/www/html
wegthttp://jaist.dl.sourceforge.net/sourceforge/bblog/bBlog-
#tar–zxvfbBlog-
2.為bblog建立資料庫:
#mysql–uroot–p
Enterpassword:xxxxxxxxx
YourMysqlconnectionidis3toserverversion:4.11
Type『help;』or『\h』forhelp.Type『\c’toclearthebuffer.
Mysql>createdatabasebblog;「為phpbb2建立資料庫」
QueryOK,1rowaffected(0.01sec)
Mysql>grantallprivilegesonbblog.*tobblog@localhostidentifiedby『
mysql>quit
Bye
3.測試剛建立的資料庫與帳號是否可以使用:
#mysql–ubblog–p
Enterpassword:xxxxxxxxx
YourMysqlconnectionidis3toserverversion:4.11
Type『help;』or『\h』forhelp.Type『\c’toclearthebuffer.
Mysql>connectbblog;
Connectionid:5
Currentdatabase:bblog
mysql>showdatabases;
+--------------+
|Database|
+--------------+
|mysql|
|bblog|
+--------------+
2rowsinset(0.00sec)
mysql>quitquit
Bye
4.開始安裝bblog:
安裝前需要說明的是:Mysql伺服器名稱為localhost,這個是Mysql的伺服器名稱,不是Linux伺服器名稱。通常Mysql的伺服器名稱是:localhost。Mysql資料庫名稱為bblog,Mysql帳號為bblog且密碼為上面設定值。
#cd/var/www/html/bblog#進入到Apache伺服器的確省目錄中#
#chmod777cache#賦予文件和目錄的可以執行權限#
#chmod777config.php
#chmod777compiled_templates;#chmod777cache/favorites.xml
#chmod777install.php;#chmod777install
進行網絡安裝安裝非常簡單,打開Linux的Firefox火狐瀏覽器在地址欄直接輸入:http://主機名/bblog/install.php後,出現一個協議書,選擇同意後點擊「NEXT」按鈕,會出現對話框讓你填寫一些系統信息見圖-1。
圖-1填寫系統信息
為了讀者填寫方便筆者把它作一個列表,填寫內容分見表-1:
表-1系統信息
填寫系統信息
填寫內容
說明
基本設定
BlogName
Cjk
博客名稱
BlogDescription
Mycjk
博客描述
FullName
Caojh
全名
Username
Admin
管理員名稱
Password
XXXXXXX
管理員口令
Re-enterPassword
XXXXXXX
再次輸入管理員口令
Emailaddress
goodcjh@2911.net
系統管理員電子郵件
Mysql資料庫設定
MysqlUsername
bblog
Mysql資料庫用戶帳號
MysqlPassword
XXXXXXXXXXX
Mysql資料庫用戶帳號密碼
Mysqldatabasename
bblog
Mysql資料庫用戶帳號
MysqlHost
localhost
Mysql資料庫主機名稱
tablePrefix
Bb_
Mysql資料庫表格字首
伺服器設定
Urltoyourblog
http://192.168.1.16/
Blog的完整URL
PathtobBlog
/var/www/html/bblog/
Bblog目錄的完整UNIX路徑
填寫結束後按「Next」按鈕繼續,所有配置結束後系統如果出現圖2表示安裝成功,如果有錯誤會自動退回到開始的對話框讓你從新設定。
測試成功後系統提醒你出於安全考慮,刪除安裝文件(防止他人使用這些文件修改系統信息) #chmod644config.php #rm–rfinstall;#rm–rfinstall.Php 6.博客的常規設置 以系統管理員的身份登錄,登錄後對話框下邊會出現「博客的管理員控制面板」(見圖-3)。
博客的管理員控制面板,一共十一個大版面:Post(郵局)、comments(注釋)、Archives(管理)、RSSLinks(RSS連結)、RSSFetcher(RSS聯播)、Links(連結)Section、Plugins(插件)、Option(選項)、About(聲明)、docs(在線幫助,http://www.bblog.com/docs)。通過這些版面這樣你也可以自己管理博客了。點擊「Post」按鈕就可以寫自己的博客了,界面見圖4。另外在在線幫助頁有常見問題回答。可以通過點擊「Archives」管理文章。
博客寫完後就可以發布了,可以點擊「VistyouSite」進行瀏覽了,見面見圖5。
圖5Web頁面瀏覽
Bblog的RSS選項:RSS就是網際網路信息相互交流引用的通用語言,是一種簡單的新聞聚合標準,一種將信息推送到用戶端的推送技術。RSS是基於文本的格式。它是XML(可擴展標識語言)的一種形式,所以通常RSS文件都標為XML。目前有很多根據RSS標準開發的閱讀器軟體,或者內容聚合主頁。RSS技術最早是由NetScape設計出來的,目的是建立一種新聞頻道標準,遺憾的是當時NetScape和微軟在瀏覽器兩強爭霸中節節敗退,也就沒有多餘的心思和精力去發展完善RSS技術,RSS也因此沉寂多年,直到這兩年網絡中博客(Blog)橫行,RSS才重新找到了用武之地,使其成為Blog間相互傳遞新聞主題和內容的方式,RSS也由此隨著Blog的日漸盛行而被新聞網站認同並加以應用。Bblog內置了RSSLinker和RSSFetcher。方便用戶使用RSS閱讀器瀏覽博客。RSS應用最火爆的當屬博客、播客等網站支持RSS。在傳統網站中,目前只有一部分支持RSS,而且一般只提供很簡單的內容提要,要閱讀全文還需要打開相應的網頁。因此,RSS應用仍然受到了很大的局限,故此更多地與新型的網絡應用播客、博客等緊密結合。
1.管理員權限
bblog博客的系統管理員具有最大的權限,而該權限可能會與其它的板主權限相衝突而造成不可預期的錯誤,所以最好不要讓系統管理員當版主。另外用root權限運行MYSQL也不太安全,這裡推薦使用其他用戶運行MYSQL。方法是:
#mysql-uroot-p
Enterpassword:xxxxxxxxx
………
mysql>updateusersetuser="cao"whereuser="root";
mysql>flushprivileges;
mysql>quit
Bye
以後就得通過cao帳號訪問mysql資料庫了。
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開發出安全的應用程式,連結:
4.關注補丁問題
bBlog功能強大包含系統信息也比較多,所以,您必須要了解到這個軟體有可能會產生一些安全上的漏洞的。例如2004-10-12bblog被發現bBlog包含的rss.php腳本不正確處理用戶提交的URI輸入,遠程攻擊者可以利用這個漏洞
進行SQL注入攻擊,可以獲得敏感信息或更改資料庫。rss.php腳本對用戶提交的$p參數缺少過濾,就直接傳遞給$bBlog->make_post_query()函數,攻擊者提交特殊的SQL數據作為$p參數數據,可以更改原有SQL邏輯,可以獲得敏感信息或更改資料庫。使用0.7.3和0.7.2版本的用戶請馬上下載補丁(
另外你應該經常到你所安裝的系統發行商的主頁上去找最新的補丁。對於私有作業系統,如Windows/Solaris等,由於個人用戶不能直接接觸其原始碼,其代碼由公司內部開發人員維護,其安全性由同樣的團隊保證,內核的修正與其他應用程式一樣,以patch/SP包的方式發布。對於Linux這樣的開放式系統,是一種開放的結構。應該說,開放的模式是雙刃劍。從機制上講,全世界的開發人員都能獲得原始碼,從而找出其中的紕漏,似乎安全性應該更好;但是同時,如果網絡管理人員不能及時更新內核,也會留下安全隱患。而且,影響作業系統安全的因素有很多。僅僅通過開放或者封閉原始碼,都不能從根本上解決安全問題。如果你是一個Linux網管員,你經常需要上相應的網站看,是否有補丁,是否有了bugfix,是否需要升級。Linux伺服器運行的軟體主要包括:Samba,Mysql,Php,Apache,Firefox等,這些軟體,大都是開源軟體,而且都在不停升級,穩定版和測試版交替出現。在Apache等網站上,最新的ChangeLog中都寫著:bugfix,securitybugfix的字樣。所以Linux網管員要經常的關注相關網站的bugfix和升級,及時升級或添加補丁。
總結:LAMP和bblog可以組成一個優秀的博客網站,可以在網際網路上運行,也可以在Linux區域網中運行。1999年,也是博客開始高速增長的一年,主要是包括Pita、Greymatter、Manila、Diaryland、BigBlogTool,但是基本是基於Windows作業系統。Bblog是Linux網絡環境下的為數不多的博客軟體。有了Bblog一個博客就可以低成本地發布、更新和維護自己的博客網站。在預算短缺的今天,LAMP+bblog組成博客網站無疑具備明顯的價格優勢。