在树莓派3B+ 用LAMP搭建wordpress

硬件:树莓派3B plus

 系统:raspbian 

设备:电脑+路由器 

wordpress是世界上最流行的博客系统,不是程序员不会php,java,html等技术也可以自己做网站。由于打算放视频,局域网嘛不在乎带宽,打算采用LAMP,内存充足动态效果好首选apache做WEB服务器。

参考树莓派官网https://projects.raspberrypi.org/en/projects/lamp-web-server-with-wordpress/3

第一步:安装LAMP环境

1.1安装apache2

sudo apt-get install apache2

开启并开机启动

sudo systemctl start apache2

sudo systemctl enable apache2

改端口为8070

sudo vim /etc/apache2/ports.conf

查看站点配置文件发现主目录在/var/www/html

sudo vim /etc/apache2/sites-available/000-default.conf

重启

sudo systemctl restart apache2

1.2 安装MySQL

sudo apt-get install mysql-server -y

开启并加入开机启动

sudo systemctl start mysql

sudo systemctl enable mysql

安装后未出现配置会话,root无密码无法登陆。sudo mysql可以登录,但是mysql 登陆拒绝 

 设置root密码 

 sudo mysqladmin -u root password "newpassword"   

或者使用这条命令设置root密码

sudo mysql_secure_installation 

 设置密码后尝试登录,出现如下错误

 pi@raspberrypi:~ $ mysql -u root -p 

101200 Enter password:  ERROR 1698 (28000): Access denied for user 'root'@'localhost 

 经查询,mysql安装后默认使用验证为 UNIX auth_socket plugin.(好像是系统验证),进入数据库查看是否真的如此。 

20180524160107621.png

 更换为密码验证方式,(这一步必须做否则后面安装wordpress时会提示数据库密码不对,即使输入正确的也不行): 

 MariaDB [(none)]> use mysql;

 MariaDB [mysql]> update user set plugin='mysql_native_password' where user='root'; 

 MariaDB [mysql]> flush privileges; 

 MariaDB [mysql]> exit 

 退出后重新登录可以顺利进入

1.3 安装php

sudo apt-get install php php-mysql -y


第二步:安装wordpress

2.1 官网下载wordpress安装包并用电脑上传到树莓派的web根目录/var/www/html下面,可以用winscp这个软件或者是在树莓派装samba后直接复制粘贴进去

cd /var/www/html

2.2 解压

sudo tar -xzvf wordpress-4.7.2-zh_CN.tar.gz 

把解压出来的wordpress目录里所有文件移动到当前目录,省的修改apache2配置文件里的根目录

sudo mv wordpress/* ./

接着在电脑浏览器输入树莓派IP+8070端口,就可以看见wordpress安装界面了

2.3创建wordpress数据库

mysql -uroot -p

进去之后

create database wordpress;

Ctrl+C退出

2.4创建wp-config.php文件

浏览器页面输入数据库账号密码,其他不要改,下一步

接着提示无法创建wp-config.php文件,那你就手动在/var/www/html目录下创建一个,把这些配置文件复制进去就好了

sudo nano wp-config.php

接着下一步,等几秒钟就会出现后台管理界面,至此wordpress安装完成。

QQ截图20180924131841.png

2.5问题解决

2.5.1上传文件限制为2M,解决如下

sudo vim /etc/php/7.0/apache2/php.ini

vim下复制粘贴按住shift键

修改为

upload_max_filesize = 2000M

post_max_size = 2000M

重启apache2

sudo systemctl restart apache2

刷新下页面就可以看到变成了2G

2.5.2媒体库添加文件提示似乎没有上级目录写的权限

sudo chmod -R 777 wp-content/

刷新一下就可以传上去了

2.5.3 wordpress版本更新失败跳出FTP

这是因为网站根目录不是apache指定的用户造成的

pi@raspberrypi:~ $ sudo ps -ef | grep apache2

root      4024     1  0 Sep28 ?        00:00:11 /usr/sbin/apache2 -k start

www-data 20938  4024  0 Oct01 ?        00:00:00 /usr/sbin/apache2 -k start

www-data 20939  4024  0 Oct01 ?        00:00:00 /usr/sbin/apache2 -k start

www-data 20940  4024  0 Oct01 ?        00:00:00 /usr/sbin/apache2 -k start

www-data 20941  4024  0 Oct01 ?        00:00:00 /usr/sbin/apache2 -k start

www-data 20942  4024  0 Oct01 ?        00:00:00 /usr/sbin/apache2 -k start

pi       25293 22746  0 02:08 pts/0    00:00:00 grep --color=auto apache2

可以看到该程序是www-data用户运行的,所以得把网站目录的权限给他才行。

sudo chown -R www-data:www-data /var/www/html/

改为www-data为所有者,貌似这个用户是树莓派上专门给web服务器用的,nginx也是这个用户。

2.5.4 媒体库上传文件提示http错误

上传一个视频,明明进度条到了百分之百,可是还是不成功,提示http错误,改了777权限和所有者依然如此,发现结果是nginx配置文件问题,这里得web服务器虽然是apache2,但由于我用nginx做了反代,所以问题依然是处在nginx上。

sudo vim /etc/nginx/nginx.conf


http{
    client_max_body_size    1000M;
    keepalive_timeout  300;
}

然后测试配置文件

sudo nginx -t

nginx -s reload

就可以了



最后编辑于:2018/09/24作者: admin

发表评论