基于树莓派LAMP设计与实现
树莓派基础系统安装:
- 所需材料:
- 硬件:树莓派4B,可连接外网无线路由器,TF卡(16GB以上),type-C数据线,PC机, TF读卡器。
- 软件:raspberry pi OS系统镜像,树莓派官方系统安装工具。
- 注意事项:
- 注意用电安全。
- PC机需要和树莓派在同一局域网下。
- 实验步骤:
一:下载树莓派烧制工具与树莓派镜像
1:进入树莓派官网Raspberry Pi OS – Raspberry Pi,下载Raspberry Pi Imager,使用该软件进行树莓派的烧制,如图1-1与1-2所示:
2:下载完成烧制工具,进行树莓派镜像的下载,如图:1-3、1-4、1-5、1-6、1-7所示:
(众多镜像版本如下,可以选择自己想要的版本,我此次使用的是最新版:raspios full armhf-2022- 09-26/ 2022-09-26 09:37)
(镜像下载完成后,找到镜像所在目录,方便起见,可将其与烧制工具放同一目录下)
二:进行树莓派系统烧制
1:进入烧制工具所在目录,如图2-1所示:
(双击运行程序)
2:运行程序进行安装,如图2-2与2-3所示:
3:开始选择镜像,烧制树莓派系统,这时应该将SD卡连接电脑,如图2-4、2-5、2-6、2-7、2-8所示:
(选择自定义镜像,也就是你所下载的镜像)
(选择你所下载的镜像,建议解压缩一下,选择压缩包应该也没什么问题)
(确保SD卡已经连接电脑,然后选择此SD卡)
三:进行树莓派系统基础配正在上传…重新上传取消置(右下角点击设置图标),如:主机名、SSH服务、无线网络连接。
1:设置主机名,并开启SSH服务以便远程连接,如图3-1所示:
2:设置用户名与密码,如图3-2所示:
(用户名与密码一定记住,建议写入记事本,过来人的建议)
3:设置wifi无线网连接,最后点击保存,如图3-3所示:
(选择WIFi名称,名称为你当前物理机所连WIFi,保险起见全英文的名称最好,不过中文也不影响)
4:进行树莓派系统烧制,如图3-4所示:
5:等待烧制过程与验证过程,大约二十多分钟,可have a rest,如图:3-5、3-6、3-7所示:
(点击继续,至此树莓派系统已经成功制入SD卡中)
四:查找树莓派所分配的动态IP地址
1:将制作好的SD卡,插入树莓派,并加电。(记住将卡放置于树莓派中)
在电脑上用ip扫描工具(Advanced IP Scanner:advanced_ip_scanner.exe)扫描WIFI指定网段(192.168.124.1~192.168.124.254,由于动态获得地址,所以只知道处于此网段,但具体是哪个地址要扫描确定)。下载地址:ip扫描工具(Advanced IP Scanner)下载-ip扫描工具(Advanced IP Scanner)最新版下载[电脑版]-华军软件园,如图:4-1、4-2所示:
(虽然下载界面看起来比较low,但安全无毒大可放心食用)
(随机选择一个下载地址就可)
2:运行Advanced IP Scanner软件,查找树莓派所分配的IP,如图4-3、4-4、4-5所示:
(查看扫描的IP段是否为物理主机所在IP段,可在wifi设置里查看,你所连当前Wifi的网段)
(进行扫描后,进行名称查看,找到树莓派所分配的IP,此名称为烧制设置时你所设置的主机名)
五:进行远程连接,并进行VNC远程配置
1:进行Xshelll连接,如图:5-1、5-2、5-3、5-4所示:
(点击接受并保存)
(用户名为烧制树莓派系统时所设置的用户名)
2:通过Xshell远程进入树莓派系统安装vnc服务器端,如图5-5、5-6所示:
(此处需要设置VNC登入的密码,这两次设置建议密码一致,同时会显示出你登入树莓派所用端口号,此次端口号为1)
3:在物理上使用VNC客户端,进行VNC远程登入树莓派,如图5-7、5-8所示:
(注意看端口号,一定需为安装vnc时,系统所配端口号,被折磨怕了)
(输入vnc密码,密码为安装vnc时你所设置的密码)
4:输入密码后成功进入树莓派系统界面,如图5-9、5-10所示:
(输入密码,该密码为用户名密码,密码为烧制树莓派系统时所设置的密码)
六:进行树莓派系统的基础配置
1:进行静态网络配置,右击右上方无线网络标志,点击Wireless & Wired Network Setting....配置静态IP的目的是绑定树莓派的IP地址,方便以后操作,如图6-1所示:
2:点击Wireless & Wired Network Setting....后进行如下配置,如图6-2所示:
(无需配置IPV6地址)
3:进行静态网络配置确认,打开终端输入ifconfig,查看VLAN0的ip地址,如图6-3所示:
4:设置VNC分辨率,可在Xshell中在命令行输入 :sudo raspi-config 如图6--4所示:
通过方向键选择第3行,按Enter键,如图6-5所示:
进入如下界面,选择I3行 VNC,再按Enter,如图6-6所示:
此处询问是否开始VNC server,选择 Yes,如图6-7所示:
通过方向键选择第2行,按Enter,如图6-8所示:
选择D5行VNC,按Enter键,如图6-9所示:
选择你想选择的分辨率,除了第一个,其余可自由选择,然后OK,如图6-10所示:
设置完毕后,使用方向键选择Finish,如图6-11所示:
分辨率设置成功后会进行重启,选择Yes,然后Xshell远程会断开,如图6-12所示:
(重启时,需要手动关闭树莓派供电开关,然后再打开,稍等片刻,再次远程连接,再次开启后可先验证是否接入网络,然后再使用Xshell)
七:进行基础配置验证
1:重启后再次使用VNC连接,此处可以不写端口号,让VNC自身搜索,如图7-1、7-2所示:
界面显示齐全,如图7-3所示
八:安装 Apache2(Web 服务器)
Linux 环境,同时需要注意自己的系统版本来更新源,现在树莓派的官方系统11,bullseye,对应的源也不是之前的burster之类的,注意区分。
不用说了,这里指的就是树莓派的系统环境。进行后续安装前,先更新到最新仓库,登陆到树莓派。你可以通过屏幕键鼠直接打开终端或者通过putty SSH登陆到树莓派。
1:备份源文件,执行如下命令:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
2:查看是否备份成功,执行如下命令:
cd /etc/apt
ls -l
3:修改软件更新源,执行如下命令:
sudo nano /etc/apt/sources.list
清华源:deb [arch=armhf] http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi
4:按住Ctrl+O然后回车进行保存,再按住Ctrl+X退出编辑界面:
5:修改系统更新源,执行如下命令:
sudo nano /etc/apt/sources.list.d/raspi.list
清华国内源:deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main
6:同步更新源,执行如下命令:
sudo apt-get update
7:更新升级以安装软件包,这个过程耗时较长,命令如下:
sudo apt-get upgrade
8:安装 Apache2(Web 服务器)
安装 Apache2(这样安装的版本应该是 2.4),命令如下:
sudo apt-get install apache2
9:启动 Apache2,命令如下:
sudo service apache2 start
10:方便起见,安装火狐浏览器,命令如下:
sudo apt-get install firefox-esr -y
11:安装验证,如图所示:
12:验证安装
用浏览器(树莓派图形界面带的浏览器,或局域网内其他设备的浏览器均可)访问树莓派所在的本地 IP 地址(如:http://192.168.0.107),如果跳出 Apache 成功页面(如下图),表示安装成功
13:修改默认端口
打开 /etc/apache2/ports.conf,将 80 改为自定义端口,如 8081:
先输入命令 sudo pcmanfm,然后回车会自动跳出文件界面
(修改完后ctrl+s保存)
14:最后,重启 Apache,命令如下,然后再次在火狐浏览器上登入 :
sudo service apache2 restart
则以后访问时,应该加上端口号(如 http://192.168.0.107:8081/,只有 80 端口不需要加端口号) 。如果以老端口访问还能进得去,则是浏览器缓存所致,更换浏览器、使用无痕模式,或清空缓存再试即可。
九:安装 MySql 或 MariaDB 数据库
1:安装:
先介绍下,关于 MariaDB,它是 MySQL 被甲骨文收购之后,其缔造者重新创建的一个分支。目前其使用方法、命令与 MySQL 相同,在目前流行的 Linux 发行版中,多数包管理工具默认安装 MariaDB。这里安装 MariaDB 数据库,命令如下:
sudo apt install mariadb-server
配置数据库,命令如下:
sudo mysql_secure_installation
此时系统会询问:
Enter current password for root (enter for none):
按 Enter 键,因为第一次登陆没有密码。
然后会询问:
Set root password?
按 Y,进行数据库的 root 帐号(与树莓派的 root 无关)的密码设置。此时,会提示:
New password:
在此输入你的密码,按回车,会提示:
Re-enter new password:
重复输入密码,回车即可。需要牢记这个密码。
后续会依次进行下列询问:
Remove anonymous users?
按 Y ,删除供测试用的匿名用户(该用户不需登陆就可访问数据库)。
Disallow root login remotely?
按 Y ,这样,数据库就只允许在 localhost 上的 root 身份(即树莓派的 root 账户)登录,禁止远程访问。
Remove test database and access to it?
按 Y ,删除测试数据库,该数据库任何人都可访问。
Reload privilege tables now?
按 Y ,保存并使上述所有操作立即生效。然后提示:
All done!
Thanks for using MariaDB!
表示已经设置完成了。不需要重新启动 MariaDB 数据库,树莓派已默认开机自动启动 MariaDB。
3:验证安装和配置
用树莓派的 root 账户登录 MariaDB(登录的应该是数据库 root 账号)查看现有的数据库,
命令如下:
sudo mysql -u root -p
(能看到如下的数据表。输入命令期间,如果输错了,输入 \c 清空缓冲区;如果要退出数据库,输入 quit 或 exit;要帮助,输入 \h)
4:创建普通用户并授权(必须)
因为不能图省事总是以 root 登录,在实际的生产环境中不安全,都直接使用 root 登陆,依次执行下面的命令,可以创建一个新的用户,并进行对数据库操作的授权(注:均为 SQL 语句,结尾有分号)。
这段代码中,zsh、localhost、zsh1、wp 是需要记住的,将来会把它们暴露给使用数据库的 PHP 程序(而不是图省事直接将 root 账户交由其他程序使用)。这里的一些名字仅为示例,你可以自定义它们。
5:验证新账户
再以刚才新建的zsh 用户登录(注:这里不需要 sudo,因为不再需要 root 身份)
mysql -u zsh-p
输入密码(这次必须输入上面设置的密码 zsh1 才能登陆,而不是数据库 root 账户的密码)。登录后,查看数据库(注意分号):
十:安装 PHP 编程环境
1:安装
主要包括:安装 php 和依赖项:php-mysql、php-gd(注:1. 上面未指定 php 版本,则默认安装的应该是 7.3;2. 好像 php-gd 不装应该也可以,还没吃过螃蟹):
sudo apt-get install php php-mysql php-gd
2:验证PHP版本,命令如下:
php -v
3:验证安装
首先,在终端执行下列命令,以打开 superuser 权限下的文件管理器,命令如下:
sudo pcmanfm
该文件管理器左上角会有个感叹号,以区别于直接从桌面上打开的文件管理器;并且从这个窗口中打开的编辑器,都是带有最高权限的,否则可能没有足够权限来编辑或保存后续的文件。
4:进入 Apache 服务器路径/var/www/html(初始路径),新建一个用于测试的空文件,命名为 test.php。用文本编辑器打开后输入下列内容:
5:在文本中输入下列内容:
<?php phpinfo(); ?> (ctrl+s保存)
保存。然后用浏览器访问该文件(http://[IP]:[Port]/test.php,如 http://192.168.0.107:8081/test.php),如果能看到 PHP 版本页则表示安装成功(如下图):
6:外部物理机进行验证,如图所示: