之前都是使用面板一键化部署网站坏境的,这次试试纯命令操作部署看看。
只是便于自己后续折腾进行的记录……
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日