From ee4370dd8c1fc056a615aa2773dd3611954b6001 Mon Sep 17 00:00:00 2001 From: Trevor Batley Date: Sat, 7 Sep 2024 20:52:31 +1000 Subject: [PATCH] initial commit of file from CVS for smeserver-phpmyadmin on Sat Sep 7 20:52:31 AEST 2024 --- .gitignore | 4 + Makefile | 21 ++ README.md | 16 +- additional/CHANGELOG.git | 206 +++++++++++++++ additional/README.md | 3 + additional/phpmyadmin.sql | 241 ++++++++++++++++++ additional/smeserver-phpmyadmin.spec | 131 ++++++++++ contriborbase | 1 + createlinks | 31 +++ .../db/accounts/defaults/phpmyadmin/type | 1 + .../configuration/defaults/phpmyadmin/DbName | 1 + .../configuration/defaults/phpmyadmin/DbUser | 1 + .../defaults/phpmyadmin/MemoryLimit | 1 + .../defaults/phpmyadmin/PostMaxSize | 1 + .../defaults/phpmyadmin/UploadMaxSize | 1 + .../configuration/defaults/phpmyadmin/access | 1 + .../defaults/phpmyadmin/adminaccess | 1 + .../defaults/phpmyadmin/multiaccess | 1 + .../configuration/defaults/phpmyadmin/status | 1 + .../db/configuration/defaults/phpmyadmin/type | 1 + .../configuration/migrate/addBlowfishSecret | 32 +++ .../db/configuration/migrate/phpmyadmin | 37 +++ .../etc/e-smith/sql/init/phpmyadmin | 1 + .../etc/phpMyAdmin/config.inc.php | 3 + .../templates/etc/e-smith/sql/init/phpmyadmin | 51 ++++ .../httpd/conf/httpd.conf/86PhpmyadminAlias | 98 +++++++ .../httpd.conf/VirtualHosts/30PhpmyadminAlias | 21 ++ .../etc/php-fpm.d/www.conf/15phpmyadmin | 74 ++++++ .../etc/phpMyAdmin/config.inc.php/10config | 122 +++++++++ .../etc/phpMyAdmin/config.inc.php/20Directory | 19 ++ .../phpMyAdmin/config.inc.php/template-begin | 14 + .../phpMyAdmin/config.inc.php/template-end | 1 + root/usr/share/phpMyAdmin/.unit.ini | 11 + smeserver-phpmyadmin.spec | 180 +++++++++++++ 34 files changed, 1327 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 additional/CHANGELOG.git create mode 100644 additional/README.md create mode 100644 additional/phpmyadmin.sql create mode 100644 additional/smeserver-phpmyadmin.spec create mode 100644 contriborbase create mode 100644 createlinks create mode 100644 root/etc/e-smith/db/accounts/defaults/phpmyadmin/type create mode 100644 root/etc/e-smith/db/configuration/defaults/phpmyadmin/DbName create mode 100644 root/etc/e-smith/db/configuration/defaults/phpmyadmin/DbUser create mode 100644 root/etc/e-smith/db/configuration/defaults/phpmyadmin/MemoryLimit create mode 100644 root/etc/e-smith/db/configuration/defaults/phpmyadmin/PostMaxSize create mode 100644 root/etc/e-smith/db/configuration/defaults/phpmyadmin/UploadMaxSize create mode 100644 root/etc/e-smith/db/configuration/defaults/phpmyadmin/access create mode 100644 root/etc/e-smith/db/configuration/defaults/phpmyadmin/adminaccess create mode 100644 root/etc/e-smith/db/configuration/defaults/phpmyadmin/multiaccess create mode 100644 root/etc/e-smith/db/configuration/defaults/phpmyadmin/status create mode 100644 root/etc/e-smith/db/configuration/defaults/phpmyadmin/type create mode 100644 root/etc/e-smith/db/configuration/migrate/addBlowfishSecret create mode 100644 root/etc/e-smith/db/configuration/migrate/phpmyadmin create mode 100644 root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/phpmyadmin create mode 100644 root/etc/e-smith/templates.metadata/etc/phpMyAdmin/config.inc.php create mode 100644 root/etc/e-smith/templates/etc/e-smith/sql/init/phpmyadmin create mode 100644 root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/86PhpmyadminAlias create mode 100644 root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/30PhpmyadminAlias create mode 100644 root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phpmyadmin create mode 100644 root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/10config create mode 100644 root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/20Directory create mode 100644 root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/template-begin create mode 100644 root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/template-end create mode 100644 root/usr/share/phpMyAdmin/.unit.ini create mode 100644 smeserver-phpmyadmin.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cbb3a13 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.rpm +*.log +*spec-20* +*.tar.gz diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7aba0eb --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# Makefile for source rpm: smeserver-phpmyadmin +# $Id: Makefile,v 1.1 2020/04/13 11:23:29 jpp Exp $ +NAME := smeserver-phpmyadmin +SPECFILE = $(firstword $(wildcard *.spec)) + +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attept a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) diff --git a/README.md b/README.md index 001a538..4147f89 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,15 @@ -# smeserver-phpmyadmin +# smeserver-phpmyadmin -SMEServer Koozali developed git repo for smeserver-phpmyadmin smecontribs \ No newline at end of file +SMEServer Koozali developed git repo for smeserver-phpmyadmin smecontribs + +## Wiki +
https://wiki.koozali.org/PHPMyAdmin + +## Bugzilla +Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=smeserver-phpmyadmin&product=SME%20Contribs&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED) + +## Description + +
*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.* +*Once it has been checked, then this comment will be deleted* +
diff --git a/additional/CHANGELOG.git b/additional/CHANGELOG.git new file mode 100644 index 0000000..92b89bc --- /dev/null +++ b/additional/CHANGELOG.git @@ -0,0 +1,206 @@ +commit 5d981280e523b46482b803789acd271096e42773 +Author: Stephane de Labrusse +Date: Fri Oct 3 22:31:08 2014 +0200 + + * Sun Sep 28 2014 stephane de labrusse 4.0.10.2-2.sme + - added a tmp folder other that the /tmp [SME:8577] + - added some db values to adjust php limits (PostMaxSize,UploadMaxSize,MemoryLimit) + +commit 72a13ec2c8ea3fa549a5102002e6bc1f3656860a +Author: Stephane de Labrusse +Date: Sun Sep 28 21:42:11 2014 +0200 + + spec work + +commit 501de9db9157a84e49597ba6fd359da06a127d3b +Author: Stephane de Labrusse +Date: Sun Sep 28 21:24:52 2014 +0200 + + spec work + +commit 4be1acae8a21eb669eb8692f0f7ab86883c104f5 +Author: Stephane de Labrusse +Date: Sun Sep 28 21:05:19 2014 +0200 + + Near to release + +commit 550e9618324b6e53a4698e924c254e5f21e8ccb2 +Author: Stephane de Labrusse +Date: Sun Sep 28 20:11:58 2014 +0200 + + Revert "wip" + + This reverts commit ef0e85e07496df5998703c5deef62ce3fb59761f. + +commit ef0e85e07496df5998703c5deef62ce3fb59761f +Author: Stephane de Labrusse +Date: Sun Sep 28 19:31:28 2014 +0200 + + wip + +commit 6f46ba191e6b4820c35080b31021ea69bae487eb +Author: Stephane de Labrusse +Date: Sun Sep 28 19:15:34 2014 +0200 + + wip + +commit b94b589280793958ba8d5c77b4409bf0ac7f8696 +Author: Stephane de Labrusse +Date: Sun Sep 28 19:00:57 2014 +0200 + + createlinks + +commit c6b4ada66578e8210a70b9b956dfefbbd60e25e3 +Author: Stephane de Labrusse +Date: Sun Sep 28 18:48:04 2014 +0200 + + wip + +commit f9044a273e275862b82298c53b64ee32bdd4af5f +Author: Stephane de Labrusse +Date: Sun Sep 28 18:13:36 2014 +0200 + + mysqli + +commit c3dd4c8483a55cd71315d11c1d9da4eaeea7a88f +Author: Stephane de Labrusse +Date: Sun Sep 28 18:11:23 2014 +0200 + + mysqli + +commit 3f8ee16f2323d089819aae9451a5b6f8b6c45fc7 +Author: Stephane de Labrusse +Date: Sun Sep 28 16:34:10 2014 +0200 + + spec work on phpmyadmin template + +commit f0650af79f28b1d86cbc0fcd3312d98511abac97 +Author: Stephane de Labrusse +Date: Sun Sep 28 16:08:56 2014 +0200 + + spec work for sql init + +commit 8b14a90e3df00d76789ca9f00bc38ceb3ed3d8c7 +Author: Stephane de Labrusse +Date: Sun Sep 28 16:06:12 2014 +0200 + + spec work for sql init + +commit b41fb7e06b86cfff25f6e451b16e655bc0872c21 +Author: Stephane de Labrusse +Date: Sun Sep 28 15:55:08 2014 +0200 + + spec work for sql init + +commit 6b2e2c06dae2a9dfe77fff229621aa3de81353e1 +Author: Stephane de Labrusse +Date: Sun Sep 28 15:50:58 2014 +0200 + + spec work for sql init + +commit 24bfd34914a9f839d334355052d2da4e56e94f08 +Author: Stephane de Labrusse +Date: Sun Sep 28 15:42:16 2014 +0200 + + spec work for sql init + +commit 31c7d61ac8c355e436d6d1f95ff5be4b4891da21 +Author: Stephane de Labrusse +Date: Sun Sep 28 15:15:35 2014 +0200 + + added new Pma users and work on httpd template + +commit 461d5918e92a6e8fcd6f229de75365b4fd2dfa5b +Author: Stephane de Labrusse +Date: Wed Sep 24 22:10:58 2014 +0200 + + devel + +commit d0ff6302e0d502f6475eaaf05458f98baff8b70e +Author: Stephane de Labrusse +Date: Wed Sep 24 18:46:46 2014 +0200 + + * Wed Sep 24 2014 stephane de labrusse 4.0.10.1-1.sme + - add memory value up to 500M + - add php upload/post up to 100M + - add session.use_trans_sid 0 + - directory scripts removed of httpd templates + - VersionCheck is off now + +commit 68eb9c29c19d63ec5dba51930efb45de5da83049 +Author: Stephane de Labrusse +Date: Mon Aug 4 21:45:43 2014 +0200 + + readme + +commit 1c7baf13b941928ce5faaee94b5e2276ffcc3a30 +Author: Stephane de Labrusse +Date: Thu Jun 19 22:56:34 2014 +0200 + + change path of templates.metadata + +commit c13f6c4868c48c2e357860c565d5558075c5a6bd +Author: Stephane de Labrusse +Date: Thu Jun 19 22:49:21 2014 +0200 + + added event console-save + +commit 86bc12d61ab1ff36651e99c4852a5e1f12479043 +Author: Stephane de Labrusse +Date: Wed May 28 12:03:06 2014 +0200 + + modified version accordingly to phpmyadmin version + +commit 369dc22d1bd77a31f0145715c13f0ec75eede473 +Author: Stephane de Labrusse +Date: Wed May 28 11:49:53 2014 +0200 + + added some http denial access + +commit c3c3f7dfc1f58216bf4e833e249c9fe9d128b0d5 +Author: Stephane de Labrusse +Date: Sun May 25 14:17:14 2014 +0200 + + Update createlinks + +commit 36d93e9816a00cd84f67c91892c91afa227471a7 +Author: Stephane de Labrusse +Date: Mon May 19 10:17:36 2014 +0200 + + removing patchs + +commit 3da6bb4b509bc4ad7b3c735405b4fd17724e870d +Author: Stephane de Labrusse +Date: Mon May 19 10:14:04 2014 +0200 + + first release to sme9 + +commit 66d72d7f8a22a1bb043e2d284c6a2eb94088718c +Author: Stephane de Labrusse +Date: Fri May 2 14:51:28 2014 -0700 + + Initial commit + +commit 2d32d391adef317e717a2202676b9e064c408139 +Author: Stephane de Labrusse +Date: Fri May 2 23:30:18 2014 +0200 + + specfile modification + +commit 31ee0bddca6bfadb3c9dba2d3a5abe76e1a54f1d +Author: Stephane de Labrusse +Date: Fri May 2 23:09:50 2014 +0200 + + specfile modification + +commit f608d3e29c4ef2d4f222becbd89b7af6c5f3c502 +Author: Stephane de Labrusse +Date: Fri May 2 23:06:09 2014 +0200 + + specfile modification + +commit 3d833f0a8338370120be9551b988a3f0577965d1 +Author: Stephane de Labrusse +Date: Fri May 2 22:58:25 2014 +0200 + + initial release diff --git a/additional/README.md b/additional/README.md new file mode 100644 index 0000000..0009bc7 --- /dev/null +++ b/additional/README.md @@ -0,0 +1,3 @@ +smeserver-phpmyadmin +==================== +a contrib for sme9 diff --git a/additional/phpmyadmin.sql b/additional/phpmyadmin.sql new file mode 100644 index 0000000..b85b153 --- /dev/null +++ b/additional/phpmyadmin.sql @@ -0,0 +1,241 @@ +-- -------------------------------------------------------- +-- SQL Commands to set up the pmadb as described in Documentation.html. +-- +-- This file is meant for use with MySQL 5 and above! +-- +-- This script expects the user pma to already be existing. If we would put a +-- line here to create him too many users might just use this script and end +-- up with having the same password for the controluser. +-- +-- This user "pma" must be defined in config.inc.php (controluser/controlpass) +-- +-- Please don't forget to set up the tablenames in config.inc.php +-- + +-- -------------------------------------------------------- + +-- -------------------------------------------------------- + +-- +-- Privileges +-- +-- (activate this statement if necessary) +-- GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO +-- 'pma'@localhost; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pma_bookmark` +-- + +CREATE TABLE IF NOT EXISTS `pma_bookmark` ( + `id` int(11) NOT NULL auto_increment, + `dbase` varchar(255) NOT NULL default '', + `user` varchar(255) NOT NULL default '', + `label` varchar(255) COLLATE utf8_general_ci NOT NULL default '', + `query` text NOT NULL, + PRIMARY KEY (`id`) +) + ENGINE=MyISAM COMMENT='Bookmarks' + DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pma_column_info` +-- + +CREATE TABLE IF NOT EXISTS `pma_column_info` ( + `id` int(5) unsigned NOT NULL auto_increment, + `db_name` varchar(64) NOT NULL default '', + `table_name` varchar(64) NOT NULL default '', + `column_name` varchar(64) NOT NULL default '', + `comment` varchar(255) COLLATE utf8_general_ci NOT NULL default '', + `mimetype` varchar(255) COLLATE utf8_general_ci NOT NULL default '', + `transformation` varchar(255) NOT NULL default '', + `transformation_options` varchar(255) NOT NULL default '', + PRIMARY KEY (`id`), + UNIQUE KEY `db_name` (`db_name`,`table_name`,`column_name`) +) + ENGINE=MyISAM COMMENT='Column information for phpMyAdmin' + DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; + +-- -------------------------------------------------------- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pma_history` +-- + +CREATE TABLE IF NOT EXISTS `pma_history` ( + `id` bigint(20) unsigned NOT NULL auto_increment, + `username` varchar(64) NOT NULL default '', + `db` varchar(64) NOT NULL default '', + `table` varchar(64) NOT NULL default '', + `timevalue` timestamp NOT NULL, + `sqlquery` text NOT NULL, + PRIMARY KEY (`id`), + KEY `username` (`username`,`db`,`table`,`timevalue`) +) + ENGINE=MyISAM COMMENT='SQL history for phpMyAdmin' + DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pma_pdf_pages` +-- + +CREATE TABLE IF NOT EXISTS `pma_pdf_pages` ( + `db_name` varchar(64) NOT NULL default '', + `page_nr` int(10) unsigned NOT NULL auto_increment, + `page_descr` varchar(50) COLLATE utf8_general_ci NOT NULL default '', + PRIMARY KEY (`page_nr`), + KEY `db_name` (`db_name`) +) + ENGINE=MyISAM COMMENT='PDF relation pages for phpMyAdmin' + DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pma_recent` +-- + +CREATE TABLE IF NOT EXISTS `pma_recent` ( + `username` varchar(64) NOT NULL, + `tables` text NOT NULL, + PRIMARY KEY (`username`) +) + ENGINE=MyISAM COMMENT='Recently accessed tables' + DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pma_table_uiprefs` +-- + +CREATE TABLE IF NOT EXISTS `pma_table_uiprefs` ( + `username` varchar(64) NOT NULL, + `db_name` varchar(64) NOT NULL, + `table_name` varchar(64) NOT NULL, + `prefs` text NOT NULL, + `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`username`,`db_name`,`table_name`) +) + ENGINE=MyISAM COMMENT='Tables'' UI preferences' + DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pma_relation` +-- + +CREATE TABLE IF NOT EXISTS `pma_relation` ( + `master_db` varchar(64) NOT NULL default '', + `master_table` varchar(64) NOT NULL default '', + `master_field` varchar(64) NOT NULL default '', + `foreign_db` varchar(64) NOT NULL default '', + `foreign_table` varchar(64) NOT NULL default '', + `foreign_field` varchar(64) NOT NULL default '', + PRIMARY KEY (`master_db`,`master_table`,`master_field`), + KEY `foreign_field` (`foreign_db`,`foreign_table`) +) + ENGINE=MyISAM COMMENT='Relation table' + DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pma_table_coords` +-- + +CREATE TABLE IF NOT EXISTS `pma_table_coords` ( + `db_name` varchar(64) NOT NULL default '', + `table_name` varchar(64) NOT NULL default '', + `pdf_page_number` int(11) NOT NULL default '0', + `x` float unsigned NOT NULL default '0', + `y` float unsigned NOT NULL default '0', + PRIMARY KEY (`db_name`,`table_name`,`pdf_page_number`) +) + ENGINE=MyISAM COMMENT='Table coordinates for phpMyAdmin PDF output' + DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pma_table_info` +-- + +CREATE TABLE IF NOT EXISTS `pma_table_info` ( + `db_name` varchar(64) NOT NULL default '', + `table_name` varchar(64) NOT NULL default '', + `display_field` varchar(64) NOT NULL default '', + PRIMARY KEY (`db_name`,`table_name`) +) + ENGINE=MyISAM COMMENT='Table information for phpMyAdmin' + DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pma_designer_coords` +-- + +CREATE TABLE IF NOT EXISTS `pma_designer_coords` ( + `db_name` varchar(64) NOT NULL default '', + `table_name` varchar(64) NOT NULL default '', + `x` INT, + `y` INT, + `v` TINYINT, + `h` TINYINT, + PRIMARY KEY (`db_name`,`table_name`) +) + ENGINE=MyISAM COMMENT='Table coordinates for Designer' + DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; + + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pma_tracking` +-- + +CREATE TABLE IF NOT EXISTS `pma_tracking` ( + `db_name` varchar(64) NOT NULL, + `table_name` varchar(64) NOT NULL, + `version` int(10) unsigned NOT NULL, + `date_created` datetime NOT NULL, + `date_updated` datetime NOT NULL, + `schema_snapshot` text NOT NULL, + `schema_sql` text, + `data_sql` longtext, + `tracking` set('UPDATE','REPLACE','INSERT','DELETE','TRUNCATE','CREATE DATABASE','ALTER DATABASE','DROP DATABASE','CREATE TABLE','ALTER TABLE','RENAME TABLE','DROP TABLE','CREATE INDEX','DROP INDEX','CREATE VIEW','ALTER VIEW','DROP VIEW') default NULL, + `tracking_active` int(1) unsigned NOT NULL default '1', + PRIMARY KEY (`db_name`,`table_name`,`version`) +) + ENGINE=MyISAM ROW_FORMAT=COMPACT COMMENT='Database changes tracking for phpMyAdmin' + DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `pma_userconfig` +-- + +CREATE TABLE IF NOT EXISTS `pma_userconfig` ( + `username` varchar(64) NOT NULL, + `timevalue` timestamp NOT NULL, + `config_data` text NOT NULL, + PRIMARY KEY (`username`) +) + ENGINE=MyISAM COMMENT='User preferences storage for phpMyAdmin' + DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; + + diff --git a/additional/smeserver-phpmyadmin.spec b/additional/smeserver-phpmyadmin.spec new file mode 100644 index 0000000..fb38320 --- /dev/null +++ b/additional/smeserver-phpmyadmin.spec @@ -0,0 +1,131 @@ +# $Id: smeserver-phpmyadmin.spec,v 1.8 2013/06/23 00:20:28 unnilennium Exp $ +# Authority: darrellmay +# Name: Darrell May + +Summary: phpMyAdmin for SME Server +%define name smeserver-phpmyadmin +Name: %{name} +%define version 4.0.10.2 +%define release 2 +Version: %{version} +Release: %{release}%{?dist} +License: GPL +Group: Mitel/addon +Source: %{name}-%{version}.tar.gz +URL: http://www.phpmyadmin.net/ +BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot +BuildArchitectures: noarch +Requires: e-smith-base +Requires: phpMyAdmin >= 4.0.10.1 +Requires: e-smith-release >= 9.0 +Obsoletes: phpmyadmin,phpMyAdmin3 +BuildRequires: e-smith-devtools +Obsoletes: e-smith-phpmyadmin +Obsoletes: smeserver-phpmyadmin <= 3.5.2.2-1 +Obsoletes: smeserver-phpmyadmin-multiuser + +%description +Implementation of phpMyAdmin for SME Server. +Access with admin username/password via: https://yourdomain/phpmyadmin. + +%changelog +* Sun Sep 28 2014 stephane de labrusse 4.0.10.2-2.sme +- added a tmp folder other that the /tmp [SME:8577] +- added some db values to adjust php limits (PostMaxSize,UploadMaxSize,MemoryLimit) + +* Sun Sep 28 2014 stephane de labrusse 4.0.10.2-1.sme +- added an event template on 'phpmyadmin-update' +- added a phpmyadmin.sql db to save settings in db +- new cool features (bookmarktable,relation,userconfig,table_info,column_info,history, +- recent,table_uiprefs,tracking,table_coords,pdf_pages,designer_coords) +- the http://url/setup page is now forbidden by apache +- a db 'status' exists now to disable simply phpmyadmin in httpd.conf +- removed the openbasedir of /tmp to /var/lib/phpMyAdmin/tmp + +* Wed Sep 24 2014 stephane de labrusse 4.0.10.1-1.sme +- add memory value up to 500M +- add php upload/post up to 100M +- add session.use_trans_sid 0 +- directory 'scripts' removed of httpd templates +- VersionCheck is off now + +* Mon May 19 2014 stephane de labrusse 3.5.8.2-2 +-first release to sme9 +-added an event template on 'signal-event console-save' + +* Sat Jun 22 2013 JP Pialasse 3.5.2.2-6 +- Obsolete multiuser [SME: 7685] + +* Tue Jun 18 2013 JP Pialasse 3.5.2.2-5 +- added full 3.5 configuration to avoid errors [SME: 7153] [SME: 7194] +- incorporated multiuser contrib in this package [SME: 7628 7627 ] +- increased security [SME: 5007] +- configext.patch +- release bump to 4 to fix spec file +- patch1 to fix config.inc.php syntax error + +* Thu Aug 06 2012 JP Pialasse aka Unnilennium 3.5.2.2-2 +- first version for SME 8 +- adaptation for phpMyAdmin3 3.5.2.2 + +* Thu May 15 2008 Jonathan Martens 2.11.1.2-3 +- Protect sensible data and prevent access error by setting + proper permissions to config.inc.php template [SME: 4343] + +* Wed May 14 2008 Jonathan Martens +- Converted RPM to be an integrational RPM [SME: 4298]: +- Convert and move templates to RPMForge (Dag) install location [SME: 4339] +- Automatically expand phpmyadmin configuation file (config.php.inc) [SME: 4340] +- Remove PHPMyAdmin core [SME: 4341] + +* Mon Apr 21 2008 Shad L. Lords +- Prep for import into buildsys +- Clean up spec + +* Fri Oct 19 2007 Darrell May +- accounts and configuration db phpmyadmin defaults added +- default access restricted to private (private|public) +- phpMyAdmin 2.11.1.2 +- [ 2.11.1.2-0] +* Fri Mar 09 2007 Darrell May +- phpMyAdmin 2.10.0.2 +- [ 2.10.0.2-0] +* Thu Oct 12 2006 Darrell May +- phpMyAdmin 2.9.0.2 +- [ 2.9.0.2-0] +* Thu Dec 15 2005 Darrell May +- phpMyAdmin 2.6.4-pl4 +- [ 2.6.4-pl4] +* Fri Apr 22 2005 Darrell May +- added support for SME 7.x +- [ 2.6.2-2] +* Mon Apr 18 2005 Darrell May +- Release 2.6.2 of phpMyAdmin +- change rpm name to smeserver-phpmyadmin +- change install dir to /opt/phpmyadmin +- [ 2.6.2-1] + +%prep +%setup + +%build +%{__mkdir_p} root/var/lib/phpMyAdmin/tmp +perl createlinks + +%install +/bin/rm -rf $RPM_BUILD_ROOT +rm -f %{name}-%{version}-filelist +(cd root ; /usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT) +/bin/rm -f %{name}-%{version}-filelist +/sbin/e-smith/genfilelist \ + --dir /var/lib/phpMyAdmin/tmp 'attr(0770,root,www)' \ + $RPM_BUILD_ROOT > %{name}-%{version}-filelist +echo "%doc CHANGELOG.git" >> %{name}-%{version}-filelist +echo "%doc phpmyadmin.sql" >> %{name}-%{version}-filelist + +%files -f %{name}-%{version}-filelist +%defattr(-,root,root) + +%clean +rm -rf $RPM_BUILD_ROOT + diff --git a/contriborbase b/contriborbase new file mode 100644 index 0000000..9b7fd51 --- /dev/null +++ b/contriborbase @@ -0,0 +1 @@ +contribs10 diff --git a/createlinks b/createlinks new file mode 100644 index 0000000..242b997 --- /dev/null +++ b/createlinks @@ -0,0 +1,31 @@ +#!/usr/bin/perl -w + +use esmith::Build::CreateLinks qw(:all); + +for my $event (qw( + bootstrap-console-save + console-save + )) +{ + templates2events("/etc/phpMyAdmin/config.inc.php", $event); + templates2events("/etc/e-smith/sql/init/phpmyadmin", $event); +} + +for my $event (qw( + phpmyadmin-update + smeserver-phpmyadmin-update + )) +{ + templates2events("/etc/httpd/conf/httpd.conf", $event); + templates2events("/etc/phpMyAdmin/config.inc.php", $event); + templates2events("/etc/e-smith/sql/init/phpmyadmin", $event); + templates2events("/etc/opt/remi/php74/php-fpm.d/www.conf", $event); + safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/mysql.init");; + safe_symlink("sigusr1", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith"); + safe_symlink("reload-or-restart", "root/etc/e-smith/events/$event/services2adjust/php74-php-fpm"); +} +# PHP header and footer + safe_symlink("/etc/e-smith/templates-default/template-begin-php", "root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/template-begin"); + safe_symlink("/etc/e-smith/templates-default/template-end-php", "root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/template-end"); + + diff --git a/root/etc/e-smith/db/accounts/defaults/phpmyadmin/type b/root/etc/e-smith/db/accounts/defaults/phpmyadmin/type new file mode 100644 index 0000000..123f60c --- /dev/null +++ b/root/etc/e-smith/db/accounts/defaults/phpmyadmin/type @@ -0,0 +1 @@ +reserved diff --git a/root/etc/e-smith/db/configuration/defaults/phpmyadmin/DbName b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/DbName new file mode 100644 index 0000000..a10e9c4 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/DbName @@ -0,0 +1 @@ +phpmyadmin diff --git a/root/etc/e-smith/db/configuration/defaults/phpmyadmin/DbUser b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/DbUser new file mode 100644 index 0000000..a10e9c4 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/DbUser @@ -0,0 +1 @@ +phpmyadmin diff --git a/root/etc/e-smith/db/configuration/defaults/phpmyadmin/MemoryLimit b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/MemoryLimit new file mode 100644 index 0000000..2b7303a --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/MemoryLimit @@ -0,0 +1 @@ +500M diff --git a/root/etc/e-smith/db/configuration/defaults/phpmyadmin/PostMaxSize b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/PostMaxSize new file mode 100644 index 0000000..c27ad19 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/PostMaxSize @@ -0,0 +1 @@ +100M diff --git a/root/etc/e-smith/db/configuration/defaults/phpmyadmin/UploadMaxSize b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/UploadMaxSize new file mode 100644 index 0000000..c27ad19 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/UploadMaxSize @@ -0,0 +1 @@ +100M diff --git a/root/etc/e-smith/db/configuration/defaults/phpmyadmin/access b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/access new file mode 100644 index 0000000..3e18ebf --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/access @@ -0,0 +1 @@ +private diff --git a/root/etc/e-smith/db/configuration/defaults/phpmyadmin/adminaccess b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/adminaccess new file mode 100644 index 0000000..86981e6 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/adminaccess @@ -0,0 +1 @@ +enabled diff --git a/root/etc/e-smith/db/configuration/defaults/phpmyadmin/multiaccess b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/multiaccess new file mode 100644 index 0000000..7a68b11 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/multiaccess @@ -0,0 +1 @@ +disabled diff --git a/root/etc/e-smith/db/configuration/defaults/phpmyadmin/status b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/status new file mode 100644 index 0000000..86981e6 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/status @@ -0,0 +1 @@ +enabled diff --git a/root/etc/e-smith/db/configuration/defaults/phpmyadmin/type b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/type new file mode 100644 index 0000000..f92f363 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/phpmyadmin/type @@ -0,0 +1 @@ +configuration diff --git a/root/etc/e-smith/db/configuration/migrate/addBlowfishSecret b/root/etc/e-smith/db/configuration/migrate/addBlowfishSecret new file mode 100644 index 0000000..fe08d75 --- /dev/null +++ b/root/etc/e-smith/db/configuration/migrate/addBlowfishSecret @@ -0,0 +1,32 @@ +{ + my $rec = $DB->get('phpmyadmin') + || $DB->new_record('phpmyadmin', {type => 'configuration'}); + my $pw = $rec->prop('BlowfishSecret'); + if (not $pw or length($pw) < 57){ + my $pw = gen_pw(); + $rec->set_prop('BlowfishSecret', $pw); + } + + sub gen_pw { + use MIME::Base64 qw(encode_base64); + my $p = "not set due to error"; + if ( open( RANDOM, "/dev/urandom" ) ){ + my $buf; + # 57 bytes is a full line of Base64 coding, and contains + # 456 bits of randomness - given a perfectly random /dev/random + if ( read( RANDOM, $buf, 57 ) != 57 ){ + warn("Short read from /dev/random: $!"); + } + else{ + $p = encode_base64($buf); + chomp $p; + } + close RANDOM; + } + else{ + warn "Could not open /dev/urandom: $!"; + } + return $p; + } +} + diff --git a/root/etc/e-smith/db/configuration/migrate/phpmyadmin b/root/etc/e-smith/db/configuration/migrate/phpmyadmin new file mode 100644 index 0000000..12c6655 --- /dev/null +++ b/root/etc/e-smith/db/configuration/migrate/phpmyadmin @@ -0,0 +1,37 @@ +{ + my $rec = $DB->get('phpmyadmin') + || $DB->new_record('phpmyadmin', {type => 'configuration'}); + my $pw = $rec->prop('DbPassword'); + if (not $pw or length($pw) < 57){ + my $pw = gen_pw(); + $rec->set_prop('DbPassword', $pw); + } + $pw = $rec->prop('sqladminPassword'); + if (not $pw or length($pw) < 57){ + my $pw = gen_pw(); + $rec->set_prop('sqladminPassword', $pw); + } + + sub gen_pw { + use MIME::Base64 qw(encode_base64); + my $p = "not set due to error"; + if ( open( RANDOM, "/dev/urandom" ) ){ + my $buf; + # 57 bytes is a full line of Base64 coding, and contains + # 456 bits of randomness - given a perfectly random /dev/random + if ( read( RANDOM, $buf, 57 ) != 57 ){ + warn("Short read from /dev/random: $!"); + } + else{ + $p = encode_base64($buf); + chomp $p; + } + close RANDOM; + } + else{ + warn "Could not open /dev/urandom: $!"; + } + return $p; + } +} + diff --git a/root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/phpmyadmin b/root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/phpmyadmin new file mode 100644 index 0000000..940dcf3 --- /dev/null +++ b/root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/phpmyadmin @@ -0,0 +1 @@ +PERMS=0750 diff --git a/root/etc/e-smith/templates.metadata/etc/phpMyAdmin/config.inc.php b/root/etc/e-smith/templates.metadata/etc/phpMyAdmin/config.inc.php new file mode 100644 index 0000000..b916d35 --- /dev/null +++ b/root/etc/e-smith/templates.metadata/etc/phpMyAdmin/config.inc.php @@ -0,0 +1,3 @@ +UID="root" +GID="www" +PERMS=0640 diff --git a/root/etc/e-smith/templates/etc/e-smith/sql/init/phpmyadmin b/root/etc/e-smith/templates/etc/e-smith/sql/init/phpmyadmin new file mode 100644 index 0000000..5d9e541 --- /dev/null +++ b/root/etc/e-smith/templates/etc/e-smith/sql/init/phpmyadmin @@ -0,0 +1,51 @@ +{ +my $db = $phpmyadmin{'DbName'} || 'phpmyadmin'; +my $user = $phpmyadmin{'DbUser'} || 'phpmyadmin'; +my $pass = $phpmyadmin{'DbPassword'} || 'phpmyadmin'; +my $admpass = $phpmyadmin{'sqladminPassword'} || 'adminpass'; + +my $dbstruct = `rpm -qd smeserver-phpmyadmin | grep phpmyadmin.sql`; + +$OUT .= <<"END"; +#! /bin/sh +if [ ! -d /var/lib/mysql/$db ]; then + /usr/bin/mysql -e 'create database $db' + /usr/bin/mysql $db < $dbstruct +fi + +/usr/bin/mysql < + AuthName "phpmyadmin" + AuthType Basic + AuthBasicProvider external + AuthExternal pwauth + + require user admin + ); + $OUT .= (($phpmyadmin{access} || 'private' ) eq "public" ) ? " Require all granted": " Require ip $localAccess $externalSSLAccess"; + $OUT .= qq( + +) if "$adminaccess" eq "enabled"; + + $OUT .= qq( + + SSLRequireSSL + Options -Indexes + AllowOverride None + + ); + $OUT .= (($phpmyadmin{access} || 'private' ) eq "public" ) ? " Require all granted": " Require ip $localAccess $externalSSLAccess"; + $OUT .= qq( + + ); + + # we do not want people to mess with this for the moment + my $version = '74'; + + $OUT .= qq( + AddType application/x-httpd-php .php + + SetHandler "proxy:unix:/var/run/php-fpm/php$version-phpmyadmin.sock|fcgi://localhost" + + SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=\$1 + + + +# These directories do not require access over HTTP - taken from the original +# phpMyAdmin upstream tarball +# + + Require all denied + + + + + Require all denied + + + + Require all denied + + + + Require all denied +); + + } + else + { + $OUT .= "# phpmyadmin is disabled"; + } +} + diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/30PhpmyadminAlias b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/30PhpmyadminAlias new file mode 100644 index 0000000..ed58d8e --- /dev/null +++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/30PhpmyadminAlias @@ -0,0 +1,21 @@ +# +# 30phpmyadmin +# + +{ + $haveSSL = (exists ${modSSL}{status} and ${modSSL}{status} eq "enabled") ? 'yes' : 'no'; + my $adminaccess = ($phpmyadmin{'adminaccess'} || 'enabled'); + my $multiaccess = ($phpmyadmin{'multiaccess'} || 'disabled'); + + if (($port eq $httpPort) && ($haveSSL eq 'yes') && ("$adminaccess" eq "enabled" || "$multiaccess" eq "enabled")) + { + $OUT .= " RewriteRule ^/phpmyadmin(/.*|\$) https://%{HTTP_HOST}/phpmyadmin\$1 [L,R]\n"; + } + + + if (($port eq $httpPort) && ($haveSSL eq 'yes') && ( "$multiaccess" eq "enabled")) + { + $OUT .= " RewriteRule ^/phpmyadmin-multi(/.*|\$) https://%{HTTP_HOST}/phpmyadmin-multi\$1 [L,R]\n"; + } +} + diff --git a/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phpmyadmin b/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phpmyadmin new file mode 100644 index 0000000..ef9432f --- /dev/null +++ b/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phpmyadmin @@ -0,0 +1,74 @@ +{ + +if ($PHP_VERSION eq '74'){ + if (($phpmyadmin{'status'} || 'disabled') eq 'enabled'){ + my $max_upload_size = ($phpmyadmin{MaxUploadSize} || '100M');# 104857600 bytes + $max_upload_size .= 'M' if ($max_upload_size =~ m/^\d+$/); + my $memory_limit = ($phpmyadmin{MemoryLimit} || '512M'); + $memory_limit .= 'M' if ($memory_limit =~ m/^\d+$/); + my $open_basedir= $phpmyadmin{PHPBaseDir} || ''; + $open_basedir = "/etc/phpMyAdmin/:/usr/share/phpMyAdmin:/var/lib/php/phpmyadmin:". +"/var/lib/phpMyAdmin/temp:/var/lib/phpMyAdmin/save/:/var/lib/phpMyAdmin/upload:/var/lib/phpMyAdmin/cache/:". +"/usr/share/php/:/usr/share/php-williamdes-mariadb-mysql-kbs:". +"/usr/share/phpMyAdmin/doc:". +"/var/log/php/phpmyadmin:/usr/share/php/gettext/:/dev/urandom:/proc/meminfo:$open_basedir"; + my $max_children = $phpmyadmin{'PHPmaxChildren'} || 20; + my $min_spare_servers = $phpmyadmin{'PHPminServers'} || 4; + my $start_servers = $phpmyadmin{'PHPstartServers'} || 6; + my $max_spare_servers = $phpmyadmin{'PHPmaxServers'} || 8; + my $max_requests = $phpmyadmin{'PHPmaxRequests'} || 1000; + $min_spare_servers = ( $min_spare_servers > $max_spare_servers ) ? printf("%.0f",$max_spare_servers/2) : $min_spare_servers; + $start_servers = ( $start_servers > $max_spare_servers ) ? printf("%.0f", $max_spare_servers /2 + $min_spare_servers/2 ) : $start_servers; + my $id = 'phpmyadmin'; # Note the package is phpMyAdmin + $OUT .=<<"_EOF"; + +[php$PHP_VERSION-$id] +user = www +group = www +listen.owner = root +listen.group = www +listen.mode = 0660 +listen = /var/run/php-fpm/php$PHP_VERSION-$id.sock +pm = dynamic +pm.max_children = $max_children +pm.start_servers = $start_servers +pm.min_spare_servers = $min_spare_servers +pm.max_spare_servers = $max_spare_servers +pm.max_requests = $max_requests +; Used in nextcloud +php_admin_value[session.save_path] = /var/lib/php/$id/session +php_admin_value[session.gc_maxlifetime] = 86400 +php_admin_value[opcache.file_cache] = /var/lib/php/$id/opcache +php_admin_value[upload_tmp_dir] = /var/lib/php/$id/tmp +php_admin_value[sys_temp_dir] = /var/lib/php/$id/tmp +php_admin_value[error_log] = /var/log/php/$id/error.log +slowlog = /var/log/php/$id/slow.log +php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f php@{ $DomainName } +php_admin_flag[display_errors] = off +php_admin_flag[log_errors] = on +php_admin_value[memory_limit] = $memory_limit +php_admin_value[max_execution_time] = 3600 +php_admin_value[post_max_size] = $max_upload_size +php_admin_value[upload_max_filesize] = $max_upload_size +php_admin_value[disable_functions] = system, show_source, symlink, exec, dl, shell_exec, passthru, phpinfo, escapeshellarg, escapeshellcmd +php_admin_value[open_basedir] = $open_basedir +php_admin_flag[allow_url_fopen] = on +php_admin_flag[file_upload] = on +php_admin_flag[session.cookie_httponly] = on +php_admin_flag[allow_url_include] = off +php_admin_value[session.save_handler] = files +php_admin_flag[output_buffering] = off +php_admin_value[auto_prepend_file] = /usr/share/php/auth_translation.php +php_flag[session.use_trans_sid] = off +php_flag[track_vars] = on +php_flag[magic_quotes_gpc] = off + +_EOF + + } + else{ + $OUT .= '; phpmyadmin is disabled'; + } +} +} + diff --git a/root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/10config b/root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/10config new file mode 100644 index 0000000..5255710 --- /dev/null +++ b/root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/10config @@ -0,0 +1,122 @@ + + +/* Servers configuration */ +$i = 0; + +/* Server localhost (config:root) [1] */ +$i++; +$cfg['Servers'][$i]['host'] = 'localhost'; +$cfg['Servers'][$i]['extension'] = 'mysqli'; +$cfg['Servers'][$i]['port'] = ''; +$cfg['Servers'][$i]['socket'] = '/var/lib/mysql/mysql.sock'; +$cfg['Servers'][$i]['connect_type'] = 'socket'; +$cfg['Servers'][$i]['compress'] = false; + +# standalone or login mode +$scriptname=end(explode('/',$_SERVER['PHP_SELF'])); +$scriptpath=str_replace($scriptname,'',$_SERVER['PHP_SELF']); + + +# standalone login part +{ +my $adminaccess = ($phpmyadmin{'adminaccess'} || 'enabled'); +my $multiaccess = ($phpmyadmin{'multiaccess'} || 'disabled'); + +# this one could be tricky, with fpm we need to translate the auth from httpd +# we need to have this in httpd.conf in the directory of phpmyadmin : +# SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=\$1 +# also need in the fpm pool this (and the file in the open base dir ) +# php_admin_value[auto_prepend_file] = /usr/share/php/auth_translation.php +# the line here could help debug : +# error_log("current user: REDIRECT". $_SERVER['REDIRECT_REMOTE_USER'] ."REMOTE". $_SERVER['REMOTE_USER'] . " PHP_AUTH_USER". $_SERVER['PHP_AUTH_USER'] ); +if (("$adminaccess" eq "enabled")) + { + $OUT .="if (\$scriptpath==\"/phpmyadmin/\" && \$_SERVER['PHP_AUTH_USER']=='admin')\n"; + $OUT .="{\n"; + $OUT .="\$cfg['Servers'][\$i]['auth_type'] = 'config';\n"; + $OUT .="\$cfg['Servers'][\$i]['user'] = 'root';\n"; + open (PW, "/etc/openldap/ldap.pw") + || die "Could not read LDAP password.\n"; + my $pw = ; + chomp ($pw); + close PW; + $OUT .="\$cfg['Servers'][\$i]['password'] = '$pw';\n"; + $OUT .="}"; + } +else + { + $OUT .="# standalone admin configuration disabled"; + } +} +# end of standalone login part + + +# multiuser login part +{ +my $adminaccess = ($phpmyadmin{'adminaccess'} || 'enabled'); +my $multiaccess = ($phpmyadmin{'multiaccess'} || 'disabled'); + + $OUT .="\n"; +if (("$multiaccess" eq "enabled") && ("$adminaccess" eq "enabled")) + { + $OUT .="if (\$scriptpath==\"/phpmyadmin-multi/\")\n"; + $OUT .="{\n"; + } +if (("$multiaccess" eq "enabled")) + { + $OUT .="\$cfg['Servers'][\$i]['auth_type'] = 'cookie';\n"; + my $secret = ${'httpd-admin'}{TKTAuthSecret} || "34322500-7330-4400-423A-3A00434F5245"; + $OUT .="\$cfg['blowfish_secret'] = '$secret';\n"; + } +else + { + $OUT .="# multiuser disabled\n"; + } +if (("$multiaccess" eq "enabled") && ("$adminaccess" eq "enabled")) + { + $OUT .="}\n"; + } + +} +# end of multiuser login part + + +{ +use esmith::util; +#we retrieve values for settings options below +our $dbname = $phpmyadmin{'DbName'} || 'phpmyadmin'; +our $dbuser = $phpmyadmin{'DbUser'} || 'phpmyadmin'; +our $dbpass = $phpmyadmin{'DbPassword'} || 'phpmyadmin'; + +$OUT .= ''; + +} + + +/* enhanced servers configuration */ + +$cfg['Servers'][$i]['pmadb'] = '{$dbname}'; +$cfg['Servers'][$i]['controluser'] = '{$dbuser}'; +$cfg['Servers'][$i]['controlpass'] = '{$dbpass}'; +$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; +$cfg['Servers'][$i]['relation'] = 'pma_relation'; +$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig'; +$cfg['Servers'][$i]['table_info'] = 'pma_table_info'; +$cfg['Servers'][$i]['column_info'] = 'pma_column_info'; +$cfg['Servers'][$i]['history'] = 'pma_history'; +$cfg['Servers'][$i]['recent'] = 'pma_recent'; +$cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs'; +$cfg['Servers'][$i]['tracking'] = 'pma_tracking'; +$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords'; +$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages'; +$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords'; +$cfg['Servers'][$i]['AllowRoot'] = TRUE; +$cfg['Servers'][$i]['AllowDeny']['rules'] = array(); +$cfg['Servers'][$i]['AllowNoPassword'] = FALSE; +$cfg['Servers'][$i]['bs_garbage_threshold'] = 50; +$cfg['Servers'][$i]['bs_repository_threshold'] = '32M'; +$cfg['Servers'][$i]['bs_temp_blob_timeout'] = 600; +$cfg['Servers'][$i]['bs_temp_log_threshold'] = '32M'; + +/* End of servers configuration */ + diff --git a/root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/20Directory b/root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/20Directory new file mode 100644 index 0000000..e56dfe0 --- /dev/null +++ b/root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/20Directory @@ -0,0 +1,19 @@ +/* + * Directories for saving/loading files from server + */ +$cfg['UploadDir'] = '/var/lib/phpMyAdmin/upload'; +$cfg['SaveDir'] = '/var/lib/phpMyAdmin/save'; +$cfg['SessionSavePath'] = '/var/lib/php/phpmyadmin/session'; +$cfg['VersionCheck'] = false; +$cfg['RetainQueryBox'] = true; +$cfg['ServerDefault'] = 1; + +/* + * Disable the default warning that is displayed on the DB Details Structure + * page if any of the required Tables for the relation features is not found + */ +$cfg['PmaNoRelation_DisableWarning'] = TRUE; + +{ + $OUT .= "\$cfg['blowfish_secret'] = '$phpmyadmin{'BlowfishSecret'}';/* YOU MUST FILL IN THIS FOR COOKIE AUTH! */\n" +} diff --git a/root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/template-begin b/root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/template-begin new file mode 100644 index 0000000..6270cb3 --- /dev/null +++ b/root/etc/e-smith/templates/etc/phpMyAdmin/config.inc.php/template-begin @@ -0,0 +1,14 @@ +{ + $OUT = < diff --git a/root/usr/share/phpMyAdmin/.unit.ini b/root/usr/share/phpMyAdmin/.unit.ini new file mode 100644 index 0000000..025a3c7 --- /dev/null +++ b/root/usr/share/phpMyAdmin/.unit.ini @@ -0,0 +1,11 @@ +#Moved to php pool +#magic_quotes_gpc= on +#track_vars= on +#open_basedir=/usr/share/php:/usr/share/phpMyAdmin:/etc/phpMyAdmin:/var/lib/phpMyAdmin +#session.save_path=/var/lib/phpMyAdmin/tmp +#post_max_size=100M +#upload_max_filesize=100M +#memory_limit=500M +#session.use_trans_sid=0 +#upload_tmp_dir=/var/lib/phpMyAdmin/tmp + diff --git a/smeserver-phpmyadmin.spec b/smeserver-phpmyadmin.spec new file mode 100644 index 0000000..3c4ccf4 --- /dev/null +++ b/smeserver-phpmyadmin.spec @@ -0,0 +1,180 @@ +# $Id: smeserver-phpmyadmin.spec,v 1.18 2023/10/25 19:47:08 jpp Exp $ +# Authority: darrellmay +# Name: Darrell May + +Summary: phpMyAdmin for SME Server +%define name smeserver-phpmyadmin +Name: %{name} +%define version 4.0.10.2 +%define release 15 +Version: %{version} +Release: %{release}%{?dist} +License: GPL +Group: Mitel/addon +Source: %{name}-%{version}.tar.xz +URL: http://www.phpmyadmin.net/ +BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot +BuildArchitectures: noarch +Requires: e-smith-base +Requires: phpMyAdmin >= 4.4.15.10 +Requires: e-smith-release >= 10.0 +Requires: e-smith-apache >= 2.6.0-19 +Obsoletes: phpmyadmin,phpMyAdmin3 +BuildRequires: e-smith-devtools +Obsoletes: e-smith-phpmyadmin +Obsoletes: smeserver-phpmyadmin <= 3.5.2.2-1 +Obsoletes: smeserver-phpmyadmin-multiuser + + +%description +Implementation of phpMyAdmin for SME Server. +Access with admin username/password via: https://yourdomain/phpmyadmin. + +%changelog +* Sat Sep 07 2024 cvs2git.sh aka Brian Read 4.0.10.2-15.sme +- Roll up patches and move to git repo [SME: 12338] + +* Sat Sep 07 2024 BogusDateBot +- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday, + by assuming the date is correct and changing the weekday. + Thu Aug 06 2012 --> Thu Aug 02 2012 or Mon Aug 06 2012 or Thu Aug 09 2012 or .... + +* Wed Oct 25 2023 Jean-Philippe Pialasse 4.0.10.2-14.sme +- fix private access not respected for admin [SME: 12343] + +* Sun Jul 31 2022 Jean-Philippe Pialasse 4.0.10.2-13.sme +- update to httpd 2.4 access syntax [SME: 12056] + +* Sat Jul 23 2022 Jean-Philippe Pialasse 4.0.10.2-12.sme +- use $httpPort in place of hardcoded port 80 [SME: 11408] +- update to httpd 2.4 access syntax [SME: 12056] + +* Sun Feb 28 2021 Jean-Philipe Pialasse 4.0.10.2-11.sme +- finish php74 pool integration [SME: 11043] + fixed dir perms + +* Fri Dec 18 2020 John Crisp 4.0.10.2-8.sme +- add php pool template and remove disable unit.ini + +* Thu Dec 17 2020 John Crisp 4.0.10.2-7.sme +- fix BlowfishSecret [SME: 11043] +- Update minimum e-smith release version + +* Wed Dec 16 2020 John Crisp 4.0.10.2-6.sme +- fix patch file typo [SME: 11043] + +* Sun Nov 29 2020 Brian Read 4.0.10.2-5.sme +- Change httpd frament to php-fpw and add in .user.ini to set php vars [SME: 11043] + +* Mon Apr 13 2020 Jean-Philipe Pialasse 4.0.10.2-4.sme +- first import for contribs10 + +* Sat Aug 22 2015 stephane de Labrusse 4.0.10.2-3.sme +- Initial release to contribs9 + +* Sun Sep 28 2014 stephane de labrusse 4.0.10.2-2.sme +- added a tmp folder other that the /tmp [SME:8577] +- added some db values to adjust php limits (PostMaxSize,UploadMaxSize,MemoryLimit) + +* Sun Sep 28 2014 stephane de labrusse 4.0.10.2-1.sme +- added an event template on 'phpmyadmin-update' +- added a phpmyadmin.sql db to save settings in db +- new cool features (bookmarktable,relation,userconfig,table_info,column_info,history, +- recent,table_uiprefs,tracking,table_coords,pdf_pages,designer_coords) +- the http://url/setup page is now forbidden by apache +- a db 'status' exists now to disable simply phpmyadmin in httpd.conf +- removed the openbasedir of /tmp to /var/lib/phpMyAdmin/tmp + +* Wed Sep 24 2014 stephane de labrusse 4.0.10.1-1.sme +- add memory value up to 500M +- add php upload/post up to 100M +- add session.use_trans_sid 0 +- directory 'scripts' removed of httpd templates +- VersionCheck is off now + +* Mon May 19 2014 stephane de labrusse 3.5.8.2-2 +-first release to sme9 +-added an event template on 'signal-event console-save' + +* Sat Jun 22 2013 JP Pialasse 3.5.2.2-6 +- Obsolete multiuser [SME: 7685] + +* Tue Jun 18 2013 JP Pialasse 3.5.2.2-5 +- added full 3.5 configuration to avoid errors [SME: 7153] [SME: 7194] +- incorporated multiuser contrib in this package [SME: 7628 7627 ] +- increased security [SME: 5007] +- configext.patch +- release bump to 4 to fix spec file +- patch1 to fix config.inc.php syntax error + +* Thu Aug 06 2012 JP Pialasse aka Unnilennium 3.5.2.2-2 +- first version for SME 8 +- adaptation for phpMyAdmin3 3.5.2.2 + +* Thu May 15 2008 Jonathan Martens 2.11.1.2-3 +- Protect sensible data and prevent access error by setting + proper permissions to config.inc.php template [SME: 4343] + +* Wed May 14 2008 Jonathan Martens +- Converted RPM to be an integrational RPM [SME: 4298]: +- Convert and move templates to RPMForge (Dag) install location [SME: 4339] +- Automatically expand phpmyadmin configuation file (config.php.inc) [SME: 4340] +- Remove PHPMyAdmin core [SME: 4341] + +* Mon Apr 21 2008 Shad L. Lords +- Prep for import into buildsys +- Clean up spec + +* Fri Oct 19 2007 Darrell May +- accounts and configuration db phpmyadmin defaults added +- default access restricted to private (private|public) +- phpMyAdmin 2.11.1.2 +- [ 2.11.1.2-0] +* Fri Mar 09 2007 Darrell May +- phpMyAdmin 2.10.0.2 +- [ 2.10.0.2-0] +* Thu Oct 12 2006 Darrell May +- phpMyAdmin 2.9.0.2 +- [ 2.9.0.2-0] +* Thu Dec 15 2005 Darrell May +- phpMyAdmin 2.6.4-pl4 +- [ 2.6.4-pl4] +* Fri Apr 22 2005 Darrell May +- added support for SME 7.x +- [ 2.6.2-2] +* Mon Apr 18 2005 Darrell May +- Release 2.6.2 of phpMyAdmin +- change rpm name to smeserver-phpmyadmin +- change install dir to /opt/phpmyadmin +- [ 2.6.2-1] + +%prep +%setup + +%build +%{__mkdir_p} root/var/lib/php/phpmyadmin/{tmp,session,opcache,wsdlcache} +%{__mkdir_p} root/var/log/php/phpmyadmin +perl createlinks + +%install +/bin/rm -rf $RPM_BUILD_ROOT +rm -f %{name}-%{version}-filelist +(cd root ; /usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT) +/bin/rm -f %{name}-%{version}-filelist +/sbin/e-smith/genfilelist \ + --dir /var/lib/php/phpmyadmin/ 'attr(0755,root,www)' \ + --dir /var/lib/php/phpmyadmin/tmp 'attr(0770,www,www)' \ + --dir /var/lib/php/phpmyadmin/opcache 'attr(0770,www,www)' \ + --dir /var/lib/php/phpmyadmin/session 'attr(0770,www,www)' \ + --dir /var/lib/php/phpmyadmin/wsdlcache 'attr(0770,www,www)' \ + --dir /var/log/php/phpmyadmin 'attr(0770,root,www)' \ + $RPM_BUILD_ROOT > %{name}-%{version}-filelist +echo "%doc CHANGELOG.git" >> %{name}-%{version}-filelist +echo "%doc phpmyadmin.sql" >> %{name}-%{version}-filelist + +%files -f %{name}-%{version}-filelist +%defattr(-,root,root) + +%clean +rm -rf $RPM_BUILD_ROOT +