403 - Permission denied-Fehler, die auf Ubuntu 14.04 - apache2
Diese Frage wurde viele Male gefragt, und ich habe durch die meisten der Lösungen, aber noch kein Glück.
Ich versuche, erstellen einen virtuellen host auf einer neuen installation von Ubuntu 14.04 LTS-version und aus irgendeinem Grund bin ich immer die folgende Fehlermeldung.
You don't have permission to access /on this server.
Dies ist, was ich bisher getan habe.
- Erstellt, der folgende virtuelle host in
/etc/apache2/sites-available/om.conf
<VirtualHost *:80>
ServerAdmin root@localhost
ServerName om.localhost.com
ServerAlias www.om.localhost.com
DocumentRoot "/home/jay/Projects/om/public"
<Directory "/home/jay/Projects/om/public">
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
-
aktiviert der host mit dem folgenden Befehl
sudo a2ensite om
-
wurde ein Eintrag Hinzugefügt, um
/etc/hosts
127.0.0.1 localhost
127.0.1.1 Desk-PC-Ubuntu-14-02-LTS
127.0.0.1 om.localhost.com
- legen Sie die Berechtigungen auf das Projekt-Verzeichnis mit den folgenden Befehlen.
sudo chown -R www-data:www-data om
sudo chmod -R 755 om
-
Aktiviert die rewrite-Modul
sudo a2enmod rewrite
-
Neustart von apache2
sudo service apache2 restart
Aber trotzdem bekomme ich die gleiche Fehlermeldung.
Kann bitte jemand erklären, was ich falsch mache?
Das Projekt basiert auf dem Zend Framework 1.12 und verwendet die folgenden .htaccess-Dateien.
SetEnv APPLICATION_ENV "development"
RewriteEngine On
# The following rule tells Apache that if the requested filename
# exists, simply serve it.
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
# The following rewrites all other queries to index.php. The
# condition ensures that if you are using Apache aliases to do
# mass virtual hosting, the base path will be prepended to
# allow proper resolution of the index.php file; it will work
# in non-aliased environments as well, providing a safe, one-size
# fits all solution.
RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::$
RewriteRule ^(.*)$ - [E=BASE:%1]
RewriteRule ^(.*)$ %{ENV:BASE}index.php [NC,L]
- Haben Sie überprüft, die Fehler melden? Durfte nicht setzen Sie die richtigen Berechtigungen auf die
public_html
Ordner, denn das ist die eigentliche document-root nicht die om-Ordner? - Ich bekomme folgende Fehlermeldung in die error-logs. Ich habe auch versucht die Einstellung der Berechtigungen auf das "public_html" - Ordner, aber kein Glück.
(13)Permission denied: [client 127.0.0.1:51153] AH00035: access to /favicon.ico denied (filesystem path '/home/jay/Projects/om') because search permissions are missing on a component of the path
Suchen, um dieses Problem zu lösen jetzt. Danke für die Hilfe
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen Sie Ihre Berechtigungen auf den gesamten Datei-Pfad. Überprüfen Sie auf der
Projects
- Ordner und stellen Sie sicher, es ist755
. Es würde nicht Schaden, gibt es dieowner
undgroup
vonwww-data
. Wenn Sie irgendwelche .htaccess-Dateien stellen Sie sicher, dass Sie zugeordnet sind644
und nicht755
als gut.Auch mischen Sie Apache version der Richtlinien. Es erscheinen Sie möglicherweise ausgeführt werden, 2.4, da Sie mit Ubuntu 14.04. So müssen Sie entfernen Sie diese Richtlinien.
2,4 brauchen Sie nur
Require all granted
.Auch möchte ich hinzufügen, eine
DirectoryIndex
Richtlinie, um sicherzustellen, es ist auf der Suche nach einer index-Datei. Wenn es nicht erkennt, wird es versuchen die Liste der Verzeichnis-und mit Indizes aus wird zu einer 403 forbidden-Fehler als gut. Setzen Sie diese in die vhost in IhremDirectory
tag nach Benötigen alle selbstverständlich.In einigen Fällen auch SELinux es anstößig sein und verursachen Erlaubnis Fragen. Wenn alle Stricke reißen und Sie SELinux auf, dann deaktivieren Sie ihn vorübergehend, um zu sehen, ob es behebt Ihre Probleme.
Wird Ihnen sagen, ob es die Durchsetzung oder nicht.
Damit wird es in den permissive-und dann können Sie testen, die Seite zu laden. Dies wird vorübergehend sein, und wird nicht widerstehen, einen Neustart. Allerdings können Sie machen es permanent.
Können Sie den Befehl chcon zu den Sicherheitskontext ändern. Zum Beispiel
Wie immer reload/restart von apache für jede apache-config ändert. Hoffentlich etwas, das hier wird helfen, lösen Ihre 13-Permission Denied Problem.