HCRM博客

如何在CentOS上搭建LAMP环境?

CentOS LAMP环境搭建指南

一、LAMP架构介绍

如何在CentOS上搭建LAMP环境?-图1
(图片来源网络,侵权删除)

LAMP是Linux操作系统、Apache服务器、MySQL数据库和PHP编程语言的组合,是一种常见的Web开发环境,这种组合因其灵活性和可定制性而广受欢迎,适用于各种规模的Web应用开发、部署和维护。

1、Linux:作为操作系统,提供了稳定的基础运行环境。

2、Apache:功能强大的HTTP服务器,用于处理静态和动态页请求。

3、MySQL:流行的关系型数据库管理系统,用于存储和管理数据。

4、PHP:广泛使用的服务器端脚本语言,可以嵌入HTML中,用于动态网页开发。

二、准备工作

如何在CentOS上搭建LAMP环境?-图2
(图片来源网络,侵权删除)

在开始之前,确保你的CentOS系统满足以下条件:

1、已分配公网IP地址或绑定弹性公网IP(EIP)。

2、操作系统为CentOS 7.x。

3、实例安全组的入方向规则已放行22、80、443端口。

三、安装步骤

安装Apache

1.1 更新系统并安装Apache服务及扩展包

如何在CentOS上搭建LAMP环境?-图3
(图片来源网络,侵权删除)
sudo yum update y
sudo yum y install httpd httpdmanual mod_ssl mod_perl

1.2 启动Apache服务并设置开机自启动

sudo systemctl start httpd
sudo systemctl enable httpd

1.3 检查Apache状态

sudo systemctl status httpd

返回结果类似如下所示,表示Apache服务已启动:

● httpd.service The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 20240708 10:00:00 PDT; 1h 25min ago
     Docs: man:httpd(8)
 Main PID: 1234 (httpd)
   CGroup: /system.slice/httpd.service
           ├─1234 /usr/sbin/httpd DFOREGROUND
           └─1235 /usr/sbin/httpd DFOREGROUND

访问http://<你的ECS公网登录地址>/,如果显示Apache的默认页面,则表示Apache安装成功。

安装并配置MySQL

2.1 安装MySQL依赖包(针对Alibaba Cloud Linux 3)

sudo yum install compatopenssl10

2.2 更新YUM源并安装MySQL

sudo rpm Uvh https://dev.mysql.com/get/mysql80communityreleaseel711.noarch.rpm
sudo yum y install mysqlcommunityserver

2.3 启动MySQL并设置开机自启动

sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl daemonreload

2.4 获取并记录root用户的初始密码

sudo grep 'temporary password' /var/log/mysqld.log

命令行返回结果如下,其中ARQTRy3+为MySQL的初始密码,在下一步重置root用户密码时,会使用该初始密码。

20240708T10:00:00.123456Z 1 [Note] A temporary password is generated for root@localhost: ARQTRy3+

2.5 配置MySQL的安全性

sudo mysql_secure_installation

输入MySQL的初始密码,然后根据提示进行以下操作:

设置新密码(长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号)。

删除匿名用户。

禁止使用root用户远程登录MySQL。

删除test库以及用户对test库的访问权限。

重新加载授权表。

2.6 登录MySQL并修改密码

mysql uroot p

输入新密码后,执行以下命令修改root用户密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

2.7 授予root用户远程管理权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '新密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;

退出数据库:

exit;

安装PHP

3.1 安装PHP及相关扩展包

sudo yum y install php phpmysql gd phpgd gddevel phpxml phpcommon phpmbstring phpldap phppear phpxmlrpc phpimap

3.2 创建PHP测试页面并测试

echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

重启Apache服务以使PHP生效:

sudo systemctl restart httpd

访问http://<你的ECS公网登录地址>/phpinfo.php,显示PHP信息页面表示PHP安装成功。

安装phpMyAdmin(可选)

4.1 安装依赖包并下载phpMyAdmin压缩包

sudo yum y install unzip wget
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.3/phpMyAdmin5.1.3alllanguages.zip P /tmp/

4.2 解压phpMyAdmin并移动到指定目录

unzip /tmp/phpMyAdmin5.1.3alllanguages.zip d /tmp/
sudo mv /tmp/phpMyAdmin5.1.3alllanguages/ /usr/share/phpMyAdmin/

4.3 配置Apache虚拟主机文件以支持phpMyAdmin

编辑Apache配置文件:

sudo vi /etc/httpd/conf.d/phpMyAdmin.conf

添加以下内容:

<VirtualHost *:80>
    DocumentRoot "/usr/share/phpMyAdmin"
    ServerName phpmyadmin.local
    <Directory "/usr/share/phpMyAdmin">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

启用虚拟主机文件:

sudo ln s /etc/httpd/conf.d/phpMyAdmin.conf /etc/httpd/conf/httpd.conf.d/phpMyAdmin.conf

重启Apache服务:

sudo systemctl restart httpd

访问http://<你的ECS公网登录地址>/phpmyadmin,使用MySQL的用户名和密码登录phpMyAdmin,返回页面如下图所示,说明phpMyAdmin安装成功。

四、防火墙设置与SELinux配置(可选但推荐)

1. 配置防火墙以允许HTTP和HTTPS流量

sudo firewallcmd permanent addservice=http
sudo firewallcmd permanent addservice=https
sudo firewallcmd reload
sudo setsebool P httpd_can_network_connect_db 1
sudo setsebool P httpd_can_network_connect 1

注意:在某些情况下,你可能需要安装并使用policycore模块来进行更精细的SELinux配置,具体操作请参考相关文档或咨询系统管理员。

五、常见问题解答(FAQs)

Q1: 如何更改Apache的监听端口?

A1: 编辑Apache配置文件/etc/httpd/conf/httpd.conf,找到Listen指令并将其设置为所需的端口号,将端口更改为8080:

Listen 8080

然后重启Apache服务:

sudo systemctl restart httpd

注意:同时需要更新防火墙规则以允许新的端口号通过。

Q2: PHPMyAdmin访问被拒绝怎么办?

A2: 确保你已经正确配置了Apache虚拟主机文件,并且防火墙规则允许访问phpMyAdmin的URL,如果问题仍然存在,请检查Apache的错误日志(通常位于/var/log/httpd/error_log)以获取更多信息,确保PHPMyAdmin的文件和目录权限正确,通常应该是644(文件)和755(目录),且所有者为apache用户和apache组。

分享:
扫描分享到社交APP
上一篇
下一篇