Apache的配置

Apache 2.4的设置配置

由于Apache在2.2和2.4版本中的配置项略有不同,需要注意。

服务器名称

如果没有设置ServerName,将在加载配置文件时显示以下错误。

httpd: Could not reliably determine the server's fully qualified domain name, using (ホスト名). Set the 'ServerName' directive globally to suppress this message

由于服务器名称为空,因此需要进行以下配置:

ServerName example.com:80

将任意的目录设为文档根目录

“文档根目录是指网站根目录(域名下的目录)的目录。”

https://example.com/index.html
                   ↑ここ!!この`/`になるディレクトのことをドキュメントルートという

在许多发行版中,它被标记为/var/www/html。
也可能存在htdocs或public_html的情况。

默认情况下,禁止访问以下内容。

<Directory />
    AllowOverride none
    Require all denied
</Directory>

如果你想将/var/www/localhost设为文档根目录,需要添加以下访问权限。

<Directory "/var/www/localhost">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

读取任意配置文件的方法

用中文表达:为了更容易管理,最好将追加的设置分开成另一个文件,而不是在http.conf中进行追加。
配置选项的示例文件可以在/etc/apache2/extra/等位置找到。
如果想加载任意文件,需要在httpd.conf中进行追加。

Include /etc/apache2/extra/httpd-vhosts.conf

也可以使用通配符。

Include /etc/apache2/extra/*.conf

这个方法很推荐,因为可以在文件扩展名中设置加载或非加载。

虚拟主机的设置

使用虚拟主机可以在一台服务器上运营多个域名。
关键是需要至少两个以上的虚拟主机。

<VirtualHost *:80>
    ServerName    localhost
    DocumentRoot  "/var/www/localhost"
    ErrorLog      "/var/log/apache2/localhost.log"
    CustomLog     "/var/log/apache2/localhost-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerName    example.com
    DocumentRoot  "/var/www/example/com"
    ErrorLog      "/var/log/apache2/example.com.log"
    CustomLog     "/var/log/apache2/example.com-access.log" common
</VirtualHost>

PHP (Hypertext Preprocessor) is a widely used scripting language originally designed for web development that is now also used for general-purpose programming. It is commonly used to create dynamic web pages and applications.

PHP的安装

最近的套件软件通常会将PHP的CLI版本和Apache模块版本分开。
这是套件系统的思想,所以需要根据具体情况(例如自由度优先还是工作效率优先)来决定。

顺便提一下,对于技术高手来说,我认为最优秀的是MacPorts!

使用 yum 安装 PHP 的方法。

yum有两个版本,分别是CLI版和Apache模块版。
CLI版和Apache模块版可以同时安装在一台机器上。

sudo yum install php

在MacPorts上安装PHP的方法是什么?

MacPorts具有极高的自由度,因此CLI版和Apache模块版是分开的。
安装CLI版不会自动安装Apache模块版。
此外,需要明确指定版本进行安装。
顺便说一下,PHP-FPM也可以根据不同版本进行安装,可以同时安装5.2至7.4的版本。
如果将端口设置为5.2为9052,7.4为9074的话,非常容易理解,推荐使用这种方式。

sudo port install php74-apache2handler

PHP的配置

要执行PHP,需要进行以下两项设置。如果是通过软件包安装的,通常会自动正确地配置。

    1. 设置PHP模块的加载路径(路径)

 

    设置执行PHP的文件扩展名

1. 设置PHP模块的读取位置(路径)。

请检查 httpd.conf 文件中是否存在加载模块 LoadModule php_module lib/apache2/modules/mod_php74.so 的配置。如果不存在,需要添加上述配置。

cat /etc/apache2/httpd.conf | grep php

LoadModule是用于加载模块的指令。
php_module则是已加载模块的标签。用于使用。
lib/apache2/modules/mod_php74.so是模块的文件路径。

2. 设置运行PHP的文件扩展名。

只需一种选项就可以。根据应该已经创建的/etc/apache2/extra/mod_php74.conf文件,进行加载即可。

Include /etc/apache2/extra/mod_php74.conf

如果尚未创建,请追加。

AddType  application/x-httpd-php         .php
AddType  application/x-httpd-php-source  .phps
PHP的运行有两个版本:一个是以Apache模块的形式运行的模块版本,另一个是以CGI方式运行的PHP-FPM(FastCGI Process Manager)版本。如果有需求,我可以写一篇文章。
广告
将在 10 秒后关闭
bannerAds