diff --git a/roles/phpmyadmin/tasks/enable-or-disable.yml b/roles/phpmyadmin/tasks/enable-or-disable.yml index 76dfae4e2..019d70033 100644 --- a/roles/phpmyadmin/tasks/enable-or-disable.yml +++ b/roles/phpmyadmin/tasks/enable-or-disable.yml @@ -1,9 +1,13 @@ -# - name: Enable phpMyAdmin via Apache, if phpmyadmin_enabled -# command: a2ensite phpmyadmin.conf -# when: phpmyadmin_enabled -# #when: apache_installed is defined and phpmyadmin_enabled +- name: Enable phpMyAdmin via nginx, if phpmyadmin_enabled + template: + src: phpmyadmin.conf.j2 + dest: "{{ nginx_conf_dir }}/phpmyadmin.conf" + when: phpmyadmin_enabled + #when: apache_installed is defined and phpmyadmin_enabled -# - name: Disable phpMyAdmin via Apache, if not phpmyadmin_enabled -# command: a2dissite phpmyadmin.conf -# when: not phpmyadmin_enabled -# #when: apache_installed is defined and not phpmyadmin_enabled +- name: Disable phpMyAdmin via nginx, if not phpmyadmin_enabled + file: + path: "{{ nginx_conf_dir }}/phpmyadmin.conf" + state: absent + when: not phpmyadmin_enabled + #when: apache_installed is defined and not phpmyadmin_enabled diff --git a/roles/phpmyadmin/tasks/install.yml b/roles/phpmyadmin/tasks/install.yml index d732ddaa1..da899730a 100644 --- a/roles/phpmyadmin/tasks/install.yml +++ b/roles/phpmyadmin/tasks/install.yml @@ -1,11 +1,14 @@ -# - name: "Set 'apache_install: True' and 'apache_enabled: True'" -# set_fact: -# apache_install: True -# apache_enabled: True -# -# - name: APACHE - run 'httpd' role -# include_role: -# name: httpd +- name: Download {{ phpmyadmin_dl_url }} to {{ downloads_dir }} + get_url: + url: "{{ phpmyadmin_dl_url }}" # e.g. https://files.phpmyadmin.net/phpMyAdmin/5.0.4/phpMyAdmin-5.0.4-all-languages.zip + dest: "{{ downloads_dir }}" # /opt/iiab/downloads + timeout: "{{ download_timeout }}" # 200 + when: internet_available + +- name: Does {{ downloads_dir }}/{{ phpmyadmin_name_zip }} exist? + stat: + path: "{{ downloads_dir }}/{{ phpmyadmin_name_zip }}" # e.g. /opt/iiab/downloads/phpMyAdmin-5.0.4-all-languages.zip + register: phpmyadmin_dl - name: Unarchive {{ phpmyadmin_dl_url }} (7+ MB) to /opt (60+ MB) @@ -32,12 +35,16 @@ owner: "{{ apache_user }}" group: "{{ apache_user }}" -# - name: Install /etc/{{ apache_conf_dir }}/phpmyadmin.conf from template -# template: -# src: phpmyadmin.j2 -# dest: "/etc/{{ apache_conf_dir }}/phpmyadmin.conf" -# #when: apache_installed is defined +# Above 3 stanzas set link/tree/contents ownership to {{ apache_user }}:root +# OOPS: CHOWN BELOW CHANGED LINK ALONE (TREE/CONTENTS REMAINED root:root) +# - name: Change the owner of the PHP tree to Apache +# shell: "chown -R {{ apache_user }} /opt/phpmyadmin" +# #file: +# # path: "/opt/{{ phpmyadmin_name_zip }}" +# # owner: "{{ apache_user }}" +# # recurse: yes +# # state: directory # RECORD phpMyAdmin AS INSTALLED diff --git a/roles/phpmyadmin/templates/config.inc.php b/roles/phpmyadmin/templates/config.inc.php index 63aaefee2..bbf0d82c2 100644 --- a/roles/phpmyadmin/templates/config.inc.php +++ b/roles/phpmyadmin/templates/config.inc.php @@ -26,4 +26,6 @@ $cfg['DefaultLang'] = 'en'; $cfg['ServerDefault'] = 1; $cfg['UploadDir'] = ''; $cfg['SaveDir'] = ''; -?> \ No newline at end of file +$cfg['Servers'][$i]['auth_type'] = 'http'; +?> + diff --git a/roles/phpmyadmin/templates/mkuser b/roles/phpmyadmin/templates/mkuser new file mode 100644 index 000000000..b7f22aa68 --- /dev/null +++ b/roles/phpmyadmin/templates/mkuser @@ -0,0 +1,3 @@ +CREATE USER 'Admin'@'localhost' IDENTIFIED BY 'changeme'; +GRANT ALL PRIVILEGES ON *.* TO 'Admin'@'localhost' WITH GRANT OPTION; +FLUSH PRIVILEGES; diff --git a/roles/phpmyadmin/templates/phpmyadmin.conf.j2 b/roles/phpmyadmin/templates/phpmyadmin.conf.j2 new file mode 100644 index 000000000..87924c66c --- /dev/null +++ b/roles/phpmyadmin/templates/phpmyadmin.conf.j2 @@ -0,0 +1,15 @@ +location ~ ^/phpmyadmin/(.*)\.php{ + alias /opt/phpmyadmin/$1.php; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header Host $host; + fastcgi_pass php; + fastcgi_index index.php; + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param SCRIPT_NAME $fastcgi_script_name; + include fastcgi_params; +} +location /phpmyadmin/{ + root /opt/; +} diff --git a/roles/phpmyadmin/templates/phpmyadmin.j2.unused b/roles/phpmyadmin/templates/phpmyadmin.j2.unused deleted file mode 100644 index 38254d194..000000000 --- a/roles/phpmyadmin/templates/phpmyadmin.j2.unused +++ /dev/null @@ -1,5 +0,0 @@ -Alias /phpmyadmin /opt/phpmyadmin - - AllowOverride all - require all granted -