智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想!

标题: WIFI作品DIY教程05-《家居服务器》web server(php+mysql+uhttpd) [打印本页]

作者: znck007    时间: 2014-10-25 15:04
标题: WIFI作品DIY教程05-《家居服务器》web server(php+mysql+uhttpd)
web server就是网站服务器,我们可以用openwrt建一个,支持php+mysql+uhttpd。
那么我们可以在家建服务器了,它可以做个人博客、文件服务器(ftp)、论坛、家居控制服务器(以后我们diy家居wifi网关时会学到哦)。

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

我们需要的配件:Z WIFI核心板
USB扩展板TF卡



第一部分:配置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
登陆管理后台,就可以设置论坛名称、论坛名称!


第八部分:家居控制首页。

输入网址:http://192.168.1.1/znck007/home.php
以后我们就用它来做家居服务器+路由器+控制中心!现在知道我们的野心了吧,diy属于自己智能的家(3D革命)。



《WIFI作品DIY教程系列》
WIFI作品DIY教程01-《wifi开发板》介绍和联网等配置教程
WIFI作品DIY教程02-《openwrt摄像头》3D外壳和diy介绍
WIFI作品DIY教程03-《WIFI音响/MP3播放器/电台》
WIFI作品DIY教程04-《WIFI烟雾煤气报警器》
WIFI作品DIY教程05-《家居服务器》web server(php+mysql+uhttpd)
WIFI作品DIY教程06-《openwrt后台程序》控制mysql、串口通信等
WIFI作品DIY教程07-《wifi家居网关》家居控制中心zigbee/nrf24l01等
WIFI作品DIY教程08-《智能开关》电灯开关、插座(nrf24l01/zigbee)
WIFI作品DIY教程09-《人体红外检测》安防入侵报警功能
WIFI作品DIY教程10-《温湿传感器》DS18B20、DHT11应用。


《Arduino开源智能家居DIY教程系列》
Arduino开源智能家居《花絮1》zigbee小底板DIY成功
Arduino开源智能家居《认识Zigbee》zigbee功能和自组网介绍
Arduino开源智能家居《zigbee开发板》手机/按键点亮LED
Arduino开源智能家居01《网关》升级版网关正式教程(zigbee)
Arduino开源智能家居02《温湿传感器》什么样温湿度才适居
Arduino开源智能家居03《开发板套件》学习zigbee家居-性价比高
Arduino开源智能家居04《插座开关》手机控制:网扇、空调...
Arduino开源智能家居05《红外线》手机红外线控制电器


《百元智能家居DIY教程系列》
《智能家居网关》DIY制作图文教程01-百元智能家居系列
《智能温湿度》DIY制作图文教程02-百元智能家居系列
《智能插座》DIY制作图文教程03-百元智能家居系列
《智能电灯开关》DIY制作图文教程04-百元智能家居系列
《手机红外线》DIY制作图文教程05-百元智能家居系列
关注@智能创客  微信:znck007(打造DIY创客平台)








作者: meng889    时间: 2014-10-29 14:10
楼主已经要超神了
作者: znck007    时间: 2014-10-29 17:47
meng889 发表于 2014-10-29 14:10
楼主已经要超神了

为毛呢?
作者: pingo0546    时间: 2014-10-29 18:45
zigbee和wifi,谁是未来的智能家居主流?
作者: znck007    时间: 2014-10-29 20:16
pingo0546 发表于 2014-10-29 18:45
zigbee和wifi,谁是未来的智能家居主流?

wifi
作者: T1ger6    时间: 2014-10-30 17:34
祝越来越好,非常不错
作者: znck007    时间: 2014-10-30 23:24
T1ger6 发表于 2014-10-30 17:34
祝越来越好,非常不错

加油点赞,哈哈。
作者: zy8681097    时间: 2014-11-2 17:07
看看           
作者: znck007    时间: 2014-11-2 18:03
zy8681097 发表于 2014-11-2 17:07
看看

不脱。
作者: wuchang1123    时间: 2014-11-3 09:54
家里有NAS,哈哈
作者: hjh0917    时间: 2014-11-4 02:30
kk 这个真要看看
作者: znck007    时间: 2014-11-4 08:55
hjh0917 发表于 2014-11-4 02:30
kk 这个真要看看


作者: weijinhe    时间: 2014-11-10 16:55
要看 要看要看
作者: snow2002    时间: 2014-11-12 15:42
加油点赞,哈哈。
作者: ttzaio    时间: 2014-11-12 19:21
不错FFF
作者: Jone    时间: 2014-11-13 21:42
学习学习
作者: znck007    时间: 2014-11-14 13:11
Jone 发表于 2014-11-13 21:42
学习学习

一起学习,欧也。
作者: newstarsky    时间: 2014-11-16 16:25
谢谢楼主!
作者: znck007    时间: 2014-11-16 19:15
newstarsky 发表于 2014-11-16 16:25
谢谢楼主!

谢谢什么呢。
作者: 爱拼才会赢    时间: 2014-11-17 13:05
学习学习
作者: znck007    时间: 2014-11-17 21:29
爱拼才会赢 发表于 2014-11-17 13:05
学习学习

一起学。
作者: ahlong    时间: 2014-11-19 14:19
这个不错, 野心的确不小, 哈哈{:soso_e113:}
作者: ahlong    时间: 2014-11-19 14:20
问一下, sd卡的大小最大能挂载多大?
作者: fmanthon    时间: 2014-11-19 16:18
  有一点不明白, 为甚麽只把 mysql-server 的数据 放在 SD card 上, 而不是整个系统呢 ?
作者: znck007    时间: 2014-11-21 13:27
fmanthon 发表于 2014-11-19 16:18
有一点不明白, 为甚麽只把 mysql-server 的数据 放在 SD card 上, 而不是整个系统呢 ?  ...

目前来说,这个开发板,不好把openwrt放到sd卡
作者: znck1    时间: 2014-11-22 23:29
能指导一下吗?
作者: znck007    时间: 2014-11-23 12:22
znck1 发表于 2014-11-22 23:29
能指导一下吗?

怎么指导
作者: general    时间: 2014-11-23 14:44
好东西,正想弄呢,竟然有了,好人
作者: general    时间: 2014-11-23 14:51
楼主你好,这个网页的内容可不可以更改,把界面改为自己的设计的界面,比如把“智能创客”改为自己的名字,
作者: znck007    时间: 2014-11-24 19:00
general 发表于 2014-11-23 14:51
楼主你好,这个网页的内容可不可以更改,把界面改为自己的设计的界面,比如把“智能创客”改为自己的名字, ...

当然,源代码都给你下载了。
作者: znck007    时间: 2014-11-24 19:01
general 发表于 2014-11-23 14:44
好东西,正想弄呢,竟然有了,好人

是的。
作者: 灆銫ρ尐赖潴    时间: 2014-11-28 21:11
学习学习~
作者: dianl    时间: 2014-12-1 18:12
来学习一下
作者: znck007    时间: 2014-12-2 23:24
dianl 发表于 2014-12-1 18:12
来学习一下

好好好。
作者: 超级diy霸王    时间: 2014-12-7 17:01
好好学习
作者: king    时间: 2014-12-8 20:54
谢谢分享
作者: 357000529    时间: 2014-12-11 09:10
有点晕。这个是自己做家具服务器,还是连接到你们的服务器
作者: Easy西    时间: 2014-12-11 22:55
受教了,正好需要 openwrt 的教程!
作者: 小武的忧伤    时间: 2014-12-22 19:25
这个必须要链接互联网吗?
作者: 老催    时间: 2014-12-23 08:44
看看。支持一个!!!
作者: dxlxw    时间: 2014-12-26 21:33
很好,正要学习学习
作者: 梅花琴心舞    时间: 2014-12-27 21:51
谢谢分享
作者: zhouhua_8    时间: 2015-1-2 20:08
好详细,谢谢分享
作者: 229751443    时间: 2015-1-4 13:13
ddddddddddddddddddddddddd
作者: he4441    时间: 2015-1-11 23:01
更何况击溃
作者: Drxbu    时间: 2015-1-12 13:50
感谢分享
作者: 韩文博    时间: 2015-1-14 17:54
你好我希望能去掉这个回复才能看的操作  实在是用户体验不好啊
作者: znck007    时间: 2015-1-15 00:38
韩文博 发表于 2015-1-14 17:54
你好我希望能去掉这个回复才能看的操作  实在是用户体验不好啊

是论坛呢,需要人气,哈哈哈。
作者: EvilAtom    时间: 2015-1-16 19:18
基本的都通过了 现在开始这一步
作者: gezhhua    时间: 2015-1-18 18:39
学习一下
作者: red8bull    时间: 2015-1-20 15:31
good...........................
作者: youlin    时间: 2015-1-21 23:36
学     习    中
作者: vc616    时间: 2015-1-22 10:12
回复可见啊,谢谢分享
作者: Jackson_lv    时间: 2015-1-22 21:05
很不错啊,继续加油!
作者: ains_245c    时间: 2015-1-23 14:48
学习上篇看下片
作者: 475517941    时间: 2015-1-26 13:33
感谢楼主分享
作者: znck007    时间: 2015-1-26 16:24
475517941 发表于 2015-1-26 13:33
感谢楼主分享

嗯嗯嗯。
作者: 2998377    时间: 2015-1-27 21:45
谢谢老板的教程,研究下准备买
作者: wzzjchen    时间: 2015-1-28 00:38
树莓派+Arduino或者pcduino,可以代替上面的硬件吧?
作者: chenchunbo    时间: 2015-1-28 16:36
看着好复杂啊,头都晕了。不知道新手能否搞成功啊。
作者: djbxfq    时间: 2015-1-30 15:51
学习了。
作者: znck007    时间: 2015-1-31 13:45
wzzjchen 发表于 2015-1-28 00:38
树莓派+Arduino或者pcduino,可以代替上面的硬件吧?

当然也可以。
作者: xz0609    时间: 2015-2-1 01:51
我要下载.
作者: znck007    时间: 2015-2-2 16:03
xz0609 发表于 2015-2-1 01:51
我要下载.

下吧下吧。
作者: guohaiqiang    时间: 2015-2-4 20:26

作者: mikeliujia    时间: 2015-2-4 22:00
学习膜拜的节奏啊
作者: 坏的刚刚好    时间: 2015-2-5 09:12
加油点赞,哈哈。
作者: znck007    时间: 2015-2-5 09:48
坏的刚刚好 发表于 2015-2-5 09:12
加油点赞,哈哈。

哈哈哈。
作者: indexindex    时间: 2015-2-9 13:02
万岁。。。。。。。。。。。。
作者: Jack.lee    时间: 2015-2-13 22:07
未来还是科技的
作者: lius320    时间: 2015-2-14 14:31
持续关注中。。。
作者: 1309002    时间: 2015-2-17 12:56
学习中,谢谢LZ
作者: anda    时间: 2015-2-23 00:22
谢谢分享
作者: linwei123006188    时间: 2015-2-23 10:01

作者: qq8322302    时间: 2015-2-27 16:49

作者: gxtyx    时间: 2015-3-1 15:46
如果您要查看本帖隐藏内容请回复
作者: znck007    时间: 2015-3-2 12:38
gxtyx 发表于 2015-3-1 15:46
如果您要查看本帖隐藏内容请回复

没有呀。
作者: fkegj    时间: 2015-3-3 13:14
多谢版主有这么好的帖子
作者: daifhfh    时间: 2015-3-8 22:48
感谢分享~~~
作者: qq597578205    时间: 2015-3-9 17:24
刚买了板子,过来学习一下
作者: ayes    时间: 2015-3-16 15:27
学习一下,楼主辛苦
作者: zdy110    时间: 2015-3-18 20:55
好,好好学习
作者: wukui    时间: 2015-3-25 13:52
硬件有哪些
作者: zmhulu    时间: 2015-3-25 15:29
谢谢分享
作者: luxingzhen    时间: 2015-3-30 14:38
分:配置WIFI板(设置联网、STA之类的
作者: Martin    时间: 2015-3-31 20:53
WIFI作品DIY教程05-《家居服务器》web server(php+mysql+uhttpd
作者: SRAITA    时间: 2015-4-3 21:07
简直太赞了
作者: netweather    时间: 2015-4-6 18:52
我也有703N路由才换的Flash和内存
作者: qebabe    时间: 2015-4-6 22:53
支持!!!!!!!!!
作者: BH4WHN    时间: 2015-4-7 10:06

作者: mjkdz1    时间: 2015-4-10 20:59
学习学习看看,貌似很好。
作者: &冋憶y遠▓    时间: 2015-4-16 13:26
看不懂怎么破
作者: 1592278080    时间: 2015-4-17 22:34
学习下............
作者: 150600    时间: 2015-4-23 02:20
sjsjsjjddlsl
作者: angrywhite    时间: 2015-4-29 15:18
学习一下 ~                                       
作者: holo6686good    时间: 2015-5-8 22:18
顶了看看
作者: gxtyx    时间: 2015-5-8 23:19
求助,sql登陆时报错:
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
已经修改过密码了,还是连不上,为什么呢?

作者: wangyu_012    时间: 2015-5-9 15:54
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
作者: jajn    时间: 2015-5-10 14:47
感谢分享··············
作者: 创客帝国    时间: 2015-5-21 15:56
强大,震撼,抓狂




欢迎光临 智能创客,中国最大的极客空间,智能平台,免费教学,视频教程,手把手教你创造儿时梦想! (http://luntan.znck007.com/) Powered by Discuz! X3.2