在 NAS4Free 的 jail 上安裝 Apache, PHP 和 MySQL
前導
繼續先前在 NAS4Free 安裝 Jails 實戰教學, 我們第一個例子就是在 jail 上安裝 Apache, PHP 和 MySQL. 雖然在 NAS4Free 上已經有預設 lighthttpd 了,但沒有一番改造,是無法裝大型 CMS 的。如 WordPress. 原文沒有交待清楚在 ports 安裝後要怎麼裝,所以炒麵在此把它補完.
安裝介紹
在執行下面指令前,一定要先參考我之前的教學把 ports 都裝完為止。 先 ssh 或去 shell 之後打jls 看到2個同時執行的 jails。
nas4free:~# jls JID IP Address Hostname Path 3 192.168.1.51 proto.chaoman.local /jail/proto 4 192.168.1.52 www.chaoman.local /jail/www
看一下剛才完裝的新 jail www 是用 JID 4. 就打下面的指令進去吧。
jexec 4 csh www#
雖然才剛安裝完,還是來更新一下 portsnap. 在 www# 的 jail 下。
portsnap fetch update
如果看到 Ports tree is already up to date. 就可以開始了。
安裝 Apache
cd /usr/ports/www/apache22 make install clean
選 OK 就好,當然也可以加減選擇想要的模組,我是用預設。 也會跑出 Perl 的選項,一樣也是預設。但以下的畫面,我就選支援 MySQL
再來就是 python, 我也是預設到底. 等到100﹪時就完成了。完成後要把 Apache 加到開機自動執行的設定裡。
echo 'apache22_enable="YES"' >> /etc/rc.conf
但在還沒啟動 Apache 時,要先設定 hostname 主機名。要不然 Apache 會彈出錯誤。 先查看現在的主機名,如果都有按照說明,主機名應該是 www.
hostname
這樣就確定是 www 了。假設我們擁有 chaoman.net (假的也可以,只要記得住就好,如果只是在本地測試) 用 nano or ee 修改 hosts 檔
nano /etc/hosts 按照下面的方式改名稱。 ::1 localhost.www.chaoman.net localhost 127.0.0.1 localhost.www.chaoman.net localhost 192.168.1.52 www.chaoman.net www 192.168.1.52 www.chaoman.net.
接下來啟動 Apache
service apache22 start
看到下面的回應就大功告成啦。 Performing sanity check on apache22 configuration: Syntax OK Starting apache22. 如果要確認,就到 browser 打入 http://192.168.1.52:80 或 http://www.chaoman.net 就可以看到 It works 的字樣了。
安裝 MySQL
請按照以下的步驟來安裝 MySQL. 一樣還在 www 的 jail 底下。
cd /usr/ports/databases/mysql55-server make install clean
安裝完後,把MySQL一樣加入開機自動執行的行例。
nano /etc/rc.conf 加入以下一行 mysql_enable="YES"
之後就可以啟動 MySQL 了。
/usr/local/etc/rc.d/mysql-server start
成功後,來修改 MySQL 的密碼.
/usr/local/bin/mysqladmin -u root password changeme1
註:changeme1 請改成自已想要的密碼.
安裝 PHP
在安裝前,我們要修改一下參數。
cd /usr/ports/lang/php5 make config
看到下面的畫面時,記得要勾取 “Build Apache module”. 點選完後,就可以安裝了。
make install clean
完畢後,就要再設定 PHP5 的延伸插件
cd /usr/ports/lang/php5-extensions/ make config
看到下面的畫面,可能要按下卷一下才會看到 MySQL 的選項。請勾選。當然如果你需要其它的外插,你可以點選。 按 Tab 再按 ok 後跳出設定。最後就是安裝了。
make install clean
安裝過程中會問要不要安裝 REGEX (Regular Expression). 就裝吧。寫 PHP code 時會很好用。還有也是要安裝 MySQLND (MySQL Native Driver) 安裝完後,基本上 Apache, MySQL 和 PHP 就完整的安裝在 jail 上了。 最後再來一點小設定。 複製預設的 PHP 設定檔
cp /usr/local/etc/php.ini-development /usr/local/etc/php.ini
再修改 Apache 設定讓它可以處理 PHP
nano /usr/local/etc/apache22/httpd.conf
加入以下2行。
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
在還沒離開前,順便找下行開啟多言系支援. 在 441 行找以下內容
# Language settings #Include /etc/apache22/extra/httpd-languages.conf
把那個 # 拿掉,像以下
# Language settings Include /etc/apache22/extra/httpd-languages.conf
最後在最後一行後加上下面此行
AddDefaultCharset On
按 Ctrl + x 再按 y 儲存離開. 重新啟動 Apache
service apache22 restart
測試
全部都安裝完畢後,就簡單的建一個 phpinfo.php 檔來測試吧。
nano /usr/local/www/apache22/data/index.php
打入下面的簡單 PHP code
再修改 Apache 預設的根目錄文件
nano /usr/local/etc/apache22/httpd.conf
在 218 行找以下的內容
DirectoryIndex index.html
修改成
DirectoryIndex index.php
按 Ctrl + x 和 y 儲存離開. 重新啟動 Apache
service apache22 restart
最後去 Browser 裡打入 http://192.168.1.52 or http://www.chaoman.net 就可以看到 PHP Info 的設定頁。這樣一來就告一段落了。 現在 NAS4Free 不單單可以支援網路硬碟,也同時是一台強大的網頁伺服器。想像可以把1TB的的磁碟掛在 fstab.www 下,也可以裝本站介紹的 clipbucket 或 mediamosa 的前台成為一個專用家用 YouTube 網站。 原文的下面有介紹安裝 wordpress. 那就在本教學的範圍之外了。但有興趣的人還是可以試試。
參考文獻
http://www.iceflatline.com/2011/11/how-to-install-apache-mysql-php-and-phpmyadmin-on-freebsd/