Additional MariaDB and PHPMyAdmin fixes
This commit is contained in:
parent
2cbeb33791
commit
d5f703e4b9
156
blueprints/mariadb/includes/config.inc.php
Normal file
156
blueprints/mariadb/includes/config.inc.php
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
<?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 <https://docs.phpmyadmin.net/>.
|
||||||
|
*
|
||||||
|
* @package PhpMyAdmin
|
||||||
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is needed for cookie based authentication to encrypt password in
|
||||||
|
* cookie. Needs to be 32 chars long.
|
||||||
|
*/
|
||||||
|
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Servers configuration
|
||||||
|
*/
|
||||||
|
$i = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* First server
|
||||||
|
*/
|
||||||
|
$i++;
|
||||||
|
/* Authentication type */
|
||||||
|
/*$cfg['Servers'][$i]['auth_type'] = 'cookie';*/
|
||||||
|
/* Server parameters */
|
||||||
|
$cfg['Servers'][$i]['host'] = 'localhost';
|
||||||
|
$cfg['Servers'][$i]['compress'] = false;
|
||||||
|
$cfg['Servers'][$i]['AllowNoPassword'] = false;
|
||||||
|
$cfg['Servers'][$i]['socket'] = '/config/mysql.sock';
|
||||||
|
$cfg['Servers'][$i]['connect_type'] = 'socket';
|
||||||
|
/**
|
||||||
|
* phpMyAdmin configuration storage settings.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* User used to manipulate with storage */
|
||||||
|
// $cfg['Servers'][$i]['controlhost'] = '';
|
||||||
|
// $cfg['Servers'][$i]['controlport'] = '';
|
||||||
|
// $cfg['Servers'][$i]['controluser'] = 'pma';
|
||||||
|
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
|
||||||
|
|
||||||
|
/* 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]['userconfig'] = 'pma__userconfig';
|
||||||
|
// $cfg['Servers'][$i]['recent'] = 'pma__recent';
|
||||||
|
// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
|
||||||
|
// $cfg['Servers'][$i]['users'] = 'pma__users';
|
||||||
|
// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
|
||||||
|
// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
|
||||||
|
// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
|
||||||
|
// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
|
||||||
|
// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
|
||||||
|
// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* End of servers configuration
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Directories for saving/loading files from server
|
||||||
|
*/
|
||||||
|
$cfg['UploadDir'] = '';
|
||||||
|
$cfg['SaveDir'] = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether to display icons or text or both icons and text in table row
|
||||||
|
* action segment. Value can be either of 'icons', 'text' or 'both'.
|
||||||
|
* default = 'both'
|
||||||
|
*/
|
||||||
|
//$cfg['RowActionType'] = 'icons';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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".
|
||||||
|
* Possible values: 25, 50, 100, 250, 500
|
||||||
|
* default = 25
|
||||||
|
*/
|
||||||
|
//$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';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether or not to query the user before sending the error report to
|
||||||
|
* the phpMyAdmin team when a JavaScript error occurs
|
||||||
|
*
|
||||||
|
* Available options
|
||||||
|
* ('ask' | 'always' | 'never')
|
||||||
|
* default = 'ask'
|
||||||
|
*/
|
||||||
|
//$cfg['SendErrorReports'] = 'always';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* You can find more configuration options in the documentation
|
||||||
|
* in the doc/ folder or at <https://docs.phpmyadmin.net/>.
|
||||||
|
*/
|
@ -1,16 +0,0 @@
|
|||||||
[mysqld]
|
|
||||||
innodb_file_per_table=1
|
|
||||||
transaction_isolation = READ-COMMITTED
|
|
||||||
binlog_format = ROW
|
|
||||||
|
|
||||||
symbolic-links=0
|
|
||||||
innodb_doublewrite = 0
|
|
||||||
innodb_checksum_algorithm = none
|
|
||||||
innodb_file_per_table=1
|
|
||||||
|
|
||||||
innodb_buffer_pool_size = 1G
|
|
||||||
innodb_log_buffer_size = 8M
|
|
||||||
innodb_open_files = 400
|
|
||||||
innodb_io_capacity = 400
|
|
||||||
innodb_flush_method = O_DIRECT
|
|
||||||
innodb_io_capacity = 4000
|
|
@ -1,3 +1,25 @@
|
|||||||
# MySQL client config file
|
# MySQL config file
|
||||||
|
[mysqld]
|
||||||
|
datadir=/config/db
|
||||||
|
socket=/config/mysql.sock
|
||||||
|
log_error=/config/mysql.err
|
||||||
|
innodb_file_per_table=1
|
||||||
|
transaction_isolation = READ-COMMITTED
|
||||||
|
binlog_format = ROW
|
||||||
|
|
||||||
|
symbolic-links=0
|
||||||
|
innodb_doublewrite = 0
|
||||||
|
innodb_checksum_algorithm = none
|
||||||
|
innodb_file_per_table=1
|
||||||
|
|
||||||
|
innodb_buffer_pool_size = 1G
|
||||||
|
innodb_log_buffer_size = 8M
|
||||||
|
innodb_open_files = 400
|
||||||
|
innodb_io_capacity = 400
|
||||||
|
innodb_flush_method = O_DIRECT
|
||||||
|
innodb_io_capacity = 4000
|
||||||
|
|
||||||
[client]
|
[client]
|
||||||
password=mypassword
|
password=mypassword
|
||||||
|
port=3306
|
||||||
|
socket=/config/mysql.sock
|
||||||
|
@ -35,24 +35,33 @@ if [ "$(ls -A "/mnt/${global_dataset_config}/${1}/db")" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Mount database dataset and set zfs preferences
|
# Mount database dataset and set zfs preferences
|
||||||
iocage exec "${1}" service mysql-server stop
|
iocage exec "${1}" rm -Rf /usr/local/etc/mysql/my.cnf
|
||||||
iocage exec "${1}" rm -Rf /var/db/mysql
|
createmount "${1}" "${global_dataset_config}"/"${1}"/db /config/db
|
||||||
createmount "${1}" "${global_dataset_config}"/"${1}"/db /var/db/mysql
|
|
||||||
zfs set recordsize=16K "${global_dataset_config}"/"${1}"/db
|
zfs set recordsize=16K "${global_dataset_config}"/"${1}"/db
|
||||||
zfs set primarycache=metadata "${global_dataset_config}"/"${1}"/db
|
zfs set primarycache=metadata "${global_dataset_config}"/"${1}"/db
|
||||||
|
|
||||||
iocage exec "${1}" chown -R 88:88 /var/db/mysql
|
iocage exec "${1}" "pw groupadd -n mysql -g 88"
|
||||||
|
iocage exec "${1}" "pw useradd -n mysql -u 88 -d /nonexistent -s /usr/sbin/nologin -g mysql"
|
||||||
|
|
||||||
|
iocage exec "${1}" chown -R mysql:mysql /config
|
||||||
|
|
||||||
|
iocage exec "${1}" sysrc mysql_optfile=/config/my.cnf
|
||||||
|
iocage exec "${1}" sysrc mysql_dbdir=/config/db
|
||||||
|
iocage exec "${1}" sysrc mysql_pidfile=/config/mysql.pid
|
||||||
|
iocage exec "${1}" sysrc mysql_enable="YES"
|
||||||
|
|
||||||
# Install includes fstab
|
# Install includes fstab
|
||||||
iocage exec "${1}" mkdir -p /mnt/includes
|
iocage exec "${1}" mkdir -p /mnt/includes
|
||||||
iocage fstab -a "${1}" "${INCLUDES_PATH}" /mnt/includes nullfs rw 0 0
|
iocage fstab -a "${1}" "${INCLUDES_PATH}" /mnt/includes nullfs rw 0 0
|
||||||
|
|
||||||
iocage exec "${1}" mkdir -p /usr/local/www/phpmyadmin
|
iocage exec "${1}" cp -f /mnt/includes/my.cnf /config/my.cnf
|
||||||
iocage exec "${1}" chown -R www:www /usr/local/www/phpmyadmin
|
iocage exec "${1}" cp -f /mnt/includes/config.inc.php /usr/local/www/phpMyAdmin/config.inc.php
|
||||||
|
iocage exec "${1}" sed -i '' "s|mypassword|${!DB_ROOT_PASSWORD}|" /config/my.cnf
|
||||||
|
iocage exec "${1}" ln -s /config/my.cnf /usr/local/etc/mysql/my.cnf
|
||||||
|
|
||||||
#####
|
#####
|
||||||
#
|
#
|
||||||
# Install mariadb, Caddy and PhpMyAdmin
|
# Install Caddy and PhpMyAdmin
|
||||||
#
|
#
|
||||||
#####
|
#####
|
||||||
|
|
||||||
@ -63,8 +72,6 @@ then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
iocage exec "${1}" sysrc mysql_enable="YES"
|
|
||||||
|
|
||||||
# Copy and edit pre-written config files
|
# Copy and edit pre-written config files
|
||||||
echo "Copying Caddyfile for no SSL"
|
echo "Copying Caddyfile for no SSL"
|
||||||
iocage exec "${1}" cp -f /mnt/includes/caddy.rc /usr/local/etc/rc.d/caddy
|
iocage exec "${1}" cp -f /mnt/includes/caddy.rc /usr/local/etc/rc.d/caddy
|
||||||
@ -86,7 +93,6 @@ if [ "${REINSTALL}" == "true" ]; then
|
|||||||
else
|
else
|
||||||
|
|
||||||
# Secure database, set root password, create Nextcloud DB, user, and password
|
# Secure database, set root password, create Nextcloud DB, user, and password
|
||||||
iocage exec "${1}" cp -f /mnt/includes/my-system.cnf /var/db/mysql/my.cnf
|
|
||||||
iocage exec "${1}" mysql -u root -e "DELETE FROM mysql.user WHERE User='';"
|
iocage exec "${1}" mysql -u root -e "DELETE FROM mysql.user WHERE User='';"
|
||||||
iocage exec "${1}" mysql -u root -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');"
|
iocage exec "${1}" mysql -u root -e "DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');"
|
||||||
iocage exec "${1}" mysql -u root -e "DROP DATABASE IF EXISTS test;"
|
iocage exec "${1}" mysql -u root -e "DROP DATABASE IF EXISTS test;"
|
||||||
@ -94,8 +100,6 @@ else
|
|||||||
iocage exec "${1}" mysqladmin --user=root password "${!DB_ROOT_PASSWORD}"
|
iocage exec "${1}" mysqladmin --user=root password "${!DB_ROOT_PASSWORD}"
|
||||||
iocage exec "${1}" mysqladmin reload
|
iocage exec "${1}" mysqladmin reload
|
||||||
fi
|
fi
|
||||||
iocage exec "${1}" cp -f /mnt/includes/my.cnf /root/.my.cnf
|
|
||||||
iocage exec "${1}" sed -i '' "s|mypassword|${!DB_ROOT_PASSWORD}|" /root/.my.cnf
|
|
||||||
|
|
||||||
# Save passwords for later reference
|
# Save passwords for later reference
|
||||||
iocage exec "${1}" echo "MariaDB root password is ${!DB_ROOT_PASSWORD}" > /root/"${1}"_db_password.txt
|
iocage exec "${1}" echo "MariaDB root password is ${!DB_ROOT_PASSWORD}" > /root/"${1}"_db_password.txt
|
||||||
|
Loading…
Reference in New Issue
Block a user