CentOS Apache 虚拟机配置指南
一、前提条件
在开始本教程之前,请确保满足以下要求:
1、域名:拥有一个指向你的公共服务器IP的域名,建议去nameslio注册一个,非常便宜。
2、CentOS系统:在您的CentOS系统上安装了Apache,可以自建虚拟机或去vultr,阿里云,腾讯云购买一个VPS。
3、用户权限:您以root用户或具有sudo特权的用户身份登录。
二、创建目录结构
文档根目录是用于存储域名网站文件并响应请求提供服务的目录,可以将文档根目录设置为所需的任何位置,我们将使用以下目录结构:
/var/www/ ├── example.com │ └── public_html ├── example2.com │ └── public_html ├── example3.com │ └── public_html
对于将在服务器上托管的每个域,我们将在/var/www
内创建一个单独的目录,在域目录中,我们将创建一个public_html目录,它将成为域文档的根目录并存储域网站文件,为域example.com创建根目录:
sudo mkdir -p /var/www/example.com/public_html
为了进行测试,请在域的文档根目录内创建一个index.html文件:
sudo nano /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! The example.com virtual host is working!</h1> </body> </html>
为了避免任何权限问题,请将域文档根目录的所有权更改为用户apache:
sudo chown -R apache: /var/www/example.com
三、创建虚拟主机文件
有几种设置虚拟主机的方法,您可以将所有虚拟主机指令添加到一个文件中,也可以为每个虚拟主机指令创建一个新的配置文件,您应该首选第二种方法,这种方法更易于维护,默认情况下,Apache被配置为从/etc/httpd/conf.d/
目录中加载所有以.conf
结尾的配置文件,要为特定网站创建虚拟主机,请打开您选择的编辑器并创建以下基本虚拟主机配置文件:
sudo nano /etc/httpd/conf.d/example.com.conf
输入以下内容:
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com ServerAdmin webmaster@example.com 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>
根据需要编辑文件并保存,配置文件名必须以.conf
您可以根据需要命名配置文件,最佳实践是将域名用作虚拟主机配置文件的名称,使用以下命令测试配置文件语法:
sudo apachectl configtest
如果没有错误,输出内容类似如下:
Syntax OK
要激活新创建的虚拟主机,请使用以下命令重新启动Apache服务:
sudo systemctl restart httpd
打开http://example.com
验证一切是否按预期进行,在本教程中,我们向您展示了如何在CentOS 8上创建Apache虚拟主机配置,您可以重复上面的步骤,并为所有域创建其虚拟主机,如果要使用SSL证书保护网站,则可以生成并安装免费的Letsencrypt SSL证书。
四、相关问答FAQs
问:如何更改Apache默认监听端口?
答:编辑Apache的主配置文件(通常是/etc/httpd/conf/httpd.conf
),找到Listen
指令并将其更改为所需的端口号,将Listen 80
改为Listen 8080
,然后重新启动Apache服务以应用更改:sudo systemctl restart httpd
,更改监听端口后,您需要相应地更新虚拟主机配置和防火墙规则。
问:如何在CentOS上安装Apache?
答:在CentOS上安装Apache非常简单,确保您的系统软件包是最新的,然后使用Yum包管理器安装Apache,打开终端并输入以下命令以更新系统软件包:sudo yum update
,安装Apache:sudo yum install httpd
,安装完成后,启动Apache服务并设置其在启动时自动运行:sudo systemctl start httpd
和sudo systemctl enable httpd
,您的CentOS系统上应该已经成功安装了Apache,可以通过在浏览器中输入服务器的IP地址或域名来测试Apache是否正常运行。