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. | ||
- | |||