Server Setup · 5 min read · Jan 14, 2026

Script per la Configurazione Automatica di un Server Perfetto su OpenSUSE 11.4 e Installazione di ISPConfig 3

Script per la Configurazione Automatica di un Server Perfetto su OpenSUSE 11.4 e Installazione di ISPConfig 3

Autore: George Yohng (georgesc#oss3d.com)
Versione dello script: 2.2
Ultimo aggiornamento: 26 ottobre 2011

Ecco un piccolo script che automatizza il compito di configurare un Server Perfetto - OpenSUSE 11.4 x86_64 [ISPConfig 3], e alla fine installa anche ISPConfig 3.

Si prega di notare: non eseguire questo script su un server già funzionante, perché questo script potrebbe sovrascrivere i file di configurazione e rompere il sistema in esecuzione. È destinato solo ad essere utilizzato su un’installazione fresca di OpenSUSE 11.4.

Se stai installando su OpenSUSE 11.2 o OpenSUSE 11.3, assicurati di utilizzare un’altra versione di questo script (disponibile anche su www.howtoforge.com).

Ci sono alcune cose mancanti dal tutorial, così come l’ho trovato. Ho creato uno script, basato sul tutorial, che prepara un sistema, e che contiene diversi passaggi che, se non eseguiti, lasciano il sistema incompleto in qualche modo.

Aggiunte notevoli:

  • configurazione di fail2ban
  • SuSEfirewall2 abilitato
  • modifica della configurazione di Pure-ftpd (consenti rinominazioni, modifica delle porte passive e delle autorizzazioni)
  • generazione di certificati Postfix
  • generazione di certificati SSL Apache e passaggio di ISPConfig a HTTPS
  • Correzione della configurazione di NameVirtualHost di apache con OpenSUSE (importante per Apache per riconoscere più domini da ISPConfig)
  • Configurazione di rdiff-backup con cron
  • Correzione della configurazione di dovecot per abilitare SSL e supportare la compatibilità con courier
  • Correzione di pam_mysql per funzionare su sistemi a 64 bit
  • Correzione di amavis per trovare il socket clamd
  • Installato eAccelerator
  • Correzione del percorso degli errori personalizzati di apache
  • Installazione e configurazione di awstats
  • Configurazione di apache e awstats per utilizzare mod_logio per una corretta misurazione della larghezza di banda
  • e altro…

Lo script è imperfetto nel fatto che richiede inserimenti manuali due volte - quando viene eseguito mysql_secure_install, e quando viene eseguito ispconfig_update_svn. (Uso svn, perché l’ultima SVN di ISPConfig sembra molto più bella, ma si può digitare stable anche - sui sistemi di produzione, dovresti usare stable!)

Fai

zypper update

e

reboot

prima di eseguire questo script.

È anche meglio cambiare manualmente il nome host (file HOSTNAME) con yast2 prima di eseguire questo script, in modo che OpenSUSE metta un nome appropriato nella configurazione di Postfix.

Questo script richiede due azioni manuali:

Primo - quando viene eseguito mysql_secure_install.
Secondo - per l’aggiornamento di ISPConfig3, se viene scelta l’aggiornamento SVN, potrebbe essere necessario dire ‘y’ per abilitare SSL, mentre per tutte le altre opzioni - si può scegliere un valore predefinito premendo semplicemente INVIO.

Dovresti cambiare le seguenti variabili nello script prima di eseguirlo:

THIS_PLATFORM: O x86_64 o i586.

MYSQLROOTPASS: Si prega di cambiare MYSQLROOTPASS e assicurarsi di inserirlo parola per parola durante l’installazione di mysql_secure_install.

MY_HOSTNAME, MY_DOMAIN: Cambia questo con il nome del tuo server. Per impostazione predefinita è configurato su server1.mydomain.com. Se il tuo sito web ospita un dominio completo, come domain.com, lascia comunque qualcosa per MY_HOSTNAME. server1 o host è un buon nome.

ISPCONFIG_TAR_GZ: Assicurati che ISPCONFIG_TAR_GZ contenga l’ultima versione disponibile di ISPConfig 3. Fai attenzione, che il piping automatico per rispondere a tutte le domande è impostato per funzionare con ISPConfig 3.0.3.3, e potresti dover cambiare quella parte dello script, se ISPConfig è di una versione successiva.

Salva lo script sul tuo server (ad es. /root/opensuse_ispconfig3.sh):

vi /root/opensuse_ispconfig3.sh

| ``` #!/bin/sh

# OpenSUSE 11.4 Perfect Server ISPConfig script by George Yohng (georgesc#oss3d.com)
# Script Version 2.2

# Fai zypper update e riavvia prima di eseguire questo script

# È anche meglio cambiare manualmente il nome host con yast2 prima di eseguire questo script.

# Questo script richiede due azioni manuali.

# Primo - quando mysql_secure_install è in esecuzione. Dovresti digitare una nuova password mysql, la stessa di qui
# Secondo - per l’aggiornamento di ISPConfig3. Dovresti digitare ‘svn’ quando viene chiesto il tipo di aggiornamento
# Per entrambi gli script, tutte le altre opzioni sono predefinite, si può semplicemente premere INVIO.


# Inoltre, si prega di cambiare MYSQLROOTPASS qui sotto, e assicurarsi di inserirlo parola per parola
# durante l’installazione di mysql_secure_install.

# Importante: Quando si imposta un’entrata MX, puntala a mail.yourdomain.com piuttosto che
# semplicemente a yourdomain.com, e crea un’entrata CNAME per mail. Altrimenti non sembra
# funzionare in qualche modo.

# La piattaforma è x86_64 o i586

THIS_PLATFORM=x86_64

MYSQLROOTPASS=87h4eq2jr2

# Cambia questo con il nome del tuo server. Per impostazione predefinita è configurato su server1.mydomain.com

# Se il tuo sito web ospita un dominio completo, come domain.com, lascia comunque
# qualcosa per MY_HOSTNAME. ‘server1’ o ‘host’ è un buon nome.

MY_HOSTNAME=server1
MY_DOMAIN=mydomain.com

# Decommenta per utilizzare la versione SVN di ISP config, e per eseguire l’aggiornamento una volta terminata l’installazione
#ISPCONFIG_SVN=yes

# I pacchetti potrebbero essere stati aggiornati, quindi controlla anche le posizioni RPM e TARGZ qui sotto,
# e preferibilmente utilizza le ultime versioni di tutto.

GETMAIL_RPM=http://download.opensuse.org/repositories/server:/mail/openSUSE_11.4/noarch/getmail-4.20.4-11.1.noarch.rpm
PAM_MYSQL_TARGZ=http://heanet.dl.sourceforge.net/sourceforge/pam-mysql/pam_mysql-0.7RC1.tar.gz
SUPHP_RPM=http://download.opensuse.org/repositories/server:/php/openSUSE_11.4/$THIS_PLATFORM/suphp-0.7.1-3.2.$THIS_PLATFORM.rpm

AWSTATS_RPM=http://download.opensuse.org/repositories/network:/utilities/openSUSE_11.4/noarch/awstats-7.0-14.1.noarch.rpm

SQUIRRELMAIL_RPM=http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.4/noarch/squirrelmail-1.4.22-1.1.noarch.rpm

JAILKIT_TARGZ=http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz

PHPMYADMIN_RPM=http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.4/noarch/phpMyAdmin-3.4.3.2-15.1.noarch.rpm
VLOGGER_TARGZ=http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz

RDIFF_BACKUP_TARGZ=http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz

EACCELERATOR_TARGZ=http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
#EACCELERATOR_TARGZ=http://www.debiantutorials.com/static/eaccelerator-0.9.6.1.tar.bz2

ISPCONFIG_TAR_GZ=http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.3.3.tar.gz?use_mirror=

MY_FULLHOSTNAME=$MY_HOSTNAME.$MY_DOMAIN

# Disabilita apparmor

/etc/init.d/boot.apparmor stop
chkconfig -d boot.apparmor

# Installa SuSEfirewall

zypper -n install -l SuSEfirewall2 iptables

# Consenti porte attraverso il firewall

SuSEfirewall2 open EXT TCP 22
SuSEfirewall2 open EXT TCP 21 80 8080 25 143 465 585 993 30000:30500
SuSEfirewall2

# Disattiva accesso X (controlla!)

chkconfig –del xdm
rcxdm stop

# Quota

zypper -n install -l quota

touch /aquota.user /aquota.group
chmod 600 /aquota.
touch /srv/aquota.user /srv/aquota.group
chmod 600 /srv/aquota.


# TODO: cambia fstab qui
# Ignora errori dai comandi qui sotto

mount -o remount /
mount -o remount /srv
mount -o remount /home

quotacheck -avugm
quotaon -avug

# Pacchetti di base

zypper -n install -l mc

zypper -n install -l GeoIP libGeoIP-devel libGeoIP1

geoip-fetch

zypper -n install -l findutils libreadline6 compat-readline4 readline-devel libgcc45 glibc-devel findutils-locate gcc flex lynx compat-readline4 db-devel wget gcc-c++ subversion make vim telnet cron iptables iputils man man-pages nano pico

# Nome host
echo $MY_FULLHOSTNAME > /etc/HOSTNAME
echo 127.0.0.2 $MY_FULLHOSTNAME $MY_HOSTNAME >> /etc/hosts

export HOST=$MY_FULLHOSTNAME
export HOSTNAME=$MY_FULLHOSTNAME

SuSEconfig

# Postfix, Dovecot, MySQL
zypper -n install -l postfix postfix-mysql mysql-community-server mysql-community-server-client mysql-community-server-tools
zypper -n install -l python cron
zypper -n install -l libmysqlclient-devel pwgen
zypper -n install -l dovecot12 dovecot12-backend-mysql
zypper -n install -l bind

chkconfig –add mysql
chkconfig –add postfix
chkconfig –add dovecot
chkconfig –add named

test -d /lib64 && ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot

/etc/init.d/mysql start
/etc/init.d/postfix start
/etc/init.d/dovecot start
/etc/init.d/named start

# getmail

cd /tmp
rpm -i $GETMAIL_RPM

# pam

if [ “$THIS_PLATFORM” == “x86_64” ]; then
zypper -n install -l pam-devel pam-32bit pam-devel-32bit pam-modules-32bit
fi

if [ “$THIS_PLATFORM” == “i586” ]; then
zypper -n install -l pam-devel pam pam-modules
fi


# pam_mysql

cd /tmp
wget -c $PAM_MYSQL_TARGZ
tar xvfz pam_mysql-.tar.gz
rm -rf pam_mysql-
.tar.gz
cd pam_mysql-
./configure
make
make install
cd /tmp
rm -rf /tmp/pam_mysql-


test -d /lib64 && cp /lib/security/pam_mysql* /lib64/security

# mysql_secure_installation

mysql_secure_installation

#(echo Y; echo $MYSQLROOTPASS; echo $MYSQLROOTPASS; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; )

# amavis, spam asassin, ecc
zypper -n install -l spamassassin amavisd-new clamav clamav-db zoo unzip bzip2 unarj perl-DBD-mysql
zypper -n install -l unrar

sa-update

# TODO: cambia /etc/amavisd.conf

#$mydomain = “$MY_DOMAIN”; # un predefinito conveniente per altre impostazioni
#$myhostname = “$MY_HOSTNAME”;

sed -i ‘s/ $mydomain = ‘\

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.