Ubuntu 22.04(阿里云服务器)安装配置Apache2.4 + PHP8.0 + MySQL5.7

发布时间 2023-07-07 14:05:49作者: S_梦痕

1 安装Apache2.4

# Apache在Ubuntu中的名称为Apache2
# 更新apt
sudo apt update

# 安装apache2
sudo apt install apache2

# 安装完成后Apache会自动启动
# 查看Apache服务状态
sudo systemctl status apache2

image

1.2 配置Apache2.4
### 配置文件存放规则

1> /etc/apache2/ 											# 存放Apache所有文件
2> /etc/apache2/apache2.conf						# Apache主要配置文件
3> /etc/apache2/sites-available				# Apache虚拟主机配置文件
4> /etc/apache2/sites-enabled					# Apache激活的虚拟主机文件,可通过下面命令将sites-available中配置的文件链接到该文件夹中使其生效
sudo a2ensite example.com(配置的虚拟主机名称)
sudo apachectl configtest  # 检查语法
sudo systemctl restart apache2

5> /etc/apache2/sites-enabled/000-default.conf			# 默认激活的网站相关配置文件

# 浏览器输入服务器地址测试配置联通性

image

1.2.1 *给Apache添加多个网站

若想托管更多网站,你需要为每一个网站创建一个虚拟主机配置。如增加域名"example.com"对应的网站。

# 1. 创建根目录文件夹,域名的网站文件将会被存放在这里并且响应用户请求。运行下面的命令,创建这个文件夹:
sudo mkdir -p /var/www/example.com

# 2. 创建一个index.html文件在该目录下,便于测试联通性
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>

# 3. 避免权限问题,修改域名根文件夹的用户归属为apache 用户(www-data)
sudo chown -R www-data: /var/www/example.com

# 4. 为域名“example.com”创建一个虚拟主机配置
touch /etc/apache2/sites-available/example.com.conf
### 添加配置
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin webmaster@example.com
    DocumentRoot /var/www/example.com/public_html

    <Directory /var/www/example.com/public_html>
        Options -Indexes +FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
</VirtualHost>

# 5. 想要激活虚拟主机配置,使用a2ensite创建一个链接,将该配置文件链接到/etc/apache2/sites-enabled文件夹
sudo a2ensite example.com
sudo apachectl configtest  # 检查语法
sudo systemctl restart apache2
1.3 错误处理
1.3.1 AH00558

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.25.173.20. Set the ...

# 查看完整错误信息
sudo systemctl status apache2.service -l --no-pager

# 修改apache全局配置文件 /etc/apache2/apache2.conf
# 添加下面配置文件
ServerName localhost

# 重启Apache
sudo systemctl restart httpd

2 安装PHP 8.0

apt默认仓库PHP版本为PHP8.1。使用来自 Debian开发人员 Ondřej Surý 的 PPA安装8.0版本

# 1. 添加PPA仓库
# add-apt-repository是由software-properties-common提供的工具
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php     # 默认不改变系统的source.list。而是在/etc/apt/sources.list.d文件夹中新增
sudo apt update	
sudo apt-get upgrade 

# 2. 安装PHP8.0及其常用拓展
sudo apt install php8.0 php8.0-fpm php8.0-mysql php8.0-mbstring php8.0-xml php8.0-gd php8.0-curl

# 3. 启动php-fpm
a2enmod proxy_fcgi setenvif
sudo systemctl restart apache2
a2enconf php8.0-fpm
systemctl reload apache2

image

# 通过此方法安装的PHP会自动进行配置,不用手动修改apache配置文件
# 测试PHP
cd /var/www/html
vim index.php 
<?php phpinfo(); ?>

# 远程浏览器访问该PHP文件

image

3 安装mysql 5.7

Ubuntu 22.04默认apt镜像源是MySQL8.0

通过MySQL APT Repository安装MySQL5.7版本

官方指导地址:https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install

3.1 配置mysql 5.7安装环境
# 1.下载仓库配置文件
mkdir download
cd download

## 不建议通过官网https://dev.mysql.com/downloads/repo/apt/中下载mysql-apt-config,目前为0.8.25-1版本,里面没有MySQL5.7版本
## 在https://repo.mysql.com中选择合适的版本
wget https://repo.mysql.com/mysql-apt-config_0.8.12-1_all.deb

# 2. 配置MySQL5.7仓库
sudo dpkg -i mysql-apt-config_0.8.12-1_all.deb
# >图形化界面> Configuring mysql-apt-config  
#	> 1. 选择ubuntu bionic
# > 2. MySQL Server & Cluster选择mysql-5.7  =>  Tab点击确定

# 3. 刷新apt源
sudo apt update
#报错: W: GPG error: http://repo.mysql.com/apt/ubuntu bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 467B942D3A79BD29

# 4. 按照提示安装公钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
# 5.刷新apt源并验证
sudo apt update
apt-cache policy mysql-server

image

3.2 安装MySQL
# 1.安装MySQL client
sudo apt install -s mysql-client=5.7.42-1ubuntu18.04				# 若未报错,执行下面安装命令
sudo apt install  mysql-client=5.7.42-1ubuntu18.04

# 2.安装MySQL server
sudo apt install -s mysql-server=5.7.42-1ubuntu18.04				# 若未报错,执行下面安装命令
# *安装mysql-server会默认伴随安装mysql-community-server
sudo apt install mysql-server=5.7.42-1ubuntu18.04

# 3.配置root用户密码

image

3.3 检查MySQL
# 1. 尝试登录
mysql -u root -p 

# 2. 查看MySQL版本号
SELECT VERSION();
# +-----------+
# | VERSION() |
# +-----------+
# | 5.7.42    |
# +-----------+
# 1 row in set (0.00 sec)