Installation et configuration Apache sous Linux Debian
Dans Synaptic rechercher Apache.Sélectionner Apache2 pour installation, et libapache2-mod-php. Synaptic installera tout le reste.
Cliquer sur appliquer
En console
$ sudo apt-get install apache2 libapache2-mod-php
16 paquets, 23Mo sont installés
16 paquets, 23Mo sont installés
Tester http://localhost ou http://127.0.0.1 dans un navigateur.
Si tout va bien c'est l'index /var/www/html/index.html qui est servi.
Or, les fichiers de ce dossier appartiennent à root, seul root peut les éditer.
APACHE avec userdir
Chaque user a son répertoire www dans home, qu'il peut organiser à sa guise.Créer le dossier (public_html ici www)
$ mkdir /home/joe/www
Charger le module userdirPresser CTRL-ALT-T pour ouvrir un terminal
$ sudo a2enmod userdir
To activate the new configuration, you need to run:
systemctl restart apache2
$ systemctl restart apache2
$ sudo gedit /etc/apache2/apache2.conf
à la fin du fichier ajouterTo activate the new configuration, you need to run:
systemctl restart apache2
$ systemctl restart apache2
$ sudo gedit /etc/apache2/apache2.conf
UserDir /home/*/www
Enregistrer et fermer Gedit
Voir les sites actifs
$ grep -R "DocumentRoot" /etc/apache2/sites-enabled
/etc/apache2/sites-enabled/000-default.conf: DocumentRoot /var/www/html
Copier le nom (ici 000-default.conf) pour l'éditer/etc/apache2/sites-enabled/000-default.conf: DocumentRoot /var/www/html
$ sudo gedit /etc/apache2/sites-enabled/000-default.conf
Dans le <virtualhost> ajouter<Directory /home/*/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
$ systemctl restart apache2
Tester PHP
$ gedit /home/joe/www/index.php
<?php phpinfo();?>Enregistrer, tester avec http://localhost/~joe/index.php ou http://localhost/~joe
Le tilde indique à Apache qu'il s'agit d'un répertoire utilisateur.
Phpinfo() donne l'emplacement sur le disque du fichier ini chargé, éditer ce fichier pour ajouter d'autres extensions comme GD.
Charger le module GD
phpinfo() indique le fichier ini chargé
$ sudo gedit /etc/init.d/apache2/php.ini
CTRL-F gd décommenter gd, enregistrer fermer
$ sudo apt-get install php7.4-gd
$ sudo /etc/init.d/apache2 restart
CTRL-F gd décommenter gd, enregistrer fermer
$ sudo apt-get install php7.4-gd
$ sudo /etc/init.d/apache2 restart
Droits des fichiers
Chaque dossier et chaque fichier ont des droits, qui les protègent en écriture.Cependant ils doivent avoir des droits minimaux pour pouvoir être vus et servis par le serveur web.
dossiers
dossier contenant php et css : 504
dossier contenant des images: 505
dossier contenant un fichier disponible en écriture: 705
Si de nouveaux fichiers seront créées dans un dossier, le mettre en écriture (705). Sinon en lecture seule. On ne pourra pas créer de nouveau fichier, mais on pourra éditer un fichier existant si lui-même dispose des droits en écriture. Peut comporter des sous-dossiers qui eux sont en écriture et pourront créer de nouveaux fichiers.
Si un dossier est en 505 on ne peut ni créer ni supprimer de nouveau fichier. fichiers
image, page html, script PHP: 404
fichier en écriture: 604