Fehler 500 Ubuntu index.php Einstellung

Fehler 500 Ubuntu index.php Einstellung

Ich erhalte diesen Fehler, nachdem ich meine Datei in ein HTML-Verzeichnis gelegt habe, und bin über diese Einstellung verwirrt. Ich glaube, ich muss die index.phpDatei öffnen, aber ich erhalte einen 500-Fehler. Informieren Sie mich bitte über alle Fehler, die Ihnen auffallen.

Verzeichnisstruktur

Bildbeschreibung hier eingeben

Dies sind Daten von /etc/apache2/sites-available/fullstack1.conf:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName www.fullstack1.xyz
    ServerAlias fullstack1.xyz
    DocumentRoot /var/www/html/fullstack1

    <Directory /var/www/html/fullstack1/public/>
        DirectoryIndex index.php
        AllowOverride All
        Require all granted
        Order allow,deny
        Allow from all
     </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    LogLevel warn
</VirtualHost>

Dies sind Daten von /etc/apache2/apache2.conf:

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Antwort1

fullstack1.confSieht so aus, als ob Sie in der Datei einige Dinge überprüfen müssen :

  1. Sie DocumentRootsollten auf das Verzeichnis verweisen, von dem aus die Besucher der Site starten. Je nach Entität <Directory>sollte das folgendes sein:

    /var/www/html/fullstack1/public
    
  2. Der letzte Schrägstrich in der <Directory>Entität ist unnötig:

    <Directory /var/www/html/fullstack1/public>
    
  3. Wenn Sie eine moderne Version von Apache verwenden, können diese beiden Zeilen aus der <Directory>Entität entfernt werden:

    Order allow,deny
    Allow from all
    

    Diese Berechtigungsanweisungen werden jetzt mit den RequireAnweisungen behandelt.

  4. Wenn Apache nicht weiß, was es bereitstellen soll, wenn Benutzer die reine Domain besuchen, zeigt es standardmäßig die Verzeichnisstruktur an oder gibt einen Fehler aus. Da Sie eine PHP-basierte Site betreiben, können Sie diese Zeile direkt danach hinzufügen DocumentRoot:

    DirectoryIndex index.php index.html index.htm
    

    Dies sucht zuerst index.phpim /publicVerzeichnis nach und schlägt zuerst zu fehl, index.htmlwenn die PHP-Datei nicht vorhanden ist, und dann zu index.htm.

Sobald diese Elemente erledigt sind, starten Sie den Apache-Server neu (oder laden Sie ihn neu):

sudo service apache2 restart

Dies sollte Ihnen geben, was Sie brauchen

verwandte Informationen