Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
lamp [Le 31/05/2018, 15:13]
krodelabestiole [Méthode recommandée : installation des paquets] + liens CMS et modules PHP
lamp [Le 18/06/2018, 13:08]
krodelabestiole [Conflit entre MySQL et MariaDB] reset tout terrain
Ligne 17: Ligne 17:
  
 ==== Méthode recommandée : installation des paquets ==== ==== Méthode recommandée : installation des paquets ====
- 
-<note warning>​À partir d'​Ubuntu 16.04 les paquets doivent être installés par le biais d'un terminal pour fonctionner correctement (voir note ci-dessous).</​note>​ 
  
 Cette méthode consiste à [[:​tutoriel:​comment_installer_un_paquet|installer]] les paquets nécessaires pour Apache, PHP et MySQL :\\ Cette méthode consiste à [[:​tutoriel:​comment_installer_un_paquet|installer]] les paquets nécessaires pour Apache, PHP et MySQL :\\
Ligne 30: Ligne 28:
 Voici comment installer les modules les plus courants : Voici comment installer les modules les plus courants :
 <code bash>​sudo apt install php-curl php-gd php-intl php-json php-mbstring php-xml php-zip</​code>​ <code bash>​sudo apt install php-curl php-gd php-intl php-json php-mbstring php-xml php-zip</​code>​
-<note tip>//​php-mbstring//​ n'est plus nécessaire sous [[:​bionic|Ubuntu 18.04 - Bionic]]</​note>​ 
  
 Description des paquets : Description des paquets :
-  * Le paquet [[apt>​apache2|apache2]] installe le serveur HTTP [[:apache2 |Apache 2]].   +  * Le paquet [[apt>​apache2|apache2]] installe le serveur HTTP [[:apache2 |Apache 2]] (c'est une dépendance de libapache2-mod-php).   
-  * Le paquet [[apt>​php|php]] méta-paquet permettant d'​installer au moins un interpréteur [[:PHP]].+  * Le paquet [[apt>​php|php]] méta-paquet permettant d'​installer au moins un interpréteur [[:​PHP]] ​(aussi installé ici en dépendance de libapache2-mod-php).
   * Le paquet [[apt>​libapache2-mod-php|libapache2-mod-php]] module d'​Apache (on peut aussi utiliser PHP en ligne de commande ou indépendamment en FastCGI, ce qui le rend plus performant mais plus compliqué à mettre en place)   * Le paquet [[apt>​libapache2-mod-php|libapache2-mod-php]] module d'​Apache (on peut aussi utiliser PHP en ligne de commande ou indépendamment en FastCGI, ce qui le rend plus performant mais plus compliqué à mettre en place)
   * Le paquet [[apt>​mysql-server|mysql-server]] installe le serveur de bases données [[:mysql |MySQL]].   * Le paquet [[apt>​mysql-server|mysql-server]] installe le serveur de bases données [[:mysql |MySQL]].
   * Le paquet [[apt>​mariadb-server|mariadb-server]] installe le serveur de base données [[:​mariadb|MariaDB]].   * Le paquet [[apt>​mariadb-server|mariadb-server]] installe le serveur de base données [[:​mariadb|MariaDB]].
   * Le paquet [[apt>​php-mysql|php-mysql]] installe les module permettant d'​utiliser MySQL ou MariaDB avec PHP.   * Le paquet [[apt>​php-mysql|php-mysql]] installe les module permettant d'​utiliser MySQL ou MariaDB avec PHP.
- 
-<note important>​L'​installation du paquet mysql-server en cliquant simplement sur un lien apt crée un problème à l'​installation ! L'​installeur ne demande pas le mot de passe pour mysql-server et l'​accès est dès lors compliqué à mysql. Installez bien ce paquet en utilisant le terminal et la commande <​code>​sudo apt install mysql-server</​code>​ comme indiqué juste au dessus. Vous pouvez consulter cette discussion [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=21588812#​p21588812]] 
-Pour ceux qui auraient le problème de connexion mysql sur la 16.04, voici la manip à faire pour régler le souci. 
-<​code>​sudo mysql -u root 
-mysql> ALTER USER '​root'​@'​localhost'​ IDENTIFIED WITH mysql_native_password BY '​le_mot_de_pass_choisi';​ 
-mysql> FLUSH PRIVILEGES; 
-mysql> QUIT;</​code>​ 
-</​note>​ 
  
 Une fois les paquets installés, ouvrez un des liens suivants dans votre navigateur : Une fois les paquets installés, ouvrez un des liens suivants dans votre navigateur :
Ligne 104: Ligne 93:
  
 La mise en place d'un site internet, [[:CMS]], ou autre application web se fait en général en [[:​apache2#​creation_d_hotes_virtuels|créant un hôte virtuel]] pour [[:​apache2|Apache]],​ et une [[:​mysql#​base_de_donnee|base de donnée MySQL]]. La mise en place d'un site internet, [[:CMS]], ou autre application web se fait en général en [[:​apache2#​creation_d_hotes_virtuels|créant un hôte virtuel]] pour [[:​apache2|Apache]],​ et une [[:​mysql#​base_de_donnee|base de donnée MySQL]].
 +
 +==== Création d'un hôte virtuel ====
  
 Par exemple pour mettre en place une solution qu'on appellera ici //example// sur un nom de domaine //​example.com//,​ en créera un fichier ///​etc/​apache2/​sites-available/​example.com.conf//​ contenant : Par exemple pour mettre en place une solution qu'on appellera ici //example// sur un nom de domaine //​example.com//,​ en créera un fichier ///​etc/​apache2/​sites-available/​example.com.conf//​ contenant :
Ligne 125: Ligne 116:
 <​code>​sudo a2ensite example.com <​code>​sudo a2ensite example.com
 sudo systemctl reload apache2</​code>​ sudo systemctl reload apache2</​code>​
 +
 +Pour plus de détails, consultez la documentation //​[[:​apache2#​creation_d_hotes_virtuels|création d'​hôtes virtuels]]//​.
 +
 +==== Création d'une base de donnée et d'un utilisateur associé ====
  
 On se connecte ensuite au serveur MySQL (en ajoutant //-p// si on a spécifié un mot de passe pour //root//) : On se connecte ensuite au serveur MySQL (en ajoutant //-p// si on a spécifié un mot de passe pour //root//) :
-<​code>​sudo mysql -u root</​code>​+<​code>​sudo mysql</​code>​
  
 Puis on créé une base de données //example// associée à un utilisateur //​userExample//​ (en remplaçant //​mot_de_passe//​ par un mot de passe complexe) : Puis on créé une base de données //example// associée à un utilisateur //​userExample//​ (en remplaçant //​mot_de_passe//​ par un mot de passe complexe) :
-<​code>​CREATE DATABASE example; +<​code ​mysql>CREATE DATABASE example; 
-GRANT ALL PRIVILEGES ON example.* TO '​userExample'​@'​localhost'​ IDENTIFIED BY '​mot_de_passe';​+GRANT ALL PRIVILEGES ON example.* TO '​userExample'​@'​localhost'​ IDENTIFIED ​WITH mysql_native_password ​BY '​mot_de_passe';​
 FLUSH PRIVILEGES; FLUSH PRIVILEGES;
-EXIT</​code>​+QUIT;</​code>​
  
 Il faudra finalement renseigner ces informations de connexion lors de l'​installation ou la configuration de la solution web. Il faudra finalement renseigner ces informations de connexion lors de l'​installation ou la configuration de la solution web.
  
-Pour plus de détails, consultez ​les documentations respectives : +Pour plus de détails, consultez ​la documentation //[[:​mysql#​base_de_donnee|création de bases de données]]//.
-  * [[:​apache2#​creation_d_hotes_virtuels|création d'​hôtes virtuels]] +
-  * [[:​mysql#​base_de_donnee|création de bases de données]]+
  
 ===== Envoi de courriel ===== ===== Envoi de courriel =====
Ligne 183: Ligne 176:
 Dans ce cas il faut supprimer les paquets ainsi que tous les fichiers de configuration de votre serveur de bases de données. Attention cela rendra les bases de données existantes inaccessibles ! Dans ce cas il faut supprimer les paquets ainsi que tous les fichiers de configuration de votre serveur de bases de données. Attention cela rendra les bases de données existantes inaccessibles !
  
-<​code>​sudo apt autoremove --purge mysql\* mariadb\* +<​code>​sudo apt autoremove --purge mysql-server\* mariadb-server\*
-sudo apt clean+
 sudo mv /​var/​lib/​mysql /​var/​lib/​mysql_bak sudo mv /​var/​lib/​mysql /​var/​lib/​mysql_bak
 sudo mv /etc/mysql /​etc/​mysql_bak sudo mv /etc/mysql /​etc/​mysql_bak
-sudo apt install mysql-server</​code>​+sudo mkdir /etc/mysql /​etc/​mysql/​conf.d 
 +sudo apt clean</​code>​ 
 +Vous pouvez ensuite choisir d'​installer [[:MySQL]] ou [[:​MariaDB]] : 
 +<​code>​sudo apt install mysql-server</​code>​ 
 +**__ou__** 
 +<​code>​sudo apt install mariadb-server</​code>​
  
 ===== Voir aussi ===== ===== Voir aussi =====
  • lamp.txt
  • Dernière modification: Le 04/09/2024, 11:22
  • par krodelabestiole