Debian 12 部署 LAMP 环境

之前都是使用面板一键化部署网站坏境的,这次试试纯命令操作部署看看。

只是便于自己后续折腾进行的记录……

Linux:Debian GNU/Linux 12 (bookworm) 12.7
Apache:Apache/2.4.62 (Debian) Server built: 2024-07-18T05:29:16
MariaDB:mysql Ver 15.1 Distrib 10.11.6-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper
PHP:PHP 8.2.24 (cli) (built: Sep 27 2024 04:16:10) (NTS)

一、安装Apache
1、远程连接需要部署LAMP环境的
2.1、运行以下命令,更新Ubuntu系统内的软件包。

apt update

2.2、运行以下命令,安装Apache

apt-get -y install apache2

2.3、运行以下命令,查看Apache版本

apache2 -v

2.4、运行以下命令,启动Apache服务并设置服务开机自启动

systemctl start apache2
systemctl enable apache2

2.5、运行以下命令,查看Apache服务状态

systemctl status apache2

二、安装并配置MySQL
1、安装MySQL
1.1、运行以下命令,安装MySQL

apt -y install mariadb-server

1.2、运行以下命令,查看MySQL版本

mysql -V

2、运行以下命令,启动MySQL服务

systemctl start mariadb

3、依次运行以下命令,设置开机启动MySQL

systemctl enable mariadb
systemctl daemon-reload

4、配置MySQL
4.1、运行以下命令,进入MySQL

mysql

4.2、运行以下命令,设置root用户密码

ALTER USER 'root'@'localhost' IDENTIFIED by 'My..sql..';

其中My..sql..为示例的密码,建议修改成其他的高强度密码。

4.3、运行以下命令,退出MySQL数据库

exit;

4.4、运行以下命令,对MySQL进行安全性配置

mysql_secure_installation

4.5、根据命令行提示,依次完成以下配置项
4.5.1、输入root用户的密码。本示例中输入My..sql..
4.5.2、输入Y,设置密码验证策略
4.5.3、选择密码验证策略
4.5.4、输入Y,更改root用户密码
4.5.5、输入root用户密码
4.5.6、输入Y,确认使用已设置的密码
4.5.7、输入Y,删除MySQL自带的匿名用户
4.5.8、输入Y,禁止MySQL的root用户的远程登录权限
4.5.9、输入Y,移除test数据库
4.5.10、输入Y,重新加载授权表

5、测试登录MySQL数据库
5.1、运行以下命令,登录MySQL数据库

mysql -uroot -p

5.2、在命令行回显的Enter password:后输入已设置的数据库密码
由于使用 unix_socket 密码啥的都不太重要,留空或者随便输都可以。

5.3、运行以下命令,退出MySQL数据库

exit;

三、安装PHP
1、依次运行以下命令,安装PHP

apt -y install php8.2-fpm
apt -y install libapache2-mod-php

2、运行以下命令,查看PHP版本

php -v

3、在Apache网站根目录中,创建测试网页
3.1、运行以下命令,查看Apache网站根目录的路径信息

grep 'DocumentRoot' /etc/apache2/sites-available/000-default.conf

命令行返回结果中的DocumentRoot /var/www/html一行,即表示网站根目录为/var/www/html

3.2、运行以下命令,在网站根目录创建测试网页,并把phpinfo()函数添加至网页内容中

sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php'

4、运行以下命令,重启Apache服务

systemctl restart apache2

5、在本地机器浏览器地址栏,输入http://<服务器IP地址>/phpinfo.php并按Enter键,可以看到PHP的所有配置信息。

6、建议您删除phpinfo.php测试文件,消除数据泄露风险

rm -rf /var/www/html/phpinfo.php

四、题外话

后续打算加上 Nginx 以构成 LANMP 环境,数据库也打算从 MariaDB 换成 Mysql 数据库,只是当前了快速验证方便而全部使用 Debian 12 源带的软件版本。

这次的Server API就是之前的 Apache 2.0 Handler ,难道我之前以为的“没落”了是不存在的,那不知道为什么 myVesta 改了。

ChiuYut

2024年10月09日

发布者

ChiuYut

咦?我是谁?这是什么地方? Ya ha!我是ChiuYut!这里是我的小破站!