最近買了一台 asus rt-n16 的無線分享器
已經刷機改成 TOMATO 韌體
改機網路上已經很多介紹,小橘就不分享了。
改機的好處是,可以離線抓bt、 可以裝一些有的沒有的功能
以下就來介紹如何在 RT-N16上裝上 lighttpd+MySQL
首先剛裝刷完機你應該還沒有裝上 ipkg 的套件管理軟體
你可能需要接上 usb 隨身碟、隨身硬碟,
讓你有額外的空間可以安裝軟體
如果你插上隨身硬碟時,你的硬碟可能會安排在
/dev/sda or /dev/sdb
這裡你必須將你要當成 opt 軟體安裝目錄的磁區掛上
您可以參考這個網址:
http://tomatousb.org/tut:optware-installation
或直接看小橘的方法
小橘是將 隨身硬碟分割成 3個磁區
/dev/sda1 分割成 1024M 當成optware軟體要安裝的區域 我格式化成 ext3
/dev/sda2 分割成 128M 這裡我等會打算當成 swap
/dev/sda3 切割成剩餘的空間, 這裡我打算當成 rt-n16 離線bt的磁區 格式化成 NTFS
也許有些人會好奇,我怎麼分割、如何格式化成不同的檔案系統呢?
其實我是先在 windows上利用內建的工具將硬碟先切成3個磁區、
第一、第二 磁區只切割,不在windows格式化。
地三個磁區,切割。並在windows格式化成ntfs
然後將隨身硬碟接上 rt-n16
並使用ssh登入
執行
# mkfs.ext3 -L optware /dev/sda1
如此可以將 sda1 格式化成 ext3 的格式
之後將其掛載起來
# mount /dev/sda1 /opt
也可以在tomato 管理介面中
在 Administration » Scripts » Init 中填入
echo "LABEL=optware /opt ext3 defaults 1 1" >> /etc/fstab
這樣以後重開機時,會將標籤為 optware 的磁區自動掛載起來。
等空間準備好後,就可以開始安裝optware套件了
#wget http://tomatousb.org/local--files/tut:optware-installation/optware-install.sh -O - | tr -d '\r' > /tmp/optware-install.sh
#chmod +x /tmp/optware-install.sh
#sh /tmp/optware-install.sh
執行完上述3個指令後,optware 應該已經安裝完成了
您可以試著執行
#ipkg
來看看是否有安裝好,剛剛所裝的軟體應該都安裝在 /opt 目錄下
接下來我們安裝 busybox 套件
# /opt/bin/ipkg install busybox
@幫您的rt-n16 準備更多的記憶體
由於 rt-n16 的記憶體才 128m
要執行我們等會要安裝的軟體,其實是有點不足的
所以我們可以增加一些swap的空間,避免安裝、執行的過程中程式因記憶體空間不足而發生錯誤
先格式化我們剛剛準備的 /dev/sda2 磁區
#/opt/bin/busybox mkswap /dev/sda2
然後將其掛載上去
#/opt/bin/busybox swapon /dev/sda2
成功之後,你會在TOMATO 的管理介面上看到,你多了128m的swap空間
@開始安裝 lighthttpd
#/opt/bin/ipkg install libstdc++
#/opt/bin/ipkg install php php-fcgi
#/opt/bin/ipkg install lighttpd
#/opt/bin/ipkg install mysql
#/opt/bin/ipkg install php-mysql
以下非必要
#/opt/bin/ipkg install php-gd //增加php處圖形的能力
#/opt/bin/ipkg install php-mbstring //增加php雙字元處理能力
#/opt/bin/ipkg install phpmyadmin //安裝 phpmyadmin mysql 管理套件
@起動MySQL 變更預設密碼
#/opt/etc/init.d/S70mysqld start //啟動
#/opt/bin/mysqladmin -u root password 12345678 //變更root預設密碼為 12345678
@設定 lighttpd.conf
修改lighttpd.conf,增加php的處理能力
#vi /opt/etc/lighttpd/lighttpd.conf
找到
1. server.modules 中把 "mod_fastcgi" 前面的"#" 去掉
2. 預設的啟動 port 為 8081 如果不喜歡,可以改成自己喜歡的port
ex: server.port = 80
3. 找到 server.event-handler
並將其值修改為 server.event-handler = "poll"
改完後將 lighttpd.conf 存檔
並將 lighttpd 停止
#/opt/etc/init.d/S80lighttpd stop
將其重新啟動
#/opt/etc/init.d/S80lighttpd start
web server 預設的文件目錄為 /opt/share/www
你可以試著新增一個測試的 index.php 在
#vi /opt/share/www/index.php
內容為
接著試試看連線到你rt-n16的lan段的ip
ex: http://192.168.1.1:8081/
看看能不能看到東西囉,
如果有應該能看到 phpinfo() 專屬的頁面
如果失敗,你可以看看
/opt/var/log/lighttpd/error.log 內有沒有什麼錯誤的訊息
如果想讓外網端也可以連接的上
可以直接在 console 上打
#iptables -I INPUT 1 -p tcp --dport 8081 -j ACCEPT
如果想讓外網端也可以連接的上
可以直接在 console 上打
#iptables -I INPUT 1 -p tcp --dport 8081 -j ACCEPT
好啦,祝大家成功囉!
2 則留言:
你好 想請問
更改 config之後
server start出現
Cannot load plugin mod_fastcgi more than once, please fix your config (we may not accept such configs in future releases
要怎麼處理呢..
to lin:
依照小弟的推測應該是mod_fastcgi的設定重複了
檢查設定檔案裡面是不是有出現一個以上的mod_fastcgi
或是你可以先試試看把#註解放回去
張貼留言