web-dev-qa-db-ja.com

WordpressおよびApache 2.4のインストールの問題:ディレクトリにサービスを提供できません

Wordpressが私のウェブホストで発生しているという悪魔がいます。virtualhostにアクセスしようとすると、「403 Forbiddenあなたはこれにアクセスする権限がありません/ error_logに「server。」エラーと「Cannotservedirectory ...」エラーが表示されます(以下を参照)。「403Forbidden」が表示されるのはなぜですか?何かが足りないので、わかりやすいと思います(当然のことながら)。ありがとうどんな助けでも。

私はFedora20の最小限のインストールをインストールしました(つまり、Gnome/KDEはありませんが、たくさんのphpパッケージ[710]なので、それほどスキニーではありません)。次に、Apacheをインストールし、Wordpress install as http://codex.wordpress.org/Installing_WordPress#Famous_5-Minute_Install を使用してフォローアップしました。それ以降、私は問題を見つけようとして/ etc/httpdをハッキングしてきました。

私はApacheのバージョン2.4、php 5.5.18、Fedora 20、およびWordpress 4.0-1を持っています。

Apacheで仮想ホストを作成しました。エラーログのエラーは次のとおりです(すべて1行)。

[Sat Nov 15 20:38:16.067198 2014] [autoindex:error] [pid 6745] 
[client XX.XX.XX.XX:48419] AH01276: Cannot serve directory /usr/share/wordpress/: 
No matching DirectoryIndex (index.html) found, and server-generated directory
index forbidden by Options directive

私はhttpd.confファイルと仮想ホストのファイル(/etc/httpd/conf.d/myhostname.confにあります)をハッキングしてハッキングしてきましたが、役に立ちませんでした。何か案は? httpd.confと仮想ホストのconfファイルの(短縮された)コピーを含めます。まず、仮想ホスト:

<VirtualHost *:80>
        ServerName virtual1.myhost.com
        ServerAlias virtual1
        DocumentRoot /usr/share/wordpress
        ErrorLog logs/virtual1_error
        CustomLog logs/virtual1_access common
</VirtualHost>

<Directory />
  Require all granted
  AllowOverride None
  <IfModule mod_rewrite.so>
        RewriteEngine On
        RewriteBase /
        RewriteRule ^index\.php$ - [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . /index.php [L]
  </IfModule>
</Directory>

<Directory /usr/share/wordpress>
  Require all granted
  <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
        RewriteRule ^index\.php$ - [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . /index.php [L]
  </IfModule>
  Options FollowSymLinks
  AllowOverride None
#  <IfModule mod_authz_core.c>
#    # Apache 2.4
#    Require local
#  </IfModule>
#  <IfModule !mod_authz_core.c>
#    # Apache 2.4
#    Require all granted
#    AllowOverride None
# </IfModule>
</Directory>

<Directory /usr/share/wordpress/wp-content/plugins/akismet>
  <FilesMatch "\.(php|txt)$">
    Require all granted
    AllowOverride None
  </FilesMatch>
</Directory>

さて、httpd.conf:

#
ServerRoot "/etc/httpd"

Listen 80
Include conf.modules.d/*.conf
User Apache
Group Apache
ServerAdmin root@localhost
<Directory />
    AllowOverride none
    Require all granted
</Directory>
DocumentRoot "/var/www/html"
<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>
<Directory "/var/www/html">
    Require all granted
    Options Indexes FollowSymLinks
    AllowOverride None
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
#
<Files ".ht*">
    Require all denied
</Files>
ErrorLog "logs/error_log"
LogLevel warn
<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>
<IfModule mime_module>
    TypesConfig /etc/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset UTF-8

<IfModule mime_magic_module>
    MIMEMagicFile conf/magic
</IfModule>
EnableSendfile on

NameVirtualHost *:80
<VirtualHost *:80>
    ServerName www.myhost.com
    ServerAlias www
    ServerAdmin [email protected]
    DocumentRoot /var/www/html
    ErrorLog logs/error_log
    CustomLog logs/access_log common
</VirtualHost>

IncludeOptional conf.d/*.conf
1
Mike S

忘れてしまったようです DirectoryIndex

これは<VirtualHost>を提供するWordPressに追加する必要があります。

DirectoryIndex index.php
2
Michael Hampton

ログでエラーを見つけることができます

[Sun Dec 03 17:38:17.649269 2017] [autoindex:error] [pid 4806] [client :: 1:57323] AH01276:ディレクトリ/ etc/httpd/conf/htdocs /に対応できません:一致するDirectoryIndex()が見つかりません、およびオプションディレクティブで禁止されているサーバー生成のディレクトリインデックス

それを修正するには:-

次に、/ etc/httpd/conf.d /welcome.confの行を削除する必要があります

既存の構成の下:-<LocationMatch "^/+$"> Options -Indexes ErrorDocument 403 /.noindex.html </LocationMatch>

以下の構成で解決しました:-行をコメントアウトしました。

<LocationMatch "^/+$"> #Options -Indexes ErrorDocument 403 /.noindex.html </LocationMatch>

0
vikii