#1 Le 02/10/2015, à 21:52
- Garrulix
Installation d'Apache : ça semble marcher, mais en réalité non !
M'étant déclaré comme root puis ayant lancé "apt-get install apache2" tout semblait aller sans problème.
Or que vois-je, lorsque je veux ouvrir l'adresse http://localhost sur mon navigateur ?
Une "Page 403" me dit ceci :
Forbidden
You don't have permission to access / on this server.
Apache/2.4.7 (Ubuntu) Server at localhost Port 80
Je me remets à mon shell et je lance : /etc/init.d/apache2 restart
A nouveau ... ça roule. Message Ok.
Je me remets à mon navigateur. Tentative de rafraichir ma "page 403" : échec, cette page reste une page 403.
J'ai fait aussi : apt-get install apache2-doc mysql-server php5 libapache2-mod-php5 php5-mysql
Je n'ai vu aucun message d'erreur s'afficher au cours de ces installations.
Hors ligne
#2 Le 03/10/2015, à 07:57
- lann
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
ls -laht /var/www
<Modéré>
Hors ligne
#3 Le 04/10/2015, à 17:04
- Garrulix
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
ls -laht /var/www
... et alors ?
Il n'y a aucun fichier caché.
Il n'y en a pas non plus à var/www/html, qui devrait être la vraie racine.
Sur mon laptop ça fonctionne à merveille. Je fais la même manipulation sur ce PC, et voici que ça foire. Bravo Ubuntu. Il n'est même pas possible de déterminer avec certitude si c'est var/www ou var/www/html qui est la racine.
Dernière modification par Garrulix (Le 04/10/2015, à 17:08)
Hors ligne
#4 Le 04/10/2015, à 17:53
- Alex10336
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
[...] Bravo Ubuntu. Il n'est même pas possible de déterminer avec certitude si c'est var/www ou var/www/html qui est la racine.
Évidemment que si, inutile de cracher sur ubuntu parce que vous savez pas où chercher....
Selon la version d'apache, la configuration a évolué...
cat /etc/apache2/*.conf | grep Root
ou
cat /etc/apache2/sites-enabled/*.conf | grep Root
« On ne répond pas à une question par une autre question. » (moi ;-) )
Hors ligne
#5 Le 04/10/2015, à 18:55
- lann
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
... et alors ?
Il n'y a aucun fichier caché.
C'était pour connaître les droits sur les fichiers
<Modéré>
Hors ligne
#6 Le 04/10/2015, à 19:29
- mazarini
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
Dans mon fichier apache2.conf, j'ai sous Debian :
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
C'est à priori "Require all granted" qui est important et qui a changé depuis Apache 2.2. On peut trouver ce paramétrage également dans les fichiers de sites-enabled.
La vérification demandé par lann reste également à faire.
S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)
Hors ligne
#7 Le 04/10/2015, à 20:12
- Rufus T. Firefly
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
Salut,
De toutes façons le répertoire racine peut être défini n'importe où !
Il suffit de l'indiquer ici, dans /etc/apache2/apache2.conf
C'est vers la ligne 150
# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/> <--------------------- à modifier
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
#<Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
On remarque qu'il est même prévu de le mettre dans /srv, un répertoire prévu à cet usage dans la hiérarchie actuelle, plutôt que dans /var/www
D'autre part, il faut aussi modifier en conséquence le virtual host par défaut dans /etc/apache2/sites-available/000-defaiult.conf
<VirtualHost *: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 webmaster@localhost
DocumentRoot /var/www <--------------------- à modifier
# 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 ${APACHE_LOG_DIR}/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>
Mais c'est toujours pareil quand on s'embarque sans biscuits dans des trucs tout de même assez élaborés : tôt ou tard on tombe sur un os !
La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme
Hors ligne
#8 Le 12/10/2015, à 05:15
- Garrulix
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
cat /etc/apache2/*.conf | grep Root
Résultat :
# ServerRoot: The top of the directory tree under which the server's
#ServerRoot "/etc/apache2"
ou
cat /etc/apache2/sites-enabled/*.conf | grep Root
Là ça devient plus fructueux :
DocumentRoot /var/www/html
... que je retrouve dans l'unique fichier de ce répertoire : 000-default.conf
Hors ligne
#9 Le 12/10/2015, à 05:20
- Garrulix
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
Garulix a écrit :... et alors ?
Il n'y a aucun fichier caché.C'était pour connaître les droits sur les fichiers
/var# ls -laht /var/www
total 72K
drwxr-xr-x 14 root root 4,0K oct. 11 19:42 ../
drwx------ 6 zorglub machin 4,0K oct. 11 19:36 ./
drwx------ 16 zorglub machin 4,0K oct. 11 19:27 html/
drwx------ 11 zorglub machin 4,0K juin 9 2014 projets/
drwx------ 12 zorglub machin 4,0K juin 9 2014 sujets/
"projets/" et "sujets/" sont des répertoires que j'ai créés pour y placer des fichiers qui sont "inclus" (appels à include ou require) dans des fichiers PHP tout en étant hors de la racine (qui est html/) de façon à rester hors d'atteinte.
Dernière modification par Garrulix (Le 12/10/2015, à 05:21)
Hors ligne
#10 Le 12/10/2015, à 05:29
- Garrulix
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
Dans mon fichier apache2.conf, j'ai sous Debian :
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
C'est à priori "Require all granted" qui est important et qui a changé depuis Apache 2.2. On peut trouver ce paramétrage également dans les fichiers de sites-enabled.
"Require all granted" : important ? ... à retirer ? Je l'ai laissé en place.
# Ci-dessous : modifié /var/www/ en /var/www/html/
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Hors ligne
#11 Le 12/10/2015, à 05:33
- Garrulix
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
Salut,
De toutes façons le répertoire racine peut être défini n'importe où !
Il suffit de l'indiquer ici, dans /etc/apache2/apache2.conf
C'est vers la ligne 150 .............
1ère modification : faite. Modifié apache2/apache2.conf pour remplacer /var/www par /var/www/html
2ème modification : je n'ai pas dû la faire. C'était déjà, à ce niveau, /var/www/html
Comme quoi ces deux fichiers se contredisaient.
Hors ligne
#12 Le 12/10/2015, à 05:57
- Garrulix
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
Cette correction a probablement résolu une partie du problème, mais ça ne suffisait pas : je continuais de ne pas pouvoir accéder à http://localhost (même réponse : 403).
M'inspirant de l'idée d'Iann, je me suis mis à modifier les droits d'accès à tous les fichiers sous www, y compris www lui-même ... et c'est là que finalement la situation s'est débloquée !!!!
Les droits d'accès étaient trop restreints.
Me reste à répercuter les modifications de droits d'accès sur tous les fichiers ... ce sera long mais enfin, la solution a finalement été trouvée.
Bref c'est résolu. Merci à tous.
Hors ligne
#13 Le 12/10/2015, à 07:11
- jplemoine
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
ce sera long .
Ah bon ? Il te manquerait encore une info valable pour tous les Unix/Linux (et non spécifique à Ubuntu) qui, entre nous soit dit, n'est pour rien dans ton problème...
Il existe un paramètre (-R) qui, bien employé, peut te permettre de modifier les droits de tous les fichiers en 1 seule fois.....
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#14 Le 12/10/2015, à 07:12
- jplemoine
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
D'autre part, pour tes retour : regardes cette page.
Tes retours ne sont pas lisibles...
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#15 Le 12/10/2015, à 23:24
- Garrulix
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
Il existe un paramètre (-R) qui, bien employé, peut te permettre de modifier les droits de tous les fichiers en 1 seule fois.....
En effet : chmod -R (de récursif) ... de quoi rendre infiniment moins laborieuse la modification de droits d'accès parmi l'arborescence touffue d'un serveur web.
Hors ligne
#16 Le 12/10/2015, à 23:31
- J5012
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
mieux : l'interface graphique de gestion de fichiers à la filecommander : emelfm2
pas encore de doc dessus , mais tres pratique quand on a 1 km de owner ou de rights à modifier !
Hors ligne
#17 Le 12/10/2015, à 23:38
- Garrulix
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
D'autre part, pour tes retour : regardes cette page.
Tes retours ne sont pas lisibles...
Ok ... C'est noté.
A part ça : j'ai déplacé var/www en srv/www
Pour que l'opération fonctionne j'ai modifié DocumentRoot à la fois dans /etc/apache2/apache2.conf et dans /etc/apache2/sites-enabled/000-default.conf
... respectivement :
Directory /srv/www/localhost/
DocumentRoot /srv/www/localhost
... où "locahost" est le nouveau nom que je donne, pour plus de clarté, à "html".
(S'agissant essentiellement de pages PHP ça n'a d'ailleurs aucun sens d'appeler html ce répertoire)
J'avais envie de déménager aussi /etc/apache2 vers /srv ... Finalement je me suis contenté de créer un répertoire /srv/etc-apache2 où j'ai créé des liens physiques vers les deux fichiers sus-mentionnés. De quoi me faciliter le travail de sauvegarde.
Hors ligne
#18 Le 12/10/2015, à 23:43
- Garrulix
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
mieux : l'interface graphique de gestion de fichiers à la filecommander : emelfm2
pas encore de doc dessus , mais tres pratique quand on a 1 km de owner ou de rights à modifier !
Je l'ai installé. Sympa en effet. Me reste à comparer (je suis nouveau sur Linux) avec le Midnight Commander mais c'est sûr que l'interface est sympa, genre FileZilla, et que ça doit faciliter le mouvement de fichiers d'un répertoire à un autre.
Hors ligne
#19 Le 12/10/2015, à 23:48
- Alex10336
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
lann a écrit :Garulix a écrit :... et alors ?
Il n'y a aucun fichier caché.C'était pour connaître les droits sur les fichiers
/var# ls -laht /var/www
total 72K
drwxr-xr-x 14 root root 4,0K oct. 11 19:42 ../
drwx------ 6 zorglub machin 4,0K oct. 11 19:36 ./
drwx------ 16 zorglub machin 4,0K oct. 11 19:27 html/
drwx------ 11 zorglub machin 4,0K juin 9 2014 projets/
drwx------ 12 zorglub machin 4,0K juin 9 2014 sujets/"projets/" et "sujets/" sont des répertoires que j'ai créés pour y placer des fichiers qui sont "inclus" (appels à include ou require) dans des fichiers PHP tout en étant hors de la racine (qui est html/) de façon à rester hors d'atteinte.
Les droits de ce dossier donne forcément un 403. apache ne tourne sûrement pas avec le compte "zorglub"
Rufus T. Firefly a écrit :Salut,
De toutes façons le répertoire racine peut être défini n'importe où !
Il suffit de l'indiquer ici, dans /etc/apache2/apache2.conf
C'est vers la ligne 150 .............1ère modification : faite. Modifié apache2/apache2.conf pour remplacer /var/www par /var/www/html
2ème modification : je n'ai pas dû la faire. C'était déjà, à ce niveau, /var/www/html
Comme quoi ces deux fichiers se contredisaient.
Non, bien au contraire. C'est clairement voulut. Notamment sur le principe de sécurité des "conf.php" stocké en dehors de l'espace publique.
Edit: précision: la configuration sur /var/www donne une configuration de base pour lui même et récursivement.
----
Et pour finir, faire des liens symbolique sur les fichiers de configuration d'apache est sans doute la pire des idées.
Dernière modification par Alex10336 (Le 13/10/2015, à 00:00)
« On ne répond pas à une question par une autre question. » (moi ;-) )
Hors ligne
#20 Le 25/10/2015, à 23:37
- Garrulix
Re : Installation d'Apache : ça semble marcher, mais en réalité non !
Et pour finir, faire des liens symbolique sur les fichiers de configuration d'apache est sans doute la pire des idées.
1 - J'ai dit "liens physiques" ... NON "liens symboliques".
2 - Je n'ai eu aucun problème : ça marche. Je n'ai cessé d'intervenir sur les fichiers tels que ~/.bashrc à travers des liens physiques que je leur ai donnés, sans rencontrer la moindre difficulté. Et ça m'a facilité les sauvegardes. Ce dont je suis loin de me plaindre à présent que ce PC connaît quelques difficultés d'accès.
3 - "zorglub" et "machin" c'étaient des mots remplaçant ce que je souhaitais dissimuler par mesure de sécurité.
4 - Le problème n'était pas dû à "zorglub" et il est à signaler qu'il a été résolu comme c'est dit sur cette page.
.
Hors ligne