diff --git a/dapostinstall.sh b/dapostinstall.sh index 67f9262..d5b789f 100755 --- a/dapostinstall.sh +++ b/dapostinstall.sh @@ -73,6 +73,7 @@ install_local_plugin_archive() { local archive="$1" local plugin_name local plugin_dir + local install_script plugin_name="$(basename "$archive" .tar.gz)" plugin_dir="$DADIR/plugins/$plugin_name" @@ -81,21 +82,36 @@ install_local_plugin_archive() { rm -rf "$plugin_dir" mkdir -p "$plugin_dir" tar -zxf "$archive" -C "$plugin_dir" + chown -R diradmin:diradmin "$plugin_dir" if [[ -f "$plugin_dir/install.sh" ]]; then + install_script="./install.sh" chmod 755 "$plugin_dir/install.sh" - ( - cd "$plugin_dir" - ./install.sh - ) + elif [[ -f "$plugin_dir/scripts/install.sh" ]]; then + install_script="./scripts/install.sh" + chmod 755 "$plugin_dir/scripts/install.sh" else - fail "Brak wykonywalnego install.sh w $plugin_dir" + fail "Brak install.sh w $plugin_dir" + fi + + ( + cd "$plugin_dir" + "$install_script" + ) + + if [[ "$plugin_name" == "imapsync" ]]; then + echo 'imapsync=ON' >> /usr/local/directadmin/data/users/admin/user.conf + cp "$DAPOSTINSTALL_DIR/lang_pl.php" "$plugin_dir/lang" + chown -R diradmin:diradmin "$plugin_dir" fi if [[ "$plugin_name" == "redis-manager" ]]; then require_file "$DADIR/plugins/redis-manager/scripts/redis_install.sh" chmod 755 "$DADIR/plugins/redis-manager/scripts/redis_install.sh" - "$DADIR/plugins/redis-manager/scripts/redis_install.sh" "$REDIS_VERSION" + ( + cd "$plugin_dir" + ./scripts/redis_install.sh "$REDIS_VERSION" + ) fi } @@ -483,18 +499,12 @@ sed -i 's^/etc/ssh/sshd_config^/etc/ssh/sshd_config_placebo^g' $DADIR/conf/direc systemctl restart directadmin echo "Instalacja pluginów DirectAdmin" +echo "Instalacja pakietu IMAPsync" +dnf -y install imapsync cd $DAPOSTINSTALL_DIR install_local_plugins cd $DAPOSTINSTALL_DIR -echo "Instalacja IMAPsync" -dnf -y install imapsync -mkdir $DADIR/plugins/imapsync -tar -zxf imapsync.tar.gz -C $DADIR/plugins/imapsync -$DADIR/plugins/imapsync/scripts/install.sh -echo 'imapsync=ON' >> /usr/local/directadmin/data/users/admin/user.conf -cp lang_pl.php $DADIR/plugins/imapsync/lang - echo "instalacja promptów" sh prompt.sh echo "Blokada dostępu do pluginu CustomBuild i informacjach o licencji" diff --git a/imapsync.tar.gz b/imapsync.tar.gz deleted file mode 100644 index fcc1d74..0000000 Binary files a/imapsync.tar.gz and /dev/null differ diff --git a/plugins/imapsync.tar.gz b/plugins/imapsync.tar.gz new file mode 100644 index 0000000..c63a262 Binary files /dev/null and b/plugins/imapsync.tar.gz differ diff --git a/tests/quality_checks.sh b/tests/quality_checks.sh index 7faeb89..fbead8a 100644 --- a/tests/quality_checks.sh +++ b/tests/quality_checks.sh @@ -79,14 +79,17 @@ assert_archive_clean_for_linux_tar "$ROOT_DIR/branding/da-branding-hitme.tar.gz" [[ -f "$ROOT_DIR/plugins/borg-restore.tar.gz" ]] || fail "missing borg-restore plugin archive" [[ -f "$ROOT_DIR/plugins/db-manager.tar.gz" ]] || fail "missing db-manager plugin archive" [[ -f "$ROOT_DIR/plugins/redis-manager.tar.gz" ]] || fail "missing redis-manager plugin archive" +[[ -f "$ROOT_DIR/plugins/imapsync.tar.gz" ]] || fail "missing imapsync plugin archive" assert_archive_clean_for_linux_tar "$ROOT_DIR/plugins/borg-restore.tar.gz" assert_archive_clean_for_linux_tar "$ROOT_DIR/plugins/db-manager.tar.gz" assert_archive_clean_for_linux_tar "$ROOT_DIR/plugins/redis-manager.tar.gz" +assert_archive_clean_for_linux_tar "$ROOT_DIR/plugins/imapsync.tar.gz" assert_gzip_tar_contains "$ROOT_DIR/plugins/borg-restore.tar.gz" './install.sh' assert_gzip_tar_contains "$ROOT_DIR/plugins/db-manager.tar.gz" './install.sh' assert_gzip_tar_contains "$ROOT_DIR/plugins/redis-manager.tar.gz" './install.sh' assert_gzip_tar_contains "$ROOT_DIR/plugins/redis-manager.tar.gz" './scripts/redis_install.sh' assert_gzip_tar_contains "$ROOT_DIR/plugins/redis-manager.tar.gz" './scripts/redis_migrate.sh' +assert_gzip_tar_contains "$ROOT_DIR/plugins/imapsync.tar.gz" './scripts/install.sh' assert_file_contains "$ROOT_DIR/da_cli.sh" '^DEFAULTPACKAGE=NO-LIMIT$' assert_file_not_contains "$ROOT_DIR/da_cli.sh" '^eparated list of IP addresses$' @@ -174,14 +177,18 @@ assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'Brak paczek pluginów w \$PLU assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'plugin_name="\$\(basename "\$archive" \.tar\.gz\)"' assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'mkdir -p "\$plugin_dir"' assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'tar -zxf "\$archive" -C "\$plugin_dir"' +assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'chown -R diradmin:diradmin "\$plugin_dir"' assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'chmod 755 "\$plugin_dir/install\.sh"' +assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'chmod 755 "\$plugin_dir/scripts/install\.sh"' assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'cd "\$plugin_dir"' assert_file_contains "$ROOT_DIR/dapostinstall.sh" '\./install\.sh' +assert_file_contains "$ROOT_DIR/dapostinstall.sh" '\./scripts/install\.sh' assert_file_contains "$ROOT_DIR/dapostinstall.sh" 'chmod 755 "\$DADIR/plugins/redis-manager/scripts/redis_install\.sh"' -assert_file_contains "$ROOT_DIR/dapostinstall.sh" '"\$DADIR/plugins/redis-manager/scripts/redis_install\.sh" "\$REDIS_VERSION"' +assert_file_contains "$ROOT_DIR/dapostinstall.sh" '\./scripts/redis_install\.sh "\$REDIS_VERSION"' assert_file_not_contains "$ROOT_DIR/dapostinstall.sh" 'redis_migrate\.sh' assert_file_not_contains "$ROOT_DIR/dapostinstall.sh" 'redis_management\.tar\.gz' assert_file_not_contains "$ROOT_DIR/dapostinstall.sh" 'plugins/redis_management' +assert_file_not_contains "$ROOT_DIR/dapostinstall.sh" 'tar -zxf imapsync\.tar\.gz' assert_file_contains "$ROOT_DIR/mail_powitalny.txt" '\{\{DA_HOSTNAME\}\}' assert_file_contains "$ROOT_DIR/mail_powitalny.txt" '\{\{DA_HASLO\}\}' assert_file_contains "$ROOT_DIR/mail_powitalny.txt" '\{\{DA_PHP_LIST\}\}'