Openwrt上LAMP(Php、Mysql、Apache)的安裝配置

在本環境中,我使用的是WRTnode上的Openwrt操作系統進行操作。有關Openwrt的基本操作,可參考本博客的其他文章,這裏就直接開始。

一、安裝Lighttpd

Lighttpd 是一個德國人領導的開源Web服務器軟件,其根本的目的是提供一個專門針對高性能網站,安全、快速、兼容性好並且靈活的web server環境。具有非常低的內存開銷、cpu佔用率低、效能好以及豐富的模塊等特點。
1.使用如下命令安裝LightHttpd。
opkg update
opkg install lighttpd lighttpd-mod-cgi

2.安裝完成後,編輯/etc/lighttpd/lighttpd.conf文件。
按下圖畫紅線的地方修改server.modules、server.port以及server.document-root即可。

注,如果在啓動lighttpd時,報如下的錯誤 Cannot load plugin mod_cgi more than once, please fix your config (we may not accept such configs in future releases,則不需要添加上述內容,因爲該配置文件中引用的配置文件已經在server.modules中包含了"mod_cgi"。在我的lighttpd版本中,lighttpd.conf配置文件引入了/etc/lighttpd/conf.d/10-cgi.conf配置文件,而後者已經包含了"server.module"。

3. 通過以下命令創建/srv/www目錄
mkdir -p /srv/www

4.使用如下的命令啓動lighttpd和設置lighttpd服務隨開機啓動。

/etc/init.d/lighttpd start
/etc/init.d/lighttpd enable

二、安裝PHP

1.使用如下命令安裝PHP。
opkg update
opkg install php5 php5-cgi
2.編輯/etc/php.ini,設置doc_root = "/srv/www"。
3.按下圖的方式編輯/etc/lighttpd/lighttpd.conf,已用紅線畫出。

注意:當lighthttp啓動失敗時,如果是因爲配置文件錯誤的話通常會報這樣的錯誤:(configfile.c.957) source: /etc/lighttpd/lighttpd.conf line,可通過如下的命令來查看出錯的原因,這裏我是因爲多添加了一個index-file.names造成的錯誤。
lighttpd -f /etc/lighttpd/lighttpd.conf

如果報如下的錯誤,則是因爲多配置了cgi.assign,就需要將剛纔配置的cgi.assign註釋掉,因爲配置文件中引入了/etc/lighttpd/conf.d/*.conf文件。
Duplicate config variable in conditional 0 global: cgi.assign
2014-12-21 13:41:18: (configfile.c.957) source: cat /etc/lighttpd/conf.d/*.conf line: 34 pos: 1 parser failed somehow near here: (EOL)
2014-12-21 13:41:18: (configfile.c.957) source: /etc/lighttpd/lighttpd.conf line: 41 pos: 1 parser failed somehow near here: (EOL)
然後編輯/etc/lighttpd/conf.d/10-cgi.conf文件,在文件中添加如下圖紅線標記的內容。


4.使用如下的命令重啓Lighttpd。

/etc/init.d/lighttpd restart
5.下面在srv/www目錄下,寫一個php文件,來測試一下安裝是否成功。可使用如下的命令簡單地添加一個文件。

echo "<?php phpinfo(); ?>" > /srv/www/index.php
6.然後,在瀏覽器中輸入網址,查看php和http服務器是否安裝成功。我這裏是如下圖所示,表示安裝成功了。

三、安裝Mysql

1.使用如下命令,安裝mysql及相關組件

opkg install libpthread libncurses libreadline mysql-server
2. 依次執行如下命令,對Mysql做初始化工作

sed -i 's,^datadir.*,datadir         = "/srv/mysql",g' /etc/my.cnf
sed -i 's,^tmpdir.*,tmpdir          = "/tmp",g' /etc/my.cnf
mkdir -p /srv/mysql
mysql_install_db --force
/etc/init.d/mysqld start
/etc/init.d/mysqld enable
mysqladmin -u root password '123456'
注:123456是mysql的root賬戶密碼

3.安裝如下組件,使PHP可以使用Mysql

opkg install php5-mod-mysql
4.將mysql.so配置到/etc/php.ini中
sed -i 's,;extension=mysql.so,extension=mysql.so,g' /etc/php.ini

5.將mysqli.so配置到/etc/php.ini中

sed -i 's,;extension=mysqli.so,extension=mysqli.so,g' /etc/php.ini
6.到/etc/my.conf下查看你的數據庫套接字文件地址,如下圖所示。


7.如下圖所示,配置/etc/php.ini文件,修改[mysql]下的內容,並把[mysql]的內容複製一份,並修改成mysqli,如下圖所示


到此,Mysql就配置完了。


四、測試

1.可使用psftp向Openwrt系統上上傳文件,可在putty的官網上,下載到這個工具,如下圖所示。


2.使用如下命令在openwrt上安裝以下組件,使openwrt能接受文件的上傳。
opkg update
opkg install vsftpd openssh-sftp-server
/etc/init.d/vsftpd enable
/etc/init.d/vsftpd start

3.雙擊打開psftp.exe,使用下圖的方式連接,之後就可以使用cd、ls等方式進入文件夾。


4.使用如下的命令向openwrt上傳文件,下個如下圖所示。

put "C:\Users\JustYoung\Desktop\WorkSpace\splitFileProject\m_storage"


之後就可以訪問你的PHP頁面看看效果啦







發佈了53 篇原創文章 · 獲贊 5 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章