Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/10/2014, à 15:32

Vi Kingske

apache2 : changer l'endroit de localhost

bonjour,

je suis en train d'installer mon lamp-server sur mon ubuntu 14.04.

mon navigateur arrive à lire des fichiers à partir de mon localhost, mais celui-ci se trouve dans /var/www/html.
quel est en fait l'intérêt de mettre un serveur/des fichiers là vu qu'il faut être root pour les modifier ou pour les sauvegarder?

voilà pourquoi j'ai voulu que mon localhost pointe vers un dossier dans mon dossier /home (/home/peter/documents/etude/php).
j'ai fait des recherches sur internet et des forums, essayé des choses mais rien ne semble fonctionner pour diriger le localhost sur un dossier de /home. hmm

quand je monte mon fichier .conf (coursvdab.conf), j'arrive sur /var/www; quand je démonte mon fichier .conf (coursvdab.conf), j'arrive sur /var/www/html, ce qui serait le dossier par défaut.

quelqu'un peut-il m'expliquer ce que je dois faire pour que ça marche? ou bien m'expliquer en quoi c'est meilleur de garder tout ça dans /var/www/html?

merci d'avance,



    mon fichier .conf fait moi-même (/etc/apache2/sites-available/coursvdab.conf) :

    <VirtualHost http://127.0.0.1:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerAdmin info@opschool.be
    DocumentRoot /home/peter/documents/etude/php

    <Directory /home/peter/documents/etude/php >

    </Directory>

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog /home/peter/documents/etude/php/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
    </VirtualHost>

    # vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Hors ligne

#2 Le 25/10/2014, à 21:53

tiramiseb

Re : apache2 : changer l'endroit de localhost

Salut,

quel est en fait l'intérêt de mettre un serveur/des fichiers là vu qu'il faut être root pour les modifier ou pour les sauvegarder?

Les fichiers d'un site web, sur une machine en production, ne sont à écrire qu'une fois. Ensuite, il faut éviter que quelqu'un ne les efface : le mieux pour ça est que personne (à part l'administrateur) n'ait les droits dessus.
Bien sûr, s'il y a des répertoires où le serveur web doit écrire, on peut changer ses droits et rendre www-data propriétaire.

Par ailleurs, je tiens à rappeler que, d'après la norme (FHS), les sites doivent être mis quelque part sous /srv : /var/www n'est qu'un emplacement "par défaut".

Dans le cas d'une machine de développement, genre si c'est en local sur ta machine, alors mettre l'arborescence web dans ton home c'est tout à fait pertinent.

<VirtualHost http://127.0.0.1:80>

Il ne faut pas mettre "http://" dans la définition du virtualhost.

Ensuite, as-tu désactivé le virtualhost par défaut ?

Par ailleurs, souhaites-tu que ça n'écoute que sur localhost ou alors qu'on puisse aussi y accéder depuis ailleurs ?

Hors ligne

#3 Le 26/10/2014, à 16:34

Vi Kingske

Re : apache2 : changer l'endroit de localhost

salut tiramiseb,

merci pour les quelques éléments de réponse que vous apportez.

je veux apprendre le langage php, donc le seul qui doit y avoir accès, c'est moi.

j'ai adapté le virtualhost comme vous avez suggéré, désactivé le vhost par défaut et chargé le mien.

résultat:
- 403 forbidden quand mon navigateur va vers localhost
- access.log et error.log se trouvent à l'endroit stipulé par mon coursvdab.conf

en consultant le fichier error.log, la même faute revient à chaque fois:

[authz_core:error] [pid 4650] [client 127.0.0.1:38193] AH01630: client denied by server configuration: /home/peter/documents/etude/php/

je cherche sur google et je tombe sur une page du blog de mike griffin qui propose d'ajouter quelques lignes au <Directory> du fichier .conf, à savoir

  Options FollowSymlinks
    AllowOverride none
    Require all granted

ceci dû à un changement depuis apache 2.3.

est-ce une bonne solution selon vous? est-ce une solution en toute sécurité?

vous avez aussi parlé de « rendre le www-data propriétaire », qu'est-ce que ça signifie?

Hors ligne

#4 Le 27/10/2014, à 09:39

tiramiseb

Re : apache2 : changer l'endroit de localhost

En effet, il y a eu des modifications dans la configuration d'Apache sur Ubuntu (je ne sais pas si c'est une modification côté Apache ou côté Ubuntu, autrement dit je ne sais pas si c'est partout ou juste chez Ubuntu).
Il faut en effet jouer sur les droits dans la configuration d'Apache.
Mais je n'ai pas de serveur sous la main pour voir quelles sont les directives à mettre en place.

Peut-être que ce que tu montres est bon. Peut-être pas...

vous avez aussi parlé de « rendre le www-data propriétaire », qu'est-ce que ça signifie?

Apache tourne en tant que l'utilisateur appelé "www-data". Si Apache doit modifier des fichiers (par exemple dans le cas d'un CMS qui permet l'upload de données), alors il faut lui donner les droits pour écrire dans le répertoire concerné.

Hors ligne

#5 Le 27/10/2014, à 09:39

bruno

Re : apache2 : changer l'endroit de localhost

Bonjour,

Ta version d'Apache est la 2.4, effectivement avec cette version et la configuration par défaut sur Debian/Ubuntu il faut utiliser la directive Require dans ton hôte virtuel. Si tu ne veux autoiriser que la machine locale, quelque chose du type :

<Directory /home/toto/www>
     Options +FollowSymlinks
    AllowOverride all 
    Require local
</Directory>

En ligne

#6 Le 05/11/2014, à 18:08

Vi Kingske

Re : apache2 : changer l'endroit de localhost

@ tiramiseb : merci pour la précision

@ bruno : j'ai modifié mon fichier, merci pour le conseil!

Hors ligne