如何在 ubuntu 14.04 的主目录上设置 apache2 虚拟主机?

Vin*_*ana 13 permissions virtualhost apache2 14.04

我正在尝试设置我的 apache2 虚拟主机以从我的主目录上的应用程序目录运行应用程序。

home/myusername/apps/application1
Run Code Online (Sandbox Code Playgroud)

以下是我目前正在执行的步骤:

1) 创建目录并向其添加 index.html 文件。

home/myusername/apps/application1/index.html
Run Code Online (Sandbox Code Playgroud)

2) 授予目录权限。

sudo chown -R $USER:$USER /home/myusername/apps/application1

sudo chmod -R 755 /home/myusername/apps
Run Code Online (Sandbox Code Playgroud)

3)创建虚拟主机文件

sudo touch /etc/apache2/sites-enabled/application1.app.conf

<VirtualHost *:80>    
    ServerAdmin webmaster@localhost
    DocumentRoot /home/myusername/application1
    ServerName application1.app
    ServerAlias www.application1.app

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

4)激活主机

sudo a2ensite application1.app
Run Code Online (Sandbox Code Playgroud)

5)重启Apache

sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

6) 将域添加到主机文件中

127.0.0.1    application1.app
Run Code Online (Sandbox Code Playgroud)

完成所有这些之后,当我在浏览器 application1.app 上输入地址时,我得到以下 403。

Forbidden
You don't have permission to access / on this server.
Apache/2.4.7 (Ubuntu) Server at application1.app Port 80
Run Code Online (Sandbox Code Playgroud)

关于我做错了什么的任何想法?谢谢大家。

Dou*_*ies 26

当您在 apache 中使用任何非标准目录时,您还需要编辑/etc/apache2/apache2.conf,并添加一个<Directory /bla/bla>节,以便 apache 知道可以访问该区域。只需复制现有的/var/www/var/www/html一个。例如(来自另一个问题,针对不同的位置):

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

<Directory /media/newhd/test_web/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)