ISPConfig sous Linux-VServer
Installation de ISPConfig sous Linux-VServer
Sommaire
Installation du VServer
Le VServer est installe comme décrit dans le HowTo
Lors de l'exécution du base-config, on ne séléctionne rien dans les paquets et on ne configure pas Exim.
Compilation de bind
Pour pouvoir utiliser bind dans un Linux-VServer, il faut le reconfigurer avec l'option --disable-linux-caps.
A noter que sans les capabilities, le démon ne peut tourner que sous root si bind utilise les POSIX-threads. On désactive donc aussi les threads...
$ apt-get source -t sarge bind9 $ cd bind9-9.2.4 $ vi debian/rules # Add the --disable-linux-caps / -disable-threads to configure $ debchange -i 'Disable capabilities and threads' $ debuild -us -uc
Il faut aussi que bind écoute sur la bonne IP. Mettre dans named.conf.options
query-source address <adresse du vserver>;
Post-install
Mettre à jour /etc/hosts. Il est imporant que l'adresse du Linux-VServer se résolve.
Ajout/supression de paquets:
# apt-get install wget bzip2 rdate fetchmail libdb3++-dev unzip zip ncftp xlispstat \ libarchive-zip-perl zlib1g-dev libpopt-dev nmap openssl lynx fileutils iproute # apt-get remove lpr nfs-common portmap pidentd
Quotas
Pour que les quotas fonctionnent, il faut que le serveur virtuel soit sur une partition séparée.
C'est le de momment suivre l'article Linux-VServer et Quotas!
Bind
Installation des paquets compilés ci dessus.
On ne fera pas tourner bind en chroot (on est déjà dans un v-server!)
MySQL
Installation de MySQL:
# apt-get install mysql-server-4.1 mysql-client-4.1 libmysqlclient14-dev
On peut éventuellement désactiver le logging de réplication et InnoDB...
--- my.cnf.orig 2006-01-24 22:40:27.000000000 +0100 +++ my.cnf 2006-01-24 22:42:41.000000000 +0100 @@ -77,7 +77,7 @@ # # The following can be used as easy to replay backup logs or for replication. #server-id = 1 -log-bin = /var/log/mysql/mysql-bin.log +#log-bin = /var/log/mysql/mysql-bin.log # See /etc/mysql/debian-log-rotate.conf for the number of files kept. max_binlog_size = 104857600 #binlog-do-db = include_database_name @@ -93,6 +93,7 @@ # # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! +skip-innodb # # * Security Features #
On change le mot de passe root et on cree un compte pour ISPConfig
# mysqladmin -u root password <mot de passe> # mysql --user=root mysql -p mysql> GRANT ALL PRIVILEGES ON *.* TO 'ispconfig'@'localhost' -> IDENTIFIED BY '<pass>' WITH GRANT OPTION;
PostFix
Installation du MTA PostFix; cela va désinstaller Exim.
# apt-get install postfix postfix-tls libsasl2 sasl2-bin libsasl2-modules # postconf -e 'inet_interfaces = all'
SASL
Pour pouvoir faire de l'authentification SMPT (SMPTAUH), on utilise SASL
Configuration de PostFix pour SASL:
# postconf -e 'smtpd_sasl_auth_enable = yes' # postconf -e 'smtpd_sasl_security_options = noanonymous' # postconf -e 'smtpd_sasl_local_domain =' # postconf -e 'broken_sasl_auth_clients = yes' # postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
Configuration de SASL: creer le fichier /etc/postfix/sasl/smtpd.conf avec:
pwcheck_method: saslauthd mech_list: plain login
(On ne peux pas utilser md5-digest/md5-cram avec pam...)
Comme par défaut PostFix est chrooté, il faut s'assurer qu'il puisse parler au démon saslauthd:
# mkdir -p /var/spool/postfix/var/run # mv /var/run/saslauthd /var/spool/postfix/var/run/saslauthd # ln -s /var/spool/postfix/var/run/saslauthd /var/run/saslauthd # adduser postfix sasl
Et on termine par activer le demon SASL dans /etc/default/saslauthd:
# This needs to be uncommented before saslauthd will be run automatically START=yes
TLS
Configuraton de PostFix pour TLS:
# postconf -e 'smtpd_use_tls = yes' # postconf -e 'smtpd_tls_auth_only = no' # postconf -e 'smtpd_tls_key_file = /etc/ssl/private/mail.key' # postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/mail.crt' # postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.crt' # postconf -e 'smtpd_tls_loglevel = 1' # postconf -e 'smtpd_tls_received_header = yes' # postconf -e 'smtpd_tls_session_cache_timeout = 3600s' # postconf -e 'tls_random_source = dev:/dev/urandom'
Pour le client:
# postconf -e 'smtp_use_tls = yes' # postconf -e 'smtp_tls_note_starttls_offer = yes' # postconf -e 'smtp_tls_key_file = /etc/ssl/private/mail.key' # postconf -e 'smtp_tls_cert_file = /etc/ssl/certs/mail.crt' # postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/cacert.crt'
Generation des certificates (on utilise CAcert pour la certification):
# cd /etc/ssl/private # openssl req -nodes -new -keyout mail.key -out mail.csr
Le certificat signé va alors dans /etc/ssl/certs/.
Copier aussi le certificat CAcert
# cd /etc/ssl/certs # wget http://www.cacert.org/cacert.crt
Courier-IMAP et Courier-POP3
Installation des paquets
# apt-get install courier-imap courier-imap-ssl courier-pop courier-pop-ssl
Configuration de PostFix pour les MailDirs
# postconf -e 'home_mailbox = Maildir/' # postconf -e 'mailbox_command ='
Mise en forme du certificat (on utilise le même certificat que pour smtp):
# cd /etc/courier # mv imapd.pem imapd.pem.selfsigned # cat /etc/ssl/private/mail.key /etc/ssl/certs/mail.crt > imapd.pem # openssl gendh >> imapd.pem # chmod 0600 imapd.pem # mv pop3d.pem pop3d.pem.selfsigned # cp imapd.pem pop3d.pem
Apache
Installation des paquets
# apt-get install apache2 apache2-doc # apt-get install curl libwww-perl imagemagick # apt-get install libapache2-mod-php4 php4 php4-cli php4-common php4-curl php4-dev php4-domxml \ php4-gd php4-imap php4-ldap php4-mcal php4-mhash php4-mysql php4-odbc php4-pear php4-xslt # apt-get install libapache2-mod-perl2
Mise a jour de /etc/apache2/ports.conf pour écouter sur le port 443:
Listen 80 Listen 443
Activation des modules:
# a2enmod ssl # a2enmod rewrite # a2enmod suexec # a2enmod include
Et redémarrage de Apache:
# /etc/init.d/apache2 restart
ProFTPD
Installation des paquets (le serveur est installé en mode standalone)
# apt-get install proftpd
Et ajout/changement des paramtres dans /etc/proftpd.conf:
ServerName "<MyName> FTP Server" ServerIdent on "FTP Server ready." DefaultRoot ~ IdentLookups off
Redémarrage...
# /etc/init.d/proftpd restart
Webalizer
Installation du paquet
# apt-get install webalizer
Specifier le répertoire de logs de Apache2: /var/log/apache2/error.log.1 lors de la configuration
Perl
Packages nécessaire pour SpamAssassin qui sera intallé avec ISPConfig:
# apt-get install libhtml-parser-perl libnet-dns-perl