Commit 465978ae authored by w4t's avatar w4t

wtserver 0.44

parent eef5c5dd
...@@ -282,7 +282,7 @@ AskQuestions() { ...@@ -282,7 +282,7 @@ AskQuestions() {
fi fi
while [ "x$CFG_CLOUDDBTYPE" == "x" ]; do 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 done
while [[ ! "$CFG_CLOUDDBHOST" =~ $RE ]]; do while [[ ! "$CFG_CLOUDDBHOST" =~ $RE ]]; do
......
...@@ -187,18 +187,24 @@ EOF ...@@ -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) CFG_CLOUDADMINPWD=$(dd if=/dev/urandom bs=1 count=64 2>/dev/null | sha256sum | fold -w 40 | head -n 1)
case $CFG_CLOUDDBTYPE in 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 if [ $CFG_CLOUDDBHOST == "localhost" ]; then
mariadb -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" > /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 #$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
mariadb -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 "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 $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
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 "flush privileges;" > /dev/null 2>&1
else else
mysql -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 "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 $SQL_COMMAND -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 $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
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 "flush privileges;" > /dev/null 2>&1
fi fi
# Enable UTF8mb4 (4-byte support) # Enable UTF8mb4 (4-byte support)
...@@ -221,7 +227,7 @@ EOF ...@@ -221,7 +227,7 @@ EOF
cat > $CLOUD_DIR/config/autoconfig.php <<EOF; cat > $CLOUD_DIR/config/autoconfig.php <<EOF;
<?php <?php
\$AUTOCONFIG = array ( \$AUTOCONFIG = array (
# storage/database # Database settings
"directory" => "$STORAGE_ROOT/nextcloud", "directory" => "$STORAGE_ROOT/nextcloud",
"dbtype" => "mysql", "dbtype" => "mysql",
"dbname" => "$CFG_CLOUDDBNAME", "dbname" => "$CFG_CLOUDDBNAME",
...@@ -229,13 +235,19 @@ EOF ...@@ -229,13 +235,19 @@ EOF
"dbpass" => "$CFG_CLOUDDBPWD", "dbpass" => "$CFG_CLOUDDBPWD",
"dbhost" => "$CFG_CLOUDDBHOST", "dbhost" => "$CFG_CLOUDDBHOST",
"dbport" => "3306", "dbport" => "3306",
"dbtableprefix" => "", "dbtableprefix" => "oc_",
# create an administrator account with a random password so that # create an administrator account with a random password so that
# the user does not have to enter anything on first load of Nextcloud # the user does not have to enter anything on first load of Nextcloud
"adminlogin" => "$CFG_CLOUDADMINUSER", "adminlogin" => "$CFG_CLOUDADMINUSER",
"adminpass" => "$CFG_CLOUDADMINPWD", "adminpass" => "$CFG_CLOUDADMINPWD",
"directory" => "$STORAGE_ROOT/nextcloud", "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 EOF
...@@ -249,18 +261,18 @@ EOF ...@@ -249,18 +261,18 @@ EOF
# settings and deletes the autoconfig.php file. # settings and deletes the autoconfig.php file.
(cd $CLOUD_DIR || exit; sudo -u www-data php8.2 $CLOUD_DIR/index.php;) (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 \ #sudo -u www-data php8.2 "$CLOUD_DIR"/occ maintenance:install \
--database "mysql" \ #--database "mysql" \
--database-name "$CFG_CLOUDDBNAME" \ #--database-name "$CFG_CLOUDDBNAME" \
--database-user "$CFG_CLOUDDBUSER" \ #--database-user "$CFG_CLOUDDBUSER" \
--database-pass "$CFG_CLOUDDBPWD" \ #--database-pass "$CFG_CLOUDDBPWD" \
--database-host "$CFG_CLOUDDBHOST" \ #--database-host "$CFG_CLOUDDBHOST" \
--database-port "3306" \ #--database-port "3306" \
--admin-user "$CFG_CLOUDADMINUSER" \ #--admin-user "$CFG_CLOUDADMINUSER" \
--admin-pass "$CFG_CLOUDADMINPWD" \ #--admin-pass "$CFG_CLOUDADMINPWD" \
--data-dir "$STORAGE_ROOT/nextcloud" \ #--data-dir "$STORAGE_ROOT/nextcloud" \
--admin-email "cloud@$CFG_HOSTNAME_DOMAIN" \ #--admin-email "cloud@$CFG_HOSTNAME_DOMAIN" \
--instanceid "$instanceid" #--instanceid "$instanceid"
# Set SMTP mail # Set SMTP mail
#sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set mail_smtpmode --value="smtp" #sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set mail_smtpmode --value="smtp"
...@@ -271,11 +283,11 @@ EOF ...@@ -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 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 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) 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 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 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 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 log_type --value 'syslog'
sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set syslog_tag --value 'Nextcloud' sudo -u www-data php8.2 "$CLOUD_DIR"/occ config:system:set syslog_tag --value 'Nextcloud'
...@@ -304,7 +316,7 @@ EOF ...@@ -304,7 +316,7 @@ EOF
# The firstrunwizard gave Josh all sorts of problems, so disabling that. # The firstrunwizard gave Josh all sorts of problems, so disabling that.
# user_external is what allows Nextcloud to use IMAP for login. The contacts # user_external is what allows Nextcloud to use IMAP for login. The contacts
# and calendar apps are the extensions we really care about here. # 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 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 contacts
hide_output sudo -u www-data php8.2 $CLOUD_DIR/console.php app:enable calendar hide_output sudo -u www-data php8.2 $CLOUD_DIR/console.php app:enable calendar
......
...@@ -169,10 +169,15 @@ InstallRoundcubeLatest() { ...@@ -169,10 +169,15 @@ InstallRoundcubeLatest() {
fi fi
# Configure Roundcube database # Configure Roundcube database
echo -n -e "$IDENTATION_LVL_2 Configuring 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 if [ "$CFG_SQLSERVER" == "MariaDB" ]; then
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 SQL_COMMAND="mariadb"
mariadb -uroot -p$CFG_MYSQL_ROOT_PWD -e "flush privileges;" > /dev/null 2>&1 else
mariadb -uroot -p"$CFG_MYSQL_ROOT_PWD" ${CFG_ROUNDCUBE_DB} < /usr/share/roundcube/SQL/mysql.initial.sql 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 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') 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 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