Additional MariaDB and PHPMyAdmin fixes
This commit is contained in:
		
				
					committed by
					
						 kjeld Schouten-Lebbing
						kjeld Schouten-Lebbing
					
				
			
			
				
	
			
			
			
						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] | ||||
| password=mypassword | ||||
| port=3306 | ||||
| socket=/config/mysql.sock | ||||
|   | ||||
| @@ -35,24 +35,33 @@ if [ "$(ls -A "/mnt/${global_dataset_config}/${1}/db")" ]; then | ||||
| fi | ||||
|  | ||||
| # Mount database dataset and set zfs preferences | ||||
| iocage exec "${1}" service mysql-server stop | ||||
| iocage exec "${1}" rm -Rf /var/db/mysql | ||||
| createmount "${1}" "${global_dataset_config}"/"${1}"/db /var/db/mysql | ||||
| iocage exec "${1}" rm -Rf /usr/local/etc/mysql/my.cnf | ||||
| createmount "${1}" "${global_dataset_config}"/"${1}"/db /config/db | ||||
| zfs set recordsize=16K "${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 | ||||
| iocage exec "${1}" mkdir -p /mnt/includes | ||||
| iocage fstab -a "${1}" "${INCLUDES_PATH}" /mnt/includes nullfs rw 0 0 | ||||
|  | ||||
| iocage exec "${1}" mkdir -p /usr/local/www/phpmyadmin | ||||
| iocage exec "${1}" chown -R www:www /usr/local/www/phpmyadmin | ||||
| iocage exec "${1}" cp -f /mnt/includes/my.cnf /config/my.cnf | ||||
| 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 | ||||
| fi | ||||
|  | ||||
| iocage exec "${1}" sysrc mysql_enable="YES" | ||||
|  | ||||
| # Copy and edit pre-written config files | ||||
| echo "Copying Caddyfile for no SSL" | ||||
| iocage exec "${1}" cp -f /mnt/includes/caddy.rc /usr/local/etc/rc.d/caddy | ||||
| @@ -86,7 +93,6 @@ if [ "${REINSTALL}" == "true" ]; then | ||||
| else | ||||
| 	 | ||||
| 	# 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='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');" | ||||
| 	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 reload | ||||
| 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 | ||||
| iocage exec "${1}" echo "MariaDB root password is ${!DB_ROOT_PASSWORD}" > /root/"${1}"_db_password.txt | ||||
|   | ||||
		Reference in New Issue
	
	Block a user