找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 7636|回复: 6

Openwrt架设wordpress博客

[复制链接]
发表于 2016-8-28 09:28 | 显示全部楼层 |阅读模式

最近打算在几台openwrt设备上玩玩wordpress,但是中途出现了种种问题,终于在经过两天的琢磨之后,终于成功的跑起来了(虽然速度真心慢,毕竟路由器的cpu运行大型php有点累)。现将过程分享如下:

我的设备有:一台mw4530r 和一台pogoplug pro

很尴尬,不得不说,最后被迫采用了mysql和php分开的形式,因为mw4530r空间不足塞不下mysql;而pogoplug又在时区支持上有点问题,导致php报错。


现在正式开始:

1、安装mysql

打开ssh,输入命令

  1. <p style="box-sizing: inherit; margin-bottom: 1.47368em;">opkg update</p><p style="box-sizing: inherit;">opkg install mysql-server</p>
复制代码

然后用winscp或者vi命令,改一下配置文件/etc/my.cnf中的datadir和tmpdir,改到储存设备里去,不然nand要炸了,还要把bind-address改成0.0.0.0

接下来,初始化并启动mysql

  1. <p style="box-sizing: inherit; margin-bottom: 1.47368em;"><span class="comment" style="box-sizing: inherit;">mysql_install_db</span> <span class="literal" style="box-sizing: inherit;">–</span><span class="literal" style="box-sizing: inherit;">–</span><span class="comment" style="box-sizing: inherit;">force</span></p><p style="box-sizing: inherit;">/etc/init.d/mysqld <span class="operator" style="box-sizing: inherit;">start</span></p>
复制代码

据说在执行第一句命令初始化的时候会报错,我也遇到了这个情况,转到恩山论坛下载一个数据库备份文件,复制进去就好了https://www.right.com.cn/forum/thread-50305-1-1.html

更改root账户在数据库中密码(这里123456是密码,需要自己更改)

  1. <span class="comment" style="box-sizing: inherit;">mysqladmin</span> <span class="literal" style="box-sizing: inherit;">–</span><span class="comment" style="box-sizing: inherit;">u</span> <span class="comment" style="box-sizing: inherit;">root</span> <span class="comment" style="box-sizing: inherit;">password</span> <span class="comment" style="box-sizing: inherit;">‘123456</span><span class="comment" style="box-sizing: inherit;">‘</span>
复制代码

登陆mysql

  1. <span class="comment" style="box-sizing: inherit;">mysql</span> <span class="literal" style="box-sizing: inherit;">–</span><span class="comment" style="box-sizing: inherit;">u</span> <span class="comment" style="box-sizing: inherit;">root</span> <span class="literal" style="box-sizing: inherit;">–</span><span class="comment" style="box-sizing: inherit;">p</span>
复制代码

按提示登录后,创建一个wordpress数据库,并对网络开放(依旧,这里的123456需要改成你刚刚设置的密码

  1. <p style="box-sizing: inherit; margin-bottom: 1.47368em;">mysql> <span class="operator" style="box-sizing: inherit;"><span class="keyword" style="box-sizing: inherit;">GRANT</span> <span class="keyword" style="box-sizing: inherit;">ALL</span> <span class="keyword" style="box-sizing: inherit;">PRIVILEGES</span> <span class="keyword" style="box-sizing: inherit;">ON</span> *.* <span class="keyword" style="box-sizing: inherit;">TO</span> <span class="string" style="box-sizing: inherit;">‘root’</span>@<span class="string" style="box-sizing: inherit;">‘%’</span>IDENTIFIED <span class="keyword" style="box-sizing: inherit;">BY</span> <span class="string" style="box-sizing: inherit;">‘123456’</span> <span class="keyword" style="box-sizing: inherit;">WITH</span> <span class="keyword" style="box-sizing: inherit;">GRANT</span> <span class="keyword" style="box-sizing: inherit;">OPTION</span>;</span></p><p style="box-sizing: inherit; margin-bottom: 1.47368em;">mysql> FLUSH PRIVILEGES;</p><p style="box-sizing: inherit;">mysql> create database wordpress</p>
复制代码

mysql至此搞定

2、php环境搭建

经过我的实验,wordpress需要这些php扩展包(有可能有些是多余的,请高手指教),下面用ssh安装php

  1. <p style="box-sizing: inherit; margin-bottom: 1.47368em;">opkg update</p><p style="box-sizing: inherit;">opkg install php5 php5-cgi php5-mod-curl php5-mod-hash php5-mod-json php5-mod-mcrypt php5-mod-mysql php5-mod-pdo php5-mod-pdo-mysql php5-mod-session php5-mod-xml zoneinfo-asia</p>
复制代码

有没有感到内存在哭泣?

接下来修改/etc/php.ini

  1. extension=curl.so
  2. extension=hash.so
  3. extension=json.so
  4. extension=mcrypt.so
  5. extension=mysql.so
  6. extension=pdo.so
  7. extension=pdo-mysql.so
  8. extension=session.so
  9. extension=xml.so
  10. extension=xmlreader.so
  11. extension=xmlwriter.so
复制代码

找到extension,把以上这些扩展前面的分号去掉,这样php就能正确识别扩展。还要修改时区,将;date.timezone改为

  1. date.timezone = Asia/Shanghai
复制代码

修改doc_root =为(这个是我的,每个人都有自己的路径)

  1. doc_root = “/mnt/sda1/www”
复制代码

大概这样子就搞好了php

3、uhttpd和设置wordpress

现在,已经完成了一大半了,剩下一些小任务要做。首先设置uhttpd映射,我们打开/etc/config/uhttpd,在最后添加

  1. config uhttpd ‘web’
  2. list listen_http ‘0.0.0.0:8080’
  3. option home ‘/mnt/sda1/www’
  4. option cgi_prefix ‘/cgi-bin’
  5. option index_page ‘index.php index.html’
  6. list interpreter ‘.php=/usr/bin/php-cgi’
  7. option redirect_https ‘0’
复制代码

解释一下,其中8080是端口,你可以修改,但别和luci的端口冲突了;/mnt/sda1/www则是网页根目录,和php.ini.中的路径要一致。

ssh进去,重启uhttpd

  1. /etc/init.d/uhttpd restart
复制代码

最后,把wordpress一堆文件(wp-admin啥的)解压到网页根目录中去(我的是/mnt/sda1/www),打开浏览器,访问http://网页服务器ip/wp-admin/install.php


wordpress在向你招手!


我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2016-8-28 09:30 | 显示全部楼层
不好,论坛代码显示有bug,这里重新发一下
最近打算在几台openwrt设备上玩玩wordpress,但是中途出现了种种问题,终于在经过两天的琢磨之后,终于成功的跑起来了(虽然速度真心慢,毕竟路由器的cpu运行大型php有点累)。现将过程分享如下:

我的设备有:一台mw4530r 和一台pogoplug pro

非常感谢以下前人的经验,给了我很大的帮助:
http://shuyz.com/install-and-config-mysql-on-openwrt.html
http://blog.sina.com.cn/s/blog_5bdee3020101hgd0.html
https://segmentfault.com/a/1190000000380308
很尴尬,不得不说,最后被迫采用了mysql和php分开的形式,因为mw4530r空间不足塞不下mysql;而pogoplug又在时区支持上有点问题,导致php报错。

现在正式开始:

1、安装mysql

打开ssh,输入命令

opkg update

opkg install mysql-server
然后用winscp或者vi命令,改一下配置文件/etc/my.cnf中的datadir和tmpdir,改到储存设备里去,不然nand要炸了,还要把bind-address改成0.0.0.0

接下来,初始化并启动mysql

mysql_install_db ––force

/etc/init.d/mysqld start
据说在执行第一句命令初始化的时候会报错,我也遇到了这个情况,转到恩山论坛下载一个数据库备份文件,复制进去就好了https://www.right.com.cn/forum/thread-50305-1-1.html

更改root账户在数据库中密码(这里123456是密码,需要自己更改)

mysqladmin –u root password ‘123456‘
登陆mysql

mysql –u root –p
按提示登录后,创建一个wordpress数据库,并对网络开放(依旧,这里的123456需要改成你刚刚设置的密码

mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@‘%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

mysql> create database wordpress
mysql至此搞定

2、php环境搭建

经过我的实验,wordpress需要这些php扩展包(有可能有些是多余的,请高手指教),下面用ssh安装php

opkg update

opkg install php5 php5-cgi php5-mod-curl php5-mod-hash php5-mod-json php5-mod-mcrypt php5-mod-mysql php5-mod-pdo php5-mod-pdo-mysql php5-mod-session php5-mod-xml zoneinfo-asia
有没有感到内存在哭泣?

接下来修改/etc/php.ini

extension=curl.so
extension=hash.so
extension=json.so
extension=mcrypt.so
extension=mysql.so
extension=pdo.so
extension=pdo-mysql.so
extension=session.so
extension=xml.so
extension=xmlreader.so
extension=xmlwriter.so
找到extension,把以上这些扩展前面的分号去掉,这样php就能正确识别扩展。还要修改时区,将;date.timezone改为

date.timezone = Asia/Shanghai
修改doc_root =为(这个是我的,每个人都有自己的路径)

doc_root = “/mnt/sda1/www”
大概这样子就搞好了php

3、uhttpd和设置wordpress

现在,已经完成了一大半了,剩下一些小任务要做。首先设置uhttpd映射,我们打开/etc/config/uhttpd,在最后添加

config uhttpd ‘web’
list listen_http ‘0.0.0.0:8080’
option home ‘/mnt/sda1/www’
option cgi_prefix ‘/cgi-bin’
option index_page ‘index.php index.html’
list interpreter ‘.php=/usr/bin/php-cgi’
option redirect_https ‘0’
解释一下,其中8080是端口,你可以修改,但别和luci的端口冲突了;/mnt/sda1/www则是网页根目录,和php.ini.中的路径要一致。

ssh进去,重启uhttpd

/etc/init.d/uhttpd restart
最后,把wordpress一堆文件(wp-admin啥的)解压到网页根目录中去(我的是/mnt/sda1/www),打开浏览器,访问http://网页服务器ip/wp-admin/install.php

wordpress在向你招手!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-8-28 09:51 | 显示全部楼层
WordPress路由跑起来吃力,不如搞个Typecho...

点评

看了wiki,觉得可能会比wp小很多,回去试试,但是同样需要数据库,所以php+sqlite/mysql环境还是需要的  详情 回复 发表于 2016-8-29 13:43
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-8-28 10:42 | 显示全部楼层
知道能不能用得上
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2016-8-29 13:43 来自手机 | 显示全部楼层
邪恶海盗 发表于 2016-8-28 09:51
WordPress路由跑起来吃力,不如搞个Typecho...

看了wiki,觉得可能会比wp小很多,回去试试,但是同样需要数据库,所以php+sqlite/mysql环境还是需要的

点评

我的印象中也是有纯HTML的轻量级博客程序的,忘记名了...  详情 回复 发表于 2016-9-4 00:19
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-8-29 14:17 | 显示全部楼层
一直在找这类教程
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2016-9-4 00:19 | 显示全部楼层
tom1024 发表于 2016-8-29 13:43
看了wiki,觉得可能会比wp小很多,回去试试,但是同样需要数据库,所以php+sqlite/mysql环境还是需要的

我的印象中也是有纯HTML的轻量级博客程序的,忘记名了...
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-29 04:18

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

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