Server Setup · 14 min read · Jan 14, 2026

Il Server Perfetto - OpenSUSE 11.2 x86_64 [ISPConfig 3] - Pagina 5

12 MyDNS

Installa il pacchetto rpm MyDNS per i386 che funziona anche su x86_64:

wget http://mydns.bboy.net/download/mydns-mysql-1.1.0-1.i386.rpm  
rpm -ivh --force mydns-mysql-1.1.0-1.i386.rpm

Crea il seguente script di inizializzazione MyDNS:

vi /etc/init.d/mydns

| #! /bin/sh # Copyright (c) 1995-2004 SUSE Linux AG, Nuernberg, Germany. # Tutti i diritti riservati. # # Autore: Kurt Garloff # Si prega di inviare feedback a http://www.suse.de/feedback/ # # /etc/init.d/mydns # e il suo link simbolico # /(usr/)sbin/rcmydns # # Questo programma è software libero; puoi ridistribuirlo e/o modificarlo # secondo i termini della GNU General Public License come pubblicato da # la Free Software Foundation; sia nella versione 2 della Licenza, o # (a tua scelta) in qualsiasi versione successiva. # # Questo programma è distribuito nella speranza che possa essere utile, # ma SENZA ALCUNA GARANZIA; senza nemmeno la garanzia implicita di # COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedi la # GNU General Public License per ulteriori dettagli. # # Dovresti aver ricevuto una copia della GNU General Public License # insieme a questo programma; se non l'hai ricevuta, scrivi alla Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # Template system startup script for some example service/daemon mydns # # LSB compatible service control script; see http://www.linuxbase.org/spec/ # # Nota: Questo template utilizza funzioni rc_XXX definite in /etc/rc.status su # distribuzioni Linux basate su UnitedLinux (UL). Se vuoi basare il tuo # script su questo template e assicurarti che funzioni su distribuzioni Linux # compatibili con LSB non UL, devi fornire le funzioni rc.status # da UL o modificare lo script per funzionare senza di esse. # ### BEGIN INIT INFO # Provides: mydns # Required-Start: $syslog $remote_fs # Should-Start: $time ypbind sendmail # Required-Stop: $syslog $remote_fs # Should-Stop: $time ypbind sendmail # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: mydns XYZ daemon providing ZYX # Description: Start mydns to allow XY and provide YZ # continued on second line by '#' # should contain enough info for the runlevel editor # to give admin some idea what this service does and # what it's needed for ... # (The Short-Description should already be a good hint.) ### END INIT INFO # # Qualsiasi estensione alle parole chiave date sopra dovrebbe essere preceduta da # X-VendorTag- (X-UnitedLinux- X-SuSE- per noi) secondo LSB. # # Note su Required-Start/Should-Start: # * Ci sono due questioni diverse che vengono risolte da Required-Start # e Should-Start # (a) Dipendenze dure: Questo è usato dall'editor di runlevel per determinare # quali servizi devono assolutamente essere avviati per rendere l'avvio di # questo servizio sensato. Esempio: nfsserver dovrebbe avere # Required-Start: $portmap # Inoltre, i servizi richiesti vengono avviati prima di quelli dipendenti. # L'editor di runlevel avviserà riguardo a tali dipendenze dure mancanti # e suggerirà di abilitarle. Durante l'avvio del sistema, puoi aspettarti un errore, # se la dipendenza non è soddisfatta. # (b) Specificare l'ordinamento dello script di inizializzazione, non vere (dure) dipendenze. # Questo è necessario da insserv per determinare quale servizio dovrebbe essere # avviato per primo (e in una fase successiva quali servizi possono essere avviati # in parallelo). Il tag Should-Start: è usato per questo. # Indica che, se un servizio è disponibile, dovrebbe essere avviato # prima. Se no, non importa. # * Quando specifichi dipendenze dure o requisiti di ordinamento, puoi # usare nomi di servizi (contenuti della loro sezione Provides:) # o nomi pseudo che iniziano con un $. I seguenti sono disponibili # secondo LSB (1.1): # $local_fs tutti i file system locali sono montati # (la maggior parte dei servizi dovrebbe averne bisogno!) # $remote_fs tutti i file system remoti sono montati # (nota che /usr potrebbe essere remoto, quindi # molti servizi dovrebbero richiederlo!) # $syslog impianto di registrazione del sistema attivo # $network networking a basso livello (scheda eth, ...) # $named risoluzione hostname disponibile # $netdaemons tutti i demoni di rete sono in esecuzione # Il servizio pseudo $netdaemons è stato rimosso in LSB 1.2. # Per ora, lo offriamo ancora per compatibilità retroattiva. # Questi sono nuovi (LSB 1.2): # $time l'ora di sistema è stata impostata correttamente # $portmap servizio di portmapping SunRPC disponibile # Estensioni UnitedLinux: # $ALL indica che uno script dovrebbe essere inserito # alla fine # * I servizi specificati nei tag di arresto # (Required-Stop/Should-Stop) # specificano quali servizi devono essere ancora in esecuzione quando questo servizio # viene arrestato. Spesso le voci lì sono solo copie o un sottoinsieme # del rispettivo tag di avvio. # * Should-Start/Stop sono ora parte di LSB a partire da 2.0, # precedentemente SUSE/Unitedlinux usava X-UnitedLinux-Should-Start/-Stop. # insserv supporta entrambe le varianti. # * X-UnitedLinux-Default-Enabled: yes/no è usato al momento dell'installazione # (%fillup_and_insserv macro in %post di molti RPM) per specificare se # uno script di avvio dovrebbe essere abilitato per impostazione predefinita dopo l'installazione. # Non è usato da insserv. # # Nota sui runlevel: # 0 - arresto/spegnimento 6 - riavvio # 1 - utente singolo 2 - multiutente senza rete esportata # 3 - multiutente con rete (modalità testo) 5 - multiutente con rete e X11 (xdm) # # Nota sui nomi degli script: # http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/scrptnames.html # È stato istituito un registro per gestire lo spazio dei nomi degli script di inizializzazione. # http://www.lanana.org/ # Si prega di utilizzare i nomi già registrati o registrarne uno o utilizzare un # prefisso del fornitore. # Controlla la presenza di binari mancanti (i symlink obsoleti non dovrebbero accadere) # Nota: Trattamento speciale di stop per la conformità LSB MYDNS_BIN=/usr/sbin/mydns test -x $MYDNS_BIN || { echo "$mydns_BIN non installato"; if [ "$1" = "stop" ]; then exit 0; else exit 5; fi; } # Controlla l'esistenza del file di configurazione necessario e leggilo #MYDNS_CONFIG=/etc/sysconfig/mydns #test -r $MYDNS_CONFIG || { echo "$mydns_CONFIG non esistente"; # if [ "$1" = "stop" ]; then exit 0; # else exit 6; fi; } # Leggi la configurazione #. $MYDNS_CONFIG # Funzioni di inizializzazione LSB # fornendo start_daemon, killproc, pidofproc, # log_success_msg, log_failure_msg e log_warning_msg. # Questo attualmente non è usato da distribuzioni basate su UnitedLinux e # non è necessario per gli script di inizializzazione solo per UnitedLinux. Se viene utilizzato, # le funzioni da rc.status non dovrebbero essere sorgenti o utilizzate. #. /lib/lsb/init-functions # Funzioni shell sorgenti da /etc/rc.status: # rc_check controlla e imposta lo stato rc locale e generale # rc_status controlla e imposta lo stato rc locale e generale # rc_status -v essere verboso nello stato rc locale e cancellarlo successivamente # rc_status -v -r ditto e cancella sia lo stato rc locale che generale # rc_status -s visualizza "saltato" e esce con stato 3 # rc_status -u visualizza "non utilizzato" e esce con stato 3 # rc_failed imposta lo stato rc locale e generale su fallito # rc_failed imposta lo stato rc locale e generale su # rc_reset cancella sia lo stato rc locale che generale # rc_exit esce appropriato allo stato rc generale # rc_active controlla se un servizio è attivato da symlink . /etc/rc.status # Reimposta lo stato di questo servizio rc_reset # Valori di ritorno secondo LSB per tutti i comandi tranne stato: # 0 - successo # 1 - errore generico o non specificato # 2 - argomento(i) non valido o in eccesso # 3 - funzionalità non implementata (es. "reload") # 4 - l'utente non ha privilegi sufficienti # 5 - programma non installato # 6 - programma non configurato # 7 - programma non in esecuzione # 8--199 - riservato (8--99 LSB, 100--149 distrib, 150--199 appl) # # Nota che avviare un servizio già in esecuzione, fermare # o riavviare un servizio non in esecuzione così come il riavvio # con force-reload (nel caso in cui il segnale non sia supportato) è # considerato un successo. case "$1" in start) echo -n "Avviando mydns " ## Avvia il demone con startproc(8). Se questo fallisce ## il valore di ritorno è impostato di conseguenza da startproc. startproc $MYDNS_BIN # Ricorda lo stato e sii verboso rc_status -v ;; stop) echo -n "Arrestando mydns " ## Ferma il demone con killproc(8) e se questo fallisce ## killproc imposta il valore di ritorno secondo LSB. killproc -TERM $MYDNS_BIN # Ricorda lo stato e sii verboso rc_status -v ;; try-restart|condrestart) ## Fai un riavvio solo se il servizio era attivo prima. ## Nota: try-restart è ora parte di LSB (a partire da 1.9). ## RH ha un comando simile chiamato condrestart. if test "$1" = "condrestart"; then echo "${attn} Usa try-restart ${done}(LSB)${attn} piuttosto che condrestart ${warn}(RH)${norm}" fi $0 status if test $? = 0; then $0 restart else rc_reset # Non in esecuzione non è un fallimento. fi # Ricorda lo stato e sii silenzioso rc_status ;; restart) ## Ferma il servizio e indipendentemente dal fatto che fosse ## in esecuzione o meno, avvialo di nuovo. $0 stop $0 start # Ricorda lo stato e sii silenzioso rc_status ;; force-reload) ## Segnala al demone di ricaricare la sua configurazione. La maggior parte dei demoni ## fa questo con il segnale 1 (SIGHUP). ## Se non lo supporta, riavvia. echo -n "Ricarica servizio mydns " ## se lo supporta: killproc -HUP $MYDNS_BIN #touch /var/run/mydns.pid rc_status -v ## Altrimenti: #$0 try-restart #rc_status ;; reload) ## Come force-reload, ma se il demone non supporta ## il segnale, non fare nulla (!) # Se supporta il segnale: echo -n "Ricarica servizio mydns " killproc -HUP $MYDNS_BIN #touch /var/run/mydns.pid rc_status -v ## Altrimenti se non supporta il reload: #rc_failed 3 #rc_status -v ;; status) echo -n "Controllando il servizio mydns " ## Controlla lo stato con checkproc(8), se il processo è in esecuzione ## checkproc restituirà con stato di uscita 0. # Il valore di ritorno è leggermente diverso per il comando di stato: # 0 - servizio attivo e funzionante # 1 - servizio morto, ma il file pid di /var/run/ esiste # 2 - servizio morto, ma il file di blocco di /var/lock/ esiste # 3 - servizio non in esecuzione (non utilizzato) # 4 - stato del servizio sconosciuto :-( # 5--199 riservato (5--99 LSB, 100--149 distro, 150--199 appl.) # NOTA: checkproc restituisce valori di stato conformi a LSB. checkproc $MYDNS_BIN # NOTA: rc_status sa che abbiamo chiamato questo script di inizializzazione con # l'opzione "status" e adatta i suoi messaggi di conseguenza. rc_status -v ;; probe) ## Facoltativo: Prova la necessità di un reload, stampa ## l'argomento a questo script di inizializzazione che è richiesto per un reload. ## Nota: probe non è (ancora) parte di LSB (a partire da 1.9) test /etc/mydns/mydns.conf -nt /var/run/mydns.pid && echo reload ;; *) echo "Uso: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" exit 1 ;; esac rc_exit |

Rendi lo script di inizializzazione eseguibile…

chmod 755 /etc/init.d/mydns

… e crea i link di avvio del sistema per MyDNS:

chkconfig --add mydns

13 Installa vlogger e Webalizer

cd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger*
yast2 -i webalizer perl-DateManip

14 Installa fail2ban

rpm -i http://download.opensuse.org/repositories/home:/kolbma/openSUSE_11.1/x86_64/fail2ban-0.8.4-2.1.x86_64.rpm

Avvisi come warning: /var/tmp/rpm-xfer.SCm0TM: Header V3 DSA signature: NOKEY, key ID 5b00c76e possono essere ignorati.

15 Installa jailkit

cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.10.tar.gz
tar xvfz jailkit-2.10.tar.gz
cd jailkit-2.10
./configure
make
make install
cd ..
rm -rf jailkit-2.10*

16 Sincronizza l’Orologio di Sistema

Se vuoi sincronizzare l’orologio di sistema con un server NTP, fai quanto segue:

yast2 -i xntp

Quindi aggiungi i link di avvio del sistema per ntp e avvia ntp:

chkconfig --add ntp  
/etc/init.d/ntp start

17 ISPConfig 3

Scarica l’attuale versione di ISPConfig e installala. L’installer di ISPConfig configurerà tutti i servizi come postfix, sasl, courier, ecc. per te. Non è più necessaria una configurazione manuale come richiesta per ISPConfig 2.

cd /tmp
wget http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.1.6.tar.gz?use_mirror=
tar xvfz ISPConfig-3.0.1.6.tar.gz
cd ispconfig3_install/install/

Ora avvia il processo di installazione eseguendo:

php -q install.php

server1:/tmp/ispconfig3_install/install # php -q install.php

——————————————————————————–
_ _ _
|
/
| _ \/ \ / ()
| | |\ --.| |_/ /| |/ \/ ___ _ __ | |_ _ __ _ | | |–. \ / | | / \| ‘ \| | |/ ` |
| |_| |\
/ / | | _/\ () | | | | | | | (| |
__
/_/| __/_/|| ||| ||\, |
/ |
|_
/
——————————————————————————–

>> Configurazione iniziale

Sistema Operativo: openSUSE 11.2 o compatibile

Seguendo ci saranno alcune domande per la configurazione primaria quindi fai attenzione.
I valori predefiniti sono tra [parentesi] e possono essere accettati con .
Tappa in “quit” (senza virgolette) per fermare l’installer.

Seleziona lingua (en,de) [en]: <– ENTER

Modalità di installazione (standard, esperto) [standard]: <– ENTER

Nome host completamente qualificato (FQDN) del server, es. server1.domain.tld [server1.example.com]: <– ENTER

Nome host del server MySQL [localhost]: <– ENTER

Nome utente root di MySQL [root]: <– ENTER

Password root di MySQL []: <– yourrootsqlpassword

Database MySQL da creare [dbispconfig]: <– ENTER

Charset MySQL [utf8]: <– ENTER

Generazione di una chiave privata RSA a 2048 bit
…………………+++
…………..+++
scrittura della nuova chiave privata in ‘smtpd.key’
—–
Stai per essere chiesto di inserire informazioni che saranno incorporate
nel tuo certificato di richiesta.
Ciò che stai per inserire è ciò che viene chiamato un Nome Distinto o un DN.
Ci sono diversi campi ma puoi lasciare alcuni vuoti
Per alcuni campi ci sarà un valore predefinito,
Se inserisci ‘.’, il campo sarà lasciato vuoto.
—–
Nome del Paese (codice a 2 lettere) [AU]: <– ENTER
Nome dello Stato o della Provincia (nome completo) [Some-State]: <– ENTER
Nome della Località (es. città) []: <– ENTER
Nome dell’Organizzazione (es. azienda) [Internet Widgits Pty Ltd]: <– ENTER
Nome dell’Unità Organizzativa (es. sezione) []: <– ENTER
Nome Comune (es. IL TUO nome) []: <– ENTER
Indirizzo Email []: <– ENTER
Configurazione di Jailkit
Configurazione di SASL
Configurazione di PAM
Configurazione di Courier
Configurazione di Spamassassin
Configurazione di Amavisd
Configurazione di Getmail
Configurazione di Pureftpd
Configurazione di MyDNS
Configurazione di Apache
Configurazione di vlogger
Configurazione di Firewall
Installazione di ISPConfig
Porta ISPConfig [8080]: <– ENTER

Configurazione di DBServer
Installazione di Crontab
nessun crontab per root
nessun crontab per getmail
Riavvio dei servizi …
Riavvio del servizio MySQL
Arresto del servizio MySQL .. fatto
Avvio del servizio MySQL .. fatto
Arresto del servizio di posta (Postfix).. fatto
Avvio del servizio di posta (Postfix).. fatto
Arresto del servizio saslauthd.. fatto
Avvio del servizio saslauthd.. fatto
Attesa che il processo [1836] termini
Attesa che il processo [1836] termini
Attesa che il processo [1836] termini
Attesa che il processo [1836] termini
Demone [1836] terminato da SIGTERM
Arresto dello scanner antivirus (amavisd-new): .. fatto
Avvio dello scanner antivirus (amavisd-new): .. fatto
Arresto del demone Clam AntiVirus .. fatto
Avvio del demone Clam AntiVirus .. fatto
Arresto del Demone di Autenticazione Courier .. fatto
Avvio del Demone di Autenticazione Courier .. fatto
Arresto di Courier-IMAP .. fatto
Avvio di Courier-IMAP .. fatto
Arresto di Courier-IMAP (SSL).. fatto
Avvio di Courier-IMAP (SSL) generazione certificato SSL….. fatto
Arresto di Courier-POP3 .. fatto
Avvio di Courier-POP3 .. fatto
Arresto di Courier-POP3 (SSL).. fatto
Avvio di Courier-POP3 (SSL) generazione certificato SSL….. fatto
Sintassi OK
Arresto di httpd2 (in attesa che tutti i figli terminino) .. fatto
Avvio di httpd2 (prefork) .. fatto
Arresto di pure-ftpd.. fatto
Avvio di pure-ftpd.. fatto
Installazione completata.
server1:/tmp/ispconfig3_install/install # Crea un symlink per phpMyAdmin: ln -s /srv/www/htdocs/phpMyAdmin /usr/local/ispconfig/interface/web/phpmyadmin Pulisci la directory /tmp: rm -rf /tmp/ispconfig3_install
rm -f /tmp/ISPConfig-3.0.1.6.tar.gz Per accedere al pannello di controllo di ISPConfig, apri questo URL nel tuo browser (sostituisci l’IP per adattarlo alle tue impostazioni!): http://192.168.0.100:8080/ Il login predefinito è: utente: admin
password: admin #### 17.1 Manuale di ISPConfig 3 Per imparare a usare ISPConfig 3, ti consiglio vivamente di scaricare il Manuale di ISPConfig 3. Su quasi 300 pagine, copre il concetto dietro ISPConfig (amministratore, rivenditori, clienti), spiega come installare e aggiornare ISPConfig 3, include un riferimento per tutti i moduli e i campi del modulo in ISPConfig insieme a esempi di input validi, e fornisce tutorial per i compiti più comuni in ISPConfig 3. Illustra anche come rendere il tuo server più sicuro e include una sezione di risoluzione dei problemi alla fine. ### 18 Facoltativo Installa un client email basato sul web: rpm -i http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.2/noarch/squirrelmail-1.4.19-4.1.noarch.rpm ln -s /srv/www/htdocs/squirrelmail /usr/local/ispconfig/interface/web/webmail ### 19 Disabilita AppArmor AppArmor è un’estensione di sicurezza di SUSE (simile a SELinux di Fedora) che dovrebbe fornire sicurezza estesa. A mio avviso, non ne hai bisogno per configurare un sistema sicuro, e di solito causa più problemi che vantaggi (pensaci dopo aver passato una settimana a risolvere problemi perché qualche servizio non funzionava come previsto, e poi scopri che tutto era ok, solo AppArmor stava causando il problema). Pertanto, lo disabilito (questo è un must se vuoi installare ISPConfig in seguito). Possiamo disabilitarlo in questo modo: /etc/init.d/boot.apparmor stop chkconfig -d boot.apparmor ### 20 Link - OpenSUSE: http://www.opensuse.org/ - ISPConfig: http://www.ispconfig.org/

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.