web-dev-qa-db-ja.com

新しいエイリアスを設定すると、アクセスが禁止されます(エラー403)

Windows 7を実行しており、最近XAMPPをインストールして開発環境を構築しています。私は物事のサーバー側が苦手なので、プロジェクトのエイリアスを設定する際にいくつかの問題が発生しています。

これまでにXAMPPが実行されており、localhostにアクセスするとXAMPPのウェルカムページが表示されます。 Apacheインストールの「conf」フォルダーに「alias」フォルダーを作成しました。そこで、次の内容のdev.confを追加しました。

<Directory "C:\Users\my_user\My%20Documents\Aptana%20Studio%203%20Workspace\project">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from 127.0.0.1
</Directory>

Alias /dev "C:\Users\my_user\My%20Documents\Aptana%20Studio%203%20Workspace\project"

しかし、「localhost/dev」に移動すると、次のようになります:

アクセス禁止!

要求されたオブジェクトにアクセスする権限がありません。サーバーによって読み取り保護されているか、読み取り可能ではありません。

これがサーバーエラーだと思われる場合は、ウェブマスターにお問い合わせください。

エラー403

グーグルで試したところ、SOで他の同様の質問を見つけましたが、理解できないようです。一部の人は、許可を与えるように指示する必要があると言いますが、私のconfファイルでは127.0.0.1から許可するように指定しました。たぶん、これは私のパスにスペースが含まれているためです(一部のグーグルは%20の作業を教えてくれました)。別のフォルダーに作成し、作業中のフォルダーをコピーしてエイリアスとパスを変更すると壊れたため、おそらくどちらかに関係している可能性があります。

ログフォルダーを確認すると、次の行が見つかりました。

[2011年12月13日14:59:20 2011] [エラー] [クライアント:: 1]サーバー構成によりクライアントが拒否されました:C:/ Users/my_user/My%20Documents

エラーメッセージは特定の長さしかできないため、それがカットされるかどうかはわかりませんが、dev.confファイルに追加したパスではないことは間違いありません。かなりイライラしているので、もう何を試すべきかわかりません。

40
Gazillion

ようやく機能しました。

パスのスペースが壊れているかどうかはわかりませんが、Aptanaインストールのワークスペースをスペースのないものに変更しました。

XAMPPをアンインストールして再インストールしたのは、気付かずにどこかでタイプミスをしたのではないかと考えていたためです。

Windows 7には、Apacheの開始(-1を与える)エラーをブロックするポート80を使用するサービスがあります。そこで、ポート8080をリッスンするポートを変更しました。競合は発生しません。

最後にコンピューターを再起動しました、何らかの理由でXAMPPはiniファイルをいじるのが好きではなく、Apacheを再起動するだけではうまくいきませんでした。

とにかく、これはこれまでで最もイライラする日だったので、私の答えが誰かを助けることになることを本当に願っています!

6
Gazillion

XamppのWindowsインストールでエイリアスと同じ問題を見つけました。

403エラーを解決するには:

<Directory "C:/Your/Directory/With/No/Trailing/Slash">
   Require all granted
</Directory>

Alias /dev "C:/Your/Directory/With/No/Trailing/Slash"

デフォルトのXamppセットアップはこれだけで問題ありません。一部の人々はルートディレクトリに置かれた拒否に関する問題を経験しているので、ディレクトリタグを次のように外します:

<Directory "C:/Your/Directory/With/No/Trailing/Slash">
   Allow from all
   Require all granted
</Directory>

これは役立つでしょうが、Xamppの現在のバージョン(執筆時点ではv1.8.1)では必要ありません。

ポート80に関するopの問題に関しては、Xamppには、ポートを使用しているものを検出するための便利なNetstatボタンが含まれています。発射して競合を修正します。IISだったかもしれませんが、確かではありません。

78
GuyC

Apache2.4でXAMPPを使用していますが、これと同じ問題がありました。デフォルトのxampp/htdocsフォルダーをそのままにしておき、locahostからアクセスできるようにし、仮想ホストが開発エリアを指すようにしました...

C:\xampp\Apache\conf\extra\http-vhosts.confファイルの全内容は以下の通りです...

# Virtual Hosts
#
# Required modules: mod_log_config

# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.Apache.org/docs/2.4/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual Host
# configuration.

#
# Use name-based virtual hosting.
#

##NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ##ServerName or ##ServerAlias in any <VirtualHost> block.
#
##<VirtualHost *:80>
    ##ServerAdmin [email protected]
    ##DocumentRoot "C:/xampp/htdocs/dummy-Host.example.com"
    ##ServerName dummy-Host.example.com
    ##ServerAlias www.dummy-Host.example.com
    ##ErrorLog "logs/dummy-Host.example.com-error.log"
    ##CustomLog "logs/dummy-Host.example.com-access.log" common
##</VirtualHost>

##<VirtualHost *:80>
    ##ServerAdmin [email protected]
    ##DocumentRoot "C:/xampp/htdocs/dummy-Host2.example.com"
    ##ServerName dummy-Host2.example.com
    ##ErrorLog "logs/dummy-Host2.example.com-error.log"
    ##CustomLog "logs/dummy-Host2.example.com-access.log" common
##</VirtualHost>


<VirtualHost *:80>
    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot "C:\nick\static"
    ServerName dev.middleweek.co.uk
    <Directory "C:\nick\static">
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

その後、このようにC:\windows\System32\drivers\etc\hostsファイルを更新しました...

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to Host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding Host name.
# The IP address and the Host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client Host

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

127.0.0.1   dev.middleweek.co.uk
127.0.0.1       localhost

適切に測定するためにマシンを再起動し、XAMPPコントロールパネルを開いてApacheを起動します。

ブラウザーでカスタムドメインを開きます。上の例では、 http://dev.middleweek.co.uk になります。

それが誰かを助けることを願っています!

新しい仮想ホストの下にディレクトリ一覧を表示できるようにしたい場合は、C:\xampp\Apache\conf\extra\http-vhosts.confのVirtualHostブロックを編集して、次のような「オプションインデックス」を追加します。

<VirtualHost *:80>
    DocumentRoot "C:\nick\static"
    ServerName dev.middleweek.co.uk
    <Directory "C:\nick\static">
        Allow from all
        Require all granted
        Options Indexes
    </Directory>
</VirtualHost>

乾杯、ニック

28
Nick Middleweek

この質問は古く、あなたはそれをうまく機能させることができましたが、ここで指摘した点のいくつかを明確にすると役立つと思います。

最初にスペースを含むディレクトリ名について。私はApache2設定ファイルで遊んでいますが、ディレクトリ名にスペースがある場合、それを二重引用符で囲み、すべての問題が消えることを発見しました。例えば...

    NameVirtualHost     local.webapp.org
    <VirtualHost local.webapp.org:80>
        ServerAdmin [email protected]
        DocumentRoot "E:/Project/my php webapp"
        ServerName local.webapp.org
    </VirtualHost>

DocumentRoot行の記述方法に注意してください。

2つ目は、xamppからのアクセスが禁止されていることです。デフォルトのxampp構成(xampp/Apache/httpd.confへのパス)には、次のようなセクションがあることがわかりました。

    <Directory>
        AllowOverride none
        Require all denied
    </Directory>

それを変更して、以下のようにします。ファイルを保存してxamppからApacheを再起動すると、問題が解決します。

    <Directory>
       Options Indexes FollowSymLinks Includes ExecCGI
       AllowOverride none
       Require all granted
    </Directory>
20
Willa

これを試して

Sudo chmod -R 0777/opt/lampp/htdocs/testproject

13
Miftahulfauzan

Apache 2.4仮想ホストハック

1. http.confで、「Listen」の下のポートを指定します

Listen 80
Listen 4000
Listen 7000
Listen 9000
  1. Httpd-vhosts.confで

    <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "C:/Users/Vikas/Documents/NetBeansProjects/slider_website_hitesh/public_html"  
    ServerName hitesh_web.dev
    ErrorLog "logs/dummy-Host2.example.com-error.log"
    CustomLog "logs/dummy-Host2.example.com-access.log" common
    
    <Directory "C:/Users/Vikas/Documents/NetBeansProjects/slider_website_hitesh/public_html">
    Allow from all
    Require all granted
    </Directory>
    
    </VirtualHost>
    

    これは2番目の仮想ホストです

    <VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "E:/dabkick_git/DabKickWebsite"
    ServerName  www.my_mobile.dev
    ErrorLog "logs/dummy-Host2.example.com-error.log"
    CustomLog "logs/dummy-Host2.example.com-access.log" common
    
    <Directory "E:/dabkick_git/DabKickWebsite">
     Allow from all
     Require all granted
     </Directory>
    </VirtualHost>
    
  2. Windows osのhosts.icsファイル「C:\ Windows\System32\drivers\etc\Host.ics」

    127.0.0.1             localhost
    127.0.0.1             hitesh_web.dev
    127.0.0.1             www.my_mobile.dev
    127.0.0.1             demo.multisite.dev
    

4.今すぐブラウザに「ドメイン名」を入力し、documentRootパスで指定された特定のフォルダにpingを実行します

5.特定のポートでこれらのファイルにアクセスする場合は、httpd-vhosts.confの80を以下のようなポート番号に置き換え、Apacheを再起動します

   <VirtualHost *:4000>
ServerAdmin [email protected]
DocumentRoot "C:/Users/Vikas/Documents/NetBeansProjects/slider_website_hitesh/public_html"
ServerName hitesh_web.dev
ErrorLog "logs/dummy-Host2.example.com-error.log"
CustomLog "logs/dummy-Host2.example.com-access.log" common

<Directory "C:/Users/Vikas/Documents/NetBeansProjects/slider_website_hitesh/public_html">
Allow from all
Require all granted
</Directory>

</VirtualHost>

これは2番目の仮想ホストです

<VirtualHost *:7000>
ServerAdmin [email protected]
DocumentRoot "E:/dabkick_git/DabKickWebsite"
ServerName  www.dabkick_mobile.dev
ErrorLog "logs/dummy-Host2.example.com-error.log"
CustomLog "logs/dummy-Host2.example.com-access.log" common

<Directory "E:/dabkick_git/DabKickWebsite">
Allow from all
Require all granted
</Directory>
</VirtualHost>

注:仮想ホストが指定されたポート番号については、「 http://hitesh_web.dev:4000/ 」または「 http://www.dabkick_mobile.dev: 7000 /

6.これらのすべての変更を行った後、ファイルを保存し、Apacheをそれぞれ再起動する必要があります。

3
vikas etagi

Bitnami経由でXampp(Linux)にモジュールをインストールし、chown設定を変更した場合は、/opt/lampp/apps/<app>/htdocsおよびtmpユーザーグループが他のすべての兄弟ファイルとともにdaemonであることを確認してくださいおよびフォルダchownedとしてインストールしたユーザーに、たとえばcd /opt/lampp/apps/<app>Sudo chown -R root:root .、その後にSudo chown -R root:daemon htdocs tmpが続きます。

1
Jonathan