Installation de phpMyAdmin sur CentOS 6
Préambule
Il y a un peu plus de deux ans, j'écrivais ce qui reste (à l'écriture de ce billet) le contenu phare de ce blog : installation de phpMyAdmin sur CentOS 5. C'est bien simple, c'est la raison pour laquelle une grande majorité des visiteurs atterrit ici. Ca en devient presque frustrant, d'ailleurs ;-) Bref, toujours est-il que depuis juillet, CentOS 6 est (enfin) disponible , il est donc temps de remettre ce petit tutoriel au goût du jour !
Objectifs : installer et configurer un serveur de base de données MySQL avec une interface web d'administration pour pouvoir ensuite faire du développement ou installer facilement d'autres outils web utilisant ce type de base de données, comme un CMS ou un moteur de blog.
Outils à disposition : que du libre, bien entendu ! Le système d'exploitation est CentOS 6, le serveur de base de données MySQL est disponible dans les dépôts de cette distribution, ainsi que le serveur web, Apache HTTP Server. Le logiciel d'administration web est le très connu phpMyAdmin, qu'on installera (avec ses prérequis) depuis le dépôt EPEL. On supposera donc que la machine a accès à Internet (pour accéder aux dépôts).
Je ne vais pas décrire tout depuis l'installation de l'OS, mais pour s'assurer que les bases sont saines, j'ai effectué une installation ressemblant comme deux gouttes d'eau à mon billet précédent : installation minimaliste d'une CentOS 6 (et je vais peut-être me calmer un peu sur l’auto-promotion ;-) ). Parmi les paramètres importants, notons la désactivation de SELinux.
Une dernière chose avant de rentrer dans le vif du sujet : pour plus de transparence, et aussi parce que les plus intéressés par ce billet sont probablement des débutants dans le monde de GNU/Linux et des logiciels libres, j'ai choisi d'afficher autant que faire se peut les résultats des commandes. Le billet est donc assez long, mais pas complexe pour autant ! Je vous recommande cependant de lire ce billet en entier avant de taper la moindre commande sur votre machine. De toutes façons, vous utilisez une machine (virtuelle) de tests, hein ?
Installation d'Apache, PHP et de phpMyAdmin
Commençons par ajouter le dépôt EPEL à notre installation, de sorte à faciliter l'installation de toute la bande Apache, PHP, MySQL et phpMyAdmin :
[root@crashtest ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
Récupération de http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
attention: /var/tmp/rpm-tmp.c1BYty: Entête V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Préparation... (100%)
1:epel-release (100%)
Ensuite, c'est assez simple, grâce au jeu des dépendances, nous installons phpMyAdmin :
[root@crashtest ~]# yum install phpmyadmin
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/metalink | 12 kB 00:00
* epel: mirrors.ircam.fr
base | 3.7 kB 00:00
base/primary_db | 4.2 MB 00:00
epel | 4.3 kB 00:00
epel/primary_db | 3.9 MB 00:15
extras | 951 B 00:00
extras/primary | 203 B 00:00
updates | 3.5 kB 00:00
updates/primary_db | 3.3 MB 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package phpMyAdmin.noarch 0:3.4.3.1-1.el6 set to be updated
--> Processing Dependency: php-gd >= 5.2.0 for package: phpMyAdmin-3.4.3.1-1.el6.noarch
--> Processing Dependency: php-mbstring >= 5.2.0 for package: phpMyAdmin-3.4.3.1-1.el6.noarch
--> Processing Dependency: php-mysql >= 5.2.0 for package: phpMyAdmin-3.4.3.1-1.el6.noarch
--> Processing Dependency: php >= 5.2.0 for package: phpMyAdmin-3.4.3.1-1.el6.noarch
--> Processing Dependency: php-mcrypt >= 5.2.0 for package: phpMyAdmin-3.4.3.1-1.el6.noarch
--> Processing Dependency: httpd for package: phpMyAdmin-3.4.3.1-1.el6.noarch
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-5.el6.centos set to be updated
--> Processing Dependency: httpd-tools = 2.2.15-5.el6.centos for package: httpd-2.2.15-5.el6.centos.x86_64
--> Processing Dependency: /etc/mime.types for package: httpd-2.2.15-5.el6.centos.x86_64
--> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-5.el6.centos.x86_64
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-5.el6.centos.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-5.el6.centos.x86_64
---> Package php.x86_64 0:5.3.2-6.el6_0.1 set to be updated
--> Processing Dependency: php-cli = 5.3.2-6.el6_0.1 for package: php-5.3.2-6.el6_0.1.x86_64
--> Processing Dependency: php-common = 5.3.2-6.el6_0.1 for package: php-5.3.2-6.el6_0.1.x86_64
---> Package php-gd.x86_64 0:5.3.2-6.el6_0.1 set to be updated
--> Processing Dependency: libpng12.so.0(PNG12_0)(64bit) for package: php-gd-5.3.2-6.el6_0.1.x86_64
--> Processing Dependency: libpng12.so.0()(64bit) for package: php-gd-5.3.2-6.el6_0.1.x86_64
--> Processing Dependency: libjpeg.so.62()(64bit) for package: php-gd-5.3.2-6.el6_0.1.x86_64
--> Processing Dependency: libXpm.so.4()(64bit) for package: php-gd-5.3.2-6.el6_0.1.x86_64
--> Processing Dependency: libfreetype.so.6()(64bit) for package: php-gd-5.3.2-6.el6_0.1.x86_64
--> Processing Dependency: libX11.so.6()(64bit) for package: php-gd-5.3.2-6.el6_0.1.x86_64
---> Package php-mbstring.x86_64 0:5.3.2-6.el6_0.1 set to be updated
---> Package php-mcrypt.x86_64 0:5.3.2-3.el6 set to be updated
--> Processing Dependency: libmcrypt.so.4()(64bit) for package: php-mcrypt-5.3.2-3.el6.x86_64
---> Package php-mysql.x86_64 0:5.3.2-6.el6_0.1 set to be updated
--> Processing Dependency: php-pdo for package: php-mysql-5.3.2-6.el6_0.1.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.3.9-3.el6_0.1 set to be updated
---> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 set to be updated
---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 set to be updated
---> Package freetype.x86_64 0:2.3.11-6.el6_0.2 set to be updated
---> Package httpd-tools.x86_64 0:2.2.15-5.el6.centos set to be updated
---> Package libX11.x86_64 0:1.3-2.el6 set to be updated
--> Processing Dependency: libX11-common = 1.3-2.el6 for package: libX11-1.3-2.el6.x86_64
--> Processing Dependency: libxcb.so.1()(64bit) for package: libX11-1.3-2.el6.x86_64
---> Package libXpm.x86_64 0:3.5.8-2.el6 set to be updated
---> Package libjpeg.x86_64 0:6b-46.el6 set to be updated
---> Package libmcrypt.x86_64 0:2.5.8-9.el6 set to be updated
---> Package libpng.x86_64 2:1.2.44-1.el6 set to be updated
---> Package mailcap.noarch 0:2.1.31-1.1.el6 set to be updated
---> Package php-cli.x86_64 0:5.3.2-6.el6_0.1 set to be updated
---> Package php-common.x86_64 0:5.3.2-6.el6_0.1 set to be updated
---> Package php-pdo.x86_64 0:5.3.2-6.el6_0.1 set to be updated
--> Running transaction check
---> Package libX11-common.noarch 0:1.3-2.el6 set to be updated
---> Package libxcb.x86_64 0:1.5-1.el6 set to be updated
--> Processing Dependency: libXau.so.6()(64bit) for package: libxcb-1.5-1.el6.x86_64
--> Running transaction check
---> Package libXau.x86_64 0:1.0.5-1.el6 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
phpMyAdmin noarch 3.4.3.1-1.el6 epel 4.4 M
Installing for dependencies:
apr x86_64 1.3.9-3.el6_0.1 updates 124 k
apr-util x86_64 1.3.9-3.el6_0.1 updates 87 k
apr-util-ldap x86_64 1.3.9-3.el6_0.1 updates 15 k
freetype x86_64 2.3.11-6.el6_0.2 updates 359 k
httpd x86_64 2.2.15-5.el6.centos base 811 k
httpd-tools x86_64 2.2.15-5.el6.centos base 68 k
libX11 x86_64 1.3-2.el6 base 582 k
libX11-common noarch 1.3-2.el6 base 188 k
libXau x86_64 1.0.5-1.el6 base 22 k
libXpm x86_64 3.5.8-2.el6 base 59 k
libjpeg x86_64 6b-46.el6 base 134 k
libmcrypt x86_64 2.5.8-9.el6 epel 96 k
libpng x86_64 2:1.2.44-1.el6 base 180 k
libxcb x86_64 1.5-1.el6 base 100 k
mailcap noarch 2.1.31-1.1.el6 base 27 k
php x86_64 5.3.2-6.el6_0.1 updates 1.1 M
php-cli x86_64 5.3.2-6.el6_0.1 updates 2.2 M
php-common x86_64 5.3.2-6.el6_0.1 updates 516 k
php-gd x86_64 5.3.2-6.el6_0.1 updates 103 k
php-mbstring x86_64 5.3.2-6.el6_0.1 updates 504 k
php-mcrypt x86_64 5.3.2-3.el6 epel 16 k
php-mysql x86_64 5.3.2-6.el6_0.1 updates 75 k
php-pdo x86_64 5.3.2-6.el6_0.1 updates 72 k
Transaction Summary
================================================================================
Install 24 Package(s)
Upgrade 0 Package(s)
Total download size: 12 M
Installed size: 42 M
Is this ok [y/N]:
Comme on peut le voir, de nombreux autres logiciels viennent s'installer car phpMyAdmin en a besoin pour fonctionner, comme PHP et Apache HTTPD Server (paquets httpd et apr-*). Appuyons sur la touche y de notre clavier :
Is this ok [y/N]: y
Downloading Packages:
(1/24): apr-1.3.9-3.el6_0.1.x86_64.rpm | 124 kB 00:00
(2/24): apr-util-1.3.9-3.el6_0.1.x86_64.rpm | 87 kB 00:00
(3/24): apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm | 15 kB 00:00
(4/24): freetype-2.3.11-6.el6_0.2.x86_64.rpm | 359 kB 00:00
(5/24): httpd-2.2.15-5.el6.centos.x86_64.rpm | 811 kB 00:00
(6/24): httpd-tools-2.2.15-5.el6.centos.x86_64.rpm | 68 kB 00:00
(7/24): libX11-1.3-2.el6.x86_64.rpm | 582 kB 00:00
(8/24): libX11-common-1.3-2.el6.noarch.rpm | 188 kB 00:00
(9/24): libXau-1.0.5-1.el6.x86_64.rpm | 22 kB 00:00
(10/24): libXpm-3.5.8-2.el6.x86_64.rpm | 59 kB 00:00
(11/24): libjpeg-6b-46.el6.x86_64.rpm | 134 kB 00:00
(12/24): libmcrypt-2.5.8-9.el6.x86_64.rpm | 96 kB 00:00
(13/24): libpng-1.2.44-1.el6.x86_64.rpm | 180 kB 00:00
(14/24): libxcb-1.5-1.el6.x86_64.rpm | 100 kB 00:00
(15/24): mailcap-2.1.31-1.1.el6.noarch.rpm | 27 kB 00:00
(16/24): php-5.3.2-6.el6_0.1.x86_64.rpm | 1.1 MB 00:00
(17/24): php-cli-5.3.2-6.el6_0.1.x86_64.rpm | 2.2 MB 00:00
(18/24): php-common-5.3.2-6.el6_0.1.x86_64.rpm | 516 kB 00:00
(19/24): php-gd-5.3.2-6.el6_0.1.x86_64.rpm | 103 kB 00:00
(20/24): php-mbstring-5.3.2-6.el6_0.1.x86_64.rpm | 504 kB 00:00
(21/24): php-mcrypt-5.3.2-3.el6.x86_64.rpm | 16 kB 00:00
(22/24): php-mysql-5.3.2-6.el6_0.1.x86_64.rpm | 75 kB 00:00
(23/24): php-pdo-5.3.2-6.el6_0.1.x86_64.rpm | 72 kB 00:00
(24/24): phpMyAdmin-3.4.3.1-1.el6.noarch.rpm | 4.4 MB 00:18
--------------------------------------------------------------------------------
Total 574 kB/s | 12 MB 00:20
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
epel/gpgkey | 3.2 kB 00:00 ...
Importing GPG key 0x0608B895 "EPEL (6) <epel@fedoraproject.org>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]:
Autre interrogation intéressante : vous aurez remarqué que tout se déroule grâce à yum, et que nous avons installé un dépôt supplémentaire. Ce dépôt s'identifie via une clé GPG qu'il nous faut importer lors de sa première utilisation. Appuyons-donc sur y et continuons :
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : php-common-5.3.2-6.el6_0.1.x86_64 1/24
Installing : apr-1.3.9-3.el6_0.1.x86_64 2/24
Installing : apr-util-1.3.9-3.el6_0.1.x86_64 3/24
Installing : apr-util-ldap-1.3.9-3.el6_0.1.x86_64 4/24
Installing : httpd-tools-2.2.15-5.el6.centos.x86_64 5/24
Installing : php-pdo-5.3.2-6.el6_0.1.x86_64 6/24
Installing : php-mysql-5.3.2-6.el6_0.1.x86_64 7/24
Installing : php-cli-5.3.2-6.el6_0.1.x86_64 8/24
Installing : php-mbstring-5.3.2-6.el6_0.1.x86_64 9/24
Installing : 2:libpng-1.2.44-1.el6.x86_64 10/24
Installing : freetype-2.3.11-6.el6_0.2.x86_64 11/24
Installing : libjpeg-6b-46.el6.x86_64 12/24
Installing : libmcrypt-2.5.8-9.el6.x86_64 13/24
Installing : libXau-1.0.5-1.el6.x86_64 14/24
Installing : libxcb-1.5-1.el6.x86_64 15/24
Installing : mailcap-2.1.31-1.1.el6.noarch 16/24
Installing : httpd-2.2.15-5.el6.centos.x86_64 17/24
Installing : php-5.3.2-6.el6_0.1.x86_64 18/24
Installing : php-mcrypt-5.3.2-3.el6.x86_64 19/24
Installing : libX11-common-1.3-2.el6.noarch 20/24
Installing : libX11-1.3-2.el6.x86_64 21/24
Installing : libXpm-3.5.8-2.el6.x86_64 22/24
Installing : php-gd-5.3.2-6.el6_0.1.x86_64 23/24
Installing : phpMyAdmin-3.4.3.1-1.el6.noarch 24/24
Installed:
phpMyAdmin.noarch 0:3.4.3.1-1.el6
Dependency Installed:
apr.x86_64 0:1.3.9-3.el6_0.1
apr-util.x86_64 0:1.3.9-3.el6_0.1
apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1
freetype.x86_64 0:2.3.11-6.el6_0.2
httpd.x86_64 0:2.2.15-5.el6.centos
httpd-tools.x86_64 0:2.2.15-5.el6.centos
libX11.x86_64 0:1.3-2.el6
libX11-common.noarch 0:1.3-2.el6
libXau.x86_64 0:1.0.5-1.el6
libXpm.x86_64 0:3.5.8-2.el6
libjpeg.x86_64 0:6b-46.el6
libmcrypt.x86_64 0:2.5.8-9.el6
libpng.x86_64 2:1.2.44-1.el6
libxcb.x86_64 0:1.5-1.el6
mailcap.noarch 0:2.1.31-1.1.el6
php.x86_64 0:5.3.2-6.el6_0.1
php-cli.x86_64 0:5.3.2-6.el6_0.1
php-common.x86_64 0:5.3.2-6.el6_0.1
php-gd.x86_64 0:5.3.2-6.el6_0.1
php-mbstring.x86_64 0:5.3.2-6.el6_0.1
php-mcrypt.x86_64 0:5.3.2-3.el6
php-mysql.x86_64 0:5.3.2-6.el6_0.1
php-pdo.x86_64 0:5.3.2-6.el6_0.1
Complete!
Pensons à activer Apache au démarrage de la machine :
[root@crashtest ~]# chkconfig --list httpd
httpd 0:arrêt 1:arrêt 2:arrêt 3:arrêt 4:arrêt 5:arrêt 6:arrêt
[root@crashtest ~]# chkconfig httpd on
[root@crashtest ~]# chkconfig --list httpd
httpd 0:arrêt 1:arrêt 2:marche 3:marche 4:marche 5:marche 6:arrêt
Vous croyez que c'est fini ? Pourtant ce n'est que le début : nous n'avons toujours pas installé MySQL et il faut encore configurer le tout.
Installation et configuration de MySQL
Rien de très compliqué :
[root@crashtest ~]# yum install mysql-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* epel: mirrors.ircam.fr
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql-server.x86_64 0:5.1.52-1.el6_0.1 set to be updated
--> Processing Dependency: mysql = 5.1.52-1.el6_0.1 for package: mysql-server-5.1.52-1.el6_0.1.x86_64
--> Processing Dependency: perl-DBI for package: mysql-server-5.1.52-1.el6_0.1.x86_64
--> Processing Dependency: perl-DBD-MySQL for package: mysql-server-5.1.52-1.el6_0.1.x86_64
--> Processing Dependency: perl(DBI) for package: mysql-server-5.1.52-1.el6_0.1.x86_64
--> Running transaction check
---> Package mysql.x86_64 0:5.1.52-1.el6_0.1 set to be updated
---> Package perl-DBD-MySQL.x86_64 0:4.013-3.el6 set to be updated
---> Package perl-DBI.x86_64 0:1.609-4.el6 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
mysql-server x86_64 5.1.52-1.el6_0.1 updates 8.1 M
Installing for dependencies:
mysql x86_64 5.1.52-1.el6_0.1 updates 889 k
perl-DBD-MySQL x86_64 4.013-3.el6 base 134 k
perl-DBI x86_64 1.609-4.el6 base 705 k
Transaction Summary
================================================================================
Install 4 Package(s)
Upgrade 0 Package(s)
Total download size: 9.8 M
Installed size: 28 M
Is this ok [y/N]:
Là encore, on nous demande une validation avant d'installer les logiciels.
Is this ok [y/N]: y
Downloading Packages:
(1/4): mysql-5.1.52-1.el6_0.1.x86_64.rpm | 889 kB 00:00
(2/4): mysql-server-5.1.52-1.el6_0.1.x86_64.rpm | 8.1 MB 00:00
(3/4): perl-DBD-MySQL-4.013-3.el6.x86_64.rpm | 134 kB 00:00
(4/4): perl-DBI-1.609-4.el6.x86_64.rpm | 705 kB 00:00
--------------------------------------------------------------------------------
Total 8.4 MB/s | 9.8 MB 00:01
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : perl-DBI-1.609-4.el6.x86_64 1/4
Installing : perl-DBD-MySQL-4.013-3.el6.x86_64 2/4
Installing : mysql-5.1.52-1.el6_0.1.x86_64 3/4
Installing : mysql-server-5.1.52-1.el6_0.1.x86_64 4/4
Installed:
mysql-server.x86_64 0:5.1.52-1.el6_0.1
Dependency Installed:
mysql.x86_64 0:5.1.52-1.el6_0.1 perl-DBD-MySQL.x86_64 0:4.013-3.el6
perl-DBI.x86_64 0:1.609-4.el6
Complete!
Maintenant que MySQL est installé, démarrons-le :
[root@crashtest ~]# service mysqld start
Initialisation de la base de données MySQL : Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h crashtest password 'new-password'
Alternatively you can run:
/usr/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /usr/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /usr/bin/mysqlbug script!
[ OK ]
Démarrage de mysqld : [ OK ]
MySQL nous informe donc que sans mot de passe administrateur, c'est un peu la fête du slip et qu'il faut absolument remédier à ça. Soyons donc civilisés, mais pas trop, car pour l'exemple, j'initialise le mot de passe root de MySQL à 'anotherhomepage' (le mot de passe en lui-même ne contient pas les guillemets simples) :
[root@crashtest ~]# /usr/bin/mysqladmin -u root password 'anotherhomepage'
[root@crashtest ~]# /usr/bin/mysqladmin -u root -h crashtest password 'anotherhomepage'
Activons MySQL au démarrage de la machine :
[root@crashtest ~]# chkconfig --list mysqld
mysqld 0:arrêt 1:arrêt 2:arrêt 3:arrêt 4:arrêt 5:arrêt 6:arrêt
[root@crashtest ~]# chkconfig mysqld on
[root@crashtest ~]# chkconfig --list mysqld
mysqld 0:arrêt 1:arrêt 2:marche 3:marche 4:marche 5:marche 6:arrêt
Configurations supplémentaires
Si vous avez effectué une installation identique à celle de mon précédent billet, vous aurez remarqué que le firewall est toujours actif, et que celui-ci n'accepte que du SSH et du SMTP :
[root@crashtest ~]# /etc/init.d/iptables status
Table : filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25
6 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Désactivons-le :
[root@crashtest ~]# /etc/init.d/iptables stop
iptables : Suppression des règles du pare-feu : [ OK ]
iptables : Configuration des chaînes sur la politique ACCEPT : filter [ OK ]
iptables : Déchargement des modules : [ OK ]
[root@crashtest ~]# chkconfig --list iptables
iptables 0:arrêt 1:arrêt 2:marche 3:marche 4:marche 5:marche 6:arrêt
[root@crashtest ~]# chkconfig iptables off
[root@crashtest ~]# chkconfig --list iptables
iptables 0:arrêt 1:arrêt 2:arrêt 3:arrêt 4:arrêt 5:arrêt 6:arrêt
Il nous faut aussi effectuer une autre modification : l'autorisation des machines du réseau à accéder à phpMyAdmin. Pour cela il nous faut éditer le fichier “/etc/httpd/conf.d/phpMyAdmin.conf” avec votre éditeur de texte préféré, ou celui installé par défaut, très probablement vi. Dans ce fichier, nous voyons ceci :
<Directory /usr/share/phpMyAdmin/>
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</Directory>
<Directory /usr/share/phpMyAdmin/setup/>
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</Directory>
Deux possibilités : la première, ajoutez votre réseau ou vos machines dans les deux sections “Directory” après les directives “Allow” en ajoutant justement une directive de ce type. Par exemple, avec un réseau 10.1.1.0/24, ça donnerait :
Allow from 10.1.1.0/24
Une autre possibilité, bien moins sécurisée mais sans doute plus confortable est de tout autoriser. Dans ce cas, les sections deviennent :
<Directory /usr/share/phpMyAdmin/>
Order Deny,Allow
Allow from All
</Directory>
<Directory /usr/share/phpMyAdmin/setup/>
Order Deny,Allow
Allow from All
</Directory>
Démarrons à présent le serveur web :
[root@crashtest ~]# service httpd start
Démarrage de httpd : [ OK ]
Il est à présent possible d'accéder à phpMyAdmin, dans mon cas via l'adresse “http://crashtest/phpmyadmin/”. Bien entendu, un identifiant et un mot de passe seront demandés. Il s'agit de ceux de MySQL (donc 'root' et 'anotherhomepage' dans mon cas).
On pourrait s'arrêter là. Mais ça serait dommage, pour plusieurs raisons :
- l'authentification se fait via HTTP, pas d'interface d'authentification un peu jolie qui utiliserait par exemple un cookie de session;
- HTTPS n'est pas activé, et donc le mot de passe se retrouve en clair sur le réseau;
- le pare-feu est désactivé, sans autre forme de procès (SELinux aussi, d'ailleurs);
- phpMyAdmin dispose de fonctions supplémentaires qu'on peut activer en créant une base de données
Ces points seront abordés dans un prochain billet, bien entendu ;-)