【问题标题】:apache You don't have permission to access (ubuntu amazon ec2)apache 你没有访问权限(ubuntu amazon ec2)
【发布时间】:2016-06-26 11:19:05
【问题描述】:

我之前在亚马逊 EC2 上创建并安装过 Apache 几次。

但这次我似乎无法让 apache 运行我放在我创建并安装在 /data1/ 上的卷上的代码

我在已启用的 /etc/apache2/sites-available 中使用以下 000-default.conf

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        RewriteEngine On

        ServerAdmin webmaster@localhost
        #DocumentRoot /var/www/html/web
        DocumentRoot /data1/proj/ba/web

   <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

        <Directory  /data1/proj/ba/web>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

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

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

我得到http://ec2-54-197-1-250.compute-1.amazonaws.com/

禁止

您无权访问此服务器上的 /。

Apache/2.4.7 (Ubuntu) 服务器位于 ec2-54-197-1-250.compute-1.amazonaws.com 端口 80

我试过了

sudo adduser $USER www-data
sudo chown -R www-data:www-data /data1/proj
sudo chmod -R g+rw /data1/proj

以及这些 cmd 的其他变体

现在奇怪的是,如果我将 DocumentRoot 更改为 /var/www/html/web 并创建一个符号链接sudo ln -s /data1/proj/ba/web/ /var/www/html/web

比它工作!现在还可以,但将来对我来说可能是个问题。

知道我做错了什么吗?

【问题讨论】:

    标签: amazon-ec2


    【解决方案1】:

    这是新格式:

    <VirtualHost *:80>
            ServerAdmin webmaster@localhost
            ServerName myproj.co.il
            ServerAlias www.myproj.co.il
            RewriteEngine On
    
            ExpiresActive On
    
            CustomLog /var/log/apache2/access.log vhost_combined
    
            DocumentRoot /data1/projects/myproj/
            <Directory  /data1/projects/myproj/>
                   Options Indexes FollowSymLinks MultiViews
                   AllowOverride All
                   Require all granted
    
    
                   <FilesMatch "\.(gif|jpg|png|js|css)$">
                            ExpiresDefault "access plus 1 month"
    
                </FilesMatch>
    
            </Directory>
    
    </VirtualHost>
    

    请注意替换

    Require all granted
                Order allow,deny
                allow from all
    

    【讨论】:

      猜你喜欢
      • 2015-09-08
      • 1970-01-01
      • 2018-09-16
      • 1970-01-01
      • 2013-12-21
      • 1970-01-01
      • 2015-01-25
      • 2018-06-21
      • 1970-01-01
      相关资源
      最近更新 更多