树莓派+wordpress搭建个人网页/博客

发布于 2020-09-08  56 次阅读


0.引言(碎碎念)

本人在几周之前购买了一个树莓派进行学习,之后也萌生了用树莓派搭建一个自己的个人博客的想法,寻思着既能学到东西,以后也能将学习过程中踩的坑在博客里记录下来,一举两得,于是一开始便使用wordpress来搭建,在踩了许多坑后,终于搭建好了,但在使用过程中发现搭建的博客并没有达到我想要的效果,在经过一段时间的搜索后,发现使用hexo框架来搭建博客更能满足我的要求,于是又使用hexo搭建了一个全新的博客,使用hexo和wordpress搭建博客在我看来最大的区别就是,wordpress搭建的博客需要你的服务器24小时在线,否则你的博客就无法访问,而使用hexo搭建网站,由于它是在你的github库里生成静态网页,所以不需要你的服务器24小时在线也能正常访问,相当于github提供了一个免费的服务器。虽然个人更加喜欢hexo一点,但是好歹wordpress也踩了这么多坑,就写一份详细的教程吧,起码wordpress除了能搭博客之外,还能建其他网页嘛。想使用hexo搭博客的小伙伴可以看我的下一篇博客

1.安装LNMP四件套

在使用wordpress之前,我们需要先在你的数码派上将LNMP四件套安装完成,LNMP即为Linux、Nginx、MaraiDB(MySQL)、PHP,这也就意味这除了树莓派我们还可以使用其他运行着Linux系统的设备。本文基于树莓派进行搭建,如果你使用的不是树莓派可能有些地方有出入,不过都是大同小异的,稍加修改即可。

打开命令行,依次输入下列命令

sudo apt install nginx        #安装Nginx
sudo apt install php7.3	      #安装PHP及相关应用,可能你安装的时候7.3已经不是最新版了,百度一下最新版然后修改版本号即可
sudo apt install php7.3-fpm
sudo apt install php7.3-mysql
sudo apt install php7.3-common
sudo apt install mariadb-server     #安装MaraiDB

之后我们需要对我们的Nginx进行一些简单的配置,输入下列命令

sudo nano /etc/nginx/sites-available/default

找到和下面相对应的部分并用下面的将原部分覆盖

# Default server configuration
#
server {
        listen 80 default_server;
        listen [::]:80 default_server;
 
        root /var/www/html;
 
        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html index.php;
 
        server_name _;
 
        location / {
                 # First attempt to serve request as file, then
                 # as directory, then fall back to displaying a 404.
                 try_files $uri $uri/ =404;
        }
 
        # pass PHP scripts to FastCGI server
        #
        location ~ \.php$ {
                 # include snippets/fastcgi-php.conf;
                 #
                 # # With php-fpm (or other unix sockets):
                 fastcgi_pass unix:/run/php/php7.3-fpm.sock;
                 # # With php-cgi (or other tcp sockets):
                 # fastcgi_pass 127.0.0.1:9000;
                 # 设置脚本文件请求的路径
                 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                 # 引入fastcgi的配置文件 
                 include fastcgi_params;
        }
 
}

Ctrl+O保存文档,Ctrl+X退出

输入下列命令重启服务

sudo /etc/init.d/nginx restart
sudo /etc/init.d/php7.3-fpm restart

两次均出现OK即表示重启成功

sudo service mariadb restart    #输入这两行命令无任何提示是正常现象
sudo service nginx restart

接着输入下列命令

sudo chmod 777 /var/            #下面三行给文件授予权限
sudo chmod 777 /var/www
sudo chmod 777 /var/www/html
cd /var/www/html                #该文件夹下为网站根目录
sudo nano index.php             #新建PHP文件进行测试

在index.php中输入<?php phpinfo(); ?>,保存后退出,在浏览器中输入你的树莓派ip/index.php,如果看到了下图的phpinfo 信息,说明php和nginx配置成功

我的phpinfo信息

接下来我们还需要安装phpMyAdmin

sudo apt install phpmyadmin
安装过程中会出现该对话框,选择第一个按回车即可

出现第二个对话款选择YES即可,之后会再弹出个对话框让你输入密码,输入完成后选择ok,然后再输入一遍密码即可(这个密码是之后登录phpmyadmin要用的,务必牢记,同时也要注意大小写)

安装完成后还需要把phpmyadmin 连接到 nginx服务器的php根目录上,用下面这个命令来建立软连接

sudo ln -s /usr/share/phpmyadmin /var/www/html

完成后在浏览器内输入你的树莓派ip/phpmyadmin,出现下方图片即说明配置成功

但是我们不能直接使用,因为我们目前的数据库用户是没有权限的,所以我们还需要创建一个有权限的数据库用户

回到命令行

sudo mysql -u root -p     #进入mariaDB环境,第一次登陆是没有密码的,直接按回车即可

输入下列命令

CREATE USER 'name'@' localhost ' IDENTIFIED BY 'password';

注:不要漏掉分号,name处填入你想要创建的账户名,password处填入该账户的密码,一下所有账号名都用name来代替,请根据自己实际情况进行修改

出现Query OK说明创建成功,没出现说明输入的命令有问题,再检查一遍

然后输入下面的命令来授予我们的用户最高权限

grant all privileges on *.* to name@localhost;

如果想要撤销权限的话就输入下列命令

revoke all privileges on *.* form name@localhost;

最后记得刷新一下权限信息,否则在之后会出现错误

flush privileges;

然后就可以输入exit退出了

之后打开浏览器输入网址进入phpmyadmin,用之前创建的用户名和密码进行登录,就会发现已经拥有全部权限了

点击图中红框处即可重新登录

至此LNMP四件套都已安装配置完成!

2.安装wordpress

打开树莓派浏览器,输入wordpress.org,在官网中进行下载,也可以获取下载链接,在控制台中使用wget命令直接进行下载,如果在树莓派内下载速度缓慢,可以先在PC上将压缩包下载下来,再传到树莓派上。

下载完成后将文件解压至/var/www/html处,你也可以将解压后的文件重命名,比如我将文件重命名为blog,然后还需要输入下列命令给文件赋予权限

sudo chmod 777 /var/www/html/blog

之后你需要给你的网站创建一个数据库,打开树莓派浏览器进入phpmyadmin,点数据库,输入数据库名就可以直接点创建了

之后输入你的树莓派IP/文件名,以我的为例就是168.192.1.100/blog,然后会出现欢迎界面,点击开始即可,然后会让你填写一些基本信息,用户名和密码为你登录phpmyadmin时的用户名和密码,数据库主机填为你的树莓派IP地址,表前缀不需要进行更改。

然后会跳转到一个新的页面,按照提示填写信息即可,完成之后进行登录,出现下图即说明大功告成啦!

然后你可以自己更换网站的外观,或者使用插件来美化自己的网站,all up to you!

当然你也可以在同一局域网下使用其他设备来访问你的网站,如果希望自己的网站能被当前局域网以外的网络(即外网)访问的话,推荐新手使用花生壳进行内网穿透,花生壳官方也有十分详细的教程,这篇文章就不过多的涉及了。

3.问题及解决方法

(1)同一局域网下其他设备无法正常显示网站页面

检查一下设置,将这两处改为你的树莓派的IP地址/文件名即可,如果你wordpress的文件夹换了位置或者重命名了也需要修改此处

(2)下载主题或者插件时显示未能连接到FTP服务器

如果出现上诉错误提示,在控制台输入

sudo apt install vsftpd        #安装ftpd服务

安装成功后,ftpd就已经可以登录和浏览文件了,但是不能写,需要更改写权限。

更改权限需要

sudo passwd root

然后输入两遍密码

sudo --unlock root           #解锁root用户

然后再输入su,输入刚刚的密码,进入root用户

nano /etc/vsftpd.conf

去掉write_enable=YES前面的#,保存退出

service vsftpd restart         #重启服务

之后再重启树莓派即可

之后再下载主题即可,FTP用户名和密码为树莓派的用户名和密码,默认为pi和raspberry

如果进行了以上操作还是无法下载主题的话,可以先在PC上将主题下载下来,再传到树莓派中,解压放在/var/www/html/blog/wp-content/thems中即可。

4.one more things

博客建完之后就完了?我在开头就讲过wordpress还可以做其他网站,所以,我们还可以使用wordpress搭建一个简易的树莓派资源监控网站,这也是我即便是后来使用hexo搭完博客之后还留着wordpress的原因。

而这个网站搭建起来也十分的简单,因为难的部分别人都帮我们做好了,我们只需要在github上clone下来使用就好了。

首先我们需要安装git,一般来说Raspbian里内置有git,如果没有的话使用一下命令来进行安装

sudo apt install git

然后我们需要把我们的目录设定在网站的根目录下

cd /var/www/html/

然后使用git工具将github上的开源项目pi dashboard给clone下来并赋予权限

sudo git clone https://github.com/spoonysonny/pi-dashboard.git
sudo chown-R www-data pi-dashboard        #为pi dashboard赋予权限

打开浏览器,输入你的树莓派IP/dashboard,即可看到树莓派的资源使用情况

如果你感兴趣的话还可以来我们的个人博客看看inkor.xyz

原文链接:https://zhuanlan.zhihu.com/p/165123275


一个追求爱搞的小逗逼