Développement web sur Debian
Quelques notes pour tester des sites en local. (Debian 9 / Apache 2.4.25)
Accéder au site local par un nom de domaine
Par exemple, avec le domaine monsitelocal.dev
1) créer la structure dans le dossier /var/www
:
/var/www |__monsitelocal.dev |_index.html
2) éditer /etc/hosts
et ajouter le site à la ligne 127.0.0.1 (la créer si nécessaire)
127.0.0.1 localhost monsitelocal.dev www.monsitelocal.dev # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
3) créer un fichier monsitelocal.dev.conf dans le dossier /etc/apache2/sites-available
<VirtualHost *:80> ServerName monsitelocal.dev ServerAlias www.monsitelocal.dev ServerAdmin webmaster@monsitelocal.dev DocumentRoot /var/www/monsitelocal.dev/public_html <Directory /var/www/monsitelocal.dev/public_html> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/monsitelocal.dev-error.log CustomLog ${APACHE_LOG_DIR}/monsitelocal.dev-access.log combined </VirtualHost>
4) Activer le nouveau virtualhost
sudo a2ensite monsitelocal.dev.conf
5) redémarrer Apache
sudo systemctl restart apache2
Mais ça ne marchait pas dans firefox 78.15.0esr, après avoir épluché les forums et testé différentes solutions sans succès (pas de proxy, vider le cache, désactiver le DNS cloudfare, changé quelques clés d'about:config), toujours rien. En revanche, cela fonctionne bien avec chromium…
Installer PHP 7.4 sur Debian 9
Procédure complète d'après source
sudo apt update sudo apt install ca-certificates apt-transport-https wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add - # Configurer le dépôt PPA pour les versions de PHP (7.4, 7.3, 7.2, 7.1, 5.6) echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list sudo apt update sudo apt install php7.4 sudo apt install php7.4-cli php7.4-common php7.4-curl php7.4-mbstring php7.4-mysql php7.4-xml sudo apt install libapache2-mod-php7.4
Puis désactiver la version précédente utilisée par apache2,
sudo a2dismod php7.0
Et activer la nouvelle version
sudo a2enmod php7.4
Enfin, redémarrer apache2
sudo systemctl restart apache2
On peut vérifier la configuration en utilisant phpinfo()
dans un script php
Restreindre l'accès avec htaccess / htpasswd
Pour autoriser l'accès à quelques utilisateur·ice·s au site en construction.
Placer un fichier .htaccess à la racine du site comprenant
AuthUserFile /home/user/pssst/.htpasswd AuthGroupFile /dev/null AuthName "Accès Restreint" AuthType Basic <Limit GET POST> require valid-user </Limit>
Pour créer le fichier .htpasswd (contient nom et mot de passe chiffré de chaque user autorisé), on peut utiliser les commandes suivantes
htpasswd -c .htpasswd utilisateur # pour le premier, la commande demandera le mot de passe htpasswd .htpasswd autreutilisateur # pour le suivant, etc.
Divers
Quelle version d'apache ?
/usr/sbin/apache2 -v
Statut d'Apache
systemctl status apache2
Infos sur le fonctionnement réseau de firefox
Saisir about:networking
dans la barre d'URL
Où sont les logs d'Apache ?
Dans /var/log/apache2
Installer php-gd pour apache2
sudo apt install php-gd sudo apt install php7.4-gd sudo systemctl restart apache2
Liste des modules installés
Les modules disponibles sont visibles dans le répertoire /etc/php/7.4/mods-available/
Activer mod_rewrite
sudo a2enmod rewrite sudo systemctl restart apache2
Requetes CORS
- pour s'en passer sur firefox, en test de développement local :
- aller à
about:config
dans la barre d'adresses - chercher
security.fileuri.strict_origin_policy
- passer la valeur à
false