Commit 465978ae authored by w4t's avatar w4t

wtserver 0.44

parent eef5c5dd
......@@ -282,7 +282,7 @@ AskQuestions() {
fi
while [ "x$CFG_CLOUDDBTYPE" == "x" ]; do
CFG_CLOUDDBTYPE=$(whiptail --title "$CFG_CLOUDTYPE Database Type" --backtitle "$WT_BACKTITLE" --nocancel --radiolist "Select database type for $CFG_CLOUDTYPE:" $WT_HEIGHT $WT_WIDTH 2 "mysql" "(default)" ON "sqlite" "" OFF 3>&1 1>&2 2>&3)
CFG_CLOUDDBTYPE=$(whiptail --title "$CFG_CLOUDTYPE Database Type" --backtitle "$WT_BACKTITLE" --nocancel --radiolist "Select database type for $CFG_CLOUDTYPE:" $WT_HEIGHT $WT_WIDTH 2 "mysql/mariadb" "(default)" ON "sqlite" "" OFF 3>&1 1>&2 2>&3)
done
while [[ ! "$CFG_CLOUDDBHOST" =~ $RE ]]; do
......
......@@ -187,18 +187,24 @@ EOF
CFG_CLOUDADMINPWD=$(dd if=/dev/urandom bs=1 count=64 2>/dev/null | sha256sum | fold -w 40 | head -n 1)
case $CFG_CLOUDDBTYPE in
"mysql")
"mysql/mariadb")
echo -n -e "$IDENTATION_LVL_2 Configuring phpMyAdmin database... "
if [ "$CFG_SQLSERVER" == "MariaDB" ]; then
SQL_COMMAND="mariadb"
else
SQL_COMMAND="mysql"
fi
if [ $CFG_CLOUDDBHOST == "localhost" ]; then
mariadb -u $dbruser -p$CFG_MYSQL_ROOT_PWD -e "CREATE DATABASE $CFG_CLOUDDBNAME" > /dev/null 2>&1
#mysql -u $dbruser -p$CFG_MYSQL_ROOT_PWD -e "CREATE DATABASE $CFG_CLOUDDBNAME CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" > /dev/null 2>&1
mariadb -u $dbruser -p$CFG_MYSQL_ROOT_PWD -e "USE $CFG_CLOUDDBNAME" > /dev/null 2>&1
mariadb -u $dbruser -p$CFG_MYSQL_ROOT_PWD -e "GRANT ALL PRIVILEGES ON $CFG_CLOUDDBNAME.* TO '$CFG_CLOUDDBUSER'@'localhost' IDENTIFIED BY '$CFG_CLOUDDBPWD'" > /dev/null 2>&1
mysql -u $dbruser -p$CFG_MYSQL_ROOT_PWD -e "flush privileges;" > /dev/null 2>&1
$SQL_COMMAND -u $dbruser -p$CFG_MYSQL_ROOT_PWD -e "CREATE DATABASE $CFG_CLOUDDBNAME" > /dev/null 2>&1
#$SQL_COMMAND -u $dbruser -p$CFG_MYSQL_ROOT_PWD -e "CREATE DATABASE $CFG_CLOUDDBNAME CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" > /dev/null 2>&1
$SQL_COMMAND -u $dbruser -p$CFG_MYSQL_ROOT_PWD -e "USE $CFG_CLOUDDBNAME" > /dev/null 2>&1
$SQL_COMMAND -u $dbruser -p$CFG_MYSQL_ROOT_PWD -e "GRANT ALL PRIVILEGES ON $CFG_CLOUDDBNAME.* TO '$CFG_CLOUDDBUSER'@'localhost' IDENTIFIED BY '$CFG_CLOUDDBPWD'" > /dev/null 2>&1
$SQL_COMMAND -u $dbruser -p$CFG_MYSQL_ROOT_PWD -e "flush privileges;" > /dev/null 2>&1
else
mysql -u $dbruser -p$CFG_MYSQL_ROOT_PWD -h $CFG_CLOUDDBHOST -e "CREATE DATABASE $CFG_CLOUDDBNAME" > /dev/null 2>&1
mysql -u $dbruser -p$CFG_MYSQL_ROOT_PWD -h $CFG_CLOUDDBHOST -e "USE $CFG_CLOUDDBNAME" > /dev/null 2>&1
mysql -u $dbruser -p$CFG_MYSQL_ROOT_PWD -h $CFG_CLOUDDBHOST -e "GRANT ALL PRIVILEGES ON $CFG_CLOUDDBNAME.* TO '$CFG_CLOUDDBUSER'@'%' IDENTIFIED BY '$CFG_CLOUDDBPWD'" > /dev/null 2>&1
mysql -u $dbruser -p$CFG_MYSQL_ROOT_PWD -e "flush privileges;" > /dev/null 2>&1
$SQL_COMMAND -u $dbruser -p$CFG_MYSQL_ROOT_PWD -h $CFG_CLOUDDBHOST -e "CREATE DATABASE $CFG_CLOUDDBNAME" > /dev/null 2>&1
$SQL_COMMAND -u $dbruser -p$CFG_MYSQL_ROOT_PWD -h $CFG_CLOUDDBHOST -e "USE $CFG_CLOUDDBNAME" > /dev/null 2>&1
$SQL_COMMAND -u $dbruser -p$CFG_MYSQL_ROOT_PWD -h $CFG_CLOUDDBHOST -e "GRANT ALL PRIVILEGES ON $CFG_CLOUDDBNAME.* TO '$CFG_CLOUDDBUSER'@'%' IDENTIFIED BY '$CFG_CLOUDDBPWD'" > /dev/null 2>&1
$SQL_COMMAND -u $dbruser -p$CFG_MYSQL_ROOT_PWD -e "flush privileges;" > /dev/null 2>&1
fi
# Enable UTF8mb4 (4-byte support)
......@@ -221,21 +227,27 @@ EOF
cat > $CLOUD_DIR/config/autoconfig.php <<EOF;
<?php
\$AUTOCONFIG = array (
# storage/database
"directory" => "$STORAGE_ROOT/nextcloud",
"dbtype" => "mysql",
"dbname" => "$CFG_CLOUDDBNAME",
"dbuser" => "$CFG_CLOUDDBUSER",
# Database settings
"directory" => "$STORAGE_ROOT/nextcloud",
"dbtype" => "mysql",
"dbname" => "$CFG_CLOUDDBNAME",
"dbuser" => "$CFG_CLOUDDBUSER",
"dbpass" => "$CFG_CLOUDDBPWD",
"dbhost" => "$CFG_CLOUDDBHOST",
"dbport" => "3306",
"dbtableprefix" => "",
"dbtableprefix" => "oc_",
# create an administrator account with a random password so that
# the user does not have to enter anything on first load of Nextcloud
"adminlogin" => "$CFG_CLOUDADMINUSER",
"adminpass" => "$CFG_CLOUDADMINPWD",
"directory" => "$STORAGE_ROOT/nextcloud",
// E-mail beállítások
"mail_from_address" => "cloud_administrator@$CFG_HOSTNAME_DOMAIN",
"mail_domain" => "$CFG_HOSTNAME_DOMAIN",
"instanceid" => "oc1234567890abc", // Egyedi példányazonosító
);
?>
EOF
......@@ -249,18 +261,18 @@ EOF
# settings and deletes the autoconfig.php file.
(cd $CLOUD_DIR || exit; sudo -u www-data php8.2 $CLOUD_DIR/index.php;)
sudo -u www-data php8.2 "$CLOUD_DIR"/occ maintenance:install \
--database "mysql" \
--database-name "$CFG_CLOUDDBNAME" \
--database-user "$CFG_CLOUDDBUSER" \
--database-pass "$CFG_CLOUDDBPWD" \
--database-host "$CFG_CLOUDDBHOST" \
--database-port "3306" \
--admin-user "$CFG_CLOUDADMINUSER" \
--admin-pass "$CFG_CLOUDADMINPWD" \
--data-dir "$STORAGE_ROOT/nextcloud" \
--admin-email "cloud@$CFG_HOSTNAME_DOMAIN" \
--instanceid "$instanceid"
#sudo -u www-data php8.2 "$CLOUD_DIR"/occ maintenance:install \
#--database "mysql" \
#--database-name "$CFG_CLOUDDBNAME" \
#--database-user "$CFG_CLOUDDBUSER" \
#--database-pass "$CFG_CLOUDDBPWD" \
#--database-host "$CFG_CLOUDDBHOST" \
#--database-port "3306" \
#--admin-user "$CFG_CLOUDADMINUSER" \
#--admin-pass "$CFG_CLOUDADMINPWD" \
#--data-dir "$STORAGE_ROOT/nextcloud" \
#--admin-email "cloud@$CFG_HOSTNAME_DOMAIN" \
#--instanceid "$instanceid"
# Set SMTP mail
#sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set mail_smtpmode --value="smtp"
......@@ -271,11 +283,11 @@ EOF
sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set trusted_domains 2 --value=cloud.$CFG_HOSTNAME_DOMAIN
sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set memcache.local --value '\OC\Memcache\APCu'
sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set mail_from_address --value 'cloud_administrator'
#sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set mail_from_address --value 'cloud_administrator'
#sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set mail_domain --value=$CFG_HOSTNAME_DOMAIN
TIMEZONE=$(cat /etc/timezone)
sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set logtimezone --value=$TIMEZONE
sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set logdateformat --value 'Y-m-d H:i:s'
sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set mail_domain --value=$CFG_HOSTNAME_DOMAIN
sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set overwrite.cli.url --value 'https://$CFG_HOSTNAME_DOMAIN/cloud'
sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set log_type --value 'syslog'
sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set syslog_tag --value 'Nextcloud'
......@@ -304,7 +316,7 @@ EOF
# The firstrunwizard gave Josh all sorts of problems, so disabling that.
# user_external is what allows Nextcloud to use IMAP for login. The contacts
# and calendar apps are the extensions we really care about here.
hide_output sudo -u www-data php8.2 $CLOUD_DIR/console.php app:disable firstrunwizard
#hide_output sudo -u www-data php8.2 $CLOUD_DIR/console.php app:disable firstrunwizard
hide_output sudo -u www-data php8.2 $CLOUD_DIR/console.php app:enable user_external
hide_output sudo -u www-data php8.2 $CLOUD_DIR/console.php app:enable contacts
hide_output sudo -u www-data php8.2 $CLOUD_DIR/console.php app:enable calendar
......
......@@ -169,10 +169,15 @@ InstallRoundcubeLatest() {
fi
# Configure Roundcube database
echo -n -e "$IDENTATION_LVL_2 Configuring Roundcube database... "
mariadb -uroot -p$CFG_MYSQL_ROOT_PWD -e "CREATE DATABASE ${CFG_ROUNDCUBE_DB}" > /dev/null 2>&1
mariadb -uroot -p$CFG_MYSQL_ROOT_PWD -e "GRANT ALL PRIVILEGES ON ${CFG_ROUNDCUBE_DB}.* TO ${CFG_ROUNDCUBE_USR}@localhost IDENTIFIED BY '$CFG_ROUNDCUBE_PWD'" > /dev/null 2>&1
mariadb -uroot -p$CFG_MYSQL_ROOT_PWD -e "flush privileges;" > /dev/null 2>&1
mariadb -uroot -p"$CFG_MYSQL_ROOT_PWD" ${CFG_ROUNDCUBE_DB} < /usr/share/roundcube/SQL/mysql.initial.sql
if [ "$CFG_SQLSERVER" == "MariaDB" ]; then
SQL_COMMAND="mariadb"
else
SQL_COMMAND="mysql"
fi
$SQL_COMMAND -uroot -p$CFG_MYSQL_ROOT_PWD -e "CREATE DATABASE ${CFG_ROUNDCUBE_DB}" > /dev/null 2>&1
$SQL_COMMAND -uroot -p$CFG_MYSQL_ROOT_PWD -e "GRANT ALL PRIVILEGES ON ${CFG_ROUNDCUBE_DB}.* TO ${CFG_ROUNDCUBE_USR}@localhost IDENTIFIED BY '$CFG_ROUNDCUBE_PWD'" > /dev/null 2>&1
$SQL_COMMAND -uroot -p$CFG_MYSQL_ROOT_PWD -e "flush privileges;" > /dev/null 2>&1
$SQL_COMMAND -uroot -p"$CFG_MYSQL_ROOT_PWD" ${CFG_ROUNDCUBE_DB} < /usr/share/roundcube/SQL/mysql.initial.sql
cp -pf /usr/share/roundcube/config/config.inc.php.sample /usr/share/roundcube/config/config.inc.php
CFG_ROUNDCUBE_PRODUCTNAME=$(echo "$CFG_HOSTNAME_DOMAIN" | cut -d. -f1 | sed 's/\b\(.\)/\u\1/g')
sed -i "s/\$config\['product_name'\] = 'Roundcube Webmail';/\$config\['product_name'\] = '$CFG_ROUNDCUBE_PRODUCTNAME Webmail';/" /usr/share/roundcube/config/config.inc.php
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment