如何在树莓派上搭建个人博客系统(踩坑笔记)
1 序言
小牧在去年用开源论坛给实验室小伙伴们搭建了一个用于保存资料的论坛,并且通过花生壳做的内网穿透个域名解析,论坛的主页面大概是这个样子的。时间一晃就已经过去了一年,这一年来的维护可真是五味杂陈。
情况大概是这样的,实验室搭建在学校实验室的一台主机上,主机上安装的VMware虚拟机,并且安装了Ubuntu系统,为啥要这样做,因为还有实验室的其他小伙伴要用Windows系统跑程序呀。Web服务器采用的最常见的LAPM(即Linux系统+Apache+Php+Mysql)结构,开源论坛采用的是最最常见的Discuz。我们在上面改吧改吧又加了一些小东西,勉强能用。这样会出现哪些问题我稍微总结一下:
(1)花生壳内部服务器维护,导致身在外地的我断开了与服务器的连接;
(2)实验室停电,实验室断网;
(3)实验室其他小伙伴不小心给你把电脑关了,或者重启了;
总之,你需要每天在学校待着,如果想保证你的网站随时随刻都能正常运行,这些都是你的网站无法访问的原因,当然这个时候你可以租云服务器,如果是学生的话,学生机还是相当优惠的哈!!这里我想介绍用剩下的一块树莓派3B来搭建Web服务器,并且在上面搭建个人博客系统,以后咱的博客可就转到树莓派上去啦。
2 搭建LAPM环境
2.1 在树莓派上安装Linux操作系统
树莓派安装操作系统请参考: >>>点击查看
2.2 安装Apache
安装Apache非常简单,输入指令:
sudo apt install apache2
等到安装完成,遇到y/n时选择y即可继续安装
安装完成之后打开浏览器,输入树莓派的IP地址,成功安装将会看到以下页面:
2.3 安装PHP
sudo apt install php
[补充] 查看php版本
php -v
测试php是否正常工作
(1)进入apache工作目录
cd /etc/www/html/
(2)创建php测试文件index.php
<?php phpinfo(); ?>
一个符号都不要输入错哈!!!
(3)打开页面,输入树莓派的IP地址/index.php,查看树莓派的IP地址shell指令为:ifconfig,例如我的是192.168.1.143/index.php,成功的话将看到如下界面:
2.4 安装MySQL
我们在Ubuntu系统上安装MySQL上通常使用指令来安装:
sudo apt install mysql-server
然而出现这样的错误:
后面查阅了相关资料,原来可以用MariaDB代替,参考文献 >>>点击查看
需要注意的是配置数据库密码的时候的代码需要几点说明:
use mysql; UPDATE user SET password=password('password') WHERE user='root'; UPDATE user SET plugin='mysql_native_password' WHERE user = 'root'; flush privileges; exit
第二行括号内部单引号内的password就是设定的密码,这个是很重要的,后面登录数据库的时候输入的密码就是这个,因此这里的password可以改成我们自己的密码。其余的参考参考文献即可。
安装php-mysql
sudo apt-get install php-mysql
重启apache
3 下载并安装WordPress
下载链接:>>>点击访问
下载解压完成之后直接上传到树莓派的/var/www/html文件夹下面,然后打开浏览器输入树莓派的IP地址/wp-admin/install.php,如果一切顺利,将会看到如下界面。
上面显示准备好如下信息,我们按照要求一项一项的准备好。主要是前三个,后面两个不需管他,首先进入数据库创建一个新的数据库:
mysql -u root -p //进入数据库 show databases; //查看现有数据库的数据库名 creare database WordPress_xiaomu //创建一个WordPress_xiaomu的数据库
数据库名就是我们刚刚创建的数据库名,数据库用户名就是在创建数据库的用的用户名root,密码也是之前创建,应该还记得吧!根据提示一步一步走就OK了。
创建完成之后下载主题发现如下错误:
网上很多说法是权限不够,于是改了权限之后发现问题还是没解决,什么原因?
或者是无法下载主题,我们尝试查看apache的用户组,使用指令
ps aux 或者 ps -aux
仔细查找里面的apache2的用户组ID为www-data,因此我们直接用指令改变html文件夹下面的所有文件的用户组权限
sudo chown www-data:www-data /var/www/html/
然后用指令查看用户组权限
ls -l
然后就能完美的下载各种主题和插件了。当然你也许在过程中遇到各种各样的BUG,需要根据错误信息一点一点去找原因,一点一点调通,祝建站顺利。
我搭建的最后的效果如下: