/ 服务器 / 4浏览

Ubuntu 系统 Apache+PHP 安装配置手册

一、手册说明

本手册适用于 Ubuntu 20.04/22.04/24.04 主流版本,全程采用系统官方 APT 源安装,无第三方编译,操作简单、稳定性高。完整实现 Apache 网页服务搭建、PHP 环境解析、基础参数优化、自定义站点部署及环境验证,可满足个人开发、小型网站部署需求。

环境组件版本:Apache2 最新稳定版、PHP8.1/8.2/8.3(系统默认适配版本)

二、前期准备

2.1 系统更新

更新系统软件包修复依赖冲突,避免安装失败:

bash
sudo apt update

2.2 关闭/放行防火墙

Ubuntu 默认 UFW 防火墙,若开启需放行 80(HTTP)、443(HTTPS)端口,否则外部无法访问网站:

bash
# 放行网页服务端口
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# 重载防火墙规则
sudo ufw reload
# 查看防火墙状态
sudo ufw status
 

三、安装 Apache2 服务

3.1 安装 Apache2

bash
sudo apt install apache2 -y 

3.2 启停自启配置

bash
# 启动服务
sudo systemctl start apache2
# 设置开机自启(核心)
sudo systemctl enable apache2
# 重启服务(修改配置后必执行)
sudo systemctl restart apache2
 


# 停止服务
sudo systemctl stop apache2

3.3 验证 Apache 安装成功

终端输入以下命令查看服务运行状态,显示 active (running) 即为正常:

bash
systemctl status apache2 

浏览器访问服务器 IP 地址,默认显示 Apache 官方欢迎页面,说明 Web 服务搭建完成。

3.4 Apache 核心目录说明

 主配置文件:/etc/apache2/apache2.conf

 站点配置目录:/etc/apache2/sites-available/(可用站点)、/etc/apache2/sites-enabled/(已启用站点)

 默认网站根目录:/var/www/html/

 模块配置目录:/etc/apache2/mods-available/

 日志目录:/var/log/apache2/

四、安装 PHP 及适配模块

安装 PHP 核心程序、Apache 解析模块及常用扩展,确保网页正常解析 PHP 脚本、支持数据库及常用功能。

4.1 一键安装 PHP 环境

bash
# 安装PHP、Apache适配模块、MySQL扩展、常用功能扩展
sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
 

组件说明:

 libapache2-mod-php:Apache 专属 PHP 解析模块,核心必备

 php-mysql:支持 PHP 连接 MySQL 数据库

 其余扩展:适配文件上传、图片处理、接口请求、字符编码等常规业务

4.2 重启 Apache 加载 PHP 模块

PHP 安装完成后必须重启 Apache,否则无法解析 PHP 文件:

bash
sudo systemctl restart apache2 

4.3 验证 PHP 版本

bash
php -v 

输出版本信息(如 PHP8.1/8.2)即安装成功。

五、PHP 核心配置优化

修改 PHP 配置文件,适配网站开发需求,优化运行参数。

5.1 查找 PHP 配置文件路径

bash
php --ini 

终端显示的 Loaded Configuration File即为 php.ini 路径(通常为 /etc/php/版本号/apache2/php.ini)。

5.2 编辑配置文件

bash
# 替换为你的实际路径,示例为PHP8.1
sudo nano /etc/php/8.1/apache2/php.ini

5.3 常用参数修改

修改以下参数,提升环境兼容性和实用性,参数值可根据需求调整:

ini
# 脚本最大执行时间(秒)
max_execution_time = 300
 


#
单请求最大内存限制
memory_limit = 256M
 


#
文件上传最大大小
upload_max_filesize = 100M
 


# POST
请求最大数据大小
post_max_size = 100M
 


#
开启错误日志(生产环境建议开启)
log_errors = On
 

# 关闭页面错误展示(生产环境必须关闭,避免泄露信息)
display_errors = Off
 

修改完成后,按 Ctrl+O 保存、Ctrl+X 退出,重启 Apache 生效:

bash
sudo systemctl restart apache2 

六、测试 Apache+PHP 环境

6.1 创建 PHP 测试文件

在 Apache 默认网站根目录创建测试页面:

bash
sudo nano /var/www/html/info.php

写入以下 PHP 测试代码:

php
<?php
phpinfo();
?>
 

6.2 访问测试页面

浏览器访问:http://服务器IP/info.php

页面正常显示 PHP 环境信息、服务器信息、已加载扩展,说明 Apache+PHP 环境搭建完全成功

 

6.3 清理测试文件(可选)

生产环境建议删除测试文件,提升安全性:

bash
sudo rm -f /var/www/html/info.php 

七、自定义站点配置(多站点通用)

默认站点仅适合测试,正式部署网站需配置独立站点,支持自定义域名、根目录。

7.1 创建网站目录

bash
# 创建站点根目录(可自定义目录名)
sudo mkdir -p /var/www/myweb/public
 


# 授权网站目录权限(Apache运行用户www-data)
sudo chown -R www-data:www-data /var/www/myweb
sudo chmod -R 755 /var/www/myweb
 

7.2 创建站点配置文件

bash
sudo nano /etc/apache2/sites-available/myweb.conf 

写入以下完整配置(修改 ServerName 为你的域名/服务器IP):

apache 
<VirtualHost *:80>
    # 网站监听端口
    ServerAdmin webmaster@localhost
    # 网站域名/IP
    ServerName 你的域名/服务器IP
    # 网站根目录(与上方创建目录一致)
    DocumentRoot /var/www/myweb/public

    # 日志配置
    ErrorLog ${APACHE_LOG_DIR}/myweb_error.log
    CustomLog ${APACHE_LOG_DIR}/myweb_access.log combined

    # 目录权限配置
    <Directory /var/www/myweb/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

7.3 启用站点并关闭默认站点

bash 
# 启用自定义站点
sudo a2ensite myweb.conf
# 关闭默认站点(可选,避免冲突)
sudo a2dissite 000-default.conf
# 检测Apache配置语法是否有误
sudo apache2ctl configtest
# 重启Apache生效
sudo systemctl restart 
apache2 

若终端显示 Syntax OK,说明配置无错误,站点部署完成。

八、环境常见问题排查

8.1 浏览器无法访问网站

 检查 Apache 服务是否启动:systemctl status apache2

 检查防火墙是否放行 80 端口:sudo ufw status

 检查服务器云厂商安全组(阿里云/腾讯云等)是否放行 HTTP 端口

8.2 PHP 文件无法解析、直接下载

 未安装 libapache2-mod-php 模块,重新安装后重启 Apache

 安装模块后未重启 Apache,执行 sudo systemctl restart apache2

8.3 上传文件大小超限

修改 php.ini 中 upload_max_filesize 和 post_max_size 参数,重启 Apache 生效。

8.4 配置报错 Syntax Error

执行 sudo apache2ctl configtest 查看具体报错行数,检查站点配置文件语法(括号、空格、路径是否正确)。

九、环境卸载

bash
# 卸载PHP及扩展
sudo apt remove php* libapache2-mod-php* -y
# 卸载Apache2
sudo apt remove apache2* -y
# 清理残留依赖
sudo apt autoremove -y && sudo apt clean

Peregrine
Ubuntu Web服务器搭建手册
基于 Ubuntu 系统的 OSSEC 服务端安装配置与功能详解
Ubuntu DHCP服务器搭建手册