web-dev-qa-db-ja.com

403 DocumentRootディレクトリApache 2.4.6を変更した後は禁止されています

それで、Ubuntu 13.10で仮想マシンをインストールしました。 ubuntu 12.04サーバーを更新する前に、Apache 2.4.6で遊んでみたかった。ドキュメントルートをホームフォルダーに入れたいので、etc/Apache2/sites-available/000-default.confで変更しました

私がそれをしたとき、私はただ禁止されたメッセージを受け取ります。新しいフォルダーのアクセス許可を777に設定しましたが、それでも禁止されています。新しいディレクトリにindex.htmlファイルを置いて、hello worldとだけ言っているが、まだ何も書いていない。ここに私の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

ServerAdmin webmaster@localhost
DocumentRoot /home/everett/webroot

<Directory /home/everett/webroot>
    Options 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
27
evaldez

私はまったく同じ問題を抱えていて、次のように解決しました:

最初; buntu Server Guide Pages で説明されている手順に従いました

  1. ターミナルに移動し、copyデフォルトの仮想ホスト設定を新しい設定にコピーします(Sudo cp /etc/Apache2/sites-available/000-default.conf /etc/Apache2/sites-available/mynewsite.conf
  2. この新しいファイル(Sudo gedit /etc/Apache2/sites-available/mynewsite.conf)を編集し、DocumentRootを独自のものに変更します(保存して閉じます。)
  3. Enableこの新しい構成ファイル(Sudo a2ensite mynewsite.conf)およびdissableデフォルトのもの(Sudo a2dissite 000-default.conf
  4. Apache2.conf(Sudo gedit /etc/Apache2/Apache2.conf)を編集し、デフォルトの-sectionを次のように変更します:<Directory [write_your_dir_here]> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>(保存して閉じる。)
  5. Apache2を再起動します(Sudo service Apache2 restart

すでに機能している場合:すばらしい!


そうでない場合は、名前付きベースのすべての<VirtualHost *:80>が、000-default.confが存在する場合を含め、個別のServerNameセットを必要とするかどうかを確認する必要があります。ターミナルでapachectl -Sを実行して、すべてのクイックリストを表示できます。


それでも動作しない場合は、ディレクトリ(およびそれに至るまでのフルパス)に適切な読み取りと実行があるかどうかを確認する必要があります-permissions (処方箋)。

  1. ルート(cd /)に移動し、ls -lのようなものが見えるdrwxr-xr-x 14 root root 4096 mei 1 01:24 [your_directory]を実行します。
  2. Www-folderに至るまでのすべてのディレクトリには「drwxr-xr-x」許可が必要です。許可されていない場合は、Sudo chmod -R a+rx [your_directory]を使用して変更できます。

それでも動作しない場合は、Apacheエラーログ(Sudo gedit /var/log/Apache2/error.log)を確認し、さらに掘り下げる必要があります...

幸運を!

64
user276513

親愛なる私はあなたがあなたのデフォルトのApache設定を変更していることをお知らせしたかった。

000-default.confファイルからこれらの行を削除します。

 <Directory/home/everett/webroot>
オプションFollowSymLinks MultiViews
すべてを許可
注文許可、拒否
すべての付与が必要
</ Directory>

Apache.confファイル(/etc/Apache2/Apache.conf)を開き、ディレクトリを見つけるか、行noに移動します。 172.「ディレクトリ/ var/www /」を見つける場所ここでディレクトリ「/ home/everett/webroot」を定義し、Apacheを保存して再起動し、Webページを更新します。

7
Abdul Kadir