在CentOS上安装LAMP(Linux, Apache, MySQL/MariaDB, PHP)环境是搭建Web服务器的常见步骤,以下是一个详细的指南,包括安装和配置每个组件的过程:
更新系统软件包
在开始之前,建议先更新系统的软件包,以确保安装的是最新版本的软件,登录到你的CentOS服务器,并运行以下命令:
sudo dnf update y
安装Apache Web服务器
安装Apache
使用以下命令安装Apache Web服务器及其常用模块:
sudo dnf install httpd y
启动并启用Apache
安装完成后,启动Apache服务,并设置其在系统启动时自动启动:
sudo systemctl start httpd sudo systemctl enable httpd
验证Apache安装
可以通过以下命令检查Apache是否正在运行:
sudo systemctl status httpd
如果一切正常,你应该会看到类似以下的输出:
● httpd.service The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since Wed 20241117 10:00:00 UTC; 5min ago Main PID: 1234 (httpd) CGroup: /system.slice/httpd.service ├─1234 /usr/sbin/httpd DFOREGROUND └─1235 /usr/sbin/httpd DFOREGROUND
打开浏览器并访问服务器的IP地址,如果看到Apache的默认测试页面,则说明Apache安装成功。
安装MariaDB数据库
MariaDB是MySQL的一个分支,通常被认为比MySQL具有更好的性能和安全性。
安装MariaDB
运行以下命令安装MariaDB:
sudo dnf install mariadbserver mariadb y
启动并启用MariaDB
sudo systemctl start mariadb sudo systemctl enable mariadb
验证MariaDB安装
sudo systemctl status mariadb
你应该会看到类似以下的输出:
● mariadb.service MariaDB 10.3 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Wed 20241117 10:05:00 UTC; 1min 30s ago Main PID: 5678 (mysqld) CGroup: /system.slice/mariadb.service └─5678 /usr/sbin/mysqld basedir=/usr datadir=/var/lib/mysql plugindir=/usr/lib64/mysql/plugin user=mysql logerror=/var/log/mysqld.log pidfile=/var/run/mysqld/mysqld.pid socket=/var/lib/mysql/mysql.sock
安装PHP
安装PHP及相关模块
运行以下命令安装PHP及其常用模块:
sudo dnf install php phpmysqlnd phpfpm y
配置PHP与Apache的集成
编辑Apache配置文件,使其支持PHP:
sudo nano /etc/httpd/conf/httpd.conf
在文件末尾添加以下内容:
<FilesMatch \.php$> SetHandler "proxy:unix:/run/phpfpm/www.sock|fcgi://localhost" </FilesMatch>
保存并退出(按Ctrl+O
,然后按Enter
,最后按Ctrl+X
)。
重启Apache服务
sudo systemctl restart httpd
验证PHP安装
创建一个测试PHP文件info.php
:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
然后在浏览器中访问http://your_server_ip/info.php
,如果看到PHP信息页面,则说明PHP安装成功。
配置防火墙(可选)
如果你的服务器启用了防火墙,需要允许HTTP和HTTPS流量通过,假设你使用的是firewalld
:
sudo firewallcmd permanent addservice=http sudo firewallcmd permanent addservice=https sudo firewallcmd reload
组件 | 安装命令 | 启动命令 | 状态命令 |
Linux | 无(已内置) | 无 | 无 |
Apache | sudo dnf install httpd y | sudo systemctl start httpd | sudo systemctl status httpd |
MariaDB | sudo dnf install mariadbserver mariadb y | sudo systemctl start mariadb | sudo systemctl status mariadb |
PHP | sudo dnf install php phpmysqlnd phpfpm y | sudo systemctl restart httpd | php v |
相关问答FAQs
Q1: 如何更改Apache的默认根目录?
A1: 要更改Apache的默认根目录,可以编辑Apache的主配置文件/etc/httpd/conf/httpd.conf
,找到DocumentRoot "/var/www/html"
这一行,并将其更改为你想要的目录路径,然后重启Apache服务:sudo systemctl restart httpd
。
Q2: 如果忘记MariaDB的root密码,如何重置?
A2: 如果忘记了MariaDB的root密码,可以通过以下步骤重置:
1、停止MariaDB服务:sudo systemctl stop mariadb
2、以安全模式启动MariaDB:sudo mariadb skipgranttables skipnetworking
3、登录MariaDB:mysql u root
4、使用SQL命令重置密码:FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword!';
5、退出MariaDB:exit;
6、重新启动MariaDB服务:sudo systemctl start mariadb