最近打算在几台openwrt设备上玩玩wordpress,但是中途出现了种种问题,终于在经过两天的琢磨之后,终于成功的跑起来了(虽然速度真心慢,毕竟路由器的cpu运行大型php有点累)。现将过程分享如下: 我的设备有:一台mw4530r 和一台pogoplug pro 很尴尬,不得不说,最后被迫采用了mysql和php分开的形式,因为mw4530r空间不足塞不下mysql;而pogoplug又在时区支持上有点问题,导致php报错。
现在正式开始: 1、安装mysql 打开ssh,输入命令 - <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 - <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是密码,需要自己更改) - <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 - <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需要改成你刚刚设置的密码 - <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 - <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 - 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在向你招手!
请不要胡乱输入以及粘贴、复制等方式灌水
请尊重作者、并共同维护网站的正常阅读,否则账户将会被限制发帖、回帖,并且积分可能会被清零,站内短信以及阅读权限等都会受到影响,谢谢。
具体限制方式:https://www.right.com.cn/forum/thread-8307840-1-1.html
|