树莓派搭建wordpress博客

一、前期准备

1、换源

进去以后先删除掉自带的国外源,然后把清华源复制进去再保存(Ctrl+O)退出(Ctrl+X)

更换软件更新源:
nano /etc/apt/sources.list
阿里镜像源:
deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ jessie main non-free contrib rpi
清华镜像源:
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
或者这个方式(不懂啥区别~)
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
image-20210201121728762

更换系统更新源。

nano /etc/apt/sources.list.d/raspi.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
image-20210201120626228

2、更新软件源与安装包

先更新软件源,检测是否有更新的软件包。

apt-get update
image-20210201121911517

接下来,我们更新软件包。

apt-get upgrade

选择y,回车,进行安装。

image-20210201122115783

漫长的等待~

image-20210201123621383

完成Done。

3、全套哈哈哈

我喜欢这么直接来一梭子

apt-get clean    //清除缓存索引
apt-get update   //更新索引文件
apt-get upgrade   //更新实际的软件包文件
apt-get dist-upgrade   //根据依赖关系更新
reboot               //重启

over!

二、安装与配置LAMP环境

1、LAMP简介

Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

Linux就是咱们的操作系统,Apache是一个web服务器,MySQL是一个数据库,比如网站的内容,网站上的用户都存在数据库里面,php是一个主要适用于Web开发领域的编程语言。 那么我们要如何安装这些应用呢?需要一个命令:

apt-get install name(软件包的名字)

2、安装Apache

apt-get install Apache2
输入以后提示你要下载多少东西要确认吗?输入Y就是确定,输入N就是不安装!
当然可以这样操作:apt-get install apache2 -y
image-20210202125025202
image-20210202124947506

安装完成,使用命令来开启Apache2!

service apache2 start
image-20210202125310270

目前已经安装好了Apache2,那么如何验证?输入你树莓派的内网IP就可以看到效果了,如果忘了树莓派IP懒得去翻路由器后台可以直接输入ip addr来查看树莓派的内网IP。

image-20210202125446278

在浏览器输入树莓派的内网IP(192.168.0.101)按回车~~

image-20210202125539087

可以看到Apache2已经成功运行了~

3、安装PHP环境

安装PHP的套路和上头安装Apache2的套路也差不多的,指令如下

apt-get install php php-mysql php-gd     //同时安装多个应用
image-20210202135652113
image-20210202135826848

终于安好了,咱们测试一下PHP是否可以用,首先到网页默认目录,使用cd来切换目录.

cd 路径

在这里咱们是切换到/var/www/html/ 也就是~

cd /var/www/html/

然后瞅瞅里头有什么使用ls指令(list的意思)

ls

该目录下只有默认的index.html文件

image-20210202140114859

咱们新建一个php文件用于测试php是否可用,首先创建一个test.php使用touch命令~

touch test.php

再次ls查看目录里头有点什么东西,发现多出来咱们刚刚创建的东西

image-20210202140238271

现在使用nano编辑器进去写上测试代码~

nano test.php
代码如下:
<?php phpinfo();?>
image-20210202140353126

Ctrl+O 回车 保存 Ctrl+X 退出。保存并退出后访问 内网IP/test.php

192.168.0.101/test.php
image-20210202140445894

这就是PHP的信息,同时也代表了咱们的PHP已经运行了!

4、安装MySQL环境

apt-get install mariadb-server-10.0 
image-20210202141502516
image-20210202141516372

根据提示输入创建root密码:

image-20210202141555979

再次输入,确认密码:

image-20210202141623550
image-20210202141736430

安装完成。直接输入MySQL提示需要使用用户和密码登录。

image-20210202141903753

这说明我们之前已经创建好了root密码,使用一下试一试~

mysql -u root -p
image-20210202141945516

完美成功!

5、创建wordpress数据库

现在可以去新建一个数据库,指令如下:

create database 数据库名;

我们先创建了一个名字叫wordpress的数据库,以备后面使用~

create database wordpress;
image-20210202172010162

下面我们使用 show databases; 这个命令查看一下wordpress库是否创建成功~

image-20210202172203972

完美over!

三、安装与配置WordPrss环境

1、WordPress下载

使用wget下载wordpress,wget是用来下载文件的命令,指令如下:

wget url(统一资源定位符)

下载汉化版wordpress的命令是

wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz

这里,我们需要下载到www目录中~

cd /var/www
image-20210202174154260

回车,等待下载完成~

image-20210202174240467

下载完了当然要解压,使用这个命令来解压tar.gz。语法如下:

tar zxvf 文件名

ok,我们解压~不要忘了TAB自动补全哦~

tar zxvf wordpress-4.9.4-zh_CN.tar.gz 
image-20210202174617171

解压完成!

然后把默认的html目录给删除!

rm -rf html
image-20210202174717935

现在把刚刚解压的wordpress文件夹改名成html,指令如下:

mv wordpress html

运行了以后就将wordpress文件夹改名为了html

image-20210202174827270

完成!

2、给www目录权限

待会安装的时候为了避免权限低,不能写入等等,我们给www目录上权限~

先返回上级var目录,然后写入命令,再回到www目录即可~

cd ..
chmod -R 777 www/
cd www
image-20210202180123820

3、安装WordPress

现在就可以去浏览器上输入你树莓派的内网IP(192.168.0.101)来安装Wordpress了!

image-20210202180343569

点击”现在就开始”。数据库名就是刚刚创建的数据库名字,比如我创建的名字叫wordpress,用户名和密码就是MySQL的root密码,刚刚也设置过了,剩下两行不需要管,点击”提交”就OK

image-20210202180521010

接下来点击“现在安装”即可~

image-20210202180629383

接下来,输入你的站点名字吧,密码啥的都写好了就点击”安装Wordpress“

image-20210202180825827

biubiu安装吧~

image-20210202181512357

完成!

image-20210202182704410

四、环境搭建过程中的小插曲汇总

1、sudo的使用

普通用户,在安装软件等操作的前面要加上sudo

例如:
sudo apt-get install apache2 -y
sudo nano /etc/apt/sources.list

2、无法安装软件的问题

E: Unable to locate package Apache2

image-20210201133039888

问题出现的原因是没有更新源 可以使用以下操作:

sudo apt-get update
sudo apt-get upgrade

如果这样还是没办法解决,那就只能从新换源,更改使用清华、阿里云、中科大的源~

3、MySQL的安装乐趣

正常来讲安装MySQL的命令是:

apt-get install mysql-server

但是会报错:

[root@raspberrypi /]$ apt-get install mysql-server
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Package mysql-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
mariadb-server-10.0

E: Package 'mysql-server' has no installation candidate

有如上提示,意思是可以安装mariadb-server-10.0,我要安装mysql但是却提示安装mariadb-server这是什么鬼~下面是我搜集到的资料~

MariaDB是MySQL源代码的一个分支,随着Oracle买下Sun,MySQL也落入了关系型数据库王者之手。在意识到Oracle会对MySQL许可做什么后便分离了出来(MySQL先后被Sun、Oracle收购),MySQL之父的Michael以他女儿Maria的名字开始了MySQL的另外一个衍生版本:MariaDB。这两个数据库究竟有什么本质的区别没有?

区别一:

MariaDB不仅仅是Mysql的一个替代品,MariaDB包括的一些新特性使它优于MySQL。

区别二:

MariaDB跟MySQL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同。目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了Oracle官方的MySQL版本。

MariaDB 是一个采用Aria存储引擎的MySQL分支版本, 这个项目的更多的代码都改编于 MySQL 6.0

区别三:

通过全面测试发现,MariaDB的查询效率提升了3%-15%,平均提升了8%,而且没有任何异常发生;以qp为单位,吞吐量提升了2%-10%。由于缺少数据支持,现在还不能得出任何结论,但单从测试结果看来还是非常积极的。join中索引的使用以及查询优化,特别是子查询方面,MariaDB都有不少提升。此外,MariaDB对MySQL导入导出有良好支持。

—— 更多详细内容参考 《解析Mariadb与MySQL的区别

嗯,原来如此~那就根据提示安装即可~

apt-get install mariadb-server-10.0 

4、MySQL密码的趣事

MySQL安装完成后,有一些朋友没看到创建密码的地方,那么默认的root用户密码为空,不过没关系。我们手动创建root密码。

sudo mysqladmin -u root password 设置的新密码;

输入以后,回车,即可成功。

可是,随之而来。问题来了:mysql设置root用户密码不生效,不输入密码或者输错密码也能访问数据库

问题解答:

mysql.user的表中root用户对应的plugin='auth_socket',使用auth_socket插件。该插件不关心密码是否输入正确,它只检查用户是否使用UNIX套接字进行连接,然后查看用户名是否正确。
因此在修改root用户的密码时,应该同时把plugin修改为 'mysql_native_password'

解决方法:

方法1:
use mysql;   //进入mysql数据库
update user set authentication_string=password('你自己的密码'), plugin='mysql_native_password' where user='root';

方法2:可以通过以下命令来连接到Mysql服务器,并使用flush privileges;来使密码立即生效。
[root@raspberrypi ~]$ mysql -uroot -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 63
Server version: 10.3.22-MariaDB-0+deb10u1 Raspbian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)

方法3:
[root@raspberrypi ~]$ mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 49
Server version: 10.3.22-MariaDB-0+deb10u1 Raspbian 10
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed

MariaDB [mysql]> update user set Password=PASSWORD("你的密码") where user="root";
Query OK, 1 row affected (0.002 sec)
Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [mysql]> quit
Bye

//接下来重启MySQL
[root@raspberrypi ~]$ /etc/init.d/mysql restart;
[ ok ] Restarting mysql (via systemctl): mysql.service.

5、设置MySQL远程登陆

将bind-address注释掉然后重启mysql即可

[root@raspberrypi ~]$ vim /etc/mysql/mariadb.conf.d/50-server.cnf


# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address           = 127.0.0.1

[root@raspberrypi ~]$ /etc/init.d/mysql restart;
[ ok ] Restarting mysql (via systemctl): mysql.service.

6、安装wordpress时,建立数据库连接时出错解决办法

image-20210202182016694

为了解决问题可以开启调试模式自动解决也就是在wp-config.php文件中增加一行define('WP_ALLOW_REPAIR', true);

image-20210202182304213

然后访问 你的树莓派IP/wp-admin(192.168.0.101/wp-admin) 点击”修复”

image-20210202182346236
image-20210202182416519
image-20210202182433709

修复好了,记得删除刚添加的那行代码!~~~

再次访问博客~完美!

image-20210202182644190

五、端口映射

PS:前提的你家路由器的IP是公网IP。也就是你的路由器WAN口的IP和你在百度查找你电脑的IP是一样的,才可以做端口映射~

1、端口映射的概念

端口映射是把外网IP地址的某一个端口映射到内网的某台主机的某台端口,比如你的服务器内网IP是192.168.0.101,那么只需要把192.168.0.101的80端口映射到公网的80端口就可以了,但是很多地区禁用了80端口,也可以通过其他端口来访问你的网站,比如可以把192.168.0.101的80端口映射到公网的1314端口,那么通过1314端口也可以来访问你的服务器

2、通过家用路由器端口映射

首先进入路由器的管理界面,默认的网址是192.168.1.1或者192.168.0.1,注意账号密码啥的都是自己设置的哦~

image-20210208171814634

进入以后寻找端口映射这个按钮,如果你家是TP-Link或者其他常见厂商的话名字可能为”虚拟服务器”,不要担心,功能都一样。例如我的就是TP-Link~

image-20210208171930508
image-20210208172039489

点击”添加”就可以添加一条端口映射规则,内网端口写你搭建的服务的开启端口。IP地址写你的设备的ip地址。协议填TCP,如果支持TCP+UDP的话写TCP+UDP。外网端口就是通过外网IP访问你这台服务器的80端口要通过什么端口,如果是建站的话最好填写80,如果当地服务商禁掉80端口你就不能通过外网访问你的网站服务器了,这时候可以打个投诉电话,或者妥协选择其他端口,比如使用80端口,那么通过浏览器访问你的网站是这么写的:

00.00.00.00:80
image-20210208172710022

设置好之后,就可以访问了~

image-20210208172647684

六、域名访问

有待研究,暂且不需要~

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇