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 pythonSe 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):<-- 2Crea il seguente symlink:
ln -s /usr/lib64/dovecot/modules /usr/lib/dovecotA 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.rebootAvvia MySQL, Postfix e Dovecot e abilita i servizi per essere avviati all’avvio.
systemctl enable mysql.service
systemctl start mysql.servicesystemctl enable postfix.service
systemctl start postfix.servicesystemctl enable dovecot.service
systemctl start dovecot.serviceOra installo il pacchetto getmail:
zypper install getmailPer garantire la sicurezza dell’installazione di MySQL, esegui:
mysql_secure_installationOra 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-mysqlApri /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/clamdOpenSUSE 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/amavisCommenta 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-reloadora.
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.serviceRicevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.