首页
登录 | 注册

Openwrt架设网站(uhttpd+php+sqlite)

原文地址:http://blog.chinaunix.net/uid-23780428-id-4367394.html
鄙人在江苏省南京市,通过淘宝知道全球无线联盟,购得AE-010002无线路由器(RT-NT13UB1主板)。因为平时工作生活的需要,比如帐号管理 (现在各个网站、软件、卡类等帐号密码过多,容易混淆忘记,又不宜使用相同帐号密码)、常用加密解密(MD5、3DES等)、亲戚朋友生日备忘等还有一些 其他平时自己用的工具,于是自己写了一个“个人事务辅助平台”,希望能够随时随地打开即用,但个人网站建设租用空间费用过高,专门弄个低功耗的电脑开着消 耗也没必要,自己用的平台访问量自然不会大,反正家里平时电脑、手机等多终端要无线上网,路由器一般也不关,索性把它架设到路由器上吧。
首先因为路由器内存有限、CPU主频比较低,还要做路由功用,所以本网站多采用html+js富客户端方式制作尽量减少服务器端开销,部分动态内容使用大 家熟悉的php程序,并且多使用ajax局部刷新技术尽量减少与服务器交互数据量,数据库采用占用资源非常低的轻型数据库SQLite,为减少系统开销 web server就不再另装了,直接采用openwrt内置的uhttpd。下面就拿一个简单的测试页面来说明架设方法。
以uhttpd+php+sqllite组合架设网站,下面开始:
1、挂载磁盘 (U盘文件系统为ext4)
在路由器上插一个U盘用来存储要发布的网页,例如我的U盘识别为设备/dev/sda1,挂载的目录为/mnt/overlay,可以使用命令挂载也可以 使用图形管理界面,在“菜单--管理界面--磁盘应用--挂载点”进行添加挂载。这是linux基本知识这里不细说了,不会的可以google一下,挂载 后如图:

我这里是一个U盘分了两个区所以显示两个,我们只需要用第二个就好了。
挂载完之后在/mnt/overlay中(也就是U盘中)建立www目录用来放置网页。

2、安装程序
php5
php5-cgi
php5-mod-ctype
php5-mod-hash
php5-mod-pdo
php5-mod-pdo-sqlite
php5-mod-session
php5-mod-sqlite
php5-mod-sqlite3
php5-mod-tokenizer
php5-mod-xml

编辑/etc/opkg.conf,加入如下一行:
dest udisk /mnt/sda1

使用下面命令把软件安装到U盘:
opkg update
opkg install -d udisk php5 php5-cgi php5-mod-ctype php5-mod-hash php5-mod-pdo php5-mod-pdo-sqlite php5-mod-session php5-mod-sqlite php5-mod-sqlite3 php5-mod-tokenizer php5-mod-xml
建立软连接,不然会找不到对应的库和配置文件:
cd /etc
ln -s /mnt/sda1/etc/php.ini php.ini
ln -s /mnt/sda1/etc/php5 php5
cd /usr/lib
ln -s /mnt/sda1/usr/lib/libpcre.so.0.0.1 libpcre.so.0
ln -s /mnt/sda1/usr/lib/libpcreposix.so.0.0.0 libpcreposix.so.0
ln -s /mnt/sda1/usr/lib/libsqlite.so.0.8.6 libsqlite.so.0      
ln -s /mnt/sda1/usr/lib/libsqlite3.so.0.8.6 libsqlite3.so.0
ln -s /mnt/sda1/usr/lib/libxml2.so.2.7.8 libxml2.so.2      
ln -s /mnt/sda1/usr/lib/libz.so.1.2.3 libz.so        
ln -s /mnt/sda1/usr/lib/php php
cd /usr/bin
ln -s /mnt/sda1/usr/bin/php-cgi php-cgi

安装成功后在管理界面可以查找到对应包,位置在“菜单--管理界面--系统--软件包”如图:


3、配置php
修改/etc/php.ini。
去掉下面行前面注释:
extension=ctype.so
extension=hash.so
extension=pdo.so
extension=pdo_sqlite.so
extension=sqlite.so
extension=session.so
extension=tokenizer.so
extension=xml.so
extension=xmlreader.so
extension=xmlwriter.so
修改行:
short_open_tag = On
;doc_root = "/www" 
date.timezone = Asia/Shanghai

4、配置uhttpd
在/etc/config/uhttpd最后添加:
config uhttpd web
list listen_http 0.0.0.0:88
option home /mnt/overlay/www
option index_page index.php
list interpreter ".php=/usr/bin/php-cgi"
88为访问端口,/mnt/overlay/www为放置网页的目录,这些都可以修改。
然后重启uhttpd:
/etc/init.d/uhttpd restart

5、环境测试
先写个简单的index.php网页上传到/mnt/overlay/www测试部署情况。
index.php代码示例:



WEB环境部署测试



Congratulations on your success.



   
   
      
      
   
   
      
      
   
   
      
      
   
   
      
      
   
   
   
      
      
   
   
      
      
   
服务器信息
主机名
主机地址
服务器软件
网站主目录
SQLite 连接测试
SQLite
连接数据库(内存) 连接正常":"连接失败");?>


相关文章

  • 知道学习嵌入式技术,数据库是必须懂的,看的书上嵌入式的教程都在用,看来我是非学不可了,下面就简单的记录一下我在Ubuntu 12.04系统上安装 SQLite 的过程以及使用. 相关阅读: SQLite3 安装.基本操作 http://ww ...
  • 摘  要 SQLite作为一个开源的嵌入式数据库产品,具有系统开销小,检索效率高的特性,适用于手机.PDA.机顶盒设备等电器,并且作为嵌入式数据库在可下载的消费类应用程序中运行的很好.这篇文章介绍嵌入式数据库产品SQLite的技术特点,并着 ...
  • Discuz网站漏洞的检测与分析
    Discuz漏洞的检测与分析
  • 网站漏洞修复之UEditor漏洞 任意文件上传漏洞 2018 .net新
    那么UEdito漏洞到底是如何产生的呢?最主要的还是利用了IIS的目录解压功能,在解压的同时会去访问控制器文件,包括controller.aspx文件,当上传到网站里的时候,会自动解压并调用一些特殊应用的目录地址,有些目录都可以被远程的调用 ...
  • 在SEO的日常工作中,这里的站外优化主要指的就是外链工作,下面深圳网站运营外包公司-数商科技小编就来为大家详细介绍下,主要有以下几点: (1).外链的监测 做外链很大一部分是为了推广和引流的作用,监测外链获取的流量和存活的时间周期.来源,更 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号