web-dev-qa-db-fra.com

Remplacez le dossier racine Web htdocs de XAMPP par un autre.

J'essaie de changer le répertoire racine par défaut de XAMPP, /opt/lampp/htdocs, par un autre comme /home/me/Dropbox/public_html sans succès.

J'ai édité le fichier /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...

J'ai déjà procédé comme indiqué dans cet article: tilisation d'Ubuntu One pour synchroniser htdocs?

Ensuite, j'ai redémarré Apache et j'ai une erreur d'autorisation 403 sur chaque page que j'ai appelée avec le navigateur Web.

J'ai donc modifié l'autorisation du dossier et des fichiers en 755.

J'ai fait ceci comme dit dans cet article:
Quelles autorisations de fichiers dois-je définir à la racine Web?

Le problème reste toujours le même, j'ai l'erreur 403 sur chaque page que j'essaie d'atteindre avec le navigateur Web.

J'ai le même problème sur un Mac en utilisant XAMPP.

Donc, tout fonctionne correctement si le dossier reste l'original /opt/lampp/htdocs.

Comment puis-je le changer correctement?

17
vitto

Ouvrez /opt/lampp/etc/httpd.conf change nobody et 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>

à votre nom d'utilisateur et votre groupe

15
Zeroows

Avait le même problème et voici ce que j'ai fait:

Exécutez cette commande pour arrêter xampp:

Sudo /opt/lampp/lampp stop

Ouvrez /opt/lampp/etc/httpd.conf

Change votre_folder en le dossier que vous voulez utiliser

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

Remplacez User& Grouppar daemonen:

User nobody
Group nogroup

mettre chmod à votre_folder avec cette commande

Sudo chmod 777 /home/username/your_folder

Enregistrez le fichier et démarrez xampp avec cette commande:

Sudo /opt/lampp/lampp start

Ouvrez votre navigateur et entrez cette URL:

http://localhost/your_folder/

Fait, espérons que cela aide.

2
ExillustX

Si vous faites cela pour pouvoir créer des fichiers dans le dossier htdocs, naviguez simplement vers opt/lampp puis ouvrez le terminal et écrivez

Sudo chmod 777 htdocs /

C'est tout!

1
user260214

Le problème concernait le type de groupe d'utilisateurs dans le fichier httpd.conf qui doit être défini sur staff et je n'ai pas besoin de modifier les autorisations de dossier sur le dossier que je souhaite utiliser comme racine Web.

1
vitto

Avait le même problème sous linux 18.3. Aucun de ce qui précède ne fonctionnait exactement comme décrit, mais la combinaison suivante a fait:

Dans le fichier /opt/lampp/etc/httpd.conf, j'ai apporté les modifications suivantes:

Remplacer:

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

par:

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

et plus bas remplacer:

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

par

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

Ainsi, "myusername" est mon nom d'utilisateur linux, et "webdir" est le nom du répertoire de mon répertoire personnel où sont stockés les fichiers php.

Dans le terminal, arrêtez lampp avant de sauvegarder le fichier, recommencez. Dans le navigateur localhost pointera alors sur "webdir".

0
Michal

Vous pouvez créer un lien symbolique

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

avec votre nom d'utilisateur "~ nom d'utilisateur" comme lien symbolique pour que vous puissiez conserver le même emplacement d'URL

localhost/~username pour les fichiers comme si vous utilisiez le serveur Apache par défaut et non XAMPP.

0
baptx

Je viens de le résoudre en suivant les étapes ci-dessous:

  1. Installez d'abord xampp en suivant les étapes

    $ Sudo cd Downloads && Sudo chmod a+x ./your-downloaded-xampp-file.run && Sudo ./your-downloaded-xampp-file.run
    
  2. Changer le propriétaire du fichier du répertoire/opt/lampp. nom d'utilisateur doit être le nom d'utilisateur de votre nouveau dossier documentroot ownername

    Sudo chown -hR  username:root /opt/lampp
    
  3. modifier /opt/lampp/etc/httpd.conf

    Sudo gedit /opt/lampp/etc/httpd.conf
    
  4. éditez le chemin racine de votre document sur les fenêtres montées documentroot et les lignes suivantes

    <IfModule unixd_module>
       User nobody
       Group nogroup
    </IfModule>
    
  5. redémarrez xampp. Et vous trouverez erreur interdite est allé

0
nmrony