web server就是网站服务器,我们可以用openwrt建一个,支持php+mysql+uhttpd。
那么我们可以在家建服务器了,它可以做个人博客、文件服务器(ftp)、论坛、家居控制服务器(以后我们diy家居wifi网关时会学到哦)。
由于webserver需要内存,请重新刷固件,来清空之前占用的内存。
我们需要的配件:Z WIFI核心板,USB扩展板、TF卡。
第一部分:配置WIFI板(设置联网、STA之类的)
前往第一篇:WIFI作品DIY教程01-《wifi开发板》介绍和联网等配置教程
第二部分: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革命)。