mirror of
https://github.com/YunoHost-Apps/phpmyadmin_ynh.git
synced 2024-09-03 19:56:46 +02:00
add app installation files
This commit is contained in:
parent
68f7b78dc1
commit
8dd593e455
10 changed files with 642 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
*~
|
166
conf/config.inc.php
Normal file
166
conf/config.inc.php
Normal file
|
@ -0,0 +1,166 @@
|
||||||
|
<?php
|
||||||
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
||||||
|
/**
|
||||||
|
* phpMyAdmin sample configuration, you can use it as base for
|
||||||
|
* manual configuration. For easier setup you can use setup/
|
||||||
|
*
|
||||||
|
* All directives are explained in documentation in the doc/ folder
|
||||||
|
* or at <http://docs.phpmyadmin.net/>.
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
|
||||||
|
$ynh_admin_user = 'YNH_ADMIN_USER';
|
||||||
|
if ($_SERVER['PHP_AUTH_USER'] != $ynh_admin_user)
|
||||||
|
{
|
||||||
|
header('Location: https://YNH_DOMAIN/ynhsso');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is needed for cookie based authentication to encrypt password in
|
||||||
|
* cookie
|
||||||
|
*/
|
||||||
|
$cfg['blowfish_secret'] = 'a8b7c6d'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Servers configuration
|
||||||
|
*/
|
||||||
|
$i = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* First server
|
||||||
|
*/
|
||||||
|
$i++;
|
||||||
|
/* Authentication type */
|
||||||
|
$cfg['Servers'][$i]['auth_type'] = 'config';
|
||||||
|
$cfg['Servers'][$i]['user'] = 'root';
|
||||||
|
$cfg['Servers'][$i]['password'] = 'YNH_MYSQL_ROOT_PASSWORD';
|
||||||
|
/* Server parameters */
|
||||||
|
|
||||||
|
/*
|
||||||
|
$cfg['Servers'][$i]['host'] = 'localhost';
|
||||||
|
$cfg['Servers'][$i]['connect_type'] = 'tcp';
|
||||||
|
$cfg['Servers'][$i]['compress'] = false;
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Select mysql if your server does not have mysqli */
|
||||||
|
$cfg['Servers'][$i]['extension'] = 'mysqli';
|
||||||
|
$cfg['Servers'][$i]['AllowNoPassword'] = false;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* phpMyAdmin configuration storage settings.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* User used to manipulate with storage */
|
||||||
|
// $cfg['Servers'][$i]['controlhost'] = '';
|
||||||
|
// $cfg['Servers'][$i]['controlport'] = '';
|
||||||
|
$cfg['Servers'][$i]['controluser'] = 'YNH_PMA_USER';
|
||||||
|
$cfg['Servers'][$i]['controlpass'] = 'YNH_PMA_PASSWORD';
|
||||||
|
|
||||||
|
/* Storage database and tables */
|
||||||
|
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
|
||||||
|
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
|
||||||
|
$cfg['Servers'][$i]['relation'] = 'pma__relation';
|
||||||
|
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
|
||||||
|
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
|
||||||
|
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
|
||||||
|
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
|
||||||
|
$cfg['Servers'][$i]['history'] = 'pma__history';
|
||||||
|
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
|
||||||
|
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
|
||||||
|
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
|
||||||
|
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
|
||||||
|
$cfg['Servers'][$i]['recent'] = 'pma__recent';
|
||||||
|
$cfg['Servers'][$i]['users'] = 'pma__users';
|
||||||
|
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
|
||||||
|
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
|
||||||
|
|
||||||
|
/* Contrib / Swekey authentication */
|
||||||
|
// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
|
||||||
|
|
||||||
|
/*
|
||||||
|
* End of servers configuration
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Directories for saving/loading files from server
|
||||||
|
*/
|
||||||
|
$cfg['UploadDir'] = '';
|
||||||
|
$cfg['SaveDir'] = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defines whether a user should be displayed a "show all (records)"
|
||||||
|
* button in browse mode or not.
|
||||||
|
* default = false
|
||||||
|
*/
|
||||||
|
//$cfg['ShowAll'] = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of rows displayed when browsing a result set. If the result
|
||||||
|
* set contains more rows, "Previous" and "Next".
|
||||||
|
* default = 30
|
||||||
|
*/
|
||||||
|
//$cfg['MaxRows'] = 50;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* disallow editing of binary fields
|
||||||
|
* valid values are:
|
||||||
|
* false allow editing
|
||||||
|
* 'blob' allow editing except for BLOB fields
|
||||||
|
* 'noblob' disallow editing except for BLOB fields
|
||||||
|
* 'all' disallow editing
|
||||||
|
* default = blob
|
||||||
|
*/
|
||||||
|
//$cfg['ProtectBinary'] = 'false';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default language to use, if not browser-defined or user-defined
|
||||||
|
* (you find all languages in the locale folder)
|
||||||
|
* uncomment the desired line:
|
||||||
|
* default = 'en'
|
||||||
|
*/
|
||||||
|
//$cfg['DefaultLang'] = 'en';
|
||||||
|
//$cfg['DefaultLang'] = 'de';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* default display direction (horizontal|vertical|horizontalflipped)
|
||||||
|
*/
|
||||||
|
//$cfg['DefaultDisplay'] = 'vertical';
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* How many columns should be used for table display of a database?
|
||||||
|
* (a value larger than 1 results in some information being hidden)
|
||||||
|
* default = 1
|
||||||
|
*/
|
||||||
|
//$cfg['PropertiesNumColumns'] = 2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set to true if you want DB-based query history.If false, this utilizes
|
||||||
|
* JS-routines to display query history (lost by window close)
|
||||||
|
*
|
||||||
|
* This requires configuration storage enabled, see above.
|
||||||
|
* default = false
|
||||||
|
*/
|
||||||
|
//$cfg['QueryHistoryDB'] = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* When using DB-based query history, how many entries should be kept?
|
||||||
|
*
|
||||||
|
* default = 25
|
||||||
|
*/
|
||||||
|
//$cfg['QueryHistoryMax'] = 100;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Should error reporting be enabled for JavaScript errors
|
||||||
|
*
|
||||||
|
* default = 'ask'
|
||||||
|
*/
|
||||||
|
//$cfg['SendErrorReports'] = 'ask';
|
||||||
|
|
||||||
|
/*
|
||||||
|
* You can find more configuration options in the documentation
|
||||||
|
* in the doc/ folder or at <http://docs.phpmyadmin.net/>.
|
||||||
|
*/
|
||||||
|
?>
|
27
conf/create_db.sql
Normal file
27
conf/create_db.sql
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
-- SQL Commands to set up the pmadb as described in the documentation.
|
||||||
|
--
|
||||||
|
-- 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
|
||||||
|
--
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
DROP DATABASE `phpmyadmin`;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Database : `phpmyadmin`
|
||||||
|
--
|
||||||
|
CREATE DATABASE IF NOT EXISTS `phpmyadmin`
|
||||||
|
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
|
||||||
|
USE phpmyadmin;
|
||||||
|
|
||||||
|
GRANT SELECT, INSERT, DELETE, UPDATE ON `phpmyadmin`.* TO
|
||||||
|
'YNH_PMA_USER'@localhost;
|
287
conf/create_tables.sql
Normal file
287
conf/create_tables.sql
Normal file
|
@ -0,0 +1,287 @@
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
-- SQL Commands to set up the pmadb as described in the documentation.
|
||||||
|
--
|
||||||
|
-- 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
|
||||||
|
--
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Database : `phpmyadmin`
|
||||||
|
--
|
||||||
|
CREATE DATABASE IF NOT EXISTS `phpmyadmin`
|
||||||
|
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
|
||||||
|
USE phpmyadmin;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- 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`)
|
||||||
|
)
|
||||||
|
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`)
|
||||||
|
)
|
||||||
|
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`)
|
||||||
|
)
|
||||||
|
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`)
|
||||||
|
)
|
||||||
|
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`)
|
||||||
|
)
|
||||||
|
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`)
|
||||||
|
)
|
||||||
|
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`)
|
||||||
|
)
|
||||||
|
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`)
|
||||||
|
)
|
||||||
|
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`)
|
||||||
|
)
|
||||||
|
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`)
|
||||||
|
)
|
||||||
|
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`)
|
||||||
|
)
|
||||||
|
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`)
|
||||||
|
)
|
||||||
|
COMMENT='User preferences storage for phpMyAdmin'
|
||||||
|
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `pma__users`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `pma__users` (
|
||||||
|
`username` varchar(64) NOT NULL,
|
||||||
|
`usergroup` varchar(64) NOT NULL,
|
||||||
|
PRIMARY KEY (`username`,`usergroup`)
|
||||||
|
)
|
||||||
|
COMMENT='Users and their assignments to user groups'
|
||||||
|
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `pma__usergroups`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `pma__usergroups` (
|
||||||
|
`usergroup` varchar(64) NOT NULL,
|
||||||
|
`tab` varchar(64) NOT NULL,
|
||||||
|
`allowed` enum('Y','N') NOT NULL DEFAULT 'N',
|
||||||
|
PRIMARY KEY (`usergroup`,`tab`,`allowed`)
|
||||||
|
)
|
||||||
|
COMMENT='User groups with configured menu items'
|
||||||
|
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Table structure for table `pma__navigationhiding`
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `pma__navigationhiding` (
|
||||||
|
`username` varchar(64) NOT NULL,
|
||||||
|
`item_name` varchar(64) NOT NULL,
|
||||||
|
`item_type` varchar(64) NOT NULL,
|
||||||
|
`db_name` varchar(64) NOT NULL,
|
||||||
|
`table_name` varchar(64) NOT NULL,
|
||||||
|
PRIMARY KEY (`username`,`item_name`,`item_type`,`db_name`,`table_name`)
|
||||||
|
)
|
||||||
|
COMMENT='Hidden items of navigation tree'
|
||||||
|
DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
|
16
conf/nginx.conf
Normal file
16
conf/nginx.conf
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
location YNH_WWW_PATH {
|
||||||
|
alias YNH_WWW_ALIAS ;
|
||||||
|
if ($scheme = http) {
|
||||||
|
rewrite ^ https://$server_name$request_uri? permanent;
|
||||||
|
}
|
||||||
|
index index.php;
|
||||||
|
try_files $uri $uri/ index.php;
|
||||||
|
location ~ [^/]\.php(/|$) {
|
||||||
|
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
|
||||||
|
fastcgi_pass unix:/var/run/php5-fpm.sock;
|
||||||
|
fastcgi_index index.php;
|
||||||
|
include fastcgi_params;
|
||||||
|
fastcgi_param REMOTE_USER $remote_user;
|
||||||
|
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||||
|
}
|
||||||
|
}
|
3
conf/user_list.py
Normal file
3
conf/user_list.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
import sys, json
|
||||||
|
userlist=json.loads(sys.stdin.readlines()[0])["Users"]
|
||||||
|
print "{0}".format("\n".join(i["Username"] for i in userlist))
|
39
manifest.json
Normal file
39
manifest.json
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{
|
||||||
|
"name": "phpMyAdmin",
|
||||||
|
"id": "phpmyadmin",
|
||||||
|
"description": {
|
||||||
|
"en": "Manage MySQL databases over the web"
|
||||||
|
},
|
||||||
|
"developer": {
|
||||||
|
"name": "julien",
|
||||||
|
"email": "julien.malik@paraiso.me",
|
||||||
|
"url": "http://www.phpmyadmin.net"
|
||||||
|
},
|
||||||
|
"multi_instance": "false",
|
||||||
|
"arguments": {
|
||||||
|
"install" : [
|
||||||
|
{
|
||||||
|
"name": "domain",
|
||||||
|
"ask": {
|
||||||
|
"en": "Choose a domain for phpMyAdmin"
|
||||||
|
},
|
||||||
|
"example": "domain.org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "path",
|
||||||
|
"ask": {
|
||||||
|
"en": "Choose a path for phpMyAdmin"
|
||||||
|
},
|
||||||
|
"example": "/phpmyadmin",
|
||||||
|
"default": "/phpmyadmin"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "admin_user",
|
||||||
|
"ask": {
|
||||||
|
"en": "Choose the only allowed admin user"
|
||||||
|
},
|
||||||
|
"example": "johndoe"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
56
scripts/install
Executable file
56
scripts/install
Executable file
|
@ -0,0 +1,56 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Retrieve arguments
|
||||||
|
domain=$1
|
||||||
|
path=$2
|
||||||
|
admin_user=$3
|
||||||
|
|
||||||
|
# Check domain/path availability
|
||||||
|
sudo yunohost app checkurl $domain$path -a phpmyadmin
|
||||||
|
if [[ ! $? -eq 0 ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check that admin user is an existing account
|
||||||
|
sudo yunohost user list | python ../conf/user_list.py | grep "^$admin_user$" >/dev/null
|
||||||
|
if [[ ! $? -eq 0 ]]; then
|
||||||
|
echo "Error : the chosen admin user does not exist"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
db_user=phpmyadmin
|
||||||
|
db_pwd=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d 'A-Za-z0-9' | sed -n 's/\(.\{24\}\).*/\1/p')
|
||||||
|
sed -i "s@YNH_PMA_USER@$db_user@g" ../conf/create_db.sql
|
||||||
|
sudo yunohost app initdb $db_user -p $db_pwd
|
||||||
|
mysql -u root -p$(sudo cat /etc/yunohost/mysql) < ../conf/create_db.sql
|
||||||
|
mysql -u $db_user -p$db_pwd < ../conf/create_tables.sql
|
||||||
|
#mysql -u root -p$(sudo cat /etc/yunohost/mysql) < ../conf/create_tables.sql
|
||||||
|
sudo yunohost app setting phpmyadmin mysqlpwd -v $db_pwd
|
||||||
|
|
||||||
|
final_path=/var/www/phpmyadmin
|
||||||
|
|
||||||
|
# Copy files to the right place
|
||||||
|
sudo mkdir -p $final_path
|
||||||
|
sudo cp -r ../sources/* $final_path
|
||||||
|
sed -i "s@YNH_DOMAIN@$domain@g" ../conf/config.inc.php
|
||||||
|
sed -i "s@YNH_ADMIN_USER@$admin_user@g" ../conf/config.inc.php
|
||||||
|
sed -i "s@YNH_PMA_USER@$db_user@g" ../conf/config.inc.php
|
||||||
|
sed -i "s@YNH_PMA_PASSWORD@$db_pwd@g" ../conf/config.inc.php
|
||||||
|
sed -i "s@YNH_MYSQL_ROOT_PASSWORD@$(sudo cat /etc/yunohost/mysql)@g" ../conf/config.inc.php
|
||||||
|
sudo cp ../conf/config.inc.php $final_path
|
||||||
|
|
||||||
|
# Files owned by root, www-data can just read
|
||||||
|
sudo chown -R root: $final_path
|
||||||
|
sudo find $final_path -type f | xargs sudo chmod 644
|
||||||
|
sudo find $final_path -type d | xargs sudo chmod 755
|
||||||
|
|
||||||
|
# Modify Nginx configuration file and copy it to Nginx conf directory
|
||||||
|
sed -i "s@YNH_WWW_PATH@$path@g" ../conf/nginx.conf
|
||||||
|
sed -i "s@YNH_WWW_ALIAS@$final_path/@g" ../conf/nginx.conf
|
||||||
|
nginxconf=/etc/nginx/conf.d/$domain.d/phpmyadmin.conf
|
||||||
|
sudo cp ../conf/nginx.conf $nginxconf
|
||||||
|
sudo chown root: $nginxconf
|
||||||
|
sudo chmod 600 $nginxconf
|
||||||
|
|
||||||
|
sudo service nginx reload
|
||||||
|
sudo yunohost app ssowatconf
|
13
scripts/remove
Executable file
13
scripts/remove
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
domain=$(sudo yunohost app setting phpmyadmin domain)
|
||||||
|
|
||||||
|
sudo rm -rf /var/www/phpmyadmin
|
||||||
|
sudo rm -f /etc/nginx/conf.d/$domain.d/phpmyadmin.conf
|
||||||
|
|
||||||
|
sudo service nginx reload
|
||||||
|
|
||||||
|
db_user=phpmyadmin
|
||||||
|
db_name=phpmyadmin
|
||||||
|
root_pwd=$(sudo cat /etc/yunohost/mysql)
|
||||||
|
mysql -u root -p$root_pwd -e "DROP DATABASE $db_name ; DROP USER $db_user@localhost ;"
|
34
scripts/upgrade
Normal file
34
scripts/upgrade
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
domain=$(sudo yunohost app setting phpmyadmin domain)
|
||||||
|
path=$(sudo yunohost app setting phpmyadmin path)
|
||||||
|
|
||||||
|
# Remove trailing "/" for next commands
|
||||||
|
path=${path%/}
|
||||||
|
|
||||||
|
# Copy files to the right place
|
||||||
|
final_path=/var/www/phpmyadmin
|
||||||
|
sudo mkdir -p $final_path
|
||||||
|
sudo cp -r ../sources/* $final_path
|
||||||
|
|
||||||
|
# Files owned by root, www-data can just read
|
||||||
|
sudo find $final_path -type f | xargs sudo chmod 644
|
||||||
|
sudo find $final_path -type d | xargs sudo chmod 755
|
||||||
|
sudo chown -R root: $final_path
|
||||||
|
|
||||||
|
# except for data and tmp subdir, where www-data must have write permissions
|
||||||
|
sudo chown www-data:root $final_path/{data,tmp}
|
||||||
|
sudo chmod 700 $final_path/{data,tmp}
|
||||||
|
|
||||||
|
# Modify Nginx configuration file and copy it to Nginx conf directory
|
||||||
|
sed -i "s@YNH_WWW_PATH@$path@g" ../conf/nginx.conf
|
||||||
|
sed -i "s@YNH_WWW_ALIAS@$final_path/@g" ../conf/nginx.conf
|
||||||
|
sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/phpmyadmin.conf
|
||||||
|
|
||||||
|
if [ $is_public = "Yes" ];
|
||||||
|
then
|
||||||
|
sudo yunohost app setting phpmyadmin skipped_uris -v "/"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo service nginx reload
|
||||||
|
sudo yunohost app ssowatconf
|
Loading…
Reference in a new issue