如何轻松在Ubuntu上配置Apache2与PHP,实现网站PHP功能?

2026-05-29 02:221阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

换个思路。 Ubuntu系统下搭建Apache + PHP开发环境的完整攻略,帮你快速实现网站的动态功能!

前言:为什么选择Ubuntu + Apache + PHP?

#1 开源、 免费,社区活跃,学习资源丰富;#1a Ubuntu 的稳定性让服务器长期无忧;#1b Apache 与 PHP 的结合已经是最成熟、最广泛使用的 Web 堆栈。

如何轻松在Ubuntu上配置Apache2与PHP,实现网站PHP功能?

如果你想从零开始搭建自己的博客、 电商平台或者后台管理系统, 最终的最终。 一套干净利落的开发环境就能让你省去大量时间。

如何轻松在Ubuntu上配置Apache2与PHP,实现网站PHP功能?

准备工作:先做“打底”,再来“开工”!

  • * 更新软件包列表, 让一切都保持最新:
  • # sudo apt update && sudo apt upgrade -y
    这一步保证后面安装的软件都是官方仓库中的最新版本,避免出现不兼容的问题。
    
  • * 确认机器已联网并且拥有 root 或 sudo 权限:
  • # whoami
    root
    若不是 root,可以在命令前加上 sudo。
    
  • * 如果你使用的是虚拟机或云主机, 请打开对应的平安组端口:** 此处不写具体 IP,只提醒你记得开启对应端口。**
  • * 为了后面更方便管理, 建议先创建一个专门存放网站文件的目录,比方说 /var/www/myproject。
  • # mkdir -p /var/www/myproject/public
    # chown -R $USER:$USER /var/www/myproject
    这样做可以避免后期权限冲突。
    

      温馨提示:在正式生产环境中一定要开启 UFW 防火墙,并只允许必要端口通过。

      步骤一:安装 Apache Web Server 并验证其运行状态。
      # apt install apache2 -y
      Active: active  since ...
      打开浏览器输入服务器 IP 或 localhost,你应该能看到 “It works!” 的默认页面。若没出现,请检查日志:
      
      # tail -f /var/log/apache2/error.log
      常见错误通常是权限或 SELinux 限制。
      
      小彩蛋:  "It works!" 页面就是 Apache 的默认欢迎页,它告诉你服务器已经跑起来啦!此时就可以继续下一步了。

      步骤二:为 Apache 加装 PHP 支持。
      # apt install php libapachemod-php php-cli php-mysql php-curl php-gd php-mbstring -y
      PHP 8.x.x  
      Copyright...
      上述命令会把 PHP 与 Apache 做绑定, 并一边装好 MySQL、cURL、GD 等常用
      。  
      如果你的项目需要数据库支持, 记得把 mysql 或 mariadb 一起安装:
      
      # apt install mysql-server -y   # 或者 mariadb-server -y
      
      提醒:  "libapachemod-php" 是让 Apache 能识别 .php 文件的关键模块,如果缺失,你访问任何 .php 页面都会被当作普通文本直接返回。

      步骤三:验证 PHP 是否真的可以被解析。
      # nano /var/www/html/info.php
      
      保存后关闭编辑器,在浏览器地址栏输入 `http://your_server_ip/info.php`。  
      如果看到一页信息满满的页面其中包括 `Your System Configuration Summary:` 就代表成功。
      
      ;Tip:  "info.php" 必须删掉后再上传到线上,以免泄露敏感信息给黑客!".

      ; 步骤四:如果你打算托管多个站点,推荐使用 VirtualHost 配置。
      1. ① 创建站点目录:`mkdir -p /var/www/example.com/public`
      2. ② 拷贝默认配置文件为新站点模板:`cp /etc/apache/sites-available/000-default.conf /etc/apache/sites-available/example.com.conf`
      3. ③ 编辑 `example.com.conf`:`nano /etc/apache/sites-available/example.com.conf` , 改动如下: apacheconf ServerName example.com DocumentRoot /var/www/example.com/public
            ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
            CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
            
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All          # 允许 .htaccess 覆盖设置
                Require all granted       # 允许所有人访问该目录
            
        
        注意将 `ServerName` 替换成自己的域名或 IP,DocumentRoot 对应实际路径。

      ④ 启用站点并重载 Apache:a2ensite example.com.conf && systemctl reload apache2,试试水。

    • ⑤ 验证是否生效:curl http://localhost/ 或者直接在浏览器访问 http://example.com/ 。若显示自定义首页,则表示 VirtualHost 成功部署。
      • 就这样吧... 💡软链接 vs 复制?  "在 Debian 系统中推荐使用 a₂ensite 创建软链接, 而不是手工复制文件,这样维护更简单也更平安。" .


        步骤五:排查常见错误 & 日志查看技巧。

        • ErrorLog 路径不对导致页面白屏?——检查 DocumentRoot 下是否有 index.html 或 index.php 且权限正确;否则请确认 'AllowOverride All'=true 并且 .htaccess 存在且可读。
        • 'mod_rewrite' 未启用导致路由失效?——施行 a₂enmod rewrite && systemctl reload apache …'.
        • 'Permission denied' 报错?——确保 web 用户 www‑www-data 对 DocumentRoot 有 rwx 权限,可通过 'chown –R www‑www-data:www‑www-data /var/www/...'.
        • '404 Not Found' 又一次?——检查虚拟主机配置中的 ServerName 与请求域名完全一致;或者在 DNS 指向错误时仍会报此错误。

          • 步骤六:细调 PHP 参数,让性能与平安双提升。

            重要参数说明
            - upload_max_filesize 如 20M 默认值是 8M 可根据需求增大。 - post_max_size 至少比 upload_max_filesize 大一些,比方说 25M。 - max_execution_time 单位秒,一般设置为30~60秒即可。 - max_input_time 同上,但用于接收表单数据时生效。 - memory_limit 根据项目需要调整, 比方说512M、1G等,以免脚本因内存不足崩溃。 - date.timezone , 务必设定,否则可能出现警告或日期偏差问题,比方说 'Asia/Shanghai' 。 其他可选 还包括 mysqli、 pdo_mysql 等数据库驱动;以及 redis、memcached 等缓存方案,可按需单独安装和启用。 ​   ​ ​  ​​  ​​  ​​  ​​  ​​

            操作方法: # 编辑配置文件 sudo nano /etc/php/8.x/apache/php.ini # 修改完毕后重启服务 sudo systemctl restart apache,最后强调一点。


            步骤七:加强平安防护,让你的开发环境稳如磐石。

            • 关闭远程根登录 & 强化 SSH 密码策略 — 用密钥登录并禁止密码登录;仅开放必要端口。               \t\t\t\t\t\t \t \t \t \t\t\t \t \tLinux 操作系统有多种方式来加强 SSH 平安, 如修改Port号、防火墙规则等,请自行查阅相关文档!\t \t\t \t 

        标签:Ubuntu

        换个思路。 Ubuntu系统下搭建Apache + PHP开发环境的完整攻略,帮你快速实现网站的动态功能!

        前言:为什么选择Ubuntu + Apache + PHP?

        #1 开源、 免费,社区活跃,学习资源丰富;#1a Ubuntu 的稳定性让服务器长期无忧;#1b Apache 与 PHP 的结合已经是最成熟、最广泛使用的 Web 堆栈。

        如何轻松在Ubuntu上配置Apache2与PHP,实现网站PHP功能?

        如果你想从零开始搭建自己的博客、 电商平台或者后台管理系统, 最终的最终。 一套干净利落的开发环境就能让你省去大量时间。

        如何轻松在Ubuntu上配置Apache2与PHP,实现网站PHP功能?

        准备工作:先做“打底”,再来“开工”!

        • * 更新软件包列表, 让一切都保持最新:
        • # sudo apt update && sudo apt upgrade -y
          这一步保证后面安装的软件都是官方仓库中的最新版本,避免出现不兼容的问题。
          
        • * 确认机器已联网并且拥有 root 或 sudo 权限:
        • # whoami
          root
          若不是 root,可以在命令前加上 sudo。
          
        • * 如果你使用的是虚拟机或云主机, 请打开对应的平安组端口:** 此处不写具体 IP,只提醒你记得开启对应端口。**
        • * 为了后面更方便管理, 建议先创建一个专门存放网站文件的目录,比方说 /var/www/myproject。
        • # mkdir -p /var/www/myproject/public
          # chown -R $USER:$USER /var/www/myproject
          这样做可以避免后期权限冲突。
          

            温馨提示:在正式生产环境中一定要开启 UFW 防火墙,并只允许必要端口通过。

            步骤一:安装 Apache Web Server 并验证其运行状态。
            # apt install apache2 -y
            Active: active  since ...
            打开浏览器输入服务器 IP 或 localhost,你应该能看到 “It works!” 的默认页面。若没出现,请检查日志:
            
            # tail -f /var/log/apache2/error.log
            常见错误通常是权限或 SELinux 限制。
            
            小彩蛋:  "It works!" 页面就是 Apache 的默认欢迎页,它告诉你服务器已经跑起来啦!此时就可以继续下一步了。

            步骤二:为 Apache 加装 PHP 支持。
            # apt install php libapachemod-php php-cli php-mysql php-curl php-gd php-mbstring -y
            PHP 8.x.x  
            Copyright...
            上述命令会把 PHP 与 Apache 做绑定, 并一边装好 MySQL、cURL、GD 等常用
            。  
            如果你的项目需要数据库支持, 记得把 mysql 或 mariadb 一起安装:
            
            # apt install mysql-server -y   # 或者 mariadb-server -y
            
            提醒:  "libapachemod-php" 是让 Apache 能识别 .php 文件的关键模块,如果缺失,你访问任何 .php 页面都会被当作普通文本直接返回。

            步骤三:验证 PHP 是否真的可以被解析。
            # nano /var/www/html/info.php
            
            保存后关闭编辑器,在浏览器地址栏输入 `http://your_server_ip/info.php`。  
            如果看到一页信息满满的页面其中包括 `Your System Configuration Summary:` 就代表成功。
            
            ;Tip:  "info.php" 必须删掉后再上传到线上,以免泄露敏感信息给黑客!".

            ; 步骤四:如果你打算托管多个站点,推荐使用 VirtualHost 配置。
            1. ① 创建站点目录:`mkdir -p /var/www/example.com/public`
            2. ② 拷贝默认配置文件为新站点模板:`cp /etc/apache/sites-available/000-default.conf /etc/apache/sites-available/example.com.conf`
            3. ③ 编辑 `example.com.conf`:`nano /etc/apache/sites-available/example.com.conf` , 改动如下: apacheconf ServerName example.com DocumentRoot /var/www/example.com/public
                  ErrorLog ${APACHE_LOG_DIR}/example.com-error.log
                  CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined
                  
                      Options Indexes FollowSymLinks MultiViews
                      AllowOverride All          # 允许 .htaccess 覆盖设置
                      Require all granted       # 允许所有人访问该目录
                  
              
              注意将 `ServerName` 替换成自己的域名或 IP,DocumentRoot 对应实际路径。

            ④ 启用站点并重载 Apache:a2ensite example.com.conf && systemctl reload apache2,试试水。

          • ⑤ 验证是否生效:curl http://localhost/ 或者直接在浏览器访问 http://example.com/ 。若显示自定义首页,则表示 VirtualHost 成功部署。
            • 就这样吧... 💡软链接 vs 复制?  "在 Debian 系统中推荐使用 a₂ensite 创建软链接, 而不是手工复制文件,这样维护更简单也更平安。" .


              步骤五:排查常见错误 & 日志查看技巧。

              • ErrorLog 路径不对导致页面白屏?——检查 DocumentRoot 下是否有 index.html 或 index.php 且权限正确;否则请确认 'AllowOverride All'=true 并且 .htaccess 存在且可读。
              • 'mod_rewrite' 未启用导致路由失效?——施行 a₂enmod rewrite && systemctl reload apache …'.
              • 'Permission denied' 报错?——确保 web 用户 www‑www-data 对 DocumentRoot 有 rwx 权限,可通过 'chown –R www‑www-data:www‑www-data /var/www/...'.
              • '404 Not Found' 又一次?——检查虚拟主机配置中的 ServerName 与请求域名完全一致;或者在 DNS 指向错误时仍会报此错误。

                • 步骤六:细调 PHP 参数,让性能与平安双提升。

                  重要参数说明
                  - upload_max_filesize 如 20M 默认值是 8M 可根据需求增大。 - post_max_size 至少比 upload_max_filesize 大一些,比方说 25M。 - max_execution_time 单位秒,一般设置为30~60秒即可。 - max_input_time 同上,但用于接收表单数据时生效。 - memory_limit 根据项目需要调整, 比方说512M、1G等,以免脚本因内存不足崩溃。 - date.timezone , 务必设定,否则可能出现警告或日期偏差问题,比方说 'Asia/Shanghai' 。 其他可选 还包括 mysqli、 pdo_mysql 等数据库驱动;以及 redis、memcached 等缓存方案,可按需单独安装和启用。 ​   ​ ​  ​​  ​​  ​​  ​​  ​​

                  操作方法: # 编辑配置文件 sudo nano /etc/php/8.x/apache/php.ini # 修改完毕后重启服务 sudo systemctl restart apache,最后强调一点。


                  步骤七:加强平安防护,让你的开发环境稳如磐石。

                  • 关闭远程根登录 & 强化 SSH 密码策略 — 用密钥登录并禁止密码登录;仅开放必要端口。               \t\t\t\t\t\t \t \t \t \t\t\t \t \tLinux 操作系统有多种方式来加强 SSH 平安, 如修改Port号、防火墙规则等,请自行查阅相关文档!\t \t\t \t 

              标签:Ubuntu