Sur le tutoriel d’installation de serveur Web je vous ai montré comment installer phpMyAdmin via les paquets Debian. Pratique mais vous dépendez des mises à jour des paquets qui parfois peuvent être assez longues. Or en l’installant manuellement vous ne dépendez pas des paquets et gérez vous-même vos mises à jour sauf que c’est à vous de surveiller les mises à jour et les faire.
Je pars du principe que vous avez suivi mon tutoriel sur l’installation d’un serveur web et que vous en êtes à l’installation de phpMyAdmin.
Installation
Connectez vous en root ou en user ayant les droits nécessaire pour effectuer les actions sur votre serveur dédié.
Vous allez télécharger la dernière version de phpMyAdmin sur le site officiel ici
Lors de la rédaction de ce tutoriel la dernière version est phpMyAdmin 5.2.2 et vous prenez la version .tar.gz.
Pour obtenir le lien de téléchargement vous allez sur le lien puis clic droit et copier le lien et sur votre dédié vous allez dans
Code : Tout sélectionner
cd /optCode : Tout sélectionner
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.2/phpMyAdmin-5.2.2-all-languages.tar.gzVous décompressez l’archive avec la commande
Code : Tout sélectionner
tar xvf phpMyAdmin-5.2.1-all-languages.tar.gzCode : Tout sélectionner
mv phpMyAdmin-5.2.2-all-languages/ /usr/share/phpmyadminCode : Tout sélectionner
rm phpMyAdmin-5.2.2-all-languages.tar.gzConfiguration
Vous allez créer un dossier temporaire utile à phpMyAdmin
Code : Tout sélectionner
mkdir -p /var/lib/phpmyadmin/tmpCode : Tout sélectionner
chown -R www-data:www-data /var/lib/phpmyadminCode : Tout sélectionner
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.phpVous éditez le fichier
Code : Tout sélectionner
nano /usr/share/phpmyadmin/config.inc.phpCode : Tout sélectionner
$cfg['blowfish_secret'] = 'vous devez mettre ici 32 caractères et tout attaché et ne mettez pas d’accent etc'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */Code : Tout sélectionner
/* 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';Code : Tout sélectionner
/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'mettez un mot de passe';
/* 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'Code : Tout sélectionner
$cfg['Servers'][$i]['controlpass'] = 'mettez un mot de passe';Code : Tout sélectionner
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';Créez les tables et la base de données en tapant
Code : Tout sélectionner
mysql < /usr/share/phpmyadmin/sql/create_tables.sqlCode : Tout sélectionner
GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'votremotdepasse';Code : Tout sélectionner
$cfg['Servers'][$i]['controlpass'] = 'mettez un mot de passe';Code : Tout sélectionner
GRANT ALL PRIVILEGES ON *.* TO 'papy'@'localhost' IDENTIFIED BY 'motdepasse' WITH GRANT OPTION;Pour sortir tapez exit ou quit.
Maintenant vous allez configurer apache2. On créé le fichier de configuration
Code : Tout sélectionner
nano /etc/apache2/conf-available/phpmyadmin.confCode : Tout sélectionner
# 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-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>
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
<IfModule mod_authz_core.c>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</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>Code : Tout sélectionner
Alias /phpmyadmin /usr/share/phpmyadminFermez ensuite votre fichier en sauvegardant.
Vous activez la configuration
Code : Tout sélectionner
a2enconf phpmyadmin.confCode : Tout sélectionner
service apache2 restartMettre à jour phpMyAdmin
Pour mettre à jour c’est très simple, il vous suffit de télécharger la dernière version sur le site officiel et d’écraser l’ancienne qui est dans
Code : Tout sélectionner
/usr/share/phpmyadmin/Restreindre l'accès
Vous pouvez pousser la sécurité encore un peu plus loin en autorisant que votre IP à se connecter à phpMyAdmin. Pour se faire vous éditer le fichier (si vous avez installé manuellement)
Code : Tout sélectionner
nano /etc/apache2/conf-available/phpmyadmin.confCode : Tout sélectionner
nano /etc/phpmyadmin/apache.confCode : Tout sélectionner
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.phpCode : Tout sélectionner
# CONNEXION PHPMYADMIN AUTORISE AVEC CETTE IP
Order deny,allow
Deny from all
Allow from 100.100.100.100Code : Tout sélectionner
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
# Autorisation de connexion a phpmyadmin via IP
Order deny,allow
Deny from all
Allow from 100.100.100.100Refermez le fichier en sauvegardant puis relancez apache2
Code : Tout sélectionner
service apache2 restart