目录
引言:
一、系统更新
二、安装搭建Apache2
1.你可以通过以下命令安装它:
2.查看Apache2版本
3.查看Apache2运行状态
4.浏览器访问
三、安装搭建MySQL
1.安装MySQL
2.查看MySQL 版本
3.安全配置MySQL
3.1是否设置密码?(按y|Y表示是,按其他任意键表示否) :
3.2是否删除匿名用户 ?(按y|Y表示是,按其他任意键表示否)
3.3禁止root远程登录?(按y|Y表示是,按其他任意键表示否) :
3.4删除'test'数据库及其访问权限?(按y|Y表示是,按其他任意键表示否) :
3.5现在重新加载权限表?(按y|Y表示是,按其他任意键表示否) :
4.创建新的用户
4.1root用户的身份登录到MySQL
4.2创建新用户
4.3给新建用户添加权限
5看情况修改配置文件
情况1:不允许远程访问(默认)
情况2:允许远程访问(需要配置)
四、安装PHP及其扩展
1.安装PHP及其扩展
2.启用php-mysqli扩展
2.1查看PHP的版本
2.2vim查看编辑PHP的配置文件
3.安装完成后,重启Apache2服务以使PHP生效:
五、测试LAMP环境
六、总结:
引言:
LAMP(Linux, Apache, MySQL, PHP)是一种流行的开源Web服务器软件栈,广泛应用于构建动态网站和Web应用程序。本文将整合本人学习Linux搭建过的单体服务器,详细介绍如何在Ubuntu 22.04上搭建LAMP环境,从系统更新到安装和配置各个组件,再到测试环境是否搭建成功。
一、系统更新
在开始之前,确保你的Ubuntu 22.04系统是最新的。打开终端并输入以下命令来更新系统:
sudo apt update
sudo apt upgrade
如下图,等待更新完毕.....
二、安装搭建Apache2
Apache2是LAMP环境中的Web服务器。
1.你可以通过以下命令安装它:
sudo apt install apache2
如下图,等待安装完毕.....
2.查看Apache2版本
sudo apache2 -v
如下图,我这边的版本是Apache/2.4.52 (Ubuntu)
3.查看Apache2运行状态
安装完成后,你可以使用如下命令检查Apache2是否正在运行。
sudo systemctl status apache2
如下图,我这边显示Apache HTTP服务器已经成功启动,并且正在运行。
4.浏览器访问
在浏览器中访问服务器的IP地址,以验证Apache2的默认页面是否可以正常显示。
三、安装搭建MySQL
1.安装MySQL
sudo apt install mysql-server mysql-client
等待安装完毕....
2.查看MySQL 版本
sudo mysql --version
如下图:
3.安全配置MySQL
安装完成后,运行以下命令进行安全配置,如设置root密码、删除匿名用户等。
sudo mysql_secure_installation
运行后如下图:
3.1是否设置密码?(按y|Y表示是,按其他任意键表示否) :
要求设置一个密码。询问你,是否想要设置密码?如果是,输入y或Y;如果不设置,输入其他。
这边选择y,输入后回车,如下:
要求你选择一个级别来设置密码验证策略。
- 低级别(LOW):密码长度至少为8个字符。
- 中级别(MEDIUM):密码长度至少为8个字符,且必须包含数字、大小写字母以及特殊字符。
- 高级别(STRONG):密码长度至少为8个字符,包含数字、大小写字母、特殊字符,并且不能是字典文件中的单词(这通常意味着密码需要足够复杂,以避免与常见单词或短语匹配)。
分别对应[0,1,2],输入对应的数字即可:
3.2是否删除匿名用户 ?(按y|Y表示是,按其他任意键表示否)
在大多数情况下,建议移除匿名用户以增强数据库的安全性。如果你确实需要允许某些用户以匿名方式访问数据库(尽管这在大多数情况下是不推荐的),你应该仔细考虑并设置适当的权限和访问控制。
输入y后按enter 成功删除
3.3禁止root远程登录?(按y|Y表示是,按其他任意键表示否) :
为了增强MySQL服务器的安全性,通常建议仅允许root用户从本地主机(即服务器本身)进行连接,而不允许从远程位置连接。这是因为root用户拥有对数据库的完全访问权限,如果允许远程连接,那么任何能够访问该网络的人都有可能尝试猜测或破解root密码,进而获得对数据库的完全控制权。
输入Y,禁止root远程登录。回车后,如下:
3.4删除'test'数据库及其访问权限?(按y|Y表示是,按其他任意键表示否) :
在生产环境中,出于安全考虑,通常建议删除默认的'test'数据库。这是因为如果保留该数据库,任何能够连接到MySQL服务器的人都可能访问它,这可能会带来安全风险,尤其是如果该数据库包含敏感信息或测试数据时。
输入Y,删除'test'数据库及其访问权限。回车后,如下:
3.5现在重新加载权限表?(按y|Y表示是,按其他任意键表示否) :
在MySQL中,权限表存储了关于用户账户、它们可以访问哪些数据库、表以及可以执行哪些操作的信息。当你对MySQL的用户权限进行更改(例如添加新用户、删除用户、更改用户密码或修改用户权限)后,这些更改不会立即生效,直到你重新加载权限表。
重新加载权限表是一个必要的步骤,以确保MySQL服务器知道最新的权限设置,并能够根据这些设置来允许或拒绝用户的访问请求。
输入Y,选择重新加载权限表。回车后,如下:
All done! 意味着所有的步骤都已经完成,如移除匿名用户、禁止root远程登录、删除'test'数据库以及重新加载权限表等。
4.创建新的用户
由于上述步骤禁止root远程访问,所以要添加一个用户和密码。
4.1root用户的身份登录到MySQL
sudo mysql -u root -p
回车后输入前面设置的root用户的密码,如下图 :
4.2创建新用户
输入以下命令创建 新用户zzj2144
create user 'zzj2144'@'%' identified by 'zzj123456789';
成功创建:
查看用户
select user,host,plugin from mysql.user;
执行这条查询语句后,你将得到一个结果集,其中包含了MySQL服务器上所有用户账户的用户名、允许连接的主机以及使用的身份验证插件。
4.3给新建用户添加权限
由于新建的MySQL用户基本上没有什么权限,我们需要手动添加。
GRANT ALL PRIVILEGES ON mydatabase.* TO 'zzj2144'@'%';
这里的
ALL PRIVILEGES
表示所有权限,mydatabase.*
表示mydatabase
数据库中的所有对象,'zzj2144'@'%'
表示用户zzj2144
可以从任何主机连接。
成功添加
5看情况修改配置文件
vim查看编辑MySQL服务器配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
情况1:不允许远程访问(默认)
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1
情况2:允许远程访问(需要配置)
user = mysqlpid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockport = 3306datadir = /var/lib/mysql
四、安装PHP及其扩展
PHP是LAMP环境中的脚本语言,用于处理Web页面上的动态内容。你可以通过以下命令安装PHP及其必要的扩展:
1.安装PHP及其扩展
sudo apt install php libapache2-mod-php php-mysql
等待安装...
2.启用php-mysqli扩展
2.1查看PHP的版本
php -v
这边PHP的版本是8.1
2.2vim查看编辑PHP的配置文件
sudo vim /etc/php/你的php版本/apache2/php.ini
如:vim /etc/php/8.1/apache2/php.ini
去掉这个注释:
3.安装完成后,重启Apache2服务以使PHP生效:
sudo systemctl restart apache2
五、测试LAMP环境
为了验证LAMP环境是否搭建成功,你可以创建一个简单的PHP文件来测试。在Apache2的Web根目录(通常是/var/www/html
)中创建一个名为info.php
的文件,并输入以下PHP代码:
<?php
phpinfo();
?>
保存文件后,在浏览器中访问http://<服务器IP地址>/info.php
,到这里,如果环境配置成功的话你应该会看到PHP的配置信息页面。如下图:
六、总结:
防火墙设置:确保你的防火墙允许HTTP和HTTPS流量通过。
安全更新:定期检查并更新系统、Apache2、数据库和PHP的安全补丁。
备份:定期备份数据库和Web内容,以防数据丢失。
日志监控:定期检查Apache2和数据库的日志文件,以监控服务器的运行状态和潜在的安全问题。
恭喜你到这里,在Ubuntu 22.04上成功搭建一个功能完善的LAMP环境。接下来将在此基础上安装phpMyAdmin。欲知后事,且待下节。