Ändern Sie den htdocs-Webstammordner von XAMPP in einen anderen

18

Ich versuche, das XAMPPWebstamm-Standardverzeichnis ohne Erfolg /opt/lampp/htdocsin ein anderes zu ändern /home/me/Dropbox/public_html.

Ich habe die Datei bearbeitet /opt/lampp/etc/httpd.conf

# old line: DocumentRoot "/opt/lampp/htdocs"
DocumentRoot "/home/me/Dropbox/public_html"

#...etc...

# old line: <Directory "/opt/lampp/htdocs">
<Directory "/home/me/Dropbox/Work/public_html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
# etc...

Ich habe das wie in diesem Artikel gesagt gemacht: Verwenden von Ubuntu One, um htdocs zu synchronisieren?

Dann habe ich neu gestartet Apacheund 403auf jeder Seite, die ich mit dem Webbrowser aufgerufen habe, ist ein Berechtigungsfehler aufgetreten.

Also habe ich die Ordner- und Dateiberechtigung auf geändert 755.

Ich habe dies wie in diesem Artikel ausgeführt:
Welche Dateiberechtigungen sollte ich für das Webroot festlegen?

Das Problem bleibt immer noch das gleiche, ich habe den 403Fehler auf jeder Seite, die ich mit dem Webbrowser zu erreichen versuche.

Ich habe das gleiche Problem bei einer MacVerwendung XAMPP.

Also alles funktioniert gut, wenn der Ordner das Original bleibt /opt/lampp/htdocs.

Wie kann ich es richtig ändern?

vitto
quelle
Ich kann den opt-Ordner nicht finden, befindet er sich in einem anderen Ordner oder so? Ich habe bereits fast den gesamten xampp-Installationsordner durchsucht und kann ihn nicht finden. Bitte helfen Sie :(
Ich habe es auf einer UbuntuDistribution gemacht, verwenden Sie vielleicht eine andere Distribution? Ausgehend vom Stammordner /finde ich den optOrdner.
8.

Antworten:

15

Open /opt/lampp/etc/httpd.conf change nobody und nogroup

<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User nobody
Group nogroup
</IfModule>

zu Ihrem Benutzernamen und Ihrer Gruppe

Nullen
quelle
2

Hatte das gleiche Problem und hier ist, was ich getan habe:

Führen Sie diesen Befehl aus, um xampp zu stoppen:

sudo /opt/lampp/lampp stop

Öffnen /opt/lampp/etc/httpd.conf

Ändern Sie Ihren Ordner in den Ordner, den Sie verwenden möchten

 DocumentRoot "/home/username/your_folder"
 <Directory "/home/username/your_folder">

Ändern User& GroupWert von daemonbis:

User nobody
Group nogroup

setze chmod mit diesem Befehl auf your_folder

sudo chmod 777 /home/username/your_folder

Speichern Sie die Datei und starten Sie xampp mit diesem Befehl:

sudo /opt/lampp/lampp start

Öffnen Sie Ihren Browser und geben Sie diese URL ein:

http://localhost/your_folder/

Fertig, hoffe das hilft.

ExillustX
quelle
1

Das Problem lag darin, dass eine Benutzergruppe eine httpd.confDatei eingibt, für die festgelegt werden muss, staffund dass dann die Ordnerberechtigungen für den Ordner, den ich als Webstamm verwenden möchte, nicht geändert werden müssen.

vitto
quelle
1

Wenn Sie dies tun, damit Sie Dateien im Ordner htdocs erstellen können, navigieren Sie einfach zu opt / lampp, öffnen Sie das Terminal und schreiben Sie

sudo chmod 777 htdocs /

Das ist es!

user260214
quelle
0

Sie können eine symbolische Verknüpfung erstellen

ln -s /home/username/public_html/ /opt/lampp/yoursymlink 

Mit Ihrem Benutzernamen "~ username" als symbolischem Link können Sie denselben URL-Speicherort beibehalten

localhost/~username Für Dateien, bei denen Sie beispielsweise den Standard-Apache-Server und nicht XAMPP verwenden.

baptx
quelle
0

Hab es einfach gelöst, indem du die folgenden Schritte befolgst:

  1. Installieren Sie zuerst xampp, indem Sie die folgenden Schritte ausführen

    $ sudo cd Downloads && sudo chmod a+x ./your-downloaded-xampp-file.run && sudo ./your-downloaded-xampp-file.run
    
  2. Ändern Sie den Dateieigentümer des Verzeichnisses / opt / lampp. Benutzername sollte der Benutzername Ihres neuen Documentroot-Ordners sein

    sudo chown -hR  username:root /opt/lampp
    
  3. bearbeiten /opt/lampp/etc/httpd.conf

    sudo gedit /opt/lampp/etc/httpd.conf
    
  4. Bearbeiten Sie Ihren Dokumentstammpfad in Mounted Windows Documentroot und in den folgenden Zeilen

    <IfModule unixd_module>
       User nobody
       Group nogroup
    </IfModule>
    
  5. starte xampp neu. Und Sie werden feststellen, dass der verbotene Fehler verschwunden ist

nmrony
quelle
0

Hatte das gleiche Problem unter Linux 18.3. Keines der oben genannten Verfahren hat genau wie beschrieben funktioniert, aber die folgende Kombination hat funktioniert:

In der Datei /opt/lampp/etc/httpd.conf habe ich folgende Änderungen vorgenommen:

Ersetzen:

    <IfModule unixd_module>
    User daemon 
    Group daemon
    </IfModule>

durch:

    <IfModule unixd_module>
    User myusername 
    Group myusername
    </IfModule>

und weiter unten ersetzen:

    DocumentRoot "/opt/lampp/htdocs"
    <Directory "/opt/lampp/htdocs">

durch

    DocumentRoot "/home/myusername/webdir" 
    <Directory "/home/myusername/webdir"

Dabei ist "myusername" mein Linux-Benutzername und "webdir" der Verzeichnisname in meinem Home-Verzeichnis, in dem die PHP-Dateien gespeichert sind.

Beenden Sie im Terminal lampp, bevor Sie die Datei speichern, und starten Sie erneut. Im Browser zeigt localhost dann auf "webdir".

Michal
quelle
-1

Im NTFS-Format können Sie keine Ordnerberechtigungen festlegen. Öffnen /opt/lampp/etc/httpd.conf.

Bearbeiten Sie
Benutzer computerName
Gruppe computerName

Danach können Sie auf die symbolischen Links in htdocs zugreifen.

ahmedsaoud31
quelle
1
Wo wird NTFS formatin der Frage erzählt? Auch der Rest der Antwort scheint die Frage des OP nicht zu beantworten.
Saji89
-2

Erstellen Sie einfach eine Indexdatei für Ihren neuen htdocsOrdner.

Ryan Lou
quelle
Können Sie dies bearbeiten, um einige Details zu erläutern, wie das geht?
Eliah Kagan
nicht verständlich , was er gerade in einer Linie zu erklären versucht
nmrony
Weitere Anweisungen wären sehr hilfreich.
Jos