在Linux系统中,尤其是用于服务器部署的CentOS7上,Apache、PHP和MySQL是构建动态网站和服务的关键组件。本文将详细介绍如何在CentOS7上安装和配置这些软件。
确保系统是最新的,通过运行`yum upgrade`更新所有已安装的软件包。接下来,安装必要的工具,如网络工具包,以便于后续的网络通信,使用命令`yum install net-tools`。
Apache(也称为httpd)是常用的Web服务器,它的安装可以通过`yum -y install httpd mod_ssl`完成。为了确保安全,需要关闭SELinux。打开`etc/selinux/config`文件,将`SELINUX=enforcing`更改为`SELINUX=disabled`,然后重启服务器。配置Apache开机启动并启动服务,使用`systemctl start httpd`和`systemctl enable httpd`。检查Apache的状态,输入`sudo systemctl status httpd`确认服务是否正常运行。
接下来,安装PHP7,首先添加Webtatic仓库,使用`rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm`和`rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm`。然后通过`yum install php70w`命令安装PHP。安装完成后,Apache需要配置以支持PHP解析,通常需要修改`/etc/httpd/conf.d/php.conf`或`/etc/httpd/conf/httpd.conf`中的相关设置。
MySQL5.7的安装步骤如下:
1. 安装wget,`yum -y install wget`。
2. 下载并安装MySQL5.7的YUM源,`wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm`,然后运行`rpm -ivh mysql57-community-release-el7-8.noarch.rpm`。
3. 使用`yum install mysql-server`安装MySQL服务。
4. 启动MySQL服务,`systemctl start mysqld`,并查看状态,`systemctl status mysqld`。
5. 设置MySQL开机启动,`systemctl enable mysqld && systemctl daemon-reload`。
6. 寻找MySQL生成的临时密码,`grep 'temporary password' /var/log/mysqld.log`,然后使用`mysql -uroot -p`进入MySQL,根据提示更改root用户的密码。由于MySQL5.7的安全性,新密码需要满足特定的复杂度要求。
7. 配置MySQL数据库默认编码为UTF-8,编辑`/etc/my.cnf`,在`[mysqld]`下添加`character_set_server=utf8`和`init_connect='SET NAMES utf8'`。
8. 允许远程访问MySQL,`mysql -uroot -p`进入MySQL,选择`use mysql;`数据库,然后执行`Grant all on *.* to 'root'@'%' identified by '你的密码'; flush privileges;`。
9. 打开防火墙的3306端口,`firewall-cmd --zone=public --add-port=3306/tcp --permanent`,并使用`firewall-cmd --reload`使更改生效。
如果忘记MySQL密码,可以通过编辑`/etc/my.cnf`,在`[mysqld]`下添加`skip-grant-tables`,重启MySQL服务(`service mysqld restart`),然后无密码登录MySQL(`mysql`),更新root用户的密码,例如`mysql> update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';`。
以上就是CentOS7环境下安装和配置Apache、PHP7及MySQL5.7的详细步骤。确保每个步骤都按顺序执行,并仔细检查配置文件以防止出现错误。这将帮助您建立一个稳定且功能齐全的Web服务器环境。