#!/bin/bash
### MODUL-NR. 011 ###
# (c) August 2008 Stefan Schäfer / FSP Computer & Netzwerke
# (c) 2009-2017 Stefan Schäfer / invis-server.org / stefan@invis-server.org
# (c) 2013,2014 Dimitri Asarowski / invis-server.org / dimitri@invis-server.org
# (c) 2013-2017 Ingo Göppert / invis-server.org / ingo@invis-server.org

# License: GPLv3
# Questions: info@invis-server.org

# Hier Kurzbeschreibung des Moduls einfügen

# Insert short description of this module here

# Dieses Programm ist freie Software. Sie können es unter den Bedingungen der 
# GNU General Public License, wie von der Free Software Foundation veröffentlicht,
# weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder
# (nach Ihrer Option) jeder späteren Version.

# Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen
# von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite 
# Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. 
# Details finden Sie in der GNU General Public License.

# Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem 
# Programm erhalten haben. Falls nicht, siehe <http://www.gnu.org/licenses/>. 

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

# include functions
source $SINEINCLUDEDIR/functions

modulename=`basename $0`

clear
windowtitle="MariaDB Server"
pgsubtitle="Preparing MariaDB Server, this take a little time..."

waitinfobox "Für MariaDB werden Einstellungen zur Speichernutzung getroffen
die sich am verfügbaren RAM des Servers und den Empfehlungen von Kopano orientieren. 
Bei weniger als 2GB RAM werden ca. 30%, bei 2-4GB
RAM ca. 40% und bei mehr als 4GB RAM ca 50% des RAMs reserviert.
Beachten Sie dies beispielsweise bei der Einrichtung virtueller Maschinen." "Speicherreservierung für MariaDB"

cp $TEMPLATEDIR/$modulename/config.inc.php /srv/www/htdocs/phpMyAdmin/config.inc.php
chown wwwrun:www /srv/www/htdocs/phpMyAdmin/config.inc.php
# MySQL Config schreiben, Speichereinstellungen anpassen
# und in Runlevel integrieren und starten.
cp $TEMPLATEDIR/$modulename/my.cnf /etc/
memsizes=($(kmemcalc))
path="/etc/"
file="my.cnf"
string="innodbbps%${memsizes[0]}M"
changevalues $path $file "$string"

string="innodblfs%${memsizes[1]}M"
changevalues $path $file "$string"

chkservice "mysql"

# Der besch. systemd wartet einfach nicht lange genug auf den MySQL Socket
until [[ -S /var/run/mysql/mysql.sock ]]; do
    echo "Warte, bis der MySQL-Socket erscheint. ;-)" | pgbox
    sleep 2 | pgbox
done

# Restart, weil systemd ggf. glaubt, dass mysql nicht laeuft.
systemctl restart mysql.service 2>&1|tee -a $LOGFILE |pgbox

#MySQL Root-Passwort setzen
mysqlpw=`getconfdata "MySQLpw" "2"`
mysqladmin password $mysqlpw

# Neuaufbau der Postfix chroot Umgebung zur Unsterstützung von mysql.sock 
chkservice "postfix"

