Outsourced mysql related steps to own seq
This commit is contained in:
166
seqs/mysql.sh
Executable file
166
seqs/mysql.sh
Executable file
@@ -0,0 +1,166 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Mysql management using mariadb
|
||||||
|
|
||||||
|
databaseName="mariadb"
|
||||||
|
databasePackages="mariadb-server mariadb-client"
|
||||||
|
|
||||||
|
step_1_info() {
|
||||||
|
echo "Installation of ${databaseName} packages:"
|
||||||
|
echoinfo "$databasePackages"
|
||||||
|
}
|
||||||
|
step_1_alias() { ALIAS=install; }
|
||||||
|
step_1() {
|
||||||
|
exe apt update
|
||||||
|
exe apt install $databasePackages
|
||||||
|
endReturn -o $? "Error instaling $databaseName"
|
||||||
|
}
|
||||||
|
|
||||||
|
step_2_info() { echo "Secure ${databaseName} installation"; }
|
||||||
|
step_2() {
|
||||||
|
exe mysql_secure_installation
|
||||||
|
}
|
||||||
|
|
||||||
|
step_3_info() { echo -e "${databaseName} configuration\n"; }
|
||||||
|
step_3() {
|
||||||
|
addConf -c "$mariadbConfig" "$mariadbConfigLoc"
|
||||||
|
|
||||||
|
echo -n "Restarting mysql ... "
|
||||||
|
exe service mysql restart && echo "ok"
|
||||||
|
}
|
||||||
|
mariadbConfigLoc="/etc/mysql/mariadb.conf.d/90-myconfig.cnf"
|
||||||
|
mariadbConfig="[mysqld]
|
||||||
|
innodb_large_prefix=on
|
||||||
|
innodb_file_format=barracuda
|
||||||
|
innodb_file_per_table=true
|
||||||
|
|
||||||
|
lower_case_table_names=0
|
||||||
|
|
||||||
|
#innodb_force_recovery=6"
|
||||||
|
|
||||||
|
step_10_info() { echo "Create mysql database without specific characterset"; }
|
||||||
|
step_10_alias() { ALIAS="createdb"; }
|
||||||
|
step_10() {
|
||||||
|
local mysqlDatabase
|
||||||
|
local mysqlUser
|
||||||
|
local mysqlPass
|
||||||
|
|
||||||
|
echo " [I] Existing mysql databases:"
|
||||||
|
exe mysql -u root -e 'SHOW DATABASES;'
|
||||||
|
|
||||||
|
read -p "Enter database name: " mysqlDatabase
|
||||||
|
endCheckEmpty mysqlDatabase "database name"
|
||||||
|
exe mysql -u root -e 'CREATE DATABASE '$mysqlDatabase';'
|
||||||
|
endReturn -o $? "Cannot create database $mysqlDatabase"
|
||||||
|
|
||||||
|
echo " [I] Existing mysql user:"
|
||||||
|
exe mysql -u root -e 'SELECT User, Host FROM mysql.user;'
|
||||||
|
read -p "Enter mysql user name: " mysqlUser
|
||||||
|
endCheckEmpty mysqlUser "user name"
|
||||||
|
|
||||||
|
read -s -p "Enter mysql user password: " mysqlPass
|
||||||
|
endCheckEmpty mysqlPass "password"
|
||||||
|
exe mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';'
|
||||||
|
saveReturn $?
|
||||||
|
endReturn
|
||||||
|
|
||||||
|
exe mysql -u root -e 'GRANT ALL PRIVILEGES ON '$mysqlDatabase'.* TO '"'"$mysqlUser"'"'@'"'"'localhost'"'"';'
|
||||||
|
saveReturn $?
|
||||||
|
endReturn
|
||||||
|
|
||||||
|
exe mysql -u root -e 'FLUSH PRIVILEGES;'
|
||||||
|
}
|
||||||
|
|
||||||
|
step_12_info() { echo -e "Create mysql database with characterset utf8mb4\n"; }
|
||||||
|
step_12_alias() { ALIAS="createdb_utf8mb4"; }
|
||||||
|
step_12() {
|
||||||
|
local mysqlDatabase
|
||||||
|
local mysqlUser
|
||||||
|
local mysqlPass
|
||||||
|
|
||||||
|
echo "Existing mysql databases:"
|
||||||
|
exe mysql -u root -e 'SHOW DATABASES;'
|
||||||
|
|
||||||
|
read -p "Enter database name: " mysqlDatabase
|
||||||
|
endCheckEmpty mysqlDatabase "database name"
|
||||||
|
# it is recommended NOT to use utf8mb4_general_ci anymore
|
||||||
|
exe mysql -u root -e 'CREATE DATABASE '$mysqlDatabase' CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'
|
||||||
|
endReturn -o $? "Cannot create database $mysqlDatabase"
|
||||||
|
|
||||||
|
echo "Existing mysql user:"
|
||||||
|
exe mysql -u root -e 'SELECT User, Host FROM mysql.user;'
|
||||||
|
read -p "Enter mysql user name: " mysqlUser
|
||||||
|
endCheckEmpty mysqlUser "user name"
|
||||||
|
|
||||||
|
read -s -p "Enter mysql user password: " mysqlPass
|
||||||
|
endCheckEmpty mysqlPass "password"
|
||||||
|
exe mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';'
|
||||||
|
saveReturn $?
|
||||||
|
endReturn
|
||||||
|
|
||||||
|
exe mysql -u root -e 'GRANT ALL PRIVILEGES ON '$mysqlDatabase'.* TO '"'"$mysqlUser"'"'@'"'"'localhost'"'"';'
|
||||||
|
saveReturn $?
|
||||||
|
endReturn
|
||||||
|
|
||||||
|
exe mysql -u root -e 'FLUSH PRIVILEGES;'
|
||||||
|
}
|
||||||
|
|
||||||
|
step_14_info() { echo "List mysql databases"; }
|
||||||
|
step_14_alias() { ALIAS="listdb"; }
|
||||||
|
step_14() {
|
||||||
|
exe mysql -u root -e 'SHOW DATABASES;'
|
||||||
|
echo -e "\nDrop userdb by: mysql -u root -e 'DROP DATABASE userdb;'"
|
||||||
|
}
|
||||||
|
|
||||||
|
step_16_info() { echo "List mysql user"; }
|
||||||
|
step_16_alias() { ALIAS="listdbuser"; }
|
||||||
|
step_16() {
|
||||||
|
exe mysql -u root -e 'SELECT User, Host FROM mysql.user;'
|
||||||
|
echo -e "\nDrop dbuser by: mysql -u root -e 'DROP USER dbuser@localhost;'"
|
||||||
|
}
|
||||||
|
|
||||||
|
step_18_info() { echo "Size of database [DATABASE_NAME]"; }
|
||||||
|
step_18_alias() { ALIAS="sizedb"; }
|
||||||
|
step_18() {
|
||||||
|
if [ -z "$2" ]; then
|
||||||
|
echo "Please provide a database name. e.g. $0 sizedb mydb_db"
|
||||||
|
else
|
||||||
|
exe mysql -u root -e 'SELECT table_schema "DB Name",
|
||||||
|
ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"
|
||||||
|
FROM information_schema.tables
|
||||||
|
WHERE table_schema="'$2'"
|
||||||
|
GROUP BY table_schema;'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
step_20_info() { echo "Backup and restore a mysql database"; }
|
||||||
|
step_20_alias() { ALIAS="backup"; }
|
||||||
|
step_20() {
|
||||||
|
echo "Dump the existing database with:"
|
||||||
|
echo " mysqldump --single-transaction nextcloud_db > NextcloudBackup_DB_\`date +\"%Y%m%d\"\`.sql"
|
||||||
|
echo
|
||||||
|
echo "Restore with:"
|
||||||
|
echo " mysql -e \"DROP DATABASE nextcloud_db\""
|
||||||
|
echo " mysql -e \"CREATE DATABASE nextcloud_db\""
|
||||||
|
echo " mysql nextcloud_db < NextcloudBackup_DB_20170912.sql"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Read database information dbname/user/pass if empty
|
||||||
|
readDatabaseInfos() {
|
||||||
|
if [ "$dbName" == "" ] ; then
|
||||||
|
read -p "Enter postgres database name: " dbName
|
||||||
|
endCheckEmpty dbName "database"
|
||||||
|
fi
|
||||||
|
if [ "$dbUser" == "" ] ; then
|
||||||
|
read -p "Enter postgres user name: " dbUser
|
||||||
|
endCheckEmpty dbUser "user name"
|
||||||
|
fi
|
||||||
|
if [ "$dbPass" == "" ] ; then
|
||||||
|
read -s -p "Enter postgres password: " dbPass
|
||||||
|
endCheckEmpty postgresPass "password"
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
VERSION_SEQREV=9
|
||||||
|
. /usr/local/bin/sequencer.sh
|
@@ -2,19 +2,17 @@
|
|||||||
|
|
||||||
serverName="nginx"
|
serverName="nginx"
|
||||||
serverPackages="nginx"
|
serverPackages="nginx"
|
||||||
databaseName="mariadb"
|
|
||||||
databasePackages="mariadb-server mariadb-client"
|
|
||||||
phpVersion="7.3"
|
phpVersion="7.3"
|
||||||
phpName="php${phpVersion}"
|
phpName="php${phpVersion}"
|
||||||
phpPackages="${phpName}-fpm ${phpName}-json ${phpName}-mysql ${phpName}-curl ${phpName}-intl ${phpName}-gd ${phpName}-zip ${phpName}-xml ${phpName}-mbstring php-imagick php-apcu"
|
phpPackages="${phpName}-fpm ${phpName}-json ${phpName}-mysql ${phpName}-curl ${phpName}-intl ${phpName}-gd ${phpName}-zip ${phpName}-xml ${phpName}-mbstring php-imagick php-apcu"
|
||||||
|
|
||||||
step_1_info() { echo -e "Installation of $serverName and ${databaseName} packages:\n $serverPackages $databasePackages"; }
|
step_1_info() {
|
||||||
|
echo "Installation of $serverName packages:"
|
||||||
|
echoinfo "$serverPackages"
|
||||||
|
}
|
||||||
step_1_alias() { ALIAS=install; }
|
step_1_alias() { ALIAS=install; }
|
||||||
step_1() {
|
step_1() {
|
||||||
exe apt update
|
exe apt update
|
||||||
exe apt install $databasePackages
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
exe apt install $serverPackages
|
exe apt install $serverPackages
|
||||||
saveReturn $?
|
saveReturn $?
|
||||||
endReturn
|
endReturn
|
||||||
@@ -42,13 +40,12 @@ step_2() {
|
|||||||
saveReturn $?
|
saveReturn $?
|
||||||
endReturn
|
endReturn
|
||||||
}
|
}
|
||||||
|
|
||||||
snippetLetsencryptLoc="/etc/nginx/snippets/letsencrypt.conf"
|
snippetLetsencryptLoc="/etc/nginx/snippets/letsencrypt.conf"
|
||||||
siteLetsencryptWww="/var/www/letsencrypt"
|
siteLetsencryptWww="/var/www/letsencrypt"
|
||||||
snippetLetsencrypt="\
|
snippetLetsencrypt="\
|
||||||
location ^~ /.well-known/acme-challenge/ {
|
location ^~ /.well-known/acme-challenge/ {
|
||||||
default_type \"text/plain\";
|
default_type \"text/plain\";
|
||||||
root ${siteLetsencryptWww};
|
root ${siteLetsencryptWww};
|
||||||
}"
|
}"
|
||||||
siteDefaultLoc="/etc/nginx/sites-available/default"
|
siteDefaultLoc="/etc/nginx/sites-available/default"
|
||||||
siteDefaultIp4="server {
|
siteDefaultIp4="server {
|
||||||
@@ -57,174 +54,39 @@ listen 80 default_server;
|
|||||||
include ${snippetLetsencryptLoc};
|
include ${snippetLetsencryptLoc};
|
||||||
}"
|
}"
|
||||||
|
|
||||||
step_3_info() { echo "Secure mariadb installation"; }
|
step_3_info() { echo "Installation of $phpName packages:"
|
||||||
|
echoinfo "$phpPackages"; }
|
||||||
step_3() {
|
step_3() {
|
||||||
exe mysql_secure_installation
|
|
||||||
}
|
|
||||||
|
|
||||||
step_4_info() { echo "Mariadb configuration"; }
|
|
||||||
step_4() {
|
|
||||||
addConf -c "$mariadbConfig" "$mariadbConfigLoc"
|
|
||||||
|
|
||||||
echo -n "Restarting mysql ... "
|
|
||||||
exe service mysql restart && echo "ok"
|
|
||||||
}
|
|
||||||
|
|
||||||
mariadbConfigLoc="/etc/mysql/mariadb.conf.d/90-myconfig.cnf"
|
|
||||||
mariadbConfig="\
|
|
||||||
[mysqld]
|
|
||||||
innodb_large_prefix=on
|
|
||||||
innodb_file_format=barracuda
|
|
||||||
innodb_file_per_table=true
|
|
||||||
|
|
||||||
lower_case_table_names=0
|
|
||||||
|
|
||||||
#innodb_force_recovery=6"
|
|
||||||
|
|
||||||
step_5_info() { echo -e "Installation of $phpName packages:\n $phpPackages"; }
|
|
||||||
step_5() {
|
|
||||||
exe apt install $phpPackages
|
exe apt install $phpPackages
|
||||||
}
|
}
|
||||||
|
|
||||||
phpFpmConfigLocation="/etc/php/${phpVersion}/fpm/conf.d/90-custom_pi.ini"
|
phpFpmConfigLocation="/etc/php/${phpVersion}/fpm/conf.d/90-custom_pi.ini"
|
||||||
phpFpmConfig="\
|
phpFpmConfig="post_max_size=64M
|
||||||
post_max_size=64M
|
upload_max_filesize=100M
|
||||||
upload_max_filesize=100M
|
max_execution_time=600
|
||||||
max_execution_time=600
|
|
||||||
|
|
||||||
apc.enable_cli=1
|
apc.enable_cli=1
|
||||||
|
|
||||||
date.timezone = Europe/Berlin
|
date.timezone = Europe/Berlin
|
||||||
|
|
||||||
opcache.enable=1
|
opcache.enable=1
|
||||||
opcache.enable_cli=1
|
opcache.enable_cli=1
|
||||||
opcache.interned_strings_buffer=8
|
opcache.interned_strings_buffer=8
|
||||||
opcache.max_accelerated_files=10000
|
opcache.max_accelerated_files=10000
|
||||||
opcache.memory_consumption=128
|
opcache.memory_consumption=128
|
||||||
opcache.save_comments=1
|
opcache.save_comments=1
|
||||||
opcache.revalidate_freq=1"
|
opcache.revalidate_freq=1"
|
||||||
|
phpCliConfigLocation="/etc/php/${phpVersion}/cli/conf.d/90-custom_pi.ini"
|
||||||
|
phpCliConfig="\
|
||||||
|
date.timezone = Europe/Berlin"
|
||||||
|
|
||||||
phpCliConfigLocation="/etc/php/${phpVersion}/cli/conf.d/90-custom_pi.ini"
|
step_4_info() { echo -e "Configuration of ${phpName} fpm and cli\n"; }
|
||||||
phpCliConfig="\
|
step_4() {
|
||||||
date.timezone = Europe/Berlin"
|
addConf -c "$phpFpmConfig" "$phpFpmConfigLocation"
|
||||||
|
addConf -c "$phpCliConfig" "$phpCliConfigLocation"
|
||||||
|
|
||||||
step_6_info() { echo -e "Configuration of ${phpName} fpm and cli\n"; }
|
echo -n "Restarting ${phpName} ... "
|
||||||
step_6() {
|
exe service ${phpName}-fpm restart && echo "ok"
|
||||||
addConf -c "$phpFpmConfig" "$phpFpmConfigLocation"
|
|
||||||
addConf -c "$phpCliConfig" "$phpCliConfigLocation"
|
|
||||||
|
|
||||||
echo -n "Restarting ${phpName} ... "
|
|
||||||
exe service ${phpName}-fpm restart && echo "ok"
|
|
||||||
}
|
|
||||||
|
|
||||||
step_10_info() { echo -e "Create mysql database without specific characterset\n"; }
|
|
||||||
step_10_alias() { ALIAS="createdb"; }
|
|
||||||
step_10() {
|
|
||||||
local mysqlDatabase
|
|
||||||
local mysqlUser
|
|
||||||
local mysqlPass
|
|
||||||
|
|
||||||
echo "Existing mysql databases:"
|
|
||||||
exe mysql -u root -e 'SHOW DATABASES;'
|
|
||||||
|
|
||||||
read -p "Enter database name: " mysqlDatabase
|
|
||||||
endCheckEmpty mysqlDatabase "database name"
|
|
||||||
exe mysql -u root -e 'CREATE DATABASE '$mysqlDatabase';'
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
|
|
||||||
echo "Existing mysql user:"
|
|
||||||
exe mysql -u root -e 'SELECT User, Host FROM mysql.user;'
|
|
||||||
read -p "Enter mysql user name: " mysqlUser
|
|
||||||
endCheckEmpty mysqlDatabase "user name"
|
|
||||||
|
|
||||||
read -s -p "Enter mysql user password: " mysqlPass
|
|
||||||
endCheckEmpty mysqlPass "password"
|
|
||||||
exe mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';'
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
|
|
||||||
exe mysql -u root -e 'GRANT ALL PRIVILEGES ON '$mysqlDatabase'.* TO '"'"$mysqlUser"'"'@'"'"'localhost'"'"';'
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
|
|
||||||
exe mysql -u root -e 'FLUSH PRIVILEGES;'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
step_12_info() { echo -e "Create mysql database with characterset utf8mb4\n"; }
|
VERSION_SEQREV=9
|
||||||
step_12_alias() { ALIAS="createdb_utf8mb4"; }
|
. /usr/local/bin/sequencer.sh
|
||||||
step_12() {
|
|
||||||
local mysqlDatabase
|
|
||||||
local mysqlUser
|
|
||||||
local mysqlPass
|
|
||||||
|
|
||||||
echo "Existing mysql databases:"
|
|
||||||
exe mysql -u root -e 'SHOW DATABASES;'
|
|
||||||
|
|
||||||
read -p "Enter database name: " mysqlDatabase
|
|
||||||
endCheckEmpty mysqlDatabase "database name"
|
|
||||||
# it is recommended NOT to use utf8mb4_general_ci anymore
|
|
||||||
exe mysql -u root -e 'CREATE DATABASE '$mysqlDatabase' CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
|
|
||||||
echo "Existing mysql user:"
|
|
||||||
exe mysql -u root -e 'SELECT User, Host FROM mysql.user;'
|
|
||||||
read -p "Enter mysql user name: " mysqlUser
|
|
||||||
endCheckEmpty mysqlDatabase "user name"
|
|
||||||
|
|
||||||
read -s -p "Enter mysql user password: " mysqlPass
|
|
||||||
endCheckEmpty mysqlPass "password"
|
|
||||||
exe mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';'
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
|
|
||||||
exe mysql -u root -e 'GRANT ALL PRIVILEGES ON '$mysqlDatabase'.* TO '"'"$mysqlUser"'"'@'"'"'localhost'"'"';'
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
|
|
||||||
exe mysql -u root -e 'FLUSH PRIVILEGES;'
|
|
||||||
}
|
|
||||||
|
|
||||||
step_14_info() { echo "List mysql databases"; }
|
|
||||||
step_14_alias() { ALIAS="listdb"; }
|
|
||||||
step_14() {
|
|
||||||
exe mysql -u root -e 'SHOW DATABASES;'
|
|
||||||
echo -e "\nDrop userdb by: mysql -u root -e 'DROP DATABASE userdb;'"
|
|
||||||
}
|
|
||||||
|
|
||||||
step_16_info() { echo "List mysql user"; }
|
|
||||||
step_16_alias() { ALIAS="listdbuser"; }
|
|
||||||
step_16() {
|
|
||||||
exe mysql -u root -e 'SELECT User, Host FROM mysql.user;'
|
|
||||||
echo -e "\nDrop dbuser by: mysql -u root -e 'DROP USER dbuser@localhost;'"
|
|
||||||
}
|
|
||||||
|
|
||||||
step_18_info() { echo "Size of database [DATABASE_NAME]"; }
|
|
||||||
step_18_alias() { ALIAS="sizedb"; }
|
|
||||||
step_18() {
|
|
||||||
if [ -z "$2" ]; then
|
|
||||||
echo "Please provide a database name. e.g. $0 sizedb mydb_db"
|
|
||||||
else
|
|
||||||
exe mysql -u root -e 'SELECT table_schema "DB Name",
|
|
||||||
ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"
|
|
||||||
FROM information_schema.tables
|
|
||||||
WHERE table_schema="'$2'"
|
|
||||||
GROUP BY table_schema;'
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
step_20_info() { echo "Backup and restore a mysql database"; }
|
|
||||||
step_20_alias() { ALIAS="backup"; }
|
|
||||||
step_20() {
|
|
||||||
echo "Dump the existing database with:"
|
|
||||||
echo " mysqldump --single-transaction nextcloud_db > NextcloudBackup_DB_\`date +\"%Y%m%d\"\`.sql"
|
|
||||||
echo
|
|
||||||
echo "Restore with:"
|
|
||||||
echo " mysql -e \"DROP DATABASE nextcloud_db\""
|
|
||||||
echo " mysql -e \"CREATE DATABASE nextcloud_db\""
|
|
||||||
echo " mysql nextcloud_db < NextcloudBackup_DB_20170912.sql"
|
|
||||||
}
|
|
||||||
|
|
||||||
VERSION_SEQREV=5
|
|
||||||
. sequencer.sh
|
|
||||||
|
@@ -2,18 +2,15 @@
|
|||||||
|
|
||||||
serverName="nginx"
|
serverName="nginx"
|
||||||
serverPackages="nginx"
|
serverPackages="nginx"
|
||||||
databaseName="mariadb"
|
|
||||||
databasePackages="mariadb-server mariadb-client"
|
|
||||||
phpVersion="7.2"
|
phpVersion="7.2"
|
||||||
phpName="php$phpVersion"
|
phpName="php$phpVersion"
|
||||||
phpPackages="${phpName}-fpm ${phpName}-json ${phpName}-mysql ${phpName}-curl ${phpName}-intl ${phpName}-gd ${phpName}-zip ${phpName}-xml ${phpName}-mbstring php-imagick php-apcu"
|
phpPackages="${phpName}-fpm ${phpName}-json ${phpName}-mysql ${phpName}-curl ${phpName}-intl ${phpName}-gd ${phpName}-zip ${phpName}-xml ${phpName}-mbstring php-imagick php-apcu"
|
||||||
|
|
||||||
step_1_info() { echo -e "Installation of $serverName and ${databaseName} packages:\n $serverPackages $databasePackages"; }
|
step_1_info() { echo "Installation of $serverName packages:"
|
||||||
|
echoinfo "$serverPackages"; }
|
||||||
step_1_alias() { ALIAS="install"; }
|
step_1_alias() { ALIAS="install"; }
|
||||||
step_1() {
|
step_1() {
|
||||||
exe apt update
|
exe apt update
|
||||||
exe apt install $databasePackages
|
|
||||||
endReturn -o $? "Database package installation error"
|
|
||||||
exe apt install $serverPackages
|
exe apt install $serverPackages
|
||||||
endReturn -o $? "Server package installation error"
|
endReturn -o $? "Server package installation error"
|
||||||
}
|
}
|
||||||
@@ -39,7 +36,6 @@ step_2() {
|
|||||||
exe service nginx restart && echo "ok"
|
exe service nginx restart && echo "ok"
|
||||||
endReturn -o $? "Nginx error during startup"
|
endReturn -o $? "Nginx error during startup"
|
||||||
}
|
}
|
||||||
|
|
||||||
snippetLetsencryptLoc="/etc/nginx/snippets/letsencrypt.conf"
|
snippetLetsencryptLoc="/etc/nginx/snippets/letsencrypt.conf"
|
||||||
siteLetsencryptWww="/var/www/letsencrypt"
|
siteLetsencryptWww="/var/www/letsencrypt"
|
||||||
snippetLetsencrypt="\
|
snippetLetsencrypt="\
|
||||||
@@ -54,38 +50,12 @@ siteDefaultIp4="server {
|
|||||||
include ${snippetLetsencryptLoc};
|
include ${snippetLetsencryptLoc};
|
||||||
}"
|
}"
|
||||||
|
|
||||||
step_3_info() { echo "Secure mariadb installation"; }
|
step_3_info() { echo "Installation of $phpName packages:"
|
||||||
|
echoinfo "$phpPackages"; }
|
||||||
step_3() {
|
step_3() {
|
||||||
exe mysql_secure_installation
|
|
||||||
}
|
|
||||||
|
|
||||||
step_4_info() { echo "Mariadb configuration"; }
|
|
||||||
step_4() {
|
|
||||||
addConf -c "$mariadbConfig" "$mariadbConfigLoc"
|
|
||||||
|
|
||||||
echo -n " [I] Restarting mysql ... "
|
|
||||||
exe service mysql restart
|
|
||||||
endReturn -o $? "Mariadb error during startup"
|
|
||||||
echo "ok"
|
|
||||||
}
|
|
||||||
|
|
||||||
mariadbConfigLoc="/etc/mysql/mariadb.conf.d/90-myconfig.cnf"
|
|
||||||
mariadbConfig="\
|
|
||||||
[mysqld]
|
|
||||||
innodb_large_prefix=on
|
|
||||||
innodb_file_format=barracuda
|
|
||||||
innodb_file_per_table=true
|
|
||||||
|
|
||||||
lower_case_table_names=0
|
|
||||||
|
|
||||||
#innodb_force_recovery=6"
|
|
||||||
|
|
||||||
step_5_info() { echo -e "Installation of $phpName packages:\n $phpPackages"; }
|
|
||||||
step_5() {
|
|
||||||
exe apt install $phpPackages
|
exe apt install $phpPackages
|
||||||
endReturn -o $? "$phpName error during startup"
|
endReturn -o $? "$phpName error during startup"
|
||||||
}
|
}
|
||||||
|
|
||||||
phpFpmConfigLocation="/etc/php/${phpVersion}/fpm/conf.d/90-custom_pi.ini"
|
phpFpmConfigLocation="/etc/php/${phpVersion}/fpm/conf.d/90-custom_pi.ini"
|
||||||
phpFpmConfig="\
|
phpFpmConfig="\
|
||||||
post_max_size=64M
|
post_max_size=64M
|
||||||
@@ -107,8 +77,8 @@ phpCliConfigLocation="/etc/php/${phpVersion}/cli/conf.d/90-custom_pi.ini"
|
|||||||
phpCliConfig="\
|
phpCliConfig="\
|
||||||
date.timezone = Europe/Berlin"
|
date.timezone = Europe/Berlin"
|
||||||
|
|
||||||
step_6_info() { echo -e "Configuration of ${phpName} fpm and cli\n"; }
|
step_4_info() { echo -e "Configuration of ${phpName} fpm and cli\n"; }
|
||||||
step_6() {
|
step_4() {
|
||||||
addConf -c "$phpFpmConfig" "$phpFpmConfigLocation"
|
addConf -c "$phpFpmConfig" "$phpFpmConfigLocation"
|
||||||
addConf -c "$phpCliConfig" "$phpCliConfigLocation"
|
addConf -c "$phpCliConfig" "$phpCliConfigLocation"
|
||||||
|
|
||||||
@@ -118,75 +88,5 @@ step_6() {
|
|||||||
echo "ok"
|
echo "ok"
|
||||||
}
|
}
|
||||||
|
|
||||||
step_10_info() { echo -e "Create mysql database without specific characterset\n"; }
|
VERSION_SEQREV=9
|
||||||
step_10_alias() { ALIAS="createdb"; }
|
. /usr/local/bin/sequencer.sh
|
||||||
step_10() {
|
|
||||||
local mysqlDatabase
|
|
||||||
local mysqlUser
|
|
||||||
local mysqlPass
|
|
||||||
|
|
||||||
echo "Existing mysql databases:"
|
|
||||||
exe mysql -u root -e 'SHOW DATABASES;'
|
|
||||||
|
|
||||||
read -p "Enter database name: " mysqlDatabase
|
|
||||||
endCheckEmpty mysqlDatabase "database name"
|
|
||||||
exe mysql -u root -e 'CREATE DATABASE '$mysqlDatabase';'
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
|
|
||||||
echo "Existing mysql user:"
|
|
||||||
exe mysql -u root -e 'SELECT User, Host FROM mysql.user;'
|
|
||||||
read -p "Enter mysql user name: " mysqlUser
|
|
||||||
endCheckEmpty mysqlDatabase "user name"
|
|
||||||
|
|
||||||
read -p "Enter mysql user password: " mysqlPass
|
|
||||||
endCheckEmpty mysqlPass "password"
|
|
||||||
exe mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';'
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
|
|
||||||
exe mysql -u root -e 'GRANT ALL PRIVILEGES ON '$mysqlDatabase'.* TO '"'"$mysqlUser"'"'@'"'"'localhost'"'"';'
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
|
|
||||||
exe mysql -u root -e 'FLUSH PRIVILEGES;'
|
|
||||||
}
|
|
||||||
|
|
||||||
step_12_info() { echo -e "Create mysql database with characterset utf8mb4\n"; }
|
|
||||||
step_12_alias() { ALIAS="createdb_utf8mb4"; }
|
|
||||||
step_12() {
|
|
||||||
local mysqlDatabase
|
|
||||||
local mysqlUser
|
|
||||||
local mysqlPass
|
|
||||||
|
|
||||||
echo "Existing mysql databases:"
|
|
||||||
exe mysql -u root -e 'SHOW DATABASES;'
|
|
||||||
|
|
||||||
read -p "Enter database name: " mysqlDatabase
|
|
||||||
endCheckEmpty mysqlDatabase "database name"
|
|
||||||
# it is recommended NOT to use utf8mb4_general_ci anymore
|
|
||||||
exe mysql -u root -e 'CREATE DATABASE '$mysqlDatabase' CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;'
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
|
|
||||||
echo "Existing mysql user:"
|
|
||||||
exe mysql -u root -e 'SELECT User, Host FROM mysql.user;'
|
|
||||||
read -p "Enter mysql user name: " mysqlUser
|
|
||||||
endCheckEmpty mysqlDatabase "user name"
|
|
||||||
|
|
||||||
read -p "Enter mysql user password: " mysqlPass
|
|
||||||
endCheckEmpty mysqlPass "password"
|
|
||||||
exe mysql -u root -e 'CREATE USER '"'"$mysqlUser"'"'@'"'"'localhost'"'"' IDENTIFIED BY '"'"$mysqlPass"'"';'
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
|
|
||||||
exe mysql -u root -e 'GRANT ALL PRIVILEGES ON '$mysqlDatabase'.* TO '"'"$mysqlUser"'"'@'"'"'localhost'"'"';'
|
|
||||||
saveReturn $?
|
|
||||||
endReturn
|
|
||||||
|
|
||||||
exe mysql -u root -e 'FLUSH PRIVILEGES;'
|
|
||||||
}
|
|
||||||
|
|
||||||
VERSION_SEQREV=7
|
|
||||||
|
|
||||||
. sequencer.sh
|
|
||||||
|
Reference in New Issue
Block a user