initial COM2 system snapshot

This commit is contained in:
gitea
2026-03-06 15:22:40 +00:00
commit 9c0fa49baf
4377 changed files with 273033 additions and 0 deletions

View File

@@ -0,0 +1,134 @@
#!/bin/bash
set -e
echo "============================================"
echo " MAUTIC INSTALLER FERRARI EDITION "
echo "============================================"
###############################################
# 1) Update System
###############################################
apt update && apt upgrade -y
###############################################
# 2) Install Required Packages
###############################################
apt install -y software-properties-common gnupg2 unzip curl supervisor
###############################################
# 3) Install PHP 8.2 + Extensions
###############################################
add-apt-repository ppa:ondrej/php -y
apt update
apt install -y \
php8.2 php8.2-cli php8.2-fpm php8.2-common \
php8.2-mysql php8.2-xml php8.2-zip php8.2-mbstring php8.2-curl \
php8.2-intl php8.2-gd php8.2-imap php8.2-bcmath php8.2-opcache
###############################################
# 4) MariaDB installieren
###############################################
apt install -y mariadb-server mariadb-client
###############################################
# 5) MariaDB initial konfigurieren
###############################################
mysql -e "CREATE DATABASE mautic CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -e "CREATE USER 'mautic'@'localhost' IDENTIFIED BY 'Mautic123!';"
mysql -e "GRANT ALL PRIVILEGES ON mautic.* TO 'mautic'@'localhost';"
mysql -e "FLUSH PRIVILEGES;"
###############################################
# 6) Nginx installieren
###############################################
apt install -y nginx
###############################################
# 7) Mautic herunterladen
###############################################
cd /var/www
curl -L https://github.com/mautic/mautic/releases/latest/download/mautic.zip -o mautic.zip
unzip mautic.zip -d mautic
rm mautic.zip
###############################################
# 8) Berechtigungen setzen
###############################################
chown -R www-data:www-data /var/www/mautic
chmod -R 755 /var/www/mautic
###############################################
# 9) Nginx Virtual Host anlegen
###############################################
cat <<'EOF' >/etc/nginx/sites-available/mautic.conf
server {
listen 80;
server_name _;
root /var/www/mautic;
index index.php;
location / {
try_files $uri /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
expires max;
log_not_found off;
}
}
EOF
ln -sf /etc/nginx/sites-available/mautic.conf /etc/nginx/sites-enabled/mautic.conf
rm -f /etc/nginx/sites-enabled/default
nginx -t && systemctl restart nginx
###############################################
# 10) Supervisor Mautic Queue Worker
###############################################
cat <<'EOF' >/etc/supervisor/conf.d/mautic-worker.conf
[program:mautic-worker]
command=/usr/bin/php /var/www/mautic/bin/console mautic:messages:consume
autostart=true
autorestart=true
user=www-data
redirect_stderr=true
stdout_logfile=/var/log/supervisor/mautic-worker.log
EOF
supervisorctl reread
supervisorctl update
###############################################
# 11) PHP Tuning
###############################################
sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/8.2/fpm/php.ini
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 64M/" /etc/php/8.2/fpm/php.ini
sed -i "s/post_max_size = .*/post_max_size = 64M/" /etc/php/8.2/fpm/php.ini
systemctl restart php8.2-fpm
###############################################
# 12) CRONJOBS hinzufügen
###############################################
cat <<'EOF' >/etc/cron.d/mautic
* * * * * www-data php /var/www/mautic/bin/console mautic:segments:update > /dev/null 2>&1
* * * * * www-data php /var/www/mautic/bin/console mautic:campaigns:trigger > /dev/null 2>&1
*/5 * * * * www-data php /var/www/mautic/bin/console mautic:emails:send > /dev/null 2>&1
EOF
###############################################
# READY
###############################################
echo ""
echo "============================================"
echo " MAUTIC INSTALLATION FERTIG FERRARI STYLE"
echo " URL: http://<dein-server>:80"
echo "============================================"