Server Setup · 3 min read · Nov 19, 2025

Il Server Perfetto - OpenSUSE 12.3 x86_64 (nginx, Dovecot, ISPConfig 3) - Pagina 3

8 Installa Postfix, Dovecot, MySQL

Esegui

zypper install postfix postfix-mysql mysql-community-server libmysqlclient-devel dovecot21 dovecot21-backend-mysql pwgen cron python

Se ricevi il seguente messaggio, seleziona di disinstallare sendmail:

Problema: sendmail-8.14.5-85.1.2.x86_64 confligge con postfix fornito da postfix-2.9.6-1.2.1.x86_64  
  Soluzione 1: Le seguenti azioni verranno eseguite:  
   non installare postfix-2.9.6-1.2.1.x86_64  
   non installare postfix-mysql-2.9.6-1.2.1.x86_64  
  Soluzione 2: disinstallazione di sendmail-8.14.5-85.1.2.x86_64  
   
 Scegli tra le soluzioni sopra per numero o annulla [1/2/c] (c):<-- 2

Crea il seguente symlink:

ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot

A questo punto ho dovuto riavviare perché altrimenti MySQL si rifiutava di avviarsi con l’errore:

Impossibile emettere la chiamata al metodo: Unità mysql.service non è riuscita a caricarsi: Nessun file o directory di questo tipo. Vedi i log di sistema e 'systemctl status mysql.service' per dettagli.
reboot

Avvia MySQL, Postfix e Dovecot e abilita i servizi per essere avviati all’avvio.

systemctl enable mysql.service  
 systemctl start mysql.service
systemctl enable postfix.service  
 systemctl start postfix.service
systemctl enable dovecot.service  
 systemctl start dovecot.service

Ora installo il pacchetto getmail:

zypper install getmail

Per garantire la sicurezza dell’installazione di MySQL, esegui:

mysql_secure_installation

Ora ti verranno poste diverse domande:

server1:~ # mysql_secure_installation

NOTE: ESEGUIRE TUTTE LE PARTI DI QUESTO SCRIPT È RACCOMANDATO PER TUTTI I MySQL
SERVER IN USO IN PRODUZIONE!  PER FAVORE LEGGI OGNI PASSO ATTENTAMENTE!

Per accedere a MySQL per assicurarne la sicurezza, avremo bisogno della password corrente
per l’utente root.  Se hai appena installato MySQL, e
non hai ancora impostato la password per root, la password sarà vuota,
quindi dovresti solo premere invio qui.

Inserisci la password corrente per root (inserisci per nessuna): <– ENTER
OK, password utilizzata con successo, proseguendo…

Impostare la password per root assicura che nessuno possa accedere all’utente root di MySQL
senza la corretta autorizzazione.

Impostare la password per root? [Y/n] <– Y
Nuova password: <– yourrootsqlpassword
Reinserisci la nuova password: <– yourrootsqlpassword
Password aggiornata con successo!
Ricaricamento tabelle privilegi..
… Successo!

Per definizione, un’installazione di MySQL ha un utente anonimo, che permette a chiunque
di accedere a MySQL senza dover creare un account utente per
loro.  Questo è inteso solo per test, e per rendere l’installazione
un po’ più fluida.  Dovresti rimuoverli prima di
passare a un ambiente di produzione.

Rimuovere utenti anonimi? [Y/n] <– Y
… Successo!

Normalmente, root dovrebbe essere consentito di connettersi solo da ’localhost’.  Questo
assicura che qualcuno non possa indovinare la password di root dalla
rete.

Negare l’accesso remoto a root? [Y/n] <– Y
… Successo!

Per definizione, MySQL viene fornito con un database chiamato ’test’ a cui
chiunque può accedere.  Questo è anche inteso solo per test, e dovrebbe essere rimosso
prima di passare a un ambiente di produzione.

Rimuovere il database di test e l’accesso ad esso? [Y/n] <– Y
- Eliminazione del database di test…
… Successo!
- Rimozione privilegi sul database di test…
… Successo!

Ricaricare le tabelle privilegi assicurerà che tutte le modifiche effettuate fino ad ora
entreranno in vigore immediatamente.

Ricaricare le tabelle privilegi ora? [Y/n] <– Y
… Successo!

Pulizia…

Tutto fatto!  Se hai completato tutti i passi sopra, la tua installazione di MySQL
dovrebbe ora essere sicura.

Grazie per aver utilizzato MySQL!

server1:~ #

Ora la tua configurazione di MySQL dovrebbe essere sicura.

9 Amavisd-new, Spamassassin E Clamav

Installa Amavisd-new, Spamassassin e Clamav antivirus. Esegui

zypper install amavisd-new clamav clamav-db zoo unzip unrar bzip2 unarj perl-DBD-mysql

Apri /etc/amavisd.conf…

vi /etc/amavisd.conf

… e aggiungi la riga $myhostname con il tuo nome host corretto sotto la riga $mydomain:

| [...] $mydomain = 'example.com'; # un predefinito conveniente per altre impostazioni $myhostname = "server1.$mydomain"; [...] |

Poi crea un symlink da /var/run/clamav/clamd a /var/lib/clamav/clamd-socket:

mkdir -p /var/run/clamav  
 ln -s /var/lib/clamav/clamd-socket /var/run/clamav/clamd

OpenSUSE 12.3 ha una directory /run per memorizzare i dati di runtime. /run è ora un tmpfs, e /var/run è ora montato bind a /run da tmpfs, e quindi svuotato al riavvio.

Questo significa che dopo un riavvio, la directory /var/run/clamav che abbiamo appena creato non esisterà più, e quindi clamd non si avvierà. Pertanto creiamo il file /etc/tmpfiles.d/clamav.conf ora che creerà questa directory all’avvio del sistema (vedi http://0pointer.de/public/systemd-man/tmpfiles.d.html per ulteriori dettagli):

vi /etc/tmpfiles.d/clamav.conf

| D /var/run/clamav 0755 root root - |

Prima di avviare amavisd e clamd, dobbiamo modificare lo script di init /etc/init.d/amavis - non sono riuscito ad avviare, fermare e riavviare amavisd in modo affidabile con lo script di init predefinito:

vi /etc/init.d/amavis

Commenta le seguenti righe nella sezione di avvio e arresto:

| [...] start) # ZMI 20100428 controlla il file pid obsoleto #if test -f $AMAVIS_PID ; then # checkproc -p $AMAVIS_PID amavisd # if test $? -ge 1 ; then # # il file pid è obsoleto, rimuovilo # echo -n "(file pid obsoleto di amavisd $AMAVIS_PID trovato, rimuovendo. Amavisd è andato in crash?)" # rm -f $AMAVIS_PID # fi #fi echo -n "Avvio dello scanner antivirus (amavisd-new): " $AMAVISD_BIN start #if ! checkproc amavisd; then # rc_failed 7 #fi rc_status -v #if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then # rc_reset # echo -n "Avvio di amavis-milter:" # startproc -u vscan $AMAVIS_MILTER_BIN -p $AMAVIS_MILTER_SOCK > /dev/null 2>&1 # rc_status -v #fi ;; stop) echo -n "Arresto dello scanner antivirus (amavisd-new): " #if checkproc amavisd; then # rc_reset $AMAVISD_BIN stop #else # rc_reset #fi rc_status -v #if [ "$AMAVIS_SENDMAIL_MILTER" == "yes" ]; then # rc_reset # echo -n "Arresto di amavis-milter: " # killproc -TERM $AMAVIS_MILTER_BIN # rc_status -v #fi ;; [...] |

Poiché abbiamo modificato lo script di init, dobbiamo eseguire

systemctl --system daemon-reload

ora.

Per avviare clamav dobbiamo scaricare il database e procedere ulteriormente con il comando

freshclam

Nota: Ci vuole molto tempo per scaricare il database, ti si consiglia di non interrompere e non fermare il servizio di aggiornamento freshclam nel frattempo.

Per abilitare i servizi, esegui:

systemctl enable amavis.service  
 systemctl enable clamd.service  
 systemctl start amavis.service  
 systemctl start clamd.service
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.