请选择 进入手机版 | 继续访问电脑版

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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 51345|回复: 278

WIFI作品DIY教程05-《家居服务器》web server(php+mysql+uhttpd)

  [复制链接]

110

主题

396

帖子

2319

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2319
QQ
发表于 2014-10-25 15:04:26 | 显示全部楼层 |阅读模式
web server就是网站服务器,我们可以用openwrt建一个,支持php+mysql+uhttpd。
那么我们可以在家建服务器了,它可以做个人博客、文件服务器(ftp)、论坛、家居控制服务器(以后我们diy家居wifi网关时会学到哦)。

由于webserver需要内存,请重新刷固件,来清空之前占用的内存。
240.jpg
我们需要的配件:Z WIFI核心板
USB扩展板TF卡
游客,如果您要查看本帖隐藏内容请回复



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


第二部分:SD挂载(安装php+mysql+uhttpd需要很大的空间)
220003li7rpa25og525jz7.jpg
使用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
201252nkifk9ziuijiggeg.jpg

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

410.jpg
上传到openwrt



第四部分:安装php(最多人用的网页语言)
一、安装php到SD卡
210.jpg
将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卡的库文件
220.jpg

建立软连接,不然会找不到对应的库和配置文件:
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文件
310.jpg

使用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
320.jpg
和上面一样,右击打开/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
520.jpg

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


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

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


四、使用putty初始化数据库
540.jpg

初始化建库
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,输入注册码就可以登陆了!
610.jpg
输入图上信息确定,密码是:znck007(之前安装mysql设置的)




620.jpg

新建一个数据库。



630.jpg

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




640.jpg
再新建一个表


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

660.jpg 保存表名

670.jpg

新增、删除、修改数据。



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

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


二、打开网址自动安装discuz
810.jpg

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




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


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

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


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


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


第八部分:家居控制首页。
910.jpg
输入网址: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创客平台)







回复

使用道具 举报

1

主题

6

帖子

33

积分

新手上路

Rank: 1

积分
33
发表于 2014-10-29 14:10:52 | 显示全部楼层
楼主已经要超神了
回复 支持 反对

使用道具 举报

110

主题

396

帖子

2319

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2319
QQ
 楼主| 发表于 2014-10-29 17:47:20 | 显示全部楼层
meng889 发表于 2014-10-29 14:10
楼主已经要超神了

为毛呢?
回复 支持 反对

使用道具 举报

0

主题

2

帖子

22

积分

新手上路

Rank: 1

积分
22
发表于 2014-10-29 18:45:51 | 显示全部楼层
zigbee和wifi,谁是未来的智能家居主流?
回复 支持 反对

使用道具 举报

110

主题

396

帖子

2319

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2319
QQ
 楼主| 发表于 2014-10-29 20:16:59 | 显示全部楼层
pingo0546 发表于 2014-10-29 18:45
zigbee和wifi,谁是未来的智能家居主流?

wifi
回复 支持 反对

使用道具 举报

0

主题

13

帖子

72

积分

注册会员

Rank: 2

积分
72
发表于 2014-10-30 17:34:30 | 显示全部楼层
祝越来越好,非常不错
回复 支持 反对

使用道具 举报

110

主题

396

帖子

2319

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2319
QQ
 楼主| 发表于 2014-10-30 23:24:52 | 显示全部楼层
T1ger6 发表于 2014-10-30 17:34
祝越来越好,非常不错

加油点赞,哈哈。
回复 支持 反对

使用道具 举报

0

主题

9

帖子

98

积分

注册会员

Rank: 2

积分
98
发表于 2014-11-2 17:07:33 | 显示全部楼层
看看           
回复 支持 反对

使用道具 举报

110

主题

396

帖子

2319

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2319
QQ
 楼主| 发表于 2014-11-2 18:03:43 | 显示全部楼层
回复 支持 反对

使用道具 举报

0

主题

9

帖子

130

积分

注册会员

Rank: 2

积分
130
发表于 2014-11-3 09:54:28 | 显示全部楼层
家里有NAS,哈哈
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|手机版|智能创客 ( 桂ICP备14000828号

GMT+8, 2019-1-21 04:30 , Processed in 0.078667 second(s), 14 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表