网上关于zero的板子的资料是少之又少,很多时候都要参考一下树莓派的文章,而且由于处理器是arm版的,所以一路上遇到过很多坑。因此特意将过程记录下来。原文章在这里www.makerjia.top
安装Nginx
sudo apt-get -y install nginx
安装php及其组件
网上大多是安装php5的教程,但是ubuntu从16.04开始,默认是php7的,因此直接按照网上的教程来会报错。
sudo apt install php php-fpm php7.0-mysql
安装MySQL
sudo apt install mysql-server
创建wordpress数据库
输入sudo mysql进入mysql命令行界面(所有SQL语句注意后面的分号)
#设置数据库密码
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码');
#为wordpress创建数据库
mysql> CREATE DATABASE IF NOT EXISTS wordpress DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#确认数据库已建立
mysql> show databases;
可以看到已经成功添加数据库wordpress
输入quit;(注意分号)退出mysql
问题集锦
安装并创建好数据库后,再以普通用户登录MySQL是会被拒绝的,这是因为MySQL是使用sudo命令安装的,安装完之后使用sudo mysql -uroot可以进入mysql命令行;但是普通用户,使用mysql -uroot命令从命令行访问数据库时,则会出现mysql error 1698(28000): Access denied for user 'root'@'localhost'。
解决办法如下:
sudo mysql -uroot
use mysql;
update user set plugin='' where user='root';
flush privileges;
exit;
将mysql.user表中所用root用户记录的plugin字段设置为空字符串即可。不过直接在命令行操作数据库还是不太方便的,更多的则是通过工具访问数据库并操作,我一般喜欢用Navicat去操作。
然而在输入主机名,密码以及端口后,连接测试时,出现了2003-Can't connect to Mysql on '主机名'(10061)
问题。原因是ubuntu系统的mysql不允许被远程连接操作。
解决办法如下:
cd /etc/mysql/mariadb.conf.d
vim 50-server.cnf
将bind-address = 127.0.0.1修改为bind-address=0.0.0.0
保存退出
sudo service mysqld restart重启MySQL
配置Nginx
以上步骤完成之后,工作量顿减一半,剩下的则是配置Nginx。首先我们备份default
cd /etc/nginx/sites-enabled/
sudo cp dafault default.old
编辑default
sudo vim /etc/nginx/sites-enabled/default
打开vim行号显示
:set nu
在第44行后面加上index.php
在第56-63行,按照如图所示,取消原有注释
最后保存退出。
下载最新版Wordpress
cd /tmp
wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
tar zvxf wordpress-4.9.4-zh_CN.tar.gz
sudo rm -rf /var/www/html/*
sudo cp -r /tmp/wordpress/* /var/www/html/
重新启动Nginx,MySQL
sudo service nginx restart
sudo service mysqld restart
WordPress安装设置
在浏览器输入Zero的内网IP,会重新定向到WordPress的设置界面。
数据库名填写刚刚创建好的wordpress,用户名填写root,密码为你设置的数据库密码,数据库主机填写127.0.0.1,表前缀默认为wp-
不过网站根目录文件夹如果没有写入权限的时候会跳转到另一个页面
这里按照提示,在/var/www/html/
目录下创建一个wp-config.php文件,并将提示的内容复制进去,点击继续安装即可。
本来以为安装完之后,就可以了,但是在卸载WP自带的插件时,总是报错。查阅资料后发现是文件夹没有权限,给其赋予权限就可以了。
chmod 777 -R /var/www/html
至此就算是大功告成了。