Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| technique:lamp_phpmyadmin [2020/09/07 18:01] – [3. Installer Serveur Web (nginx) avec PHP] francoisa | technique:lamp_phpmyadmin [2020/09/14 11:59] (Version actuelle) – supprimée francoisa | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Installer serveur Web complet : PHP / MySQL / phpmyadmin ====== | ||
| - | |||
| - | Cas où on veut installer un serveur web complet à partir de Debian , avec PHP (plusieurs versions possibles), MySQL (mariaDB) et Phpmyadmin pour une administration simplifiée | ||
| - | |||
| - | Cette installation pourrait se faire dans un conteneur de Proxmox par exemple et héberger un ou des sites web comme Booked. | ||
| - | |||
| - | Doc : [[https:// | ||
| - | |||
| - | Conseils de RomainR : Installer Debian + Nginx + PHP-FPM pour pouvoir personnaliser plusieurs version de PHP | ||
| - | |||
| - | Cas de [[http:// | ||
| - | |||
| - | ===== 1. Installation Debian 10 ===== | ||
| - | |||
| - | Installer Debian 10 à partir d'un template fourni. | ||
| - | |||
| - | - Créer un CT, template Debain-10-standard avec un compte root, 1Go de Ram, 512 Mo de swap, 10 Go de disque, firewall désactivé. | ||
| - | |||
| - | - Se connecter en mode console en root via Proxmox (xterm.js), editer le fichier / | ||
| - | < | ||
| - | |||
| - | PermitRootLogin Yes | ||
| - | |||
| - | </ | ||
| - | |||
| - | Quitter l' | ||
| - | |||
| - | < | ||
| - | systemctl restart sshd.service | ||
| - | |||
| - | </ | ||
| - | |||
| - | - Identifier son IP (ip a) et se connecter en SSH dessus depuis un client externe. La connexion avec root devrait fonctionner. | ||
| - | |||
| - | < | ||
| - | ssh root@ip_CT | ||
| - | |||
| - | </ | ||
| - | |||
| - | Mettre à jour le CT | ||
| - | |||
| - | < | ||
| - | apt-get update && apt-get dist-upgrade | ||
| - | |||
| - | </ | ||
| - | |||
| - | ===== 2. Installer MysqL (mariadb) ===== | ||
| - | |||
| - | Installation du paquet mariadb et vérification du service : | ||
| - | |||
| - | < | ||
| - | apt install mariadb-server mariadb-client | ||
| - | |||
| - | systemctl status mariadb | ||
| - | |||
| - | </ | ||
| - | |||
| - | doit renvoyer " | ||
| - | |||
| - | ==== Sécuration MysqL avec : ==== | ||
| - | |||
| - | < | ||
| - | mysql_secure_installation | ||
| - | |||
| - | </ | ||
| - | |||
| - | Par défaut le mot de passe root de mysql est vide, donc | ||
| - | |||
| - | < | ||
| - | Enter current password for root (enter for none): Enter | ||
| - | |||
| - | </ | ||
| - | |||
| - | Puis définir le mot de passe " | ||
| - | |||
| - | - On supprime le compte anonyme par défaut | ||
| - | |||
| - | < | ||
| - | Remove anonymous user (Y/n) : y | ||
| - | |||
| - | </ | ||
| - | |||
| - | - On restreint les connexions root au localhost | ||
| - | |||
| - | < | ||
| - | Disallow root login remotely (Y/n) : y | ||
| - | |||
| - | </ | ||
| - | |||
| - | - Suppression de la base " | ||
| - | |||
| - | < | ||
| - | Remove Test database an access (Y/n) : y | ||
| - | |||
| - | </ | ||
| - | |||
| - | - Prise en compte immédiate des changements (Y/n) : y | ||
| - | |||
| - | Et c'est tout bon. | ||
| - | |||
| - | On peut tester l' | ||
| - | |||
| - | < | ||
| - | mysql -u root -p | ||
| - | |||
| - | </ | ||
| - | |||
| - | + mot de passe | ||
| - | |||
| - | Et on arrive sur la console mysql> | ||
| - | |||
| - | Ex pour créer un utilisateur avec son mot de passe et tous les privilèges sur cette base : | ||
| - | |||
| - | < | ||
| - | GRANT ALL ON *.* TO ' | ||
| - | |||
| - | FLUSH PRIVILEGES; | ||
| - | |||
| - | </ | ||
| - | |||
| - | pour la prise en compte immédiate des changements. | ||
| - | |||
| - | '' | ||
| - | ===== 3. Installer Serveur Web (nginx) avec PHP ===== | ||
| - | |||
| - | https:// | ||
| - | |||
| - | ==== Install du serveur Web ==== | ||
| - | |||
| - | < | ||
| - | apt install nginx | ||
| - | |||
| - | </ | ||
| - | |||
| - | Le serveur doit déjà être fonctionnel sur http:// | ||
| - | |||
| - | ==== Installation de PHP (ici PHP7.3 par défaut) ==== | ||
| - | |||
| - | < | ||
| - | |||
| - | </ | ||
| - | |||
| - | Le service doit être actif : | ||
| - | |||
| - | < | ||
| - | systemctl status php7.3-fpm | ||
| - | |||
| - | </ | ||
| - | |||
| - | Service " | ||
| - | |||
| - | On peut aussi rajouter des modules complémentaires utiles comme : php-gd, php-json, php-zip (à compléter...). | ||
| - | |||
| - | |||
| - | ===== 4. Définir des Virutalhost ===== | ||
| - | |||
| - | A détailler | ||
| - | |||
| - | ===== 5. Cas de plusieurs versions de PHP ===== | ||
| - | |||
| - | - Utiliser les dépot Sury de PHP à ajouter | ||
| - | |||
| - | [[https:// | ||
| - | |||
| - | - Connecter les versions de PHP à différents sockets | ||
| - | |||
| - | - Personnaliser les virtualhosts à partir de ces sockets. | ||
| - | |||
| - | ===== 6. Cas des certificats Let's Encrypt pour SSL ===== | ||
| - | |||
| - | Des certifcats autosignés suffiraient. | ||
| - | |||