Avant de commencer l’installation de nos paquets nous allons mettre à jour notre machine
apt update && apt -y upgrade
Une fois la commande terminée nous allons procéder à l’installation de Mysql
1- Installation de Mysql
L’installation se fait a partir de la commande
apt install mysql-server
Entrez le mot de passe root de votre serveur SQL
![](https://www.gabinhocity.eu/wp-content/uploads/2019/12/4-1024x535.png)
Saisissez à nouveau le mot de passe
![](https://www.gabinhocity.eu/wp-content/uploads/2019/12/5.png)
L’installation se termine et nous devons redémarrer le service Mysql
systemctl restart mysql
Vérifions maintenant le statut du service Mysql
systemctl status mysql
![](https://www.gabinhocity.eu/wp-content/uploads/2019/12/6-1024x250.png)
Afin de sécuriser notre installation nous devons lancer la commande suivante :
mysql_secure_installation
La commande mysql_secure_installation va apporter un minimum de sécurité notre nouvelle installation. Elle va nous permettre :
- de changer le mot de passe root,
- de supprimer les comptes anonymes,
- de désactiver la connexion du compte root à distance,
- de supprimer la base de données « test » à laquelle tout le monde peut avoir accès.
L’outil finit sur un rechargement des privilèges (« Flush privileges ») afin d’appliquer les changements de droits au serveur.
![](https://www.gabinhocity.eu/wp-content/uploads/2019/12/7.png)
Maintenant nous pouvons tester la connexion à notre service Mysql
mysql -u root -p
![](https://www.gabinhocity.eu/wp-content/uploads/2019/12/8.png)
2- Installation d’apache
Son installation se fait via la commande suivante :
apt install apache2
Maintenant nous allons vérifier le statut du service apache grâce à la commande suivante
systemctl status apache2
![](https://www.gabinhocity.eu/wp-content/uploads/2019/12/1.png)
Vérifions l’accessibilité de notre serveur apache depuis notre navigateur http://VOTRE_IP_OU_DOMAINE/
![](https://www.gabinhocity.eu/wp-content/uploads/2019/12/2.png)
Vous pouvez activer les modules suivants en fonctions de vos besoins
a2enmod headers a2enmod rewrite systemctl reload apache2
3- Installation de Php7.3
Nous devons commencer par installer les packages suivants
apt-get install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
Importer et ajouter la clé publique des repository de sury
wget https://packages.sury.org/php/apt.gpg sudo apt-key add apt.gpg
Ajouter les repository de sury dans votre système via le apt/sources.list
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.list
Mettre à jour votre index de repository
apt-get update
Installer PHP 7
apt-get install -y php7.3 php7.3-cli php7.3-common
Vérifions la version de PHP installée sur notre serveur
php -v
![](https://www.gabinhocity.eu/wp-content/uploads/2019/12/3.png)
Maintenant nous pouvons procéder à l’installation des paquets additionnels nécessaires pour le bon fonctionnement de php avec votre système.
Le paquet suivant va vous permettre d’ajouter des modules php à votre package apache
apt-get install apache2 libapache2-mod-php7.3
Pour installer l’extension MySQL pour PHP v7.3, vous pouvez installer le package php7.3-mysql.
apt-get install -y php7.3-mysql
Si vous installez wordpress sur votre serveur vous aurez besoin des extentions suivantes :
apt-get install -y php7.3-mysql php7.3-dom php7.3-simplexml php7.3-ssh2 php7.3-xml php7.3-xmlreader php7.3-curl php7.3-exif php7.3-ftp php7.3-gd php7.3-iconv php7.3-imagick php7.3-json php7.3-mbstring php7.3-posix php7.3-sockets php7.3-tokenizer
Si vous installez Joomla sur votre serveur vous aurez besoin des extentions suivantes :
apt-get install -y php7.3-mysql php7.3-xml php-pear php7.3-json
Si vous installez Drupal sur votre serveur vous aurez besoin des extentions suivantes :
apt-get install -y php7.3-mysql php7.3-dom php7.3-gd php7.3-json php7.3-pdo php7.3-simplexml php7.3-tokenizer php7.3-xml
Nous pouvons désormais tester le fonctionnement de notre paquet PHP. Pour ce faire nous allons créer un fichier info.php et y inserer le phpinfo
touch touch /var/www/html/info.php
echo '' >/var/www/html/info.php
Saisir sur votre navigateur l’adresse URL http://VOTRE_IP_OU_DOMAINE/ info.php
![](https://www.gabinhocity.eu/wp-content/uploads/2019/12/9.png)
Après avoir effectué le test vous devez supprimer le fichier info.php
rm /var/www/info.php
Pour terminer la partie sur le paquet PHP il faut modifier le fichier php.ini afin d’y effectuer quelques réglages
vi /etc/php/7.3/apache2/php.ini
Rechercher
;date.timezone =
Ajouter (Pour afficher le fuseau horaire de Paris)
date.timezone = Europe/Paris
Vous pouvez aussi par la même occasion Augmenter la taille maximale des fichiers à télécharger sur le serveur
upload_max_filesize = 6M
4 – Installation de PhpMyadmin
Il faut se rendre sur le site de PHPmyadmin a l’adresse suivante pour télécharger la dernière version du paquet : https://www.phpmyadmin.net/downloads/
#cd /tmp/ # wget https://files.phpmyadmin.net/phpMyAdmin/4.9.2/phpMyAdmin-4.9.2-all-languages.tar.gz # tar xvf phpMyAdmin-4.9.2-all-languages.tar.gz
Déplacer le dossier dans le répertoire /user/share
mv phpMyAdmin-4.9.2-all-languages /usr/share/phpmyadmin
Donner les droits du dossier à l’utilisateur www-data du service apache
chown -R www-data:www-data /usr/share/phpmyadmin
Il faut créer un dossier temporaire pour phpmyadmin
mkdir -p /var/lib/phpmyadmin/tmp sudo chown www-data:www-data /var/lib/phpmyadmin/tmp
Se connecter à mysql pour créer une base pour phpmyadmin
mysql -u root
mysql> CREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Les commandes suivantes vont nous permettre de créer un utilisateur phpmyadmin qui aura les droits sur la base nommée phpmyadmin avec un mot de passe
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'motdepasse';
GRANT ALL ON phpmyadmin.* TO 'phpmyadmin'@'localhost';
On applique les privilèges et on se déconnecte de Mysql
FLUSH PRIVILEGES; exit;
Nous pouvons lancer l’installation des paquets additionnels d’apache pour phpmyadmin
apt-get install -y php7.3-common php7.3-mysql php7.3-gd php7.3-imap php7.3-json php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl php7.3-gmp
On redémarre le service apache
systemctl restart apache2
Nous allons créer le fichier de configuration qui va nous permettre d’accès a la page web de phpmyadmin via apache
vi /etc/apache2/conf-available/phpmyadmin.conf
Coller et enregistrer le fichier de configuration suivant
# phpMyAdmin default Apache configuration Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php <IfModule mod_php5.c> <IfModule mod_mime.c> AddType application/x-httpd-php .php </IfModule> <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php </FilesMatch> php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring.func_overload 0 </IfModule> <IfModule mod_php.c> <IfModule mod_mime.c> AddType application/x-httpd-php .php </IfModule> <FilesMatch ".+\.php$"> SetHandler application/x-httpd-php </FilesMatch> php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/ php_admin_value mbstring.func_overload 0 </IfModule> </Directory> # Disallow web access to directories that don't need it <Directory /usr/share/phpmyadmin/templates> Require all denied </Directory> <Directory /usr/share/phpmyadmin/libraries> Require all denied </Directory> <Directory /usr/share/phpmyadmin/setup/lib> Require all denied </Directory>
Activer le fichier de configuration via la commande suivante
a2enconf phpmyadmin.conf
On redémarre le service apache
systemctl restart apache2
Il faut créer et modifier le fichier de configuration de phpmyadmin
# cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php vi /usr/share/phpmyadmin/config.inc.php
Modifier les informations suivantes :
. . . $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ . . .
Par
$cfg['blowfish_secret'] = '2O:.uw6-8;Oi9R=3W{tO;/QtZ]4OG:T:'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Et les lignes suivantes
/* User used to manipulate with storage */ // $cfg['Servers'][$i]['controlhost'] = ''; // $cfg['Servers'][$i]['controlport'] = ''; // $cfg['Servers'][$i]['controluser'] = 'pma'; // $cfg['Servers'][$i]['controlpass'] = 'pmapass'; /* Storage database and tables */ // $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; // $cfg['Servers'][$i]['relation'] = 'pma__relation'; // $cfg['Servers'][$i]['table_info'] = 'pma__table_info'; // $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords'; // $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages'; // $cfg['Servers'][$i]['column_info'] = 'pma__column_info'; // $cfg['Servers'][$i]['history'] = 'pma__history'; // $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; // $cfg['Servers'][$i]['tracking'] = 'pma__tracking'; // $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; // $cfg['Servers'][$i]['recent'] = 'pma__recent'; // $cfg['Servers'][$i]['favorite'] = 'pma__favorite'; // $cfg['Servers'][$i]['users'] = 'pma__users'; // $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; // $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding'; // $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches'; // $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns'; // $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings'; // $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
Par
$/* User used to manipulate with storage */ // $cfg['Servers'][$i]['controlhost'] = ''; // $cfg['Servers'][$i]['controlport'] = ''; $cfg['Servers'][$i]['controluser'] = 'phpmyadmin'; $cfg['Servers'][$i]['controlpass'] = 'Votre_mot_depasse_phpmyadmin'; /* Storage database and tables */ $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; $cfg['Servers'][$i]['relation'] = 'pma__relation'; $cfg['Servers'][$i]['table_info'] = 'pma__table_info'; $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords'; $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages'; $cfg['Servers'][$i]['column_info'] = 'pma__column_info'; $cfg['Servers'][$i]['history'] = 'pma__history'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; $cfg['Servers'][$i]['tracking'] = 'pma__tracking'; $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; $cfg['Servers'][$i]['recent'] = 'pma__recent'; $cfg['Servers'][$i]['favorite'] = 'pma__favorite'; $cfg['Servers'][$i]['users'] = 'pma__users'; $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding'; $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches'; $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns'; $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings'; $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
On redémarre le service apache
systemctl restart apache2
Maintenant vous pouvez accéder a la page web de phpmyadmin http://VOTRE_IP_OU_DOMAINE/ phpmyadmin
![](https://www.gabinhocity.eu/wp-content/uploads/2019/12/10.png)
![](https://www.gabinhocity.eu/wp-content/uploads/2019/12/11-1024x453.png)
C’est terminé 🙂 votre machine Debian est maintenant opérationnelle. Même s’il est vrai que ce tutoriel est un peu long, je tenais à faire une version à jour de mon premier tuto sur l’installation de ces paquets qui sont très souvent utiles.