如何在Ubuntu 18.04和16.04 LTS中创建Apache虚拟主机
虚拟主机是指在一台服务器上运行多个域(或多个网站)。
虚拟主机的最佳使用可以在共享主机服务器上看到,数以千计的网站托管在一台服务器上,共享单一系统资源。
本文将在Ubuntu、Debian和LinuxMint系统上创建Apache2服务器中的虚拟主机。
1。安装Apache
如果系统中已经安装了Apache服务器,我们可以跳过此选项。
如果没有,请使用下面的命令在Ubuntu系统上安装Apache服务器。
sudo apt-get update sudo apt-get install apache2
2:创建Apache VirtualHost
在Ubuntu上的Apache中,所有的虚拟主机配置文件都存储在 /etc/apache2/sites-available目录下。
对于新的Apache安装,我们将在那里找到一个默认的虚拟主机文件。
通过复制默认文件创建一个新的虚拟主机配置文件。
cd /etc/apache2/sites-available/ sudo cp 000-default.conf site1.example.com.conf
现在编辑新的虚拟主机配置文件并根据需求进行更新。
我的site1.example.com配置文件如下所示。
vim site1.example.com.conf
<VirtualHost *:80> ServerAdmin Hyman@theitroad ServerName site1.example.com DocumentRoot /var/www/site1.example.com/httpdocs <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
现在在系统中创建一个目录结构,按照上面虚拟主机中的定义,并分配适当的所有权和文件权限。
mkdir -p /var/www/site1.example.com/httpdocs chmod 755 /var/www/site1.example.com/httpdocs chown www-data.www-data /var/www/site1.example.com/httpdocs
现在将项目文件上传到 /var/www/site1.example.com/httpdocs/目录。
对于本例,我们创建了一个 index.html文件用于测试,如下所示。
echo "hello site1.example.com" > /var/www/site1.example.com/httpdocs/index.html
3:启用第一个虚拟主机
现在,我们已经成功地在Apache中创建了第一个虚拟主机。
现在使用以下命令启用这个虚拟主机,以便Apache可以在下一次重新加载时加载这个配置文件。
a2ensite site1.example.com
基本上,这将在目录 /etc/apache2/sites-enabled/中创建虚拟主机配置文件的软链接。
要激活新的配置,我们需要运行:
service apache2 reload
现在我们可以在浏览器中访问 http://site1.example.com。
如果我们没有为域配置dns,通过在 /etc/hosts文件中添加一个条目来进行本地映射。
... 192.168.1.100 site1.example.com ...
4:创建另一个虚拟主机
如果我们想在服务器上添加另一个虚拟主机,只需重复步骤2和3,并更改站点名称,如site2.example.com。