【问题标题】:How to get multiple sites served on different paths, Ubuntu Server 14 LTS and apache如何让多个站点在不同的路径上提供服务,Ubuntu Server 14 LTS 和 apache
【发布时间】:2015-04-13 19:33:05
【问题描述】:

在 Ubuntu Server 14 LTS 上安装了 apache、mysql 和 php。另外:

  • CakePhp 安装在 /srv/appName 中
  • Phpmyadmin 安装在 /usr/share/phpmyadmin 中(推荐)
  • 虚拟主页位于默认位置 /var/www/html/ 下

我希望提供这样的网站(链接被破坏以超出发布规则):

  • httx://10.x.x.x/ -- 主页
  • httx://10.x.x.x/appName -- cakePhp 安装
  • httx://10.x.x.x/phpmyadmin --- PhpMyAdmin 站点

有一段时间我让 Phpmyadmin 在上述 URL 上使用密码验证(通过 html 表单)工作,并显示主页,但无法显示 cakePhp 主页。

终于在 httx://10.xxx/ 上获得了 cakePhp 主页,但只能通过在 /etc/apache2/ 中将“DocumentRoot”值从 /var/www/html 更改为 /srv/appName/webroot站点可用/000-default.conf .

通过这种方式访问​​,cakePhp 主页显示正确,目录权限、数据库访问和其他设置带有绿色复选标记——但当然主页不再可用。同样在这个时候,Phpmyadmin 开始期待 http-authentication 并在拒绝以前通过 HTML 表单工作的所有用户名 + 密码组合后给出 401(虽然我没有更改 Phpmyadmin 的任何配置)。

当前主页出现,但路径 /appName 的 url 得到 403,而 /phpmyadmin 的 url 得到 http-auth 弹出窗口。

/etc/phpmyadmin/apache.conf 与安装完全一致,没有任何更改,因为可以访问 Phpmyadmin。它包含:

Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
...

我还在 /etc/phpmyadmin/apache.conf 的模型上创建了 /etc/appName/apache.conf ,包括以下几行:

Alias /appName /srv/appName
<Directory /srv/appName>
...

/etc/apache2/apache2.conf 的相关 (?) 部分:

Include /etc/phpmyadmin/apache.conf
Include /etc/appName/apache.conf

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

# changed "AllowOverride None" to "AllowOverride All"
<Directory /usr/share>
        AllowOverride All
        Require all granted
</Directory>

# changed "AllowOverride None" to "AllowOverride All"
<Directory /var/www>
       Options Indexes FollowSymLinks
       AllowOverride All
       Require all granted
</Directory>

# added this and changed "AllowOverride None" to "AllowOverride All"
<Directory /srv/appName>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

... 

IncludeOptional conf-enabled/*.conf

我阅读了许多论坛帖子,并尝试了上述所有项目的许多不同变体。我怎样才能在 httx://10.xxx/ 上提供默认主页,在 httx://10.xxx/appName 上提供 cakePhp,在 httx://10.xxx/phpmyadmin 上提供 PhpMyadmin?

【问题讨论】:

    标签: apache cakephp phpmyadmin ubuntu-14.04 http-status-code-403


    【解决方案1】:

    我会使用符号链接,例如:

    ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
    

    会在/var/www/html中放一个指针:

    phpmyadmin -> /usr/share/phpmyadmin
    

    并产生与 phpmyadmin 在 /var/www/html/ 中相同的结果

    【讨论】:

      猜你喜欢
      • 2017-12-14
      • 2018-03-20
      • 1970-01-01
      • 2018-12-26
      • 1970-01-01
      • 2017-11-12
      • 1970-01-01
      • 2013-01-02
      • 2015-12-12
      相关资源
      最近更新 更多