在一个主机上托管多个域 Server/IP

Host Multiple Domains on One Server/IP

我已经设置了 phpList 和我想在一台服务器中添加的 Codeigniter 项目。

位于/etc/httpd/conf.d/phplist.conf的phpList配置有:

<VirtualHost *:80>
    ServerName phplist.example.com
    ServerAdmin admin@example.com
    DocumentRoot /var/www/phplist-3.0.5/public_html

    LogLevel warn
    ErrorLog /var/log/httpd/phplist_error.log
    CustomLog /var/log/httpd/phplist_access.log combined
</VirtualHost>

这是我对 CI 项目的可能设置,但我不知道如何创建一个。

<VirtualHost *:80>
    ServerName listcsv.com
    ServerAdmin admin@listcsv.com
    DocumentRoot /var/www/citest/index.php
</VirtualHost>

/etc/httpd/conf/httpd.conf 文件下面有一个 IncludeOptional conf.d/*.conf 所以我认为这将包括 phplist 上的配置文件。

我不知道我应该去什么设置和配置文件, 我应该在 /etc/httpd/conf/httpd.conf 上编辑还是只将它与 /etc/httpd/conf.d/phplist.conf 处的 phpList 配置一起添加?

我尝试在 http://phplist.example.com 访问 phplist,但无法访问该站点。

我可以通过在浏览器上 http://server-ip-address/lists/admin 访问 phpList。

此外,我无法访问 CI 项目。

我建议创建将存储虚拟主机的目录,以及告诉 Apache 虚拟主机已准备好为网站提供服务的目录

sudo mkdir /etc/httpd/sites-available # vhost files 
sudo mkdir /etc/httpd/sites-enabled # symbolic links for vhost enabled

告诉 Apache 在哪里寻找虚拟主机

sudo vim /etc/httpd/conf/httpd.conf

在文件末尾添加这一行

IncludeOptional sites-enabled/*.conf

保存并退出。

为每个 website/domain 创建自己的虚拟主机

sudo vim /etc/httpd/sites-available/example1.com.conf
sudo vim /etc/httpd/sites-available/example2.com.conf
sudo vim /etc/httpd/sites-available/example3.com.conf

启用虚拟主机

sudo ln -s /etc/httpd/sites-available/example1.com.conf /etc/httpd/sites-enabled/example1.com.conf
sudo ln -s /etc/httpd/sites-available/example2.com.conf /etc/httpd/sites-enabled/example2.com.conf
sudo ln -s /etc/httpd/sites-available/example3.com.conf /etc/httpd/sites-enabled/example3.com.conf

我们完成了,重新启动您的 Apache 服务器以使更改生效

sudo apachectl restart

不要忘记将您的域指向 Web 服务器的 public IP 地址。