Role Detail


phpMyAdmin installation for Linux
Type Ansible
Minimum Ansible Version 1.8
Installation $ ansible-galaxy install geerlingguy.phpmyadmin
Last Commit 2017-04-02 14:54:02 PM UTC
Last Imported 2017-11-13 18:53:06 PM UTC
Version History
Version Release Date
1.3.1 2016-09-16 00:35:12 AM
1.3.0 2016-09-16 00:21:12 AM
1.2.0 2016-03-06 22:37:10 PM
1.1.1 2014-11-11 16:43:04 PM
1.1.0 2014-10-14 19:54:07 PM
1.0.0 2014-03-05 15:10:03 PM
Supported Platforms
Platform Version
Debian etch
Debian jessie
Debian lenny
Debian sid
Debian squeeze
Debian stretch
Debian wheezy
EL 5
EL 6
EL 7
Ubuntu artful
Ubuntu lucid
Ubuntu maverick
Ubuntu natty
Ubuntu oneiric
Ubuntu precise
Ubuntu quantal
Ubuntu raring
Ubuntu saucy
Ubuntu trusty
Ubuntu utopic
Ubuntu vivid
Ubuntu wily
Ubuntu xenial
Ubuntu yakkety
Ubuntu zesty
Last 10 Imports
Completed Status
2017-11-13 18:53:06 PM UTC SUCCESS
2017-11-13 11:10:11 AM UTC SUCCESS
2017-04-02 15:22:03 PM UTC SUCCESS
2017-02-25 09:08:09 AM UTC SUCCESS
2017-02-25 09:01:09 AM UTC SUCCESS
2017-01-22 03:57:03 AM UTC SUCCESS
2016-11-23 16:22:04 PM UTC SUCCESS
2016-11-02 20:21:08 PM UTC SUCCESS
2016-09-25 22:42:10 PM UTC SUCCESS
2016-09-16 00:44:12 AM UTC SUCCESS

Ansible Role: phpMyAdmin

Build Status

Installs phpMyAdmin on RHEL/CentOS/Debian/Ubuntu.

phpMyAdmin is a simple interface for interacting with MySQL databases via a web browser. It is not necessarily the most secure or efficient method of managing databases, but for those who need a GUI, this one is better than many others. I (geerlingguy) would personally never run it on a production server, nor do I use it myself (I use Sequel Pro or simply interact with the database via CLI/APIs), but it seems many people like it (especially people stuck on a Windows machine with no good MySQL GUIs :).


RedHat/CentOS: Requires the EPEL repository on RedHat/CentOS 6.x hosts. You can install the EPEL repository using the geerlingguy.repo-epel role.

Debian/Ubuntu: None.

Role Variables

php_enablerepo: ""

(RedHat/CentOS only) If you have enabled any additional repositories (might I suggest geerlingguy.repo-epel or geerlingguy.repo-remi), those repositories can be listed under this variable (e.g. remi-php70,epel). This can be handy, as an example, if you want to install the latest version of PHP 7.0 with the latest version of phpMyAdmin, which is in the Remi repository.

phpmyadmin_config_file: /etc/phpmyadmin/

The path to the phpMyAdmin config file.

Available variables are listed below, along with default values (see defaults/main.yml):

phpmyadmin_mysql_host: localhost
phpmyadmin_mysql_port: ""
phpmyadmin_mysql_socket: ""
phpmyadmin_mysql_connect_type: tcp

These variables define the connection method and hostname phpMyAdmin will use to connect to the MySQL server.

phpmyadmin_mysql_user: root
phpmyadmin_mysql_password: "{{ mysql_root_password }}"

The username and password with which phpMyAdmin will attempt to log into the MySQL server. The mysql_root_password should be set as part of the geerlingguy.mysql role, but you can change the user and password to another account entirely, and you most defintely should, especially if you're connecting to a non-development database server!


  • geerlingguy.apache
  • geerlingguy.mysql
  • geerlingguy.php
  • geerlingguy.php-mysql

Example Playbook

- hosts: utility
    - vars/main.yml
    - { role: geerlingguy.phpmyadmin }

Inside vars/main.yml:

phpmyadmin_mysql_user: special_user
phpmyadmin_mysql_password: secure_password_here


  • Make default configuration more flexible (not everyone wants phpmyadmin to autologin as root).



Author Information

This role was created in 2014 by Jeff Geerling, author of Ansible for DevOps.