如何在CentOS 7上设置Apache虚拟主机
Apache虚拟主机允许多个网站在一台Web服务器上运行。使用虚拟主机,您可以指定站点文档根目录(包含网站文件的目录),为每个站点创建单独的安全策略,为每个站点使用不同的SSL证书等等。
在本教程中,我们将提供有关如何在CentOS 7服务器上设置Apache虚拟主机的分步说明。
先决条件
在继续本教程之前,请确保满足以下先决条件:
- 您的域名指向您的公共服务器IP。我们将使用
example.com
。 - 您已经按照如何在CentOS 7上安装Apache的方式安装了Apache 。
- 您以用户的身份登录sudo权限。
创建目录结构
DocumentRoot是用于存储域名网站文件并响应请求的目录。您可以将文档根目录设置为所需的任何位置,此示例中,我们将使用以下目录结构:
/var/www/├── example.com
│ └── public_html
├── example-1.com
│ └── public_html
├── example-2.com
│ └── public_html
我们正在为要托管在服务器上的每个域的/var/www
目录中创建一个单独的目录。在每个目录中,我们将创建一个public_html
目录,该目录将存储域网站文件。
使用 mkdir命令创建域example.com
的根目录:
sudo mkdir -p /var/www/example.com/public_html
出于测试目的,我们将在域文档根目录中创建一个index.html
文件。打开编辑器,然后创建一个包含以下内容的HTML文件:
/var/www/example.com/public_html/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>
所有命令均以sudo用户身份执行,因此新创建的文件和目录归root用户所有。为确保没有权限问题,请将域文档根目录的所有权更改为apache
用户:
sudo chown -R apache: /var/www/example.com
创建虚拟主机文件
有几种设置虚拟主机的方法。您可以将所有虚拟主机指令添加到一个文件中,也可以为每个虚拟主机指令创建一个新的配置文件。就我个人而言,我更喜欢第二种方法,因为它更易于维护。
默认情况下,Apache配置为从/etc/httpd/conf.d/
目录中加载所有以.conf
结尾的配置文件。
要为特定网站创建虚拟主机,请打开您选择的编辑器并创建以下基本虚拟主机配置文件:
/etc/httpd/conf.d/example.com.conf
<VirtualHost *:80> ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
ErrorLog /var/log/httpd/example.com-error.log
CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
ServerName
:应与此虚拟主机配置匹配的域。这应该是您的域名。ServerAlias
:也应与此虚拟主机匹配的所有其他域,例如www
子域。DocumentRoot
:目录Apache从中提供域文件。Options
:此指令控制特定目录中可用的服务器功能。-Indexes
:防止目录listings。FollowSymLinks
:此选项告诉您的Web服务器遵循符号链接。AllowOverride
:指定在.htaccess
文件中声明的指令可以覆盖配置指令。ErrorLog
,CustomLog
:指定日志文件的位置。
根据需要编辑文件并保存。
重要的是,配置文件名以.conf
结尾。您可以根据自己的喜好命名配置文件,但最佳做法是使用域名作为虚拟主机配置文件的名称。
使用以下命令测试配置文件的语法:
sudo apachectl configtest
如果没有错误,您将看到以下输出:
Syntax OK
要激活新创建的虚拟主机,请使用以下命令重新启动Apache服务:
sudo systemctl restart httpd
通过打开http://example.com
:
验证一切正常。
结论
在本教程中,我们向您展示了如何创建Apache虚拟主机配置。您可以重复上述步骤,并为您所有的域创建其他虚拟主机。
如果您遇到任何问题,请随时发表评论
以上是 如何在CentOS 7上设置Apache虚拟主机 的全部内容, 来源链接: utcz.com/z/507165.html