wr703n刷openwrt智能控制--web server(php+mysql+uhttpd)

web server就是网站服务器,我们可以用openwrt建一个,支持php+mysql+uhttpd。
那么我们可以在家建服务器了,它可以做个人博客、文件服务器(ftp)、论坛、家居控制服务器(以后我们diy家居wifi网关时会学到哦)。

由于webserver需要内存,请重新刷固件,来清空之前占用的内存。



第一部分:配置WIFI板(设置联网、STA之类的)
前往第一篇: WIFI作品DIY教程01-《wifi开发板》介绍和联网等配置教程
网址链接: http://www.znck007.com/forum.php?mod=viewthread&tid=21570


第二部分:SD挂载(安装php+mysql+uhttpd需要很大的空间)
 
使用putty登陆openwrt输入
opkg update
opkg install kmod-usb-storage block-mount kmod-fs-ext4
mkfs.ext4 /dev/sda1     #格式化SD卡,第一次使用就格式吧
mkdir -p /mnt/sda1     #生成一个SD卡目录
mount /dev/sda1 /mnt/sda1     #将SD卡挂载到/mnt/sda1目录

因为openwrt的官网不断更新,有时会发现安装包有这样的提示(可以不用理会):
Multiple packages (xxxxxxxxx) providing same name marked HOLD or PREFER. Using latest.


自动挂载(这样就不需要每次都执行上面的命令挂载SD卡了)
vi /etc/config/fstab
移到最下面,按i键(编辑模式)然后复制下面,右击到putty就自动粘贴上去了!
config 'mount'
        option 'device' '/dev/sda1'
        option 'options' 'rw,sync'
        option 'enabled_fsck' '0'
        option 'enabled' '1'
        option 'target' '/mnt/sda1'



第三部分:上传web网站文件(完全开源哦)
winscp文件上传软件
http://pan.baidu.com/s/1qW0nhNI


网站文件
http://pan.baidu.com/s/1dD5t68L

下载运行winscp,然后解压www里的文件上传到openwrt
 

 
选择root,然后双击mnt/sda1/www目前进入SD卡的www目录,没有则右击新建www。

 
上传到openwrt



第四部分:安装php(最多人用的网页语言)
一、安装php到SD卡
 
将php安装到sd卡。
mkdir -p /mnt/sda1/php/  (新建软件包目录)
echo dest phpdisk /mnt/sda1/php/ >> /etc/opkg.conf  (修改opgk配置文件)

opkg --dest phpdisk install php5-fastcgi php5-mod-gd php5-mod-xml php5-mod-ctype php5-mod-session php5-mod-sockets php5-mod-tokenizer php5-mod-mcrypt php5-mod-mbstring php5-mod-pdo php5-mod-curl php5-mod-mysql

安装一个时区信息软件包,否则系统无法识别时区。
opkg install zoneinfo-asia




二、映射SD卡的库文件
 

建立软连接,不然会找不到对应的库和配置文件:
ln -s /mnt/sda1/php/etc/php.ini /etc/php.ini
ln -s /mnt/sda1/php/etc/php5 /etc/php5
ln -s /mnt/sda1/php/usr/lib/libpcre.so.0.0.1 /usr/lib/libpcre.so.0
ln -s /mnt/sda1/php/usr/lib/libpcreposix.so.0.0.0 /usr/lib/libpcreposix.so.0
ln -s /mnt/sda1/php/usr/lib/libsqlite.so.0.8.6 /usr/lib/libsqlite.so.0
ln -s /mnt/sda1/php/usr/lib/libsqlite3.so.0.8.6 /usr/lib/libsqlite3.so.0
ln -s /mnt/sda1/php/usr/lib/libxml2.so.2.7.8 /usr/lib/libxml2.so.2
ln -s /mnt/sda1/php/usr/lib/libz.so.1.2.3 /usr/lib/libz.so
ln -s /mnt/sda1/php/usr/lib/libuClibc++-0.2.4.so /usr/lib/libuClibc++.so.0
ln -s /mnt/sda1/php/usr/lib/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16
ln -s /mnt/sda1/php/usr/lib/php /usr/lib/php
ln -s /mnt/sda1/php/usr/bin/php-cgi /usr/bin/php-cgi


三、 修改php.ini文件
 

使用 winscp 打开目录 /mnt/sda1/php/etc/
右击php.ini编辑,方法如下。

找到下面的字段修改为如下,如果有用";"注析的就删掉:
short_open_tag = On

error_log = /var/log/php_errors.log

doc_root = "/mnt/sda1/www"   修改成sd卡的路径。

extension=ctype.so
extension=curl.so
extension=dom.so
extension=exif.so
extension=ftp.so
extension=gd.so
extension=gmp.so
extension=hash.so
extension=iconv.so
extension=json.so
extension=ldap.so
extension=mbstring.so
extension=mcrypt.so
extension=mysql.so
extension=openssl.so
extension=pcre.so
extension=pdo.so
extension=pdo-mysql.so
extension=pdo-pgsql.so
extension=pdo_sqlite.so
extension=pgsql.so
extension=session.so
extension=soap.so
extension=sockets.so
extension=sqlite.so
extension=sqlite3.so
extension=tokenizer.so
extension=xml.so
extension=xmlreader.so
extension=xmlwriter.so 

date.timezone = Asia/Shanghai

mysql.default_socket = /var/run/mysqld.sock

session.auto_start = 1


四、 配置uhttpd
 
和上面一样,右击打开 /etc/config/uhttpd
option home '/mnt/sda1/www'                  #把/www修改成/mnt/sda1/www为放置网页的目录。
option index_page index.php                    #添加到后面
list interpreter ".php=/usr/bin/php-cgi"     #添加到后面


然后重启uhttpd(在putty里输入命令回车):
/etc/init.d/uhttpd restart



四、 测试php是否安装成功
打开 http://192.168.1.1/znck007/phpinfo.php
如果看到php的配置信息,说明php安装成功了!



第五部分:安装mysql(开源数据库,保存用户数据)
一、使用putty 安装mysql
直接安装
opkg update
opkg install mysql-server

二、使用winscp编辑/etc/my.cnf
 

查找到以下内容并修改如下:
datadir = /mnt/sda1/mysql/data/mysql/
tmpdir  = /mnt/sda1/mysql/data/tmp/
bind-address = 192.168.1.1


三、使用putty安装创建数据库目录
 

mkdir -p /mnt/sda1/mysql/data/mysql
mkdir -p /mnt/sda1/mysql/data/tmp


四、使用putty 初始化数据库
 

初始化建库
mysql_install_db --force

以关闭授权的方式启动mysql
mysqld --skip-grant &

进入mysql,修改账号连接权限
mysql -u root mysql

进入mysql以后出现mysql>提示符,再修改账号连接权限:
update user set host='%' where user='root' and host='localhost';

修改数据库密码为znck007
update user set password=PASSWORD('znck007') where user='root';

刷新数据库
flush privileges;

上面ok了以后,退出mysql
exit;


在putty重启mysql,以授权验证方式启动(为了系统安全)
killall mysqld
开机运行 
/etc/init.d/mysqld enable 
启动MySQL服务
/etc/init.d/mysqld start 




第六部分:建立数据表(建表、添加数据、修改数据、删除数据)
一、下载navicat for mysql软件
下载地址: http://pan.baidu.com/s/1eQgUZM6 (里面有破解key)
运行navicat.exe,输入注册码就可以登陆了!
 
输入图上信息确定,密码是:znck007(之前安装mysql设置的)




 

新建一个数据库。



 

填写数据库名称,编码utf-8




 
再新建一个表


 
界面新增、删除、修改字段,非常方便。

  保存表名

 

新增、删除、修改数据。



第七部分:安装论坛(Discuz中国最大的开源论坛)
一、使用winscp修改discuz目录的权限为读写
 

设置//mnt/sda1/www/discuz目录的权限为777


二、打开网址自动安装 discuz
 

网址: http://192.168.1.1/discuz/install/




 
到这一步会卡下来,如果发现界面如上,其实已经安装成功了!


 
输入网址: http://192.168.1.1/discuz/tools.php?action=closesite
然后开启论坛。

 
输入网址: http://192.168.1.1/discuz
就可以看到论坛了,使用znck007和密码登陆吧


 
输入网址: http://192.168.1.1/discuz/tools.php?action=setadmin
我们需要设一个论坛管理员,这样才能登陆后台设置了。


 
输入网址: http://192.168.1.1/discuz/admin.php
登陆管理后台,就可以设置论坛名称、论坛名称!


第八部分:家居控制首页。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
20120905版4M固件: 1. 720N固件,基于703N修改。TP-Link原厂固件请factory,已经是OpenWrt了就sysupgrade。 且此固件后可直OpenWrt 703N、OpenWrt 720N、TP-Link 703N、TP-Link 720N固件,不用改固件头。 2. 4M固件,当然8M的flash也可以。 3. 支持MentoHUST(锐捷认证)、3G、NAS(仅支持ext4,不支持ntfs)、共享手机网络、MWAN2负载均衡、打印服务器、 远程唤醒、8187 3070、瑞银网卡,剩余200多K空间,具体见截图。 因试过4M空间集成脱机、NAS等有难度,故不再出4M的脱机固件,请用extroot扩展后自行安装。 4. MentoHUST没有条件测试,如不能自动获取IP,请把Web界面的DHCP script的值由“udhcpc -i”改成“udhcpc -renew”试试。 5. 关于extroot(既用U盘引导系统),没想到现在这么简单了。 简单说下:先把U盘在电脑里格式化成ext3或ext4。插上U盘,命令行运行blkid得到U盘的UUID值,复制到管理界面的相应UUID, 挂载选项“rw,sync”删掉后面的umask=000。然后勾上extroot和启用,文件系统选对应的ext3或ext4,保存应用OK。 重启下,看看剩余空间大了没,呵呵。 (umask=000只是为了让samba可写而加的参数。挂载USB存储设备时,如果不用samba请删之。) 6. 按住reset键30秒后led闪烁,60秒之前松开reset键则恢复出厂设置。 7. LAN/WAN两个网口正常。 8. 默认开启WiFi,无密码。 9. 支持模式切换开关,定义如下: AP: 开启共享手机网络、开启无线 3G: 关闭共享手机网络、开启无线 Router:关闭共享手机网络、关闭无线 10.解释下共享手机网络,OpenWrt官方称为USB Tethering,指openwrt路由器通过USB连接智能手机, 而智能手机的网络共享给openwrt使用。 目前固件只支持Android系统共享网络功能,而支持iPhone需要集成的软件太多,空间有限,如果出8M固件 再考虑吧。 Android本来就支持WiFi热点,可能有点画蛇添足吧,呵呵。我是偶然发现openwrt还支持这个功能, 所以就研究了下,也许在某些情况下这个功能还是有用的吧。 使用方法: a. 路由器模式开关切换至AP位置。 b. 用USB线连接路由器与手机。 c. 手机USB连接管理里面,选择 除了“内存卡读取”的其他模式,比如:选择“仅充电”; 然后在“设置”--“系统”里面找到“共享手机网络”,开启“USB绑定”就好了。 回到openwrt界面,会发现有个usb0的接口,已经自动获取了IP,这样openwrt就能使用手机 的网络了。 11.关于MWAN2负载均衡,效率还不错,还支持基于session的负载均衡,使用方法见/etc/config/mwan2里面的注释。 mwan2的作者新出了mwan3,有兴趣可以去看看:https://forum.openwrt.org/viewtopic.php?id=39052 12.703n可本固件,但是完后lan口不能用。需先用无线连接,然后编辑/etc/config/network , 删除其中wan口配置,把lan的eth0改成eth1后,lan就可以用了。 如703n原厂固件web界面请factory,且需要先把固件标识改成07030101才能。 13.再说下打印服务器,没有测试,不知道这个版本能不能用,但20120803版有人试过可用,有需求请自行下载。trunk就是不稳定啊, 没办法~~ 14.机有风险,变砖本人概不负责。 吐糟一下,如3G有掉线问题,请看日志中是否出现“No response to 5 echo-requests”。 而解决这个问题,除了降低无线功率或者干脆关闭无线外,我是没找到其他更好的办法(可能和3G网卡有关)。 曾经尝试过换电源增强供电、用带外接电源的usb-hub,包括尝试TP-LINK原厂固件也一样掉线。还有修改/etc/ppp/options里 的lcp-echo-interval,把值改大点后是不掉线了,但是3G其实已经断流了,没什么意义。我用MU350网卡试过FW300R、FWR171-3G 还有720N这几个路由都是这样。不知道是TP-Link设计问题,还是td-scdma这种垃圾芯片功率过高的问题,或者Atheros芯片 的设计缺陷? 百撕不得骑姐啊!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值