Commit c22523d6 authored by w4t's avatar w4t

wtserver 0.19

parent f6710673
......@@ -261,13 +261,15 @@ EOF
chown -R mail:mail "$STORAGE_ROOT/mail/sieve"
# Allow the IMAP/POP ports in the firewall.
ufw_allow imaps
ufw_allow pop3s
#ufw_allow imaps
#ufw_allow pop3s
ufw allow imaps > /dev/null;
ufw allow pop3s > /dev/null;
# Allow the Sieve port in the firewall.
ufw_allow sieve
#ufw_allow sieve
ufw allow pop3s > /dev/null;
# Restart services.
# Restart services
restart_service dovecot
echo -e "[${green}DONE${NC}]"
......
......@@ -88,7 +88,7 @@ InstallRoundcube() {
#---------------------------------------------------------------------
InstallRoundcubeStable() {
# Configure Roundcube database
echo -e "$IDENTATION_LVL_2 Configuring Roundcube database... "
echo -n -e "$IDENTATION_LVL_2 Configuring Roundcube database... "
#CFG_ROUNDCUBE_PWD=$(< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c16)
echo "roundcube-core roundcube/dbconfig-install boolean true" | debconf-set-selections
echo "roundcube-core roundcube/database-type select mysql" | debconf-set-selections
......@@ -100,17 +100,17 @@ InstallRoundcubeStable() {
echo -e "[${green}DONE${NC}]"
# Install Roundcube packages
echo -e "$IDENTATION_LVL_2 Installing Roundcube packages... "
echo -n -e "$IDENTATION_LVL_2 Installing Roundcube packages... "
apt_install roundcube-core roundcube roundcube-mysql roundcube-plugins
echo -e "[${green}DONE${NC}]"
# Configure Roundcube on WebServer
echo -e "$IDENTATION_LVL_2 Configuring Roundcube on WebServer... "
echo -n -e "$IDENTATION_LVL_2 Configuring Roundcube on WebServer... "
ConfigureRoundcubeWebServer
echo -e "[${green}DONE${NC}]"
# Integrate Roundcube with ISPConfig
echo -e "$IDENTATION_LVL_2 Integrating Roundcube with ISPConfig... "
echo -n -e "$IDENTATION_LVL_2 Integrating Roundcube with ISPConfig... "
IntegrateRoundcubeWithISPConfig
echo -e "[${green}DONE${NC}]"
}
......@@ -130,11 +130,12 @@ InstallRoundcubeLatest() {
#fi
# Install required PHP packages
echo -e "$IDENTATION_LVL_2 Installing required PHP packages... "
apt_install php8.2 php8.2-gd php8.2-mysql php8.2-curl php8.2-zip php8.2-ldap php8.2-mbstring php8.2-imagick php8.2-intl php8.2-xml php8.2-dom php8.2-xmlreader php8.2-xmlwriter php8.2-gettext php8.2-json php8.2-gd php8.2-bcmath php8.2-cgi php8.2-gmp php8.2-common php8.2-fpm php-pear unzip wget curl javascript-common libjs-jquery-mousewheel libjs-jquery libmagic1 tinymce
echo -n -e "$IDENTATION_LVL_2 Installing required PHP packages... "
apt_install php8.2 php8.2-gd php8.2-mysql php8.2-curl php8.2-zip php8.2-ldap php8.2-mbstring php8.2-imagick php8.2-intl php8.2-xml php8.2-dom php8.2-xmlreader php8.2-xmlwriter php8.2-gettext php8.2-gd php8.2-bcmath php8.2-cgi php8.2-gmp php8.2-common php8.2-fpm php-pear unzip wget curl javascript-common libjs-jquery-mousewheel libjs-jquery libmagic1
#tinymce
echo -e "[${green}DONE${NC}]"
echo -e "$IDENTATION_LVL_2 Installing required PHP pear packages... "
echo -n -e "$IDENTATION_LVL_2 Installing required PHP pear packages... "
pear channel-update pear.php.net
pear install Mail_Mime
pear install Auth_SASL
......@@ -154,7 +155,7 @@ InstallRoundcubeLatest() {
fi
if [ $needs_update == 1 ]; then
# Install Roundcube from source
echo -e "$IDENTATION_LVL_2 Installing Roundcube from source... "
echo -n -e "$IDENTATION_LVL_2 Installing Roundcube from source... "
wget_verify \
https://github.com/roundcube/roundcubemail/releases/download/$VERSION/roundcubemail-$VERSION-complete.tar.gz \
$HASH \
......@@ -167,7 +168,7 @@ InstallRoundcubeLatest() {
echo -e "[${green}DONE${NC}]"
fi
# Configure Roundcube database
echo -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
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
......@@ -178,24 +179,24 @@ InstallRoundcubeLatest() {
# Create writable directories
mkdir -p /var/log/roundcubemail /tmp/roundcubemail
chown -R www-data.www-data /var/log/roundcubemail /tmp/roundcubemail
chown -R www-data:www-data /var/log/roundcubemail /tmp/roundcubemail
# Ensure the log file monitored by fail2ban exists, or else fail2ban can't start.
# Ensure the log fchown -R www-data.www-data /var/log/roundcubemail /tmp/roundcubemailile monitored by fail2ban exists, or else fail2ban can't start.
sudo -u www-data touch /var/log/roundcubemail/errors
echo -e "[${green}DONE${NC}]"
# Install Roundcube plugins
echo -e "$IDENTATION_LVL_2 Installing Roundcube plugins... "
echo -n -e "$IDENTATION_LVL_2 Installing Roundcube plugins... "
InstallRoundcubePlugins
echo -e "[${green}DONE${NC}]"
# Configure Roundcube on WebServer
echo -e "$IDENTATION_LVL_2 Configuring Roundcube on WebServer... "
echo -n -e "$IDENTATION_LVL_2 Configuring Roundcube on WebServer... "
ConfigureRoundcubeWebServer
echo -e "[${green}DONE${NC}]"
# Integrate Roundcube with ISPConfig
echo -e "$IDENTATION_LVL_2 Integrating Roundcube with ISPConfig... "
echo -n -e "$IDENTATION_LVL_2 Integrating Roundcube with ISPConfig... "
IntegrateRoundcubeWithISPConfig
echo -e "[${green}DONE${NC}]"
}
......@@ -275,7 +276,7 @@ ConfigureRoundcubeWebServer() {
# Configure Apache for Roundcube
#---------------------------------------------------------------------
ConfigureApacheForRoundcube() {
echo -e "$IDENTATION_LVL_2 Configuring Apache for Roundcube..."
echo -n -e "$IDENTATION_LVL_2 Configuring Apache for Roundcube..."
# Backup the original Apache configuration file
mv /etc/roundcube/apache.conf /etc/roundcube/apache.conf.default
......@@ -389,7 +390,7 @@ ConfigureApacheForRoundcube() {
</IfModule>
EOF
echo -e "$IDENTATION_LVL_2 Apache configuration for Roundcube completed. [${green}DONE${NC}]"
echo -e "[${green}DONE${NC}]"
}
#---------------------------------------------------------------------
......@@ -397,11 +398,10 @@ EOF
# Configure Nginx for Roundcube
#---------------------------------------------------------------------
ConfigureNginxForRoundcube() {
echo -e "$IDENTATION_LVL_2 Configuring Nginx for Roundcube..."
echo -n -e "$IDENTATION_LVL_2 Configuring Nginx for Roundcube... "
# Determine the PHP socket path based on the installed PHP version
#local APPS_SOCKET="/var/run/php/php8.2-fpm.sock"
local APPS_SOCKET=$(GetPHPSocketPath)
local APPS_SOCKET="/var/run/php/php8.2-fpm.sock"
# Create a new Nginx configuration for Roundcube
cat > /etc/nginx/sites-available/webmail-roundcube.vhost <<EOF
......@@ -490,7 +490,7 @@ EOF
# Enable the Nginx configuration
ln -s /etc/nginx/sites-available/webmail-roundcube.vhost /etc/nginx/sites-enabled/000-webmail-roundcube.vhost
echo -e "$IDENTATION_LVL_2 Nginx configuration for Roundcube completed. [${green}DONE${NC}]"
echo -e "[${green}DONE${NC}]"
}
#---------------------------------------------------------------------
......@@ -555,7 +555,7 @@ InstallRainLoop() {
echo -e "$IDENTATION_LVL_1 Installing ${red}RainLoop${NC} WebMail Client..."
# Configure Roundcube database
echo -e "$IDENTATION_LVL_2 Configuring RainLoop database... "
echo -n -e "$IDENTATION_LVL_2 Configuring RainLoop database... "
mysql -uroot -p$CFG_MYSQL_ROOT_PWD -e "CREATE DATABASE ${CFG_ROUNDCUBE_DB}" > /dev/null 2>&1
mysql -uroot -p$CFG_MYSQL_ROOT_PWD -e "CREATE USER '$CFG_ROUNDCUBE_USR'@'localhost' IDENTIFIED BY '$CFG_ROUNDCUBE_PWD'" > /dev/null 2>&1
mysql -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
......@@ -579,7 +579,7 @@ InstallRainLoop() {
ConfigureNginxForRainLoop
fi
echo -e "$IDENTATION_LVL_2 RainLoop installation and configuration completed. [${green}DONE${NC}]"
echo -e "[${green}DONE${NC}]"
}
#---------------------------------------------------------------------
......@@ -587,7 +587,7 @@ InstallRainLoop() {
# Configure Apache for RainLoop
#---------------------------------------------------------------------
ConfigureApacheForRainLoop() {
echo -e "$IDENTATION_LVL_2 Configuring Apache for RainLoop..."
echo -n -e "$IDENTATION_LVL_2 Configuring Apache for RainLoop..."
# Create Apache configuration for RainLoop
cat > /etc/apache2/sites-available/rainloop.conf <<EOF
......@@ -632,7 +632,7 @@ EOF
a2ensite rainloop.conf
systemctl restart apache2
echo -e "$IDENTATION_LVL_2 Apache configuration for RainLoop completed. [${green}DONE${NC}]"
echo -e "[${green}DONE${NC}]"
}
#---------------------------------------------------------------------
......@@ -640,10 +640,10 @@ EOF
# Configure Nginx for RainLoop
#---------------------------------------------------------------------
ConfigureNginxForRainLoop() {
echo -e "$IDENTATION_LVL_2 Configuring Nginx for RainLoop..."
echo -n -e "$IDENTATION_LVL_2 Configuring Nginx for RainLoop..."
# Determine the PHP socket path based on the installed PHP version
local APPS_SOCKET=$(GetPHPSocketPath)
local APPS_SOCKET="/var/run/php/php8.2-fpm.sock"
# Create Nginx configuration for RainLoop
cat > /etc/nginx/sites-available/rainloop.conf <<EOF
......@@ -700,7 +700,7 @@ EOF
ln -s /etc/nginx/sites-available/rainloop.conf /etc/nginx/sites-enabled/
systemctl restart nginx
echo -e "$IDENTATION_LVL_2 Nginx configuration for RainLoop completed. [${green}DONE${NC}]"
echo -e "[${green}DONE${NC}]"
}
#---------------------------------------------------------------------
......@@ -708,7 +708,7 @@ EOF
# Install and configure SOGo Groupware from GitHub
#---------------------------------------------------------------------
InstallSOGo() {
echo -e "$IDENTATION_LVL_1 Installing ${red}SOGo${NC} Groupware from GitHub..."
echo -n -e "$IDENTATION_LVL_1 Installing ${red}SOGo${NC} Groupware from GitHub..."
# Install dependencies
apt_install gnustep-make gnustep-base-runtime gnustep-base-common gnustep-base-dev \
......@@ -736,7 +736,7 @@ InstallSOGo() {
ConfigureNginxForSOGo
fi
echo -e "$IDENTATION_LVL_2 SOGo installation and configuration completed. [${green}DONE${NC}]"
echo -e "[${green}DONE${NC}]"
}
#---------------------------------------------------------------------
......@@ -744,7 +744,7 @@ InstallSOGo() {
# Configure Apache for SOGo
#---------------------------------------------------------------------
ConfigureApacheForSOGo() {
echo -e "$IDENTATION_LVL_2 Configuring Apache for SOGo..."
echo -n -e "$IDENTATION_LVL_2 Configuring Apache for SOGo..."
# Create Apache configuration for SOGo
cat > /etc/apache2/sites-available/sogo.conf <<EOF
......@@ -804,7 +804,7 @@ EOF
a2ensite sogo.conf
systemctl restart apache2
echo -e "$IDENTATION_LVL_2 Apache configuration for SOGo completed. [${green}DONE${NC}]"
echo -e "[${green}DONE${NC}]"
}
#---------------------------------------------------------------------
......@@ -812,7 +812,7 @@ EOF
# Configure Nginx for SOGo
#---------------------------------------------------------------------
ConfigureNginxForSOGo() {
echo -e "$IDENTATION_LVL_2 Configuring Nginx for SOGo..."
echo -n -e "$IDENTATION_LVL_2 Configuring Nginx for SOGo..."
# Create Nginx configuration for SOGo
cat > /etc/nginx/sites-available/sogo.conf <<EOF
......@@ -860,7 +860,7 @@ EOF
ln -s /etc/nginx/sites-available/sogo.conf /etc/nginx/sites-enabled/
systemctl restart nginx
echo -e "$IDENTATION_LVL_2 Nginx configuration for SOGo completed. [${green}DONE${NC}]"
echo -e "[${green}DONE${NC}]"
}
#---------------------------------------------------------------------
......@@ -868,7 +868,7 @@ EOF
# Install and configure Squirrelmail
#---------------------------------------------------------------------
InstallSquirrelmail() {
echo -e "$IDENTATION_LVL_1 Installing ${red}SquirrelMail${NC} WebMail Client... "
echo -n -e "$IDENTATION_LVL_1 Installing ${red}SquirrelMail${NC} WebMail Client... "
echo "dictionaries-common dictionaries-common/default-wordlist select american (American English)" | debconf-set-selections
apt_install squirrelmail wamerican
......
......@@ -237,7 +237,7 @@ EOF
echo -n -e "$IDENTATION_LVL_1 Installing PHP and modules... "
# apt_install php8.2-mcrypt mcrypt # már nem ajánlatos használni, max a régi php-éknál
apt_install php8.2 php8.2-common php8.2-dev php8.2-bcmath php8.2-exif php8.2-gd php8.2-mysql php8.2-imap php8.2-cli php8.2-cgi php-pear libruby php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite3 php8.2-tidy php8.2-xmlrpc php8.2-xsl memcached php-memcache php8.2-memcached imagemagick php8.2-imagick php-php-gettext php8.2-zip php8.2-mbstring php8.2-soap php8.2-snmp php8.2-xml php8.2-pdo php8.2-pdo-mysql php8.2-pdo-sqlite php8.2-pdo-pgsql php8.2-pgsql php8.2-ssh2 php8.2-xdebug php8.2-mysqlnd php8.2-mysqli php8.2-posix php8.2-simplexml php8.2-ftp php8.2-fpm php8.2-opcache php-apcu
apt_install php8.2 php8.2-common php8.2-dev php8.2-bcmath php8.2-exif php8.2-gd php8.2-mysql php8.2-imap php8.2-cli php8.2-cgi php-pear libruby php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite3 php8.2-tidy php8.2-xmlrpc php8.2-xsl memcached php-memcache php8.2-memcached imagemagick php8.2-imagick php-php-gettext php8.2-zip php8.2-mbstring php8.2-soap php8.2-snmp php8.2-xml php8.2-pdo php8.2-pdo-mysql php8.2-pdo-sqlite php8.2-pdo-pgsql php8.2-pgsql php8.2-ssh2 php8.2-xdebug php8.2-mysqlnd php8.2-mysqli php8.2-posix php8.2-simplexml php8.2-ftp php8.2-fpm php8.2-opcache php8.2-apcu
#php8.2-openssl php8.2-json
......@@ -281,6 +281,12 @@ EOF
#sed -i -e '/worker_processes/c\worker_processes 5;' /etc/nginx/nginx.conf
echo -e "[${green}DONE${NC}]"
# APCu és Memcache konfiguráció hozzáadása
echo -n -e "$IDENTATION_LVL_1 Adding APCu and Memcache configuration... "
echo "extension=apcu.so" | sudo tee /etc/php/8.2/fpm/conf.d/20-apcu.ini > /dev/null
echo "extension=memcache.so" | sudo tee /etc/php/8.2/fpm/conf.d/20-memcache.ini > /dev/null
echo -e "[${green}DONE${NC}]"
echo -n -e "$IDENTATION_LVL_1 Reloading PHP-FPM and Nginx... "
hide_output systemctl reload php8.2-fpm
systemctl restart nginx
......
......@@ -354,6 +354,9 @@ if [ -f /etc/debian_version ]; then
if [ "$CFG_SETUP_NS" == "yes" ] || [ "$CFG_MULTISERVER" == "no" ]; then
InstallBind
fi
InstallFail2ban
if [ "$CFG_SETUP_MAIL" == "yes" ] || [ "$CFG_MULTISERVER" == "no" ]; then
InstallPostfix
InstallMTA
......@@ -364,7 +367,6 @@ if [ -f /etc/debian_version ]; then
fi
InstallWebStats
InstallFail2ban
if [ "$CFG_SETUP_MASTER" == "yes" ] || [ "$CFG_MULTISERVER" == "no" ]; then
InstallISPConfig
......
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