Archive for the 'Server' Category



Gallery 這個 php 相簿程式功能很多,但是需要 gettext 語言翻譯模組,以及 GD 圖形處理模組,比起一些常用的 php 程式是挺麻煩的,偏偏 Leopard Server 沒有將這幾個功能包含在 php5 上。
首先,你必須安裝有 X11 環境和 Apple’s Developer Tools - XCode 3.0 ;同時,用 Terminal 文字指令方式是基本的能力,輸入 su 進入到 root 的使用權限之中。並建立一個名為 SourceCache (mkdir -p /SourceCache) 的暫存檔案夾。
然後下載及安裝 gettext 的指令步驟請參考這篇 - Adding Gettext Extension for Mac OS X Leopard
安裝 GD 模組請參考這篇 - Adding GD Library for Mac OS [...]

剛剛將原本自行建構的 Server 部份轉換到 Google Apps,免費的 Gmail, 行事曆, 網路 Word & Excel 編輯等服務。底下說說我為何要這樣作,以及在 OS X Server 上面要如何配合!
話說我原本 email server 架設的好好的,也堪稱穩定。不過有一回我到國外去,發現了 Gmail 的優勢。我同時有自己網域的 email 帳號,和 Gmail 帳號,但平時在家幾乎不使用 Gmail,已經將它設定為自動轉信,所以 Gmail 收到的信,又會再轉寄一份到我的私有信箱,這樣我就不必監看那麼多信箱的來信了。主要的原因,也是很依賴 OS X 的各項程式整合,信件存放在自己的電腦內,也比較安心。在國外,很多機會必須在網咖內收信,使用瀏覽器,還是 Gmail 的界面比較好,自己的 webmail 太陽春了。Gmail 的優勢在:它很快,而且功能多。
我上次在印度時,自己在台灣的信件主機收到幾封圖檔,但是印度和台灣之間的網路頻寬可能很窄,光是開啟它們就得花上許久時間等待,偏偏寄信的人又不會將圖縮小到適當的大小。而 Google 的主機遍佈全世界,連線的品質比較好。於是我登入台灣主機的 webmail 界面將信件轉寄到 Gmail 帳號來,很快就送出,再透過 Gmail 取得照片,省卻了原本可能要花上一個小時的下載時間。
此外我收過很多信件,要傳達的文字不寫在 email 上,反而畫蛇添足的存在一份 Word 文件內。Gmail的界面除了會顯示大圖檔的縮圖外,還可以將附檔的 Word 文件以 html 的方式顯現出來,這點實在是太方便了。
Gmail 流暢的操作真是好用,此外這個 Google 應用服務整合的功能,對於小型辦公室的協同作業,與行事曆發佈,都很實用。重要的是,不需要額外花錢,不需要費心安裝軟體,不需要複雜的網路設定,簡單申請過後,修改一下 [...]

MySQL 搬家

伺服器的狀況一直讓我很擔憂,現在的搜尋引擎競爭太激烈了,負責探索工作的網路蜘蛛頻繁的工作,不時來敲每一戶人家的網頁。Apache + html 的運作是還滿有效率的,但若是 php 結合 sql 的動態網頁方式,每看一頁,都要來回運算,會讓電腦的負荷加重。幾年下來的觀察,現在的程式功能愈來愈多,架構雖然一方面精簡,但是作業量還是與日俱增,當然,很少人會用上這麼老舊的機器來當作全能的 Server 也是一個原因。
於是,一台 daul G4-450MHz 的伺服器,系統執行很穩定,但是已經無法負擔沈重的工作,一頁 wordpress 的頁面要花上 17秒的時間;同時得處理各家搜尋引擎的請求,兩顆 CPU 均是滿檔運算,完全不堪負荷。
我構想將耗資源的 MySQL 分家,以其他低階的電腦分擔,原本是考慮數千元的 Mac mini G4,復想到桌上擺著一台僅供家人上網使用的 Mac mini Intel core daul 1.66GHz,拿它來負責資料庫部份,24小時運作不關機應該沒問題。
下載了 MySQL 5.0.x for x86 版本,很奇怪官方提供的檔案均有問題無法掛載磁碟,只好改用 5.1.x beta 版本的 MySQL,安裝速度很快,接著再以 MySQL Administrator GUI 程式將原本伺服器上的資料庫內容作備份,然後「回復」到新的機器上。很快的在新的 MySQL 新增使用者,並賦予這個使用者其他 IP 的連線權限,如此才能透過其他電腦使用資料庫內容,接下來修改每支 php 程式的設定檔,把原本的資料庫位置由 localhost 改為新機器的 IP 即可,沒有特殊的狀況,移轉很順利。
現在網頁 loading 的速度大幅縮減一半,只能這樣,有比沒有好!

我在下載 phpBB 3 RC2 的同時,看到簡體中文已經完成翻譯了,但是繁體中文還沒有釋出,而到竹貓星球,則沒有找到中文化的工作正在進行中的討論。所以我花了好幾個小時修改了一部份,讓 phpBB 表面上看起來不再是全英文的操作界面。
你可以將 phpBB 中的 language / en 這個英文語文檔整個複製成另一份,檔案夾重新命名成 zh_TW,或是下載官方網站上的簡體中文來修改也可以。接著你可以下載我製作好的這個檔案,將副檔名改回成 .php 後,放進取代原有的檔案 common.php,接著你還要自行修改 iso.txt 這個檔案,這裡面的名稱影響到 phpBB 控制台內的語系顯示。
之後進入 phpBB 控制台,最後一個標籤 System,點入 Language packs,將正體中文的語言包安裝上即可。回到個人的 User Control Panel 設定中,選擇你要的中文。
這部份完成的中文化只作用到首頁的一般操作上,系統控制台以內則無法完成。需要翻譯的內容實在是太多了,所以暫時只能建議繁中/簡中配合使用,或者中英混合的方式。除此之外,若要快速完成正體中文化則可以修改已經翻譯完全的簡體中文檔案,OSX上的方法請參照這裡。不過兩岸的言語用法有明顯的不同,而且翻譯不完全也會有很多錯字,但還不至於看不懂他們的意思吧!
phpBB 3 做的真的很不錯!

Ruby on Rails 跑在 OS X 上

雖然使用 Ruby on Rails 的開發者大部分是在Mac操作的,不過在OSX上安裝RoR還是有些複雜。也許是發展的時間不算久,使用的人也不多,流通的程式並不大量吧!所幸著手的資源還算足夠!
以下記錄的是 Ruby on Rails 跑在 Mac OS X Server Tiger 版本上的方法:(好消息是,下一個 OSX 10.5 版本將不用我們自己動手)
首先,RoR的官方母站在 http://www.rubyonrails.org/,台灣正體中文位於http://rubyonrails.org.tw/,這裡面有一些影片,述說著如何在幾分鐘內,從零開始撰寫好網站程式。
下載編譯這些程式碼,得先有gcc,Apple 的開發工具 - Xcode 可以登記下載。
安裝 RoR 的原文大多來自這裡,不過好在有寫著中文部落格,直接來這裡看比較快。所有關於 RoR 的知識,也可先由這裡獲得。當中由於 Server 版內建的 mysql 位置有所不同,所以設定的 .bash_login 設置檔須注意一下 mysql 路徑的問題。
此外要在 Server 上安裝版本控制 Subversion,可以參考 Apple Developer 這篇,須先安裝 Apache 2 之後,才接著裝上 Subversion。
整個好複雜,雖然最後 run 起來了,但是還不太會用,可參考阿修寫的在Mac OS X上建立Ruby on Rails開發環境。

網站值多少?

從小梅子那裡看到的網站:dnScoop,專門買賣估價你網站的價格,這是一個夾雜有趣和無聊的題材,根據網站的Pagerank、引用和搜尋排名等計算,告訴你網站大概值多少錢。想要玩一玩的可以試試看!

My Site is worth$10,350
How much is your site worth?

有興趣買下嗎?

網址的重新導向

在Web server當中有幾項處理網址的方法:
1) 如果你要讓abc.com和www.abc.com兩個URL同時能夠使用的話,在Server Admin中建立www.abc.com這個site後,Aliases設定中Web Server Aliases新增一組,填入abc.com。以後不管有沒有www都能夠瀏覽網站。(這個方法會在/etc/httpd/sites/sitename.conf設定檔中多了ServerAlias sozojulesco.com這段)
2) 另外一種做法是分別建立兩個VirtualHost,也就是在Server Admin輸入兩個site,分別是abc.com和www.abc.com,而Web Folder指向相同的目錄。效果同上,但是會有兩個不同的/etc/httpd/sites/設定檔。
3) 假如你要讓使用者輸入 abc.com後能夠令網址自動補上www在前面的話,做法同第二點,然後編輯/etc/httpd/sites/sitename.conf 的設定檔(沒有www的那個VirtualHost),修改如下:
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/(.*)$ http://www.abc.com/$1 [R]
</ifmodule>
4) 如果你要讓使用者輸入 http://abc.com/folder之後,會自動加入斜線(/) 而不會跑到 http://abc.com:16080/folder/ 這個預設的port,停用所有site的Performance Cache即可。
補充:在 Leopard Apache2 已經改變設定檔的位置了。(/etc/apache2/httpd.conf instead of /etc/httpd/httpd.conf)

在OSX Server上安裝PHP 5

需要在OS X上安裝PHP 5很簡單,自這裡下載檔案後點兩下安裝即可。先前搞半天(是好幾年)的gettext已經內建在這個包裝裡面了。由於一些新的php應用程式撰寫的方式不同,升級至PHP5的版本是必要的了。
不過還是有幾點提醒(花了好幾天時間的心得):

安裝之前須先停用php4模組,但是因為webmail會不斷將php4模組啟用,故必須自/etc/httpd/httpd.conf檔內直接刪除兩段關於php4模組的設定,或是改變一下文字內容。可參見這個討論。
LoadModule php4_module libexec/httpd/libphp4.so
AddModule mod_php44.c

設定檔放在/etc/httpd/sites/+entropy-php.conf(替身)這裡,可以刪除這個替身和/usr/local/php5來移除PHP5。
可以將+entropy-php.conf的設定寫到/etc/httpd/httpd.conf內去。
php.ini的位置在/usr/local/php5/lib/php.ini。
各種php應用程式若是有使用到檔案上傳,原始設定會被限定在2MB以內,要增加的話則進入php.ini修改這段:upload_max_filesize = 2M,然後重新啟動apache以生效。

若是搭配原來系統的Mysql 4的話,必須修改php.ini內的這段:mysql.default_socket = /var/mysql/mysql.sock

補充:由於PHP5只接受<?php 開始的指令,無法處理<?的簡寫,有些php4可執行的script無法在php5下順利運作。可以在php.ini內修改 short_open_tag = On。(感謝H.H.指教)

當我將DNS server設定好後,啟用它,發現網域內的瀏覽器可以連到www.atlaswu.com,但是網域以外的Internet並沒有辦法找到Server,很奇怪,似乎伺服器運作是正常的,但是卻無法連外使用?
搞了幾天才發現問題出在哪?因為這台主機有兩個網路埠,一個連內(私人網路),一個連外(Internet),用作分割不同安全層級的網域。而在系統偏好設定中的「網路」項目內必須將對外的「網路傳輸埠」拉到優先(最上面),如此DNS才能良好運作,而非只是對內使用。



關於

You are currently browsing the Atlas Wu's Observer weblog archives for the 'Server' category.

Longer entries are truncated. Click the headline of an entry to read it in its entirety.

分類