iusrepo / wishlist

meta repo for IUS new package requests
33 stars 8 forks source link

phpMyAdmin49 #242

Closed petecassetta closed 5 years ago

petecassetta commented 5 years ago

phpMyAdmin latest stable - https://www.phpmyadmin.net/downloads/

This may not be suitable for IUS, as it is presently in EPEL. But the version in EPEL is designed to work with the older PHP in RHEL 6.x (PHP 5.3) and 7.x (PHP 5.4). Once IUS is used to update PHP from 5.3 or 5.4 to non-EOL versions (7.1 and beyond), it becomes problematic to install the older phpMyAdmin provided by EPEL. It wants the mcrypt module, and doesn't like newer PHP.

Sadly, the phpMyAdmin project doesn't create rpm packages, so when PHP is updated from IUS, our only real option is to install phpMyAdmin from source. Because phpMyAdmin doesn't have any auto-update feature, every subsequent release requires a new source install.

I agree to test the new package to ensure that it works as expected. Once I am satisfied with the results of my testing I will comment on this issue with the word "STABLE" to get it promoted to the stable repos.

I will test, and it will be very easy to get lots of my coworkers to test this, as it is a daily pain point for us in our current responsibilities.

carlwgeorge commented 5 years ago

Hello @petecassetta,

I've created the initial phpMyAdmin49 package and published it to the testing repository. It requires php(language) >= 5.5, which can be satisfied by php71u-common, php72u-common, or php73-common. There are also phpMyAdmin49-httpd and phpMyAdmin49-nginx subpackages with the corresponding webserver configurations. Check them out and share your feedback.

petecassetta commented 5 years ago

I think these packages work as advertised except for phpMyAdmin49-nginx (both for CentOS 6 and 7). They seem to add the "apache" user to the "phpmyadmin" group rather than adding the "nginx" user to the "phpmyadmin" group. Here's the output during install on CentOS 6 to show what I mean:

yum install phpMyAdmin49-nginx

Loaded plugins: fastestmirror, replace Setting up Install Process Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package phpMyAdmin49-nginx.noarch 0:4.9.0.1-2.el6.ius will be installed --> Processing Dependency: phpMyAdmin49 = 4.9.0.1-2.el6.ius for package: phpMyAdmin49-nginx-4.9.0.1-2.el6.ius.noarch --> Running transaction check ---> Package phpMyAdmin49.noarch 0:4.9.0.1-2.el6.ius will be installed --> Finished Dependency Resolution ... Running Transaction Adding user apache to group phpmyadmin Adding user php-fpm to group phpmyadmin Installing : phpMyAdmin49-4.9.0.1-2.el6.ius.noarch 1/2 Installing : phpMyAdmin49-nginx-4.9.0.1-2.el6.ius.noarch 2/2 Verifying : phpMyAdmin49-nginx-4.9.0.1-2.el6.ius.noarch 1/2 Verifying : phpMyAdmin49-4.9.0.1-2.el6.ius.noarch 2/2

Installed: phpMyAdmin49-nginx.noarch 0:4.9.0.1-2.el6.ius

Dependency Installed: phpMyAdmin49.noarch 0:4.9.0.1-2.el6.ius

Complete!

And here's the result:

[root@centos6 ~]# id nginx uid=496(nginx) gid=496(nginx) groups=496(nginx)

[root@centos6 ~]# id apache uid=48(apache) gid=48(apache) groups=48(apache),497(phpmyadmin)

carlwgeorge commented 5 years ago

The scriptlet in question: https://github.com/iusrepo/phpMyAdmin49/blob/4.9.0.1-2/phpMyAdmin49.spec#L194-L205

This will add apache and/or php-fpm to the phpmyadmin group if they exist on the system.

There is no scenario I'm aware of where the nginx user needs that access.

petecassetta commented 5 years ago

OK, I understand the strategy then. I was confused because we typically don't use the php-fpm user at all; instead we let the fpm pool run as someuser:apache or someuser:nginx. I think you are expecting it to run as someuser:php-fpm.

So then the difference between phpMyAdmin49-nginx and phpMyAdmin49-httpd is just that they place different configuration files:

/etc/nginx/default.d/phpMyAdmin.conf /etc/httpd/conf.d/phpMyAdmin.conf

I haven't encountered any other surprises or problems after using these packages for a week or so.

carlwgeorge commented 5 years ago

Sounds good, I'll go ahead and promote them to the main repo.