温馨提示×

ubuntu apache怎样部署php

小樊
48
2026-09-14 09:04:18
栏目: 编程语言

下面给你一份在 Ubuntu 上用 Apache 部署 PHP的常用、实用流程(以 Ubuntu 20.04 / 22.04 为例,PHP 8.x 通用)。


一、更新系统

sudo apt update
sudo apt upgrade -y

二、安装 Apache

sudo apt install apache2 -y

启动并设置开机自启:

sudo systemctl start apache2
sudo systemctl enable apache2

浏览器访问服务器 IP:

http://服务器IP

看到 Apache 默认页即成功。


三、安装 PHP(Apache 版本)

1. 安装 PHP 及常用模块

sudo apt install php libapache2-mod-php php-cli php-mysql php-curl php-gd php-mbstring php-xml php-zip -y

如果是 PHP 8.1 / 8.2,也可以用:

sudo apt install php8.1 libapache2-mod-php8.1

2. 验证 PHP

php -v

四、配置 Apache 支持 PHP

Ubuntu 默认已支持 PHP,但可确认:

ls /etc/apache2/mods-enabled/ | grep php

应有 php8.x.conf 之类的文件。

如没有,启用:

sudo a2enmod php8.1
sudo systemctl restart apache2

五、部署 PHP 网站

1. 网站目录

默认目录:

/var/www/html

2. 创建测试文件

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

内容:

<?php
phpinfo();

访问:

http://服务器IP/info.php

看到 PHP 信息页即成功。


六、部署自己的 PHP 项目

例如项目放在:

/var/www/myphp

1. 修改虚拟主机

sudo nano /etc/apache2/sites-available/myphp.conf

示例:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/myphp

    <Directory /var/www/myphp>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/myphp_error.log
    CustomLog ${APACHE_LOG_DIR}/myphp_access.log combined
</VirtualHost>

2. 启用站点

sudo a2ensite myphp.conf
sudo a2dissite 000-default.conf  # 可选
sudo systemctl restart apache2

七、权限设置(很重要)

sudo chown -R www-data:www-data /var/www/myphp
sudo chmod -R 755 /var/www/myphp

八、常见问题

1. PHP 文件被下载而不是执行

  • 没装 libapache2-mod-php
  • 没启用 php 模块
  • Apache 没重启

2. 404

  • DocumentRoot 路径写错
  • 文件不在网站目录

3. 权限错误

  • 用 www-data 用户
  • 不要 777

九、可选(生产建议)

  • 使用 HTTPS(Let’s Encrypt)
  • 关闭 info.php
  • 开启 Apache mod_rewrite

如果你愿意,可以告诉我:

  • Ubuntu 版本
  • PHP 版本
  • 是本地 / 云服务器 / Docker
  • 是否用框架(Laravel / ThinkPHP)

我可以直接给你定制部署方案。

0 踩