Open Source 微網誌軟體 Laconica 架設

作者:徐秉義(Albert Hsu)

微網誌(Micro-blogging)經由國內財經雜誌的報導,標題像是『140字的威力』、『一句話、一百四十個字、或三十秒的力量有多大?』,使得『微網誌』這個新一代網頁應用在台灣的用戶量漸漸增加,像是 Twitter、facebook、Plurk 等等都是知名的微網誌站台(其中 facebook、Plurk 亦被歸類為社交網站),三者中又以 Twitter 最能夠代表微網誌。

底下會介紹如何架設 Laconica:Open Source 的微網誌軟體,以及其圖形介面的使用教學。

溫馨提示:筆者簡介 Laconica 這個軟體為『Open Source 的 Twitter』,畢竟 Twitter 算的上是微網誌最具代表性的站台之一。

Laconica 需要的 LAMP 環境建置

Laconica 是建置在標準 LAMP 架構上,首先準備的 Linux 是 Fedora 8,原因說明如下:

準備 Linux 架站環境(Fedora 8)

這次架站環境使用的 Linux Distribution 是 Fedora 8,不使用 RHEL 5 而改用 Fedora 8 主要是 Laconica 需要使用較新版本的 PHP(5.2.x)所以底下敘述就從 Fedora 8 預設安裝方式裝好後開始吧!

溫馨提示: Fedora 8 內建的 PHP 是 5.2.4 較合適 Laconica 建置;RHEL 5 內建的 PHP 是 5.1.6 版對於 Laconica 來說太舊故不太適合。

配置 Apache

,當我們 Linux(Fedora 8)安裝完成後,再來是 Apache 的部份要先弄好;當我們使用指令「yum install -y httpd」發現 Fedora 8 預設已經把 Apache 裝好了,接著我們只要使用指令「/etc/init.d/httpd restart」重新啟動 Apache 以及使用指令「chkconfig httpd on」設定開機自動啟動 Apache。

r

防火牆記得要開放 80 埠 WWW(HTTP),這樣才能被別台主機存取 Apache 網頁伺服器(使用指令「system-config-securitylevel」跑出控制畫面如下圖)。

r

配置 MySQL

使用指令「yum install -y mysql-server」安裝 MySQL 資料庫伺服器。

r

同樣也要重新啟動 MySQL 資料庫以及設定開機自動啟動,指令如下:

使用指令「/etc/init.d/mysqld restart」重新啟動 MySQL 資料庫。

使用指令「chkconfig mysqld on」設定開機自動啟動 MySQL 資料庫。

溫馨提示:MySQL 資料庫於初次啟動時會有一些額外的資訊,重起兩次就不會有那些訊息了。

r

配置 PHP

使用指令「yum install -y php」安裝 PHP 程式語言套件;裝完記得使用指令「/etc/init.d/httpd restart」重新啟動 Apache 讓她載入 PHP 模組使之生效。

溫馨提示:至於待會在安裝 Laconica 期間,還需要補的 PHP 其他套件,到時候在依照需求來補裝套件。

r

架設 Laconica

在 LAMP 環境準備好後,接著開始架設 Laconica,就從下載軟體開始吧!

Laconica 軟體下載

到 http://laconi.ca/ 站台下載 Laconica 軟體,筆者下載的是 laconica-0.8.0.tar.gz,也就是 Laconica 0.8.0 版。

r

使用指令「tar -zxvf laconica-0.8.0.tar.gz」解開後產生一個 laconica-0.8.0/ 目錄,接著使用指令「less laconica-0.8.0/README」可觀看讀我檔案(筆者就是照著這個說明架設起來的)。

r

將軟體置於網頁讀取處

使用指令「cp -a laconica-0.8.0 /var/www/html/microblog」將軟體複製一份到 Apache 的 DocumentRoot 下並命名為 microblog;其中 Apache 的 DocumentRoot 預設為 /var/www/html,目錄 microblog 也可以取成別的名稱(例如取名為 laconica)。

r

處理來自於 SELinux 的保安機制

開啟網頁瀏覽器讀取上述資料,例如:網址 http://172.16.1.125/microblog(172.16.1.125 為此次測試 Server 所使用的 IP 位址)得到錯誤訊息為『403 Forbidden』應該是權限不足所造成的問題。

r

按照筆者第24期 SELinux 所介紹的解決方法,利用 /etc/init.d/setroubleshoot 提供於圖形介面右上角的『金星』以及紀錄於 /var/log/messages 的 sealert 資訊,提供的解決方法為指令「restorecon -R -v /var/www/html」。

r

設定 PHP 顯示較多的錯誤訊息

處理好 SELinux 後,重整網頁畫面卻得到一片空白,這時候建議設定 PHP 顯示較多的錯誤訊息,以方便我們判斷問題出在哪邊。

r

編輯 PHP 設定檔案 /etc/php.ini 找到 display_errors 選項將其由原本預設的 Off 改成 On 之後,重新啟動 Apache 使之生效(指令「/etc/init.d/httpd restart」)。

r

補裝 PHP 套件 php-mbstring

接下來出現的錯誤訊息是『Call to undefined function mb_substr()』意思是呼叫到未定義的 function mb_substr()。

r

這一系列的 function 在 Fedora(以及 RedHat)是由套件 php-mbstring 提供,使用指令「yum install -y php-mbstring」即可安裝,建議重新啟動 Apache 確認生效。

r

補裝 PHP 套件 php-xml

接下來出現的錯誤訊息是『Class 'XMLWriter' not found』意思是找不到 Class 'XMLWriter'。

r

這個則是補裝 php-xml 套件即可,使用指令「yum install -y php-xml」安裝起來後,同樣須重新啟動 Apache 確認生效。

r

Laconica 設定檔案尚未產生

出現的錯誤訊息『No configuration file found』,原因為 Laconica 設定檔案尚未產生。

r

接著我們利用網頁,執行他的安裝程式 install.php,範例網址為『http://172.16.1.125/microblog/install.php』。

補裝 PHP 套件 php-gd

出現的錯誤訊息『Cannot load required extension: gd』。

r

補裝 php-gd 軟體即可,使用指令「yum install -y php-gd」安裝 php-gd,同樣須重新啟動 Apache 確認生效。

r

補裝 PHP 套件 php-mysql

出現的錯誤訊息『Cannot load required extension: mysql』。

r

補裝 php-mysql 軟體即可,使用指令「yum install -y php-mysql」安裝套件,同樣須重新啟動 Apache 確認生效。

r

需要被寫入的目錄

出現的錯誤訊息分別為:

『Cannot write config file to: /var/www/html/microblog』

『Cannot write avatar directory: /var/www/html/microblog/avatar/』

『Cannot write background directory: /var/www/html/microblog/background/』

r

使用指令「chmod a+w /var/www/html/microblog」開放寫入設定檔案,待 Laconica 設定檔案產生後,再使用指令「chmod 755 /var/www/html/microblog」恢復原狀。

使用指令「chmod a+w /var/www/html/microblog/avatar/」,開放大頭照上傳功能,寫入此資料夾。

使用指令「chmod a+w /var/www/html/microblog/background/」,開放背景圖上傳功能,寫入此資料夾。

r

填入資料庫連線的相關資訊

接著需要填入五個欄位分別為:

Site name 站台名稱:例如取名為 laconica。

溫馨提示:站台名稱不要含有 . 或是 @ 符號,否則會出狀況,例如取名為 microblog.example.net 已知的問題是寄送郵件會卡住。

Hostname 此為資料庫主機名稱或 IP 位址,我們是架在同一台所以填寫 localhost。

Database 此為資料庫名稱,我們先填寫成 lacdb,待會使用 mysqladmin 指令來建立此資料庫。

Username 此為連線到資料庫的使用者名稱,先填寫成 lacuser。

Password 此為連線到資料庫的使用者密碼,先填寫成 lacpassword。

填寫好之後請先不要按 Submit 因為資料庫 lacdb 尚未建立,也尚未賦予 lacuser 用 lacpassword 密碼取得適當權限。

r

lacdb 資料庫建立與授予權限

使用指令「mysqladmin create lacdb」建立 lacdb 資料庫。

使用指令「mysql」進入 MySQL 下達 SQL 指令的介面,
使用 SQL 指令「GRANT ALL on lacdb.* TO 'lacuser'@'localhost' IDENTIFIED BY 'lacpassword';」
賦予完全控制 lacdb 的權利給 lacuser 使用者(但必須來自於 localhost 主機)用密碼 lacpassword 認證。

使用指令「quit;」離開 MySQL 下達 SQL 指令的介面。

完成 lacdb 資料庫建立與授予權限之後,先前的網頁介面就可以按下 Submit 按鈕。

r

Laconica 設定檔案建立完成後

Laconica 設定檔案建立完成後,建議將 PHP 設定檔案 display_errors 改回 Off、以及使用指令「chmod 755 /var/www/html/microblog」恢復此目錄原來的權限。

r

接下來就連到 http://172.16.1.125/microblog 開始使用 Laconica。

r

 

Laconica 使用簡介

好不容易將 Laconica 架設完成,接下來簡介圖形介面的使用方法。

註冊 Laconica 帳號(Register)

位於畫面右上方的『Register』是用來註冊新 Laconica 帳號的。

r

註冊發生錯誤一:『You can't register if you don't agree to the license.』

r

意思是要打勾同意 Register 按鈕上面那一段『My text and files are available under Creative Commons Attribution 3.0 except this private data: password, email address, IM address, and phone number.』

r

註冊發生錯誤二:『An important error occured, probably related to email setup. Check logfiles for more info..』

r

別緊張!其實帳號有建立成功,只是通知信件被 SELinux 擋住沒有發出去而已,使用指令「setsebool -P httpd_can_sendmail on」開放此功能,再度試試看註冊功能,應該就不會有錯誤訊息了。

r

140字的威力

註冊完成後已經是登入的狀態,若是想要登入登出請按右上方的 Login 或 Logout。

使用某個帳號登入以後,即可體會一下『140字的威力』、『一句話、一百四十個字、或三十秒的力量有多大?』。

r

邀請朋友來使用 Laconica

右上方 Invite 可透過 e-mail 邀請朋友來使用 Laconica。

r

搜尋朋友並訂閱他的微網誌

透過搜尋(Search)來找到已使用這台 Laconica 的其他帳號,並訂閱(Subscribe)其微網誌。

溫馨提示:Laconica 的 Subscribe 與 Twitter 的 Following 類似。

r

每個 Laconica 帳號的個人首頁

每個 Laconica 帳號都有個人首頁,預設 URL 是『http://172.16.1.125/microblog/index.php/帳號名稱』例如:帳號 albert 的個人首頁位於 http://172.16.1.125/microblog/index.php/albert 也可以在這個頁面作訂閱其微網誌的動作(需要先登入自己的帳號,例如 kate 帳號)。

r

其他功能

事實上 Laconica 與 Twitter 介面算是很容易上手的,主要是因為他的程式功能並不複雜所致,其他還有常用的基礎功能像是:回覆(Reply)、我的最愛(Favorites)、換大頭照(Edit Avatar)、私密訊息(Private Messages)、改背景圖(background image)等等筆者就不在贅述,就由讀者實際去使用及體會囉!

 

Valid XHTML 1.0! Valid CSS! Get Firefox

Creative Commons License
This site is licensed under a Creative Commons Attribution 2.5 Taiwan License.