Comment changer le répertoire racine d'un serveur apache? [fermé]

Est-ce que quelqu'un sait comment changer la racine du document du serveur Apache? Je veux essentiellement que localhost Vienne du répertoire /users/spencer/projects au lieu de /var/www.

Modifier

J'ai fini par comprendre. Certains ont suggéré-je changer la httpd.conf fichier, mais j'ai fini par trouver un fichier dans /etc/apache2/sites-available/default et changé le répertoire racine de /var/www à /home/myusername/projects_folder et que travaillé.

211
demandé sur pradeep1991singh 2011-05-05 05:46:55

17 réponses

Vous devez modifier le paramètre DocumentRoot dans votre fichier httpd.conf. Les Chances sont qu'il sera sous quelque chose comme /etc/apache2/conf/httpd.conf

Utiliser votre éditeur préféré (je recommande Vim) et de regarder pour la DocumentRoot et remplacez - /users/spencer/projects. Regardez aussi un peu plus bas pour un paramètre qui ressemble à ceci:

<Directory "/var/www">

Vous voudrez également changer ce qui est dans les guillemets dans votre nouveau répertoire. Cela donne accès à Apache pour lire à partir de ce répertoire lorsqu'un utilisateur fait une demande qui appelle il.

Redémarrez maintenant votre service apache (httpd -k restart) et vous devriez être prêt à partir.

Edit : les fichiers de configuration du site Apache2 sont maintenant généralement conservés dans /etc/apache2/sites-available/ (Debian, Ubuntu, etc.).

178
répondu RDL 2014-12-02 09:09:25

Veuillez noter que cela ne s'applique qu'aux versions Ubuntu 14.04 LTS et plus récentes.

Dans mon Ubuntu 14.04 LTS, la racine du document était définie sur /var/www/html. Il a été configuré dans le fichier suivant:

/etc/apache2/sites-available/000-default.conf

Alors faites juste un

sudo nano /etc/apache2/sites-available/000-default.conf

Et changez la ligne suivante en ce que vous voulez:

DocumentRoot /var/www/html

Faites aussi un

sudo nano /etc/apache2/apache2.conf

Et trouvez ceci

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

Et changez /var/www/html dans votre répertoire préféré

Et enregistrez-le.

Après avoir enregistré vos modifications, il suffit de redémarrer le serveur web apache2 et vous aurez terminé:)

sudo service apache2 restart


Si vous préférez un éditeur de texte graphique, vous pouvez simplement remplacer les sudo nano par gksu gedit.
240
répondu katze_sonne 2014-09-12 12:49:27

J'ai dû modifier /etc/apache2/sites-available/default. Les lignes sont les mêmes que celles mentionnées par RDL.

42
répondu Nick 2012-09-08 21:09:00

C'est pour Ubunutu 14.04:

Dans le fichier /etc/apache2/apache2.conf, il devrait être comme ci-dessous sans le nom du répertoire:

<Directory /home/username>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Et dans le fichier /etc/apache2/sites-available/000-default.conf vous devez inclure le nom du répertoire personnalisé, c'est-à-dire www:

DocumentRoot /home/username/www

Sinon comme ci-dessus, il vous donnera une erreur lors du chargement du serveur: Forbidden You don't have permission to access / on this server

18
répondu androsfat 2015-12-30 18:55:45

La bonne façon de changer de répertoire ou d'exécuter à partir de plusieurs répertoires sous un port différent pour apache2 est la suivante:

Pour apache2, les fichiers de configuration sont situés sous /etc/apache2 et n'utilisent pas un seul fichier de configuration comme dans les anciennes versions, mais sont divisés en fichiers de configuration plus petits, /etc/apache2/apache2.conf étant le fichier de configuration principal. Pour servir des fichiers à partir d'un répertoire différent, nous avons besoin d'un nouveau fichier de conf virtualhost. Les fichiers conf virtualhost se trouvent dans /etc/apache2/sites-available (ne pas modifier les fichiers dans les sites-activé). L'installation par défaut d'apache utilise le fichier conf de virtualhost 000-default.conf.

Commencez par créer un nouveau fichier virtualhost en copiant le fichier virtualhost par défaut utilisé par l'installation par défaut d'apache(celui qui s'exécute à localhost sur le port 80). Changer dans le répertoire /etc/apache2/sites-available et ensuite faire copier par sudo cp 000-default.conf example.com.conf, maintenant éditer le fichier par sudo gedit example.com.conf à:

<VirtualHost *:80>
    ServerAdmin example@localhost
    DocumentRoot /home/ubuntu/example.com    
</VirtualHost>

J'ai supprimé les lignes Non importantes du fichier ci-dessus pour plus de concision.

Créez le répertoire à partir duquel vous voulez servir les fichiers, par exemple; mkdir example.com et changement de propriétaire et de groupe par défaut du répertoire, par exemple si votre nom de l'utilisateur connecté est ubuntu modifier les autorisations que sudo chown ubuntu:www-data example.com. Cela accorde un accès complet à l'Utilisateur ubuntu et permet l'accès en lecture et en exécution au groupe www-data.

Modifiez maintenant le fichier apache conf /etc/apache2/apache2.conf en émettant la commande sudo gedit apache2.conf et trouvez la ligne <Directory /var/www/> et en dessous de la balise de fermeture </Directory>, ajoutez ce qui suit ci-dessous:

<Directory /home/ubuntu/example.com>
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>

Maintenant, il y a deux commandes pour activer ou désactiver le les fichiers de configuration virtualhost, qui sont respectivement a2ensite et a2dissite. Maintenant, puisque notre fichier example.com.conf utilise le même port (80) que celui utilisé par le fichier de configuration par défaut(000-default.conf), nous devons désactiver le fichier de configuration par défaut en émettant la commande sudo a2dissite 000-default.conf et activer notre fichier de conf virtualhost par sudo a2ensite example.com.conf

Redémarrez ou rechargez le serveur avec la commande sudo service apache2 restart. Maintenant, apache sert les fichiers du répertoire example.com à localhost sur le port par défaut de 80.

La commande a2ensite essentiellement crée un lien symbolique vers le fichier conf sous le répertoire Site-enabled

Ne modifiez pas les fichiers dans le directoy sites-enabled(ou *-enabled), comme indiqué dans cette réponse https://stackoverflow.com/a/41568701/2532763

Pour changer le port et exécuter à partir de plusieurs répertoires sur différents ports:

Maintenant, si vous devez exécuter le répertoire sur un port différent, changez le numéro de port de 80 à 8080 en éditant le fichier virtualhost comme suit:

<VirtualHost *:8080>
    ServerAdmin user@localhost
    DocumentRoot /home/ubuntu/work
</VirtualHost>

Et modifier /etc/apache2/ports.conf et ajouter Listen 8080 juste en dessous de la ligne Listen 80

Maintenant, nous pouvons activer le fichier de configuration virtualhost par défaut qui s'exécute sur le port 80 depuis example.com le répertoire utilise le port 8080, comme sudo a2ensite 000-default.conf

Redémarrez ou rechargez le serveur avec la commande sudo service apache2 restart. Maintenant, les deux répertoires sont accessibles depuis localhost et localhost:8080

7
répondu lordvcs 2017-05-23 12:10:54

Je travaillais avec une LAMPE et d'Pour modifier le dossier Racine de documents j'ai édité default fichier qui est dans /etc/apache2 / sites-disponible dossier. Si vous voulez faire la même chose, modifiez comme suit

DocumentRoot /home/username/new_root_folder
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/username/new_root_folder>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

Après cela, si vous tapez localhost dans le navigateur, il chargera */home/username / new_root_folder * contenu.

4
répondu shashidhara 2013-07-12 10:09:16

Pour apache2 sur Linux Mint 17.3 Cannelle 64-bit les ouvrages suivants: -

  1. Dans /etc/apache2/sites-available/ Ouvrez le fichier 000-default.conf et remplacez la racine du Document par le chemin absolu de votre répertoire.

    sudo vim /etc/apache2/sites-available/000-default.conf

  2. Dans /etc/apache2/ Ouvrez httpd.conf et ajoutez une balise <Directory> référençant votre répertoire et contenant exactement les mêmes paramètres que la balise pour var/www.

    sudo vim /etc/apache2/apache2.conf

    Sur ma machine, il ressemblait ce:


<Directory /home/my_user_name/php/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Remarque: Dans la première étape, vous voudrez probablement changer Document Racine dans le default-ssl.conf, de même pour le SSL fins. Mais pour autant que je sache, ce n'est pas nécessaire pour faire fonctionner un environnement de développement général.

4
répondu stackato 2016-04-25 05:28:24

Si vous ne pouviez pas trouver {[0] } et suivi le chemin de Nick.

Redémarrez Apache en utilisant sudo service apache2 restart

3
répondu Nitin 2014-05-12 07:10:02

Au cas où vous utilisez Ubuntu 16.04. Veuillez mettre à jour le 000-default.conf dans le répertoire /etc/apache2/sites-available.

Ici--> ServerAdmin webmaster @ localhost DocumentRoot / var/www/html / YourFolder

2
répondu Shashank Saxena 2017-12-26 11:48:42

Si quelqu'un a installé LAMP dans le /opt dossier puis le /etc/apache2 n'est pas ce que vous cherchez.

Recherchez le fichier httpd.conf dans /opt/lampp/etc/httpd.conf.

Modifiez la ligne dans ce dossier et enregistrez-la à partir du terminal.

1
répondu nextgtech 2014-05-12 07:16:42

Dans apache version 2.4.18 (Ubuntu).

1.accédez à ce fichier /etc/apache2/apache2.conf recherchez <Directory /var/www/> et remplacez-le dans votre répertoire ......

2.allez dans /etc/apache2/sites-available/000-default.conf recherchez DocumentRoot /var/www/html et remplacez à votre DocumentRoot....

1
répondu habibun 2016-10-11 17:47:43

Dans RedHat 7.0: /etc/httpd/conf/httpd.conf

0
répondu ehacinom 2014-10-16 20:17:11

J'avais fait du /var/www un lien logiciel vers le répertoire requis ( par exemple. /users/username/projects) et les choses allaient bien après cela.

Cependant, naturellement, l'original /var/www doit être supprimé-ou renommé.

0
répondu maan81 2016-12-03 08:47:30

Si vous utilisez Linux Mint (opinion personnelle, de toutes les distributions celle-ci me rend heureux), suivez ceci:

1-Allez dans /etc / apache2 / sites-disponible et éditez 000-par défaut.conf 2-Rechercher DocumentRoot, exemple DocumentRoot / var / www / html vous changez dans votre répertoire respectif; 3-Ouvrez le terminal et tapez: sudo service apache2 restart

Édité----- Je me rends compte que dans Mint vous allez pour /etc / apache2 / apache.conf, remplacez / var/www par votre chemin respectif, puis redémarrez le serveur (étape 3).

C'est ça.

0
répondu Marcelo Agimóvel 2017-03-26 17:47:31

S'Applique à Ubuntu 14.04 et les versions ultérieures. Assurez-vous de sauvegarder les fichiers suivants avant d'apporter des modifications.

1.Ouvrez {[1] } et recherchez <Directory /var/www/> directive et remplacez path par /home/<USERNAME>/public_html. Vous pouvez utiliser * au lieu de .

2.Ouvrez /etc/apache2/sites-available/000-default.conf et remplacez la propriété DocumentRoot value de /var/www/html à /home/<USERNAME>/public_html. Aussi <Directory /var/www/html> à <Directory /home/<USERNAME>/public_html.

3.Ouvrir /etc/mods-available/php7.1.conf. Trouver et commenter le code suivant

<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        php_admin_flag engine Off
    </Directory>
</IfModule>

Ne pas activer le drapeau php_admin_flag engine OFF car la raison est mentionnée dans la directive commentaire ci-dessus code. Aussi la version php peut être 5.0, 7.0 ou tout ce que vous avez installé.

Créez le répertoire public_html dans home/<USERNAME>.

Redémarrez le service apache en exécutant la commande sudo service apache2 restart.

Testez en exécutant un exemple de script sur le serveur.

0
répondu user1184294 2018-09-24 18:54:27

Au Lieu de changer le répertoire par défaut de votre serveur web, vous pouvez créer un Alias.

, par conséquent, vous devez créer deux fichiers:

  • un dans /etc/apache2/sites-available/ et
  • un sur /etc/apache2/sites-enabled/

Appelez-les tous les deux quelque chose comme example.conf et insérez-les dans les deux fichiers Alias <where you want to access (eg. /example)> "<your files directory (eg. /home/user/host/example)>"

Alors vous devriez pouvoir y accéder avec //localhost/example.

Modifier:

Peut-être que j'ai oublié de mentionner certaines commandes parce que je les oublie: P
ou vous devez modifier le autorisations du dossier / fichier auquel vous essayez d'accéder.

-1
répondu Climb 2018-04-05 10:53:08

Si vous êtes (comme moi) trouver ce post via Google:

Je l'ai trouvé dans /etc/apache2/sites-available/000-default.conf

-2
répondu Borkee 2015-07-30 08:49:40