ubuntu - apache2:在本地服务器的同一域下托管多个站点

标签 ubuntu apache2 virtualhost virtual-hosts

我有一台带有 LAMP、ubuntu 和 apache2 的本地服务器,我想安装几个 Web 应用程序(openproject、vtiger、suitecrm、sugar crm 等)来测试它们。它们都是基于网络的服务。

我已将它们解压到/var/www 下并将虚拟主机配置为:

对于 Vtiger 服务:/etc/apache2/sites-available/vtigercrm.conf

<VirtualHost *:80>

#ServerName www.example.com

ServerAdmin angel@usmima.com
DocumentRoot /var/www/vtigercrm
ServerName vtigercrm
ServerAlias vtigercrm.serverMachine.synology.me 
Alias /vtigercrm /var/www/vtigercrm

ErrorLog ${APACHE_LOG_DIR}/vtigercrm-error.log
CustomLog ${APACHE_LOG_DIR}/vtigercrm-access.log combined
</VirtualHost>

对于 Suite crm 服务:/etc/apache2/sites-available/suitecrm.conf

<VirtualHost *:80>

ServerAdmin angel@usmima.com
DocumentRoot /var/www/suitecrm
ServerName suitecrm
ServerAlias suitecrm.serverMachine.synology.me
ServerAlias localhost
Alias /suitecrm /var/www/suitecrm 

ErrorLog ${APACHE_LOG_DIR}/suitecrm-error.log
CustomLog ${APACHE_LOG_DIR}/suitecrm-access.log combined

   <Directory /var/www/suitecrm/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
   </Directory>
</VirtualHost>

对于开放项目:/etc/apache2/sites-available/openproject.conf

Include /etc/openproject/addons/apache2/includes/server/*.conf

<VirtualHost *:80>
  ServerName openproject
  ServerAlias serverMachine.synology.me
  ServerAlias localhost
  DocumentRoot /opt/openproject/public

  ProxyRequests off

  Include /etc/openproject/addons/apache2/includes/vhost/*.conf

  ProxyPass /openproject/ http://127.0.0.1:6000/openproject/ retry=0
  ProxyPassReverse /openproject/ http://127.0.0.1:6000/openproject/
</VirtualHost>

我可以使用它们的 ServerAlias 地址访问每一项服务:

  • vtigercrm.serverMachine.synology.me
  • suitecrm.serverMachine.synology.me
  • serverMachine.synology.me/openproject

但如果我想在本地访问它们, http://localhost/openproject 是唯一有效的。 http://localhost/suitecrm http://localhost/vtigercrm 不起作用。

我必须如何配置才能像访问同一域的不同文件夹一样访问每项服务?例如:

openproject 的案例正在运行:

谢谢

编辑 1

我已经设法解决了为 openproject 添加编辑虚拟主机配置的问题:

Alias /vtigercrm /var/www/vtigercrm
Alias /suitecrm  /var/www/suitecrm

访问时好像在启动openproject。我必须做什么才能避免需要 openproject 虚拟主机来正确路由对 vtiger、suitecrm 和其他站点的访问?

谢谢

最佳答案

我建议更改系统的主机文件。

/etc/hosts

替换

127.0.0.1 localhost

127.0.0.1 serverMachine.synology.me vtigercrm.serverMachine.synology.me suitecrm.serverMachine.synology.me localhost

现在只需输入与您在另一个系统上相同的地址 - 浏览器将发送与外部用户完全相同的信息,因此 Apache 将以相同的方式响应。

关于ubuntu - apache2:在本地服务器的同一域下托管多个站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40382210/

相关文章:

c - 如何获取 btrfs 子卷的递归快照?

python - 无法获得运行 uWSGI Emperor 的权限

django - Apache2 mod_wsgi,500 内部服务器错误

apache - 重定向到Apache虚拟主机文件中的子文件夹

apache2 - 本地主机无法连接到所需的虚拟主机

ruby-on-rails-3 - gem install pg 只能作为 sudo

python - Odoo docker 图像 : how to scaffold?

apache - https 仅适用于 site1,但 site2 不适用于同一台服务器

linux - 在本地主机中链接(LAMP)

linux - 我应该如何配置我的 VirtualHosts?