標籤:

大誤-用FreeBSD的ports安裝apache+php+mysql

正如我一貫習慣於規律性的工作和生活一樣,昨天,我按照慣例在以往的時間,用電腦里的outlook軟體收信——天熱,縱然室內空調的溫度已經遠遠低於官方標準的26度,人畢竟還是沒有冷天來的那麼清醒。如果從心理學的角度上講,也許那時的我正處在「意識朦朧狀態」。除了正如以往枯燥的工作E-mail之外,我收到了一封網友的E-mail。出乎意料的是,不同於往常訪客在瀏覽了我的個人網頁以後會在文章後面發表評論,這次卻是發了mail。既然如此,我覺得mail一定是重要的,至少體現了相當一部分訪客的心情吧。

那篇E-mail不長,在我的電腦上顯示下來僅僅只有三行不到的樣子,大抵的內容無非是說本站如何如何的幫了忙,我不免沾沾自喜起來——正如往常的沾沾自喜一樣,mail的結尾處指出了小站的幾個問題,最重要的是說很多文章過於流程化了,沒有一點文字上的修飾和潤色,言外之意是字裡行間缺乏應有的優雅和細緻。要指明的是,所謂優雅和細緻,正是目前白領文學或者說白領文化所擅長的。說到白領文化的代表,我想村上春樹的小說(或者說林少華翻譯的日本小說)、伍佰的歌詞、汪家衛的台詞、小女人的blog絕對可以作為代表。作為我,從來沒有當作自己是白領的一員——乏味的代碼、吵鬧的機房、灰塵遍布的機架,也許能跟這些詞句聯繫上的只有「體力勞動」一個詞了。我固然寫不出優雅和細緻,字裡行間唯獨只有王朔依稀的身影。於是我決定做一個嘗試,既然有這樣的需求,按照目前常說的一句話似乎叫做「需求第一」吧,我決定潤色並重寫本站訪問量最高的那篇文章……

以上,正如以往話劇前面總有一個人上來講述故事背景一樣,是本文的開場白,別急,正劇馬上就要開始了,當然希望您讀的時候也要用優雅而細緻的語調默默的朗讀。

那時大概在前年的下半年。我——一個正處在技術大崩潰邊緣的技術人員,為了給自己製作一個技術性的網站(正如您現在看到的那樣,就是本站了),要用FreeBSD平台的操作系統build一個萬維網系統。

在此之前,看了網上很多安裝apache php以及mysql的文章,唯獨可惜是,其中大多都是用在林納克斯的OS中的,不知為何,大多是用源代碼編譯的步驟教程,而其餘的,Rpm(redhat programs manager )又佔去了絕大部分。幾乎尋覓不到FreeBSD平台下有關於Ports安裝的一點訊息。於是我決定寫一篇這樣的東西,以免讓大家捨近求遠。

需要在所有的工作開始之前confirm的是,將您的主機連接到互聯網之上且網路配置吻合,雖然這是句笑話,但似乎很多人都在這裡遇到了坎坷。

連接好控制台,輕擊鍵盤,鍵入命令:

cvsup -h cvsup.freebsd.org /usr/share/example/cvsup/ports-supfilen

這條命令的大體意思是從互聯網上同步一下ports,以防止後續的工作中出現不必要的麻煩。就如同我們生活在城市中的每一個人,都需要與這個城市不斷同步以確認自己的存在感。

接下來的步驟就是要安裝database了,Mysql縱然在嚴酷而惡劣下的環境還可以迅即的完成數據檢索,為此Mysql成了我的首選。

我的手指輕輕滑過鍵盤,屏幕出現了:

cd /usr/ports/databases/mysql50-server/nmake install clean ;rehashn

不知過了多久,在我回憶了我虛度的童年時光之後——也許吧,可能時光流逝的還要慢一點,總之,一陣漫長的時光度過之後,Mysql已經成為了電腦中的一分子。接下來呢?配置mysql吧:

cp /usr/local/share/mysql/my-small.cnf /etc/my.cnfn

可見我電腦中資源少的可憐,我僅僅只有權力使用小內存模式啟動mysql,如果條件允許您這樣做的話,您可以嘗試 my-big.cnf 甚至於 my-huge.cnf。

mysql_install_db -u mysql ; mysqld_safe -u mysql &n

看看mysql是否已經能夠start

也許您的mysql已經成功的運行了起來,就如同你每天仰望的太陽一樣。也如同太陽一般的可望不可即,這時候的伺服器還是遠遠無法滿足要求的。萬維網的存敗似乎跟重要的來自於Apache和PHP的成功與否——至少,這決定您主機可以運行兩層結構的網站。就好比說在不見太陽的晚上,依舊會有燈紅酒綠的生活在等待著。

我那不算纖細的指尖在被人稱作「小黑」的電腦鍵盤上拂動,我鍵入了:

cd /usr/ports/www/apache22/nmake install cleann

正如上面一樣,我又一次回憶了我虛度的童年時光。

cd /usr/ports/lang/php5nmake config n

在這裡要選擇您需要的PHP的modules,請記住一點,如果您不選擇apache支持的話,也許您就會因此而後悔莫及。跟傷害一個人一樣,傷害一個系統的最好方法就是在他最不容易察覺的地方,等到心中的這根刺被發現的時候,它早已經學會了生根發芽。

make install clean ;rehashn

童年又再一次的在桎梏中被釋放了出來,呼吸般縈繞在我的周圍。我似乎看見了那早已遺忘的,家鄉的桃花……

當我從回憶的桎梏中解脫出來,回身,編譯已經結束,剩下的只有配置了,回味中,我想,這也許就是生活,等待中的生活。

配置過程相比之下是緊張而痛苦的,沒有了漫長的等待,更多的是尋覓。

在/usr/local/etc/apache22/httpd.conf中加入:

AddType application/x-httpd-php .phpnAddType application/x-httpd-php-source .phps #可不加,僅僅只是方便您察看PHPS格式的源代碼。n

可以嘗試讓系統啟動起來了,付出了艱辛之後,是時候享受成果了:

apachectl startnecho 「<?php phpinfo() ?>」 > /usr/loacl/www/data/info.phpn

如果啟動成功,並能顯示lynx localhost/info.php ,說明您的辛苦沒有白費,系統起來了!Apache PHP Mysql這一刻在您的機器上靈魂附體,他已經不是一個人在戰鬥!!

echo mysql_enable = 「YES」 >> /etc/rc.confnecho apache2_enable=」YES」 >> /etc/rc.confn

這樣,縱然您的機器無故重起,照舊伺服器還可以正常運行,一如往常一樣的運行著……運行著…………

我顯示器就樣默默的對視了大約40分鐘,在這40分鐘里,我和他的距離最近只有0.01厘米,就在這40分鐘之後,我徹底的愛上了FreeBSD……

愛上的FreeBSD,也愛上了開源,這難道就是傳說中的幸福嗎?

----原文發佈於用FreeBSD的ports安裝apache+php+mysql·改 | 開源小站 2007/08/01


推薦閱讀:

Windows,Mac OSX和Linux平台設置HTTPS以及自簽名證書詳細指南
關於跨域,你想知道的全在這裡
雲計算的1024種玩法之零基礎入門
合併 HTTP 請求是否真的有意義?

TAG:HTTP | Web服务器 |