GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Le serveur parfait - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3)

Le serveur parfait - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3)

Ce tutoriel montre comment préparer un OpenSUSE 12.2 64bit (x86_64) serveur avec nginx pour l'installation d'ISPConfig 3, et comment installer ISPConfig 3. Depuis la version 3.0.4, ISPConfig est livré avec un support complet pour le serveur web nginx en plus d'Apache, et ce tutoriel couvre la configuration d'un serveur qui utilise nginx au lieu d'Apache. ISPConfig 3 est un panneau de contrôle d'hébergement Web qui vous permet de configurer les services suivants via un navigateur Web :serveur Web nginx et Apache, serveur de messagerie Postfix, MySQL, Dovecot POP3/IMAP, serveur de noms BIND ou MyDNS, PureFTPd, SpamAssassin, ClamAV, et bien d'autres Suite.

Si vous souhaitez utiliser nginx au lieu d'Apache avec ISPConfig, veuillez noter que votre version de nginx doit être au moins 0.8.21 et que vous devez également installer PHP-FPM. Pour le support CGI/Perl, vous devez utiliser fcgiwrap. Tout est couvert par ce tutoriel.

J'utiliserai le logiciel suivant :

  • Serveur Web :nginx avec PHP 5
  • Serveur de base de données :MySQL
  • Serveur de messagerie :Postfix avec des utilisateurs virtuels
  • Serveur DNS :BIND
  • Serveur FTP :pureftpd
  • POP3/IMAP :Pigeonnier
  • Webalizer et AWStats pour les statistiques de sites Web

Au final, vous devriez avoir un système qui fonctionne de manière fiable et qui est facilement gérable avec le panneau de contrôle ISPConfig 3. Le guide suivant concerne la version 64 bits d'OpenSUSE.

Je veux d'abord dire que ce n'est pas la seule façon de mettre en place un tel système. Il existe de nombreuses façons d'atteindre cet objectif, mais c'est la voie que je prends. Je n'émets aucune garantie que cela fonctionnera pour vous !

Avis :Ce guide est pour ISPConfig 3.0.4 ou plus récent. Il n'est pas adapté à ISPConfig 2.x !

Manuel ISPConfig 3

Afin d'apprendre à utiliser ISPConfig 3, je vous recommande fortement de télécharger le manuel ISPConfig 3.

Sur environ 300 pages, il couvre le concept derrière ISPConfig (administrateur, revendeurs, clients), explique comment installer et mettre à jour ISPConfig 3, inclut une référence pour tous les formulaires et champs de formulaire dans ISPConfig ainsi que des exemples d'entrées valides, et fournit des tutoriels pour les tâches les plus courantes dans ISPConfig 3. Il explique également comment rendre votre serveur plus sécurisé et est accompagné d'une section de dépannage à la fin.

Application de surveillance ISPConfig pour Android

Avec l'application ISPConfig Monitor, vous pouvez vérifier l'état de votre serveur et savoir si tous les services fonctionnent comme prévu. Vous pouvez vérifier les ports TCP et UDP et envoyer un ping à vos serveurs. En plus de cela, vous pouvez utiliser cette application pour demander des détails aux serveurs sur lesquels ISPConfig est installé (veuillez noter que la version minimale installée d'ISPConfig 3 avec prise en charge de l'application ISPConfig Monitor est 3.0.3.3 ! ); ces détails incluent tout ce que vous savez du module Monitor dans le panneau de configuration ISPConfig (par exemple, les services, les journaux de messagerie et système, la file d'attente de messagerie, les informations sur le processeur et la mémoire, l'utilisation du disque, les quotas, les détails du système d'exploitation, le journal RKHunter, etc.), et bien sûr , comme ISPConfig est compatible avec plusieurs serveurs, vous pouvez vérifier tous les serveurs contrôlés à partir de votre serveur maître ISPConfig.

Pour obtenir des instructions de téléchargement et d'utilisation, veuillez visiter http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

1 Exigences

Pour installer un tel système, vous aurez besoin des éléments suivants :

  • Le DVD OpenSUSE 12.2 . Vous pouvez le télécharger ici :http://download.opensuse.org/distribution/12.2/iso/openSUSE-12.2-DVD-x86_64.iso
  • Une connexion Internet rapide...

2 Remarque préliminaire

Dans ce tutoriel, j'utilise le nom d'hôte server1.example.com avec l'adresse IP 192.168.0.100 et la passerelle 192.168.0.1. Ces paramètres peuvent différer pour vous, vous devez donc les remplacer le cas échéant.

3 Le système de base

Démarrez à partir de votre DVD OpenSUSE 12.2 et sélectionnez Installation :

Sélectionnez votre langue, la disposition du clavier et acceptez les termes de la licence :

Le programme d'installation analyse votre matériel et crée le cache du référentiel de logiciels :

Sélectionnez Nouvelle installation :

Sélectionnez la région et le fuseau horaire :

Nous sélectionnons Autre> Sélection minimale du serveur (mode texte) ici car nous voulons installer un serveur sans bureau X-Window. Le système X-Window n'est pas nécessaire pour faire fonctionner le serveur et ralentirait le système. Nous effectuerons toutes les tâches d'administration sur le shell ou via une connexion SSH, par ex. via PuTTY depuis un poste de travail distant.

Cliquez sur Modifier la configuration de la partition... pour modifier les partitions proposées. Comme il s'agit d'une configuration de serveur, nous avons besoin d'une grande partition /srv au lieu de la partition /home :

Le serveur parfait - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3) - Page 2

4 Configurer les paramètres réseau

Nous utilisons Yast, l'outil de gestion du système OpenSuSE pour reconfigurer les paramètres de la carte réseau. Après le premier démarrage, le système est configuré pour obtenir l'adresse IP avec DHCP. Pour un serveur, nous le basculerons vers une adresse IP statique.

Exécuter

yast2

Sélectionnez Périphériques réseau> Paramètres réseau :

Sélectionnez votre carte réseau puis Modifier :

Sélectionnez Adresse IP attribuée statiquement et entrez l'adresse IP, le masque de sous-réseau et le nom d'hôte et enregistrez les modifications en sélectionnant Suivant :

Sélectionnez maintenant Nom d'hôte/DNS et entrez le nom d'hôte (par exemple, serveur1.exemple.com) et les serveurs de noms (par exemple, 8.8.8.8 et 8.8.4.4) :

Sélectionnez maintenant Routage et entrez la passerelle par défaut et appuyez sur OK :

Pour configurer le pare-feu (au cas où vous ne l'auriez pas configuré lors de l'installation de base), sélectionnez Sécurité et utilisateurs> Pare-feu dans Yast :

Je souhaite installer ISPConfig à la fin de ce tutoriel qui est livré avec son propre pare-feu. C'est pourquoi je désactive maintenant le pare-feu OpenSUSE par défaut. Bien sûr, vous êtes libre de le laisser allumé et de le configurer selon vos besoins (mais vous ne devriez pas utiliser d'autre pare-feu plus tard car il interférera très probablement avec le pare-feu OpenSUSE).

Sélectionnez Désactiver le démarrage automatique du pare-feu et Arrêter le pare-feu maintenant, puis cliquez sur Suivant :

Appuyez sur Terminer et quittez Yast :

Ensuite, vous devriez vérifier avec

ifconfig

si votre configuration réseau est correcte. Si ce n'est pas le cas (par exemple, si eth0 est manquant), redémarrez le système...

redémarrer

... et vérifiez à nouveau votre configuration réseau par la suite - elle devrait maintenant être correcte.

5 Installer les mises à jour

Nous installons maintenant les dernières mises à jour à partir des référentiels openSUSE. Exécuter

mise à jour de zypper 

Et puis redémarrez le serveur car vous avez probablement également installé des mises à jour du noyau :

redémarrer 

6 Installer des packages de base

Exécuter

zypper install findutils readline 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 sudo perl-TimeDate

7 Quota journalisé

Pour installer le quota, exécutez

quota d'installation de zypper

Modifiez /etc/fstab pour qu'il ressemble à ceci (j'ai ajouté ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 aux points de montage / et /srv) :

vi /etc/fstab
/dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part1 swap swap defaults 0 0/dev/disk/by-id/ata -VBOX_HARDDISK_VB1d06c935-e9b5de19-part2/ext4 acl,user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 1/dev/disk/by-id/ata-VBOX_HARDDISK_VB1d06c935-e9b5de19-part3 a/srv, ext4 user_xattr,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 2proc /proc proc defaults 0 0sysfs /sys sysfs noauto 0 0debugfs /sys/kernel/debug debugfs noauto 0 0usbfs /proc/bus/usb usbfs noauto 0 0devpts /dev/pts devpts mode=0620,gid=5 0 0

Exécutez ensuite :

mount -o remonter /
mount -o remonter /srv

quotacheck -avugm
quotaon -avug

Ne vous inquiétez pas si vous voyez ces messages d'erreur - ils sont normaux lorsque vous exécutez quotacheck pour la première fois :

server1:~ # quotacheck -avugm
quotacheck :Scanning /dev/sda2 [/] done
quotacheck :Impossible de stat l'ancien fichier de quota utilisateur :aucun fichier ou répertoire de ce type
quotacheck :Impossible de stat l'ancien groupe fichier de quota :aucun fichier ou répertoire de ce type
quotacheck :impossible de déclarer l'ancien fichier de quota d'utilisateur :aucun fichier ou répertoire de ce type
quotacheck :impossible de déclarer l'ancien fichier de quota de groupe :aucun fichier ou répertoire de ce type
quotacheck :3872 répertoires et 32991 fichiers vérifiés
quotacheck :Ancien fichier introuvable.
quotacheck :Ancien fichier introuvable.
quotacheck :Analyse de /dev/sda3 [/srv] effectuée
quotacheck :Impossible de déclarer l'ancien fichier de quota d'utilisateur :aucun fichier ou répertoire de ce type />quotacheck :Impossible de déclarer l'ancien fichier de quota de groupe :aucun fichier ou répertoire de ce type
quotacheck :6 répertoires et 0 fichier vérifiés
quotacheck :Ancien fichier introuvable.
quotacheck :Ancien fichier introuvable.
ser ver1 :~ #

Le serveur parfait - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3) - Page 4

8 Installer Postfix, Dovecot, MySQL

Exécuter

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

Si vous obtenez le message suivant, veuillez sélectionner pour désinstaller exim :

Problème : postfix-2.8.11-2.6.1.x86_64 entre en conflit avec exim fourni par exim-4.77-2.1.3.x86_64
 Solution 1 :  les actions suivantes seront effectuées  :
   ne pas installer postfix-2.8 .11-2.6.1.x86_64
  ne pas installer postfix-mysql-2.8.11-2.6.1.x86_64
 Solution 2 : désinstallation d'exim-4.77-2.1.3.x86_64

Choisir parmi les solutions ci-dessus par numéro ou ignorer, réessayer ou annuler [1/2/s/r/c] (c) : <-- 2

Vous devrez peut-être également désinstaller patterns-openSUSE-minimal_base-conflicts-12.2-5.5.1.x86_64 :

Problème : patterns-openSUSE-minimal_base-conflicts-12.2-5.5.1.x86_64 conflit avec python fourni par python-2.7.3-3.6.1.x86_64
 Solution 1 : désinstallation de patterns-openSUSE-minimal_base-conflicts- 12.2-5.5.1.x86_64
 Solution 2 : ne pas installer python-2.7.3-3.6.1.x86_64

Choisissez par numéro de solutions ci-dessus ou ignorez, réessayez ou annulez [1 /2/s/r/c] (c) : <-- 1

Créez le lien symbolique suivant :

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

À ce stade, j'ai dû redémarrer car sinon MySQL a refusé de démarrer avec l'erreur :

Échec de l'émission de l'appel de méthode :Échec du chargement de l'unité mysql.service :aucun fichier ou répertoire de ce type. Voir les journaux système et 'systemctl status mysql.service' pour plus de détails. 
redémarrer 

Démarrez MySQL, Postfix et Dovecot et activez le démarrage des services au démarrage.

systemctl enable mysql.service
systemctl start mysql.service

systemctl activer postfix.service
systemctl démarrer postfix.service

systemctl activer dovecot.service
systemctl démarrer dovecot.service

Maintenant, j'installe le package getmail :

getmail d'installation de zypper

Pour sécuriser l'installation de MySQL, exécutez :

mysql_secure_installation

Plusieurs questions vont maintenant vous être posées :

server1:~ # mysql_secure_installation




REMARQUE : L'EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS MySQL
      SERVEURS EN UTILISATION DE PRODUCTION ! VEUILLEZ LIRE ATTENTIVEMENT CHAQUE ÉTAPE !


Pour vous connecter à MySQL pour le sécuriser, nous aurons besoin du mot de passe
actuel pour l'utilisateur root. Si vous venez d'installer MySQL et 
vous n'avez pas défini le mot de passe root encore, le mot de passe sera vide,
vous devez donc juste appuyer sur entrée ici.

Entrez mot de passe actuel pour root (entre pour aucun) :<-- ENTER
OK, mot de passe utilisé avec succès, continuer ...

La définition du mot de passe root assure que personne ne peut se connecter à MySQL
utilisateur root sans l'autorisation appropriée.

Définir le mot de passe root ? [O/n] <-- O
Nouveau mot de passe : <-- votremotdepasseqlracine
Saisissez à nouveau le nouveau mot de passe  : <-- votremotdepasseqlracine
Mot de passe mis à jour avec succès !
Rechargement des tables de privilèges. .
 ... Succès !


Par défaut, une installation de MySQL a un utilisateur anonyme, permettant à n'importe qui
de se connecter à MySQL sans avoir d'avoir un compte d'utilisateur créé pour
eux. Ceci est un conçu uniquement pour les tests, et pour rendre l'installation 
un peu plus fluide. Vous devriez les supprimer avant de passer dans un 
environnement de production.

Supprimer les utilisateurs anonymes ? [O/n] <-- O
 ... Succès !

Normalement, root ne doit être autorisé à se connecter depuis 'localhost'. Cela
assure que quelqu'un ne ne peut pas deviner le mot de passe root depuis le réseau.

Interdire la connexion root à distance ? [O/n] <-- O
 ... Succès !

Par défaut, MySQL est fourni avec une base de données nommée "test" à laquelle n'importe qui peut
accéder. Cela est également conçu uniquement pour les tests et devrait être supprimé 
avant de passer dans un environnement de production .

Supprimer la base de données de test et y accéder ? [O/n] <-- O
 - Suppression de la base de données de test...
 ... Réussite !
 - Suppression des privilèges sur la base de données de test...
 ... Réussite !

Recharger les tableaux de privilèges garantira que tout les changements apportés jusqu'à présent 
prendront effet immédiatement.

Recharger les tableaux de privilèges maintenant ? [O/n] <-- O
 ... Réussite !

Nettoyage ...



Tout fait ! Si vous avez complété toutes les étapes ci-dessus, votre installation MySQL
devrait maintenant être sécurisée.

Merci d'utiliser MySQL !


serveur1 :~ #

Votre configuration MySQL devrait maintenant être sécurisée.

9 Amavisd-new, Spamassassin et Clamav

Installez les antivirus Amavisd-new, Spamassassin et Clamav. Exécuter

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

Ouvrez /etc/amavisd.conf...

vi /etc/amavisd.conf

... et ajoutez la ligne $myhostname avec votre nom d'hôte correct sous la ligne $mydomain :

[...]$mydomain ='example.com' ; # une valeur par défaut pratique pour les autres paramètres$myhostname ="server1.$mydomain";[...]

Créez ensuite un lien symbolique de /var/run/clamav/clamd vers /var/lib/clamav/clamd-socket :

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

OpenSUSE 12.2 a un répertoire /run pour stocker les données d'exécution. /run est maintenant un tmpfs, et /var/run est maintenant monté en liaison avec /run à partir de tmpfs, et donc vidé au redémarrage.

Cela signifie qu'après un redémarrage, le répertoire /var/run/clamav que nous venons de créer n'existera plus, et donc clamd ne pourra pas démarrer. Par conséquent, nous créons maintenant le fichier /etc/tmpfiles.d/clamav.conf qui créera ce répertoire au démarrage du système (voir http://0pointer.de/public/systemd-man/tmpfiles.d.html pour plus de détails) :

vi /etc/tmpfiles.d/clamav.conf
D /var/run/clamav 0755 racine racine -

Avant de démarrer amavisd et clamd, nous devons éditer le script d'initialisation /etc/init.d/amavis - je n'ai pas pu démarrer, arrêter et redémarrer amavisd de manière fiable avec le script d'initialisation par défaut :

vi /etc/init.d/amavis

Commentez les lignes suivantes dans la section de démarrage et d'arrêt :

[...] start) # ZMI 20100428 check for stale pid file #if test -f $AMAVIS_PID; then # checkproc -p $AMAVIS_PID amavisd # if test $? -ge 1; then # # le fichier pid est obsolète, supprimez-le # echo -n "(fichier obsolète amavisd pid $AMAVIS_PID trouvé, suppression. Amavisd a-t-il planté ?)" # rm -f $AMAVIS_PID # fi #fi echo -n "Démarrage de l'analyseur de virus (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 "Démarrage d'amavis-milter :" # startproc -u vscan $AMAVIS_MILTER_BIN -p $AMAVIS_MILTER_SOCK> /dev/null 2>&1 # rc_status -v #fi;; stop) echo -n "Arrêt de l'analyseur de virus (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 "Arrêter amavis-milter :" # killproc -TERM $AMAVIS_MILTER_BIN # rc_status -v #fi;;[...]

Parce que nous avons changé le script d'initialisation, nous devons exécuter

systemctl --system daemon-reload

à présent.

Pour activer les services, exécutez :

systemctl enable amavis.service
systemctl enable clamd.service
systemctl start amavis.service
systemctl start clamd.service

10 Installer Nginx, PHP5 (PHP-FPM) et Fcgiwrap

Nginx est disponible sous forme de package pour OpenSUSE que nous pouvons installer comme suit :

zypper install nginx-1.0

Si Apache2 est déjà installé sur le système, arrêtez-le maintenant...

systemctl stop apache2.service

... et supprimer les liens de démarrage du système d'Apache :

systemctl désactiver apache2.service

Ensuite, nous créons les liens de démarrage du système pour nginx et le démarrons :

systemctl activer nginx.service
systemctl démarrer nginx.service

(Si Apache2 et nginx sont installés, le programme d'installation d'ISPConfig 3 vous demandera lequel vous souhaitez utiliser - répondez nginx dans ce cas. Si un seul de ces deux éléments est installé, ISPConfig effectuera automatiquement la configuration nécessaire.)

Si vous souhaitez utiliser des adresses IPv6 avec vos vhosts nginx, veuillez procéder comme suit avant de créer des vhosts IPv6 dans ISPConfig :

Ouvrez /etc/sysctl.conf...

vi /etc/sysctl.conf

... et ajoutez la ligne net.ipv6.bindv6only =1 :

[...]net.ipv6.bindv6only =1

Exécuter...

sysctl -p

... ensuite pour que le changement prenne effet.

Nous pouvons faire fonctionner PHP5 dans nginx via PHP-FPM (PHP-FPM (FastCGI Process Manager) est une implémentation alternative de PHP FastCGI avec quelques fonctionnalités supplémentaires utiles pour les sites de toute taille, en particulier les sites les plus fréquentés) que nous installons comme suit :

zypper installe php5-fpm

Avant de démarrer PHP-FPM, renommez /etc/php5/fpm/php-fpm.conf.default en /etc/php5/fpm/php-fpm.conf :

mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf

Modifiez les permissions du répertoire de session de PHP :

chmod 1733 /var/lib/php5 

Ouvrez ensuite /etc/php5/fpm/php-fpm.conf...

vi /etc/php5/fpm/php-fpm.conf

... et changez error_log en /var/log/php-fpm.log :

[...]error_log =/var/log/php-fpm.log[...]

Il n'y a pas de fichier php.ini pour PHP-FPM sous OpenSUSE 12.2, nous copions donc le CLI php.ini :

cp /etc/php5/cli/php.ini /etc/php5/fpm/

Ouvrez ensuite /etc/php5/fpm/php.ini...

vi /etc/php5/fpm/php.ini

... et définissez cgi.fix_pathinfo sur 0 :

[...] ; cgi.fix_pathinfo fournit un support *réel* PATH_INFO/PATH_TRANSLATED pour CGI. PHP ; le comportement précédent était de définir PATH_TRANSLATED sur SCRIPT_FILENAME, et de ne pas grok ; ce que PATH_INFO est. Pour plus d'informations sur PATH_INFO, consultez les spécifications cgi. Paramètre; ceci à 1 obligera PHP CGI à fixer ses chemins pour se conformer à la spécification. Un paramètre; de zéro oblige PHP à se comporter comme avant. La valeur par défaut est 1. Vous devez corriger vos scripts ; pour utiliser SCRIPT_FILENAME plutôt que PATH_TRANSLATED.; http://php.net/cgi.fix-pathinfocgi.fix_pathinfo=0[...]

Créez ensuite les liens de démarrage du système pour php-fpm et redémarrez-le :

systemctl activer php-fpm.service
systemctl redémarrer php-fpm.service

PHP-FPM est un processus démon qui exécute un serveur FastCGI sur le port 9000, comme vous pouvez le voir dans la sortie de

netstat -tapn

server1 :~ # netstat -tapn
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale           Adresse étrangère         État       PID/Nom du programme
tcp        0      0.127 : 0.127 :3310 0.0.0.0:* Écoutez 10357 / Clamd
TCP 0 0 0.0.0.0:143 0.0.0.0:* Écoutez 9869 / Dovecot
TCP 0 0 0.0.0.0:80 0.0.0.0:* Écoutez 10521 / nginx
TCP 0 0 0.0.0.0:22 0.0.0.0:* Écoutez 1275 / sshd
TCP 0 0 127.0.0.1:25 0.0.0.0:* Écoutez 9816 / Master
TCP 0 0 127.0.0.1:9000 0.0.0.0:* Écoutez 10695 / php-fpm.conf)
TCP 0 0 127.0.0.1:10024 0.0.0.0:* Écoutez 10337 / Amavisd (Mast
TCP 0 0 0.0.0.0:3306            0.0.0.0 :*               ÉCOUTER      9694/mysqld
tcp        0     0 192.168.0.100:22 192.168.0.199:4630 établi 1332/0
TCP 0 0 :::22 :::* Écoutez 1275 / sshd
TCP 0 0 ::1:25 :::* ÉCOUTEZ      9816/maître
serveur1 :~ #

Pour obtenir le support MySQL en PHP, nous pouvons installer le package php5-mysql. C'est une bonne idée d'installer d'autres modules PHP5 car vous pourriez en avoir besoin pour vos applications :

installation de zypper php5-mysql php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5- zlib php5-exif php5-pear php5-sysvmsg php5-sysvshm

Redémarrez maintenant PHP-FPM :

systemctl redémarre php-fpm.service 

Pour obtenir le support CGI dans nginx, nous installons Fcgiwrap.

Fcgiwrap est un wrapper CGI qui devrait également fonctionner pour les scripts CGI complexes et peut être utilisé pour les environnements d'hébergement partagé car il permet à chaque vhost d'utiliser son propre répertoire cgi-bin.

Comme il n'y a pas de package fcgiwrap pour OpenSUSE, nous devons le construire nous-mêmes. Nous installons d'abord quelques prérequis :

zypper install git patch automake glibc-devel gcc flex compat-readline4 db-devel wget gcc-c++ make vim libtool FastCGI-devel

Créez les liens symboliques suivants :

ln -s /usr/include/fastcgi/fastcgi.h /usr/local/include/
ln -s /usr/include/fastcgi/fcgi_config.h /usr/local/include/
ln - s /usr/include/fastcgi/fcgi_stdio.h /usr/local/include/
ln -s /usr/include/fastcgi/fcgiapp.h /usr/local/include/
ln -s / usr/include/fastcgi/fcgimisc.h /usr/local/include/
ln -s /usr/include/fastcgi/fcgio.h /usr/local/include/
ln -s /usr/ inclure/fastcgi/fcgios.h /usr/local/include/

Nous pouvons maintenant construire fcgiwrap comme suit :

cd /usr/local/src/
git clone git://github.com/gnosek/fcgiwrap.git
cd fcgiwrap
autoreconf -i
./configure
faire
faire installer

Ceci installe fcgiwrap dans /usr/local/sbin/fcgiwrap.

Ensuite, nous installons le paquet spawn-fcgi qui nous permet d'exécuter fcgiwrap en tant que démon :

installer zypper spawn-fcgi

Nous pouvons maintenant démarrer fcgiwrap comme suit :

spawn-fcgi -u wwwrun -g www -s /var/run/fcgiwrap.socket -S -M 0770 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/local/sbin /fcgiwrap

Vous devriez maintenant trouver le socket fcgiwrap dans /var/run/fcgiwrap.socket, appartenant à l'utilisateur wwwrun et au groupe www. Il faut maintenant ajouter l'utilisateur nginx au groupe www:

usermod -A www nginx

Recharger ensuite nginx :

systemctl recharge nginx.service 

Si vous ne voulez pas démarrer fcgiwrap manuellement à chaque démarrage de votre système, ouvrez /etc/init.d/boot.local...

vi /etc/init.d/boot.local

... et ajoutez la commande spawn-fcgi à la fin du fichier - cela lancera automatiquement fcgiwrap à la fin du processus de démarrage :

[...]/usr/bin/spawn-fcgi -u wwwrun -g www -s /var/run/fcgiwrap.socket -S -M 0770 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/local/sbin/fcgiwrap

C'est ça! Désormais, lorsque vous créez un vhost nginx, ISPConfig s'occupe de la configuration correcte du vhost.

10.1 Installer phpMyAdmin

Ensuite, nous installons phpMyAdmin :

zypper installe phpMyAdmin

Comme cela installe Apache en tant que dépendance, supprimez les liens de démarrage du système d'Apache :

systemctl désactiver apache2.service

phpMyAdmin est maintenant situé dans le répertoire /srv/www/htdocs/phpMyAdmin, mais nous le voulons dans le répertoire /usr/share/phpmyadmin/, nous créons donc un lien symbolique :

ln -s /srv/www/htdocs/phpMyAdmin /usr/share/phpmyadmin 

Après avoir installé ISPConfig 3, vous pouvez accéder à phpMyAdmin comme suit :

Le vhost des applications ISPConfig sur le port 8081 pour nginx est livré avec une configuration phpMyAdmin, vous pouvez donc utiliser http://server1.example.com:8081/phpmyadmin ou http://server1.example.com:8081/phpMyAdmin pour accéder à phpMyAdmin.

Si vous souhaitez utiliser un alias /phpmyadmin ou /phpMyAdmin que vous pouvez utiliser depuis vos sites Web, c'est un peu plus compliqué que pour Apache car nginx n'a pas d'alias globaux (c'est-à-dire des alias qui peuvent être définis pour tous les vhosts). Vous devez donc définir ces alias pour chacun vhost à partir duquel vous souhaitez accéder à phpMyAdmin.

Pour ce faire, collez ce qui suit dans le champ Directives nginx de l'onglet Options du site Web dans ISPConfig :

 emplacement /phpmyadmin { root /usr/share/; index index.php index.html index.htm; emplacement ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; racine /usr/partage/ ; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure /etc/nginx/fastcgi_params ; fastcgi_param PATH_INFO $fastcgi_script_name ; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; fastcgi_intercept_errors activé ; } emplacement ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } emplacement /phpMyAdmin { réécrire ^/* /phpmyadmin dernier ; } 

Si vous utilisez https au lieu de http pour votre vhost, vous devez ajouter la ligne fastcgi_param HTTPS on; à votre configuration phpMyAdmin comme ceci :

 emplacement /phpmyadmin { root /usr/share/; index index.php index.html index.htm; emplacement ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; racine /usr/partage/ ; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS activé ; # <-- ajoutez cette ligne fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure /etc/nginx/fastcgi_params ; fastcgi_param PATH_INFO $fastcgi_script_name ; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; fastcgi_intercept_errors activé ; } emplacement ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } emplacement /phpMyAdmin { réécrire ^/* /phpmyadmin dernier ; } 

Si vous utilisez à la fois http et https pour votre vhost, vous devez ajouter la section suivante à la section http {} dans /etc/nginx/nginx.conf (avant toute ligne d'inclusion) qui détermine si le visiteur utilise http ou https et définit la variable $fastcgi_https (que nous utiliserons dans notre configuration phpMyAdmin) en conséquence :

vi /etc/nginx/nginx.conf
[...]http {[...] ## Détecter quand HTTPS est utilisé map $scheme $fastcgi_https { default off; https activé ; }[...]}[...]

N'oubliez pas de recharger nginx après :

systemctl recharge nginx.service 

Ensuite, allez à nouveau dans le champ Directives nginx, et au lieu de fastcgi_param HTTPS on ; vous ajoutez la ligne fastcgi_param HTTPS $fastcgi_https ; afin que vous puissiez utiliser phpMyAdmin pour les requêtes http et https :

 emplacement /phpmyadmin { root /usr/share/; index index.php index.html index.htm; emplacement ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; racine /usr/partage/ ; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $fastcgi_https ; # <-- ajoutez cette ligne fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure /etc/nginx/fastcgi_params ; fastcgi_param PATH_INFO $fastcgi_script_name ; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; fastcgi_intercept_errors activé ; } emplacement ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } emplacement /phpMyAdmin { réécrire ^/* /phpmyadmin dernier ; } 

Le serveur parfait - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3) - Page 5

11 Installer PureFTPd

Installez le démon FTP pure-ftpd. Exécuter :

installer zypper pure-ftpd

systemctl enable pure-ftpd.service
systemctl start pure-ftpd.service

Nous configurons maintenant PureFTPd pour autoriser les sessions FTP et TLS. FTP est un protocole très peu sûr car tous les mots de passe et toutes les données sont transférés en texte clair. En utilisant TLS, toute la communication peut être cryptée, ce qui rend le FTP beaucoup plus sécurisé.

OpenSSL est requis par TLS ; pour installer OpenSSL, nous exécutons simplement :

zypper install openssl

Ouvrez /etc/pure-ftpd/pure-ftpd.conf...

vi /etc/pure-ftpd/pure-ftpd.conf

Si vous souhaitez autoriser le FTP et Sessions TLS, définissez TLS sur 1 :

[...]# Cette option peut accepter trois valeurs :# 0 :désactive la couche de chiffrement SSL/TLS (par défaut).# 1 :accepte les deux sessions traditionnelles et cryptées.# 2 :refuser les connexions qui n'utilisent pas les mécanismes de sécurité SSL/TLS,# y compris les sessions anonymes.# Ne _pas_ décommentez ceci aveuglément. Assurez-vous que :# 1) Votre serveur a été compilé avec le support SSL/TLS (--with-tls),# 2) Un certificat valide est en place,# 3) Seuls les clients compatibles se connecteront.TLS 1[.. .]

Si vous souhaitez accepter uniquement les sessions TLS (pas de FTP), définissez TLS sur 2 :

[...]# Cette option peut accepter trois valeurs :# 0 :désactive la couche de chiffrement SSL/TLS (par défaut).# 1 :accepte les deux sessions traditionnelles et cryptées.# 2 :refuser les connexions qui n'utilisent pas les mécanismes de sécurité SSL/TLS,# y compris les sessions anonymes.# Ne _pas_ décommentez ceci aveuglément. Assurez-vous que :# 1) Votre serveur a été compilé avec le support SSL/TLS (--with-tls),# 2) Un certificat valide est en place,# 3) Seuls les clients compatibles se connecteront.TLS 2[.. .]

Pour ne pas autoriser TLS du tout (uniquement FTP), définissez TLS sur 0 :

[...]# Cette option peut accepter trois valeurs :# 0 :désactive la couche de chiffrement SSL/TLS (par défaut).# 1 :accepte les deux sessions traditionnelles et cryptées.# 2 :refuser les connexions qui n'utilisent pas les mécanismes de sécurité SSL/TLS,# y compris les sessions anonymes.# Ne _pas_ décommentez ceci aveuglément. Assurez-vous que :# 1) Votre serveur a été compilé avec le support SSL/TLS (--with-tls),# 2) Un certificat valide est en place,# 3) Seuls les clients compatibles se connecteront.TLS 0[.. .]

Pour utiliser TLS, nous devons créer un certificat SSL. Je le crée dans /etc/ssl/private/, donc je crée d'abord ce répertoire :

mkdir -p /etc/ssl/private/

Ensuite, nous pouvons générer le certificat SSL comme suit :

openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Nom du pays (code à 2 lettres) [AU] :<-- Saisissez le nom de votre pays (par exemple, "DE").
Nom de l'État ou de la province (nom complet) [Some-State] :<-- Saisissez votre état ou Nom de la province.
Nom de la localité (par exemple, ville) [] :<-- Entrez votre ville.
Nom de l'organisation (par exemple, société) [Internet Widgits Pty Ltd] :<-- Entrez le nom de votre organisation (par exemple, le nom de votre entreprise).
Nom de l'unité organisationnelle (par exemple, section) [] :<-- Saisissez le nom de votre unité organisationnelle (par exemple, "Service informatique").
Nom commun (par exemple, VOTRE nom) [] :<-- Saisissez le nom de domaine complet du système (par exemple, "serveur1.exemple.com").
Adresse e-mail [] :<-- Saisissez votre adresse e-mail.

Modifiez les permissions du certificat SSL :

chmod 600 /etc/ssl/private/pure-ftpd.pem

Redémarrez enfin PureFTPd :

systemctl redémarre pure-ftpd.service 

C'est ça. Vous pouvez maintenant essayer de vous connecter en utilisant votre client FTP; cependant, vous devez configurer votre client FTP pour utiliser TLS - voir le chapitre suivant pour savoir comment faire cela avec FileZilla.

12 Installer BIND

Le serveur de noms BIND peut être installé comme suit :

liaison d'installation de zypper

Créez les liens de démarrage du système BIND et démarrez-le :

systemctl enable named.service
systemctl start named.service

13 Installer Webalizer et AWStats

Étant donné qu'ISPConfig 3 vous permet de choisir si vous souhaitez utiliser Webalizer ou AWStats pour créer les statistiques de votre site Web, nous installons les deux :

zypper install webalizer perl-DateManip
installation de zypper http://download.opensuse.org/repositories/network:/utilities/openSUSE_12.2/noarch/awstats-7.0-14.1.noarch.rpm

14 Installer fail2ban

fail2ban peut être installé comme suit :

installation de zypper fail2ban

15 Installer Jailkit

Jailkit peut être installé comme ceci :

installation de zypper http://download.opensuse.org/repositories/security/openSUSE_12.2/x86_64/jailkit-2.13-1.3.x86_64.rpm

16 Synchroniser l'horloge système

Si vous souhaitez que l'horloge système soit synchronisée avec un serveur NTP, procédez comme suit :

zypper install xntp

Ajoutez ensuite les liens de démarrage du système pour ntp et démarrez ntp :

systemctl enable ntp.service
systemctl start ntp.service

17 Installer rkhunter

rkhunter peut être installé comme suit :

zypper installe rkhunter

18 Installer SquirrelMail

Pour installer le client de messagerie Web SquirrelMail, exécutez :

installation de zypperhttp://download.opensuse.org/repositories/server:/php:/applications/openSUSE_12.2/noarch/squirrelmail-1.4.22-1.1.noarch.rpm

Configurez ensuite SquirrelMail :

/srv/www/htdocs/squirrelmail/config/conf.pl

Nous devons dire à SquirrelMail que nous utilisons Dovecot :

SquirrelMail Configuration : Lisez : config.php (1.4.0)
--------------------------------------------- ------------------------
Menu principal --
1. Préférences de l'organisation
2. Paramètres du serveur
3. Paramètres par défaut du dossier
4. Options générales
5. Interface utilisateur
6. Carnets d'adresses
7. Message du jour (MOTD)
8. Plugins
9. Base de données
10. Paramètres de langue
11. Ajustements

D. Définir des paramètres prédéfinis pour des serveurs IMAP spécifiques

C   Activer la couleur 
S   Enregistrer les données 
Q   Quitter

Commande >> <-- D


Configuration de SquirrelMail : Lire : config.php
--------------------------- ------------------------------
Pendant que nous construisons SquirrelMail, nous avons découvert certaines
préférences qui fonctionnent mieux avec certains serveurs qui ne fonctionnent pas si 
bien avec d'autres. Si vous sélectionnez votre serveur IMAP, cette option définira certains paramètres prédéfinis pour ce serveur.

Veuillez noter que vous aurez toujours de viser et vous assurer 
tout est correct. Cela ne change pas tout. Il y a 
seuls quelques paramètres qui vont changer .

Veuillez sélectionner votre serveur IMAP :
    bincimap    = serveur Binc IMAP 
    courier     = serveur Courier IMAP 
Cyrus =Cyrus IMAP Server
DoveCot =DoveCot Secure IMAP Server
Exchange =Microsoft Exchange IMAP Server
HmailServer =HmailServer
MacOSX =Mac OS X MailServer
Mercury32 =Mercury /32
    uw          = Serveur IMAP de l'Université de Washington 
    gmail       = Accès IMAP aux comptes Google mail (Gmail) 

    quitter        = Ne modifier rien 

Commande >> <-- dovecot


SquirrelMail Configuration : Lire : config.php
------------------- --------------------------------------
Pendant que nous construisons SquirrelMail, nous ont découvert certaines
préférences qui fonctionnent mieux avec certains serveurs qui ne fonctionnent pas aussi 
bien avec d'autres. Si vous sélectionnez votre serveur IMAP, cette option définira certains paramètres prédéfinis pour ce serveur.

Veuillez noter que vous aurez toujours de viser et vous assurer 
tout est correct. Cela ne change pas tout. Il y a 
seuls quelques paramètres qui vont changer .

Veuillez sélectionner votre serveur IMAP :
    bincimap    = serveur Binc IMAP 
    courier     = serveur Courier IMAP 
Cyrus =Cyrus IMAP Server
DoveCot =DoveCot Secure IMAP Server
Exchange =Microsoft Exchange IMAP Server
HmailServer =HmailServer
MacOSX =Mac OS X MailServer
Mercury32 =Mercury /32
    uw          = Serveur IMAP de l'Université de Washington 
    gmail       = Accès IMAP aux comptes Google mail (Gmail) 

    quitter        = Ne modifier rien 

Command>> dovecot

imap_server_type =dovecot
default_folder_prefix =
trash_folder =trash
sent_folder =send
draft_folder =drafts
show_prefix_option = faux
          default_sub_of_inbox = faux
show_contain_subfolders_op tion = false
            optional_delimiter = detect
                delete_folder = false
      force_username_lowercase = true

Appuyez sur Entrée pour continuer... <-- ENTER


Configuration de SquirrelMail  : Lire : config.php (1.4.0)
------------------------------------------ -----------------------------
Menu principal --
1. Préférences de l'organisation
2. Paramètres du serveur
3. Paramètres par défaut du dossier
4. Options générales
5. Interface utilisateur
6. Carnets d'adresses
7. Message du jour (MOTD)
8. Plugins
9. Base de données
10. Paramètres de langue
11. Ajustements

D. Définir des paramètres prédéfinis pour des serveurs IMAP spécifiques

C   Activer la couleur 
S   Enregistrer les données 
Q   Quitter

Commande >> <-- S


Configuration de SquirrelMail : Lire : config.php (1.4.0)
---------------------- -----------------------------------
Menu principal --
1. Préférences de l'organisation
2. Paramètres du serveur
3. Paramètres par défaut du dossier
4. Options générales
5. Interface utilisateur
6. Carnets d'adresses
7. Message du jour (MOTD)
8. Plugins
9. Base de données
10. Paramètres de langue
11. Ajustements

D. Définir des paramètres prédéfinis pour des serveurs IMAP spécifiques

C   Activer la couleur 
S   Enregistrer les données 
Q   Quitter

Command >> S

Données sauvegardées dans config.php



Activation des plugins ; données d'enregistrement sauvegardées dans plugin_hooks.php

Appuyez sur entrée pour continuer... <-- ENTRÉE


Configuration SquirrelMail : Lire : config.php (1.4.0 )
--------------------------------------------- ------------
Menu principal --
1. Préférences de l'organisation
2. Paramètres du serveur
3. Paramètres par défaut du dossier
4. Options générales
5. Interface utilisateur
6. Carnets d'adresses
7. Message du jour (MOTD)
8. Plugins
9. Base de données
10. Paramètres de langue
11. Ajustements

D. Définir des paramètres prédéfinis pour des serveurs IMAP spécifiques

C   Activer la couleur 
S   Enregistrer les données 
Q   Quitter

Commande >> <-- Q

SquirrelMail se trouve dans le répertoire /srv/www/htdocs/squirrelmail, mais nous en avons besoin dans le répertoire /usr/share/squirrelmail/. Nous créons donc un lien symbolique :

ln -s /srv/www/htdocs/squirrelmail /usr/share/squirrelmail 

En plus de cela, nous changeons le propriétaire du répertoire /srv/www/htdocs/squirrelmail/data/ en personne :

chown personne /srv/www/htdocs/squirrelmail/data/

Après avoir installé ISPConfig 3, vous pouvez accéder à SquirrelMail comme suit :

Le vhost des applications ISPConfig sur le port 8081 pour nginx est livré avec une configuration SquirrelMail, vous pouvez donc utiliser http://server1.example.com:8081/squirrelmail ou http://server1.example.com:8081/webmail pour accéder à SquirrelMail.

Si vous souhaitez utiliser un alias /webmail ou /squirrelmail que vous pouvez utiliser depuis vos sites Web, c'est un peu plus compliqué que pour Apache car nginx n'a pas d'alias globaux (c'est-à-dire des alias qui peuvent être définis pour tous les vhosts). Vous devez donc définir ces alias pour chacun vhost à partir duquel vous souhaitez accéder à SquirrelMail.

Pour ce faire, collez ce qui suit dans le champ Directives nginx de l'onglet Options du site Web dans ISPConfig :

 emplacement /squirrelmail { root /usr/share/; index index.php index.html index.htm; emplacement ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; racine /usr/partage/ ; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure /etc/nginx/fastcgi_params ; fastcgi_param PATH_INFO $fastcgi_script_name ; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; fastcgi_intercept_errors activé ; } emplacement ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } emplacement /webmail { réécrire ^/* /squirrelmail dernier ; } 

Si vous utilisez https au lieu de http pour votre vhost, vous devez ajouter la ligne fastcgi_param HTTPS on; à votre configuration SquirrelMail comme ceci :

 emplacement /squirrelmail { root /usr/share/; index index.php index.html index.htm; emplacement ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; racine /usr/partage/ ; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS activé ; # <-- ajoutez cette ligne fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure /etc/nginx/fastcgi_params ; fastcgi_param PATH_INFO $fastcgi_script_name ; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; fastcgi_intercept_errors activé ; } emplacement ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } emplacement /webmail { réécrire ^/* /squirrelmail dernier ; } 

Si vous utilisez à la fois http et https pour votre vhost, vous devez ajouter la section suivante à la section http {} dans /etc/nginx/nginx.conf (avant toute ligne d'inclusion) qui détermine si le visiteur utilise http ou https et définit la variable $fastcgi_https (que nous utiliserons dans notre configuration SquirrelMail) en conséquence :

vi /etc/nginx/nginx.conf
[...]http {[...] ## Détecter quand HTTPS est utilisé map $scheme $fastcgi_https { default off; https activé ; }[...]}[...]

N'oubliez pas de recharger nginx après :

systemctl recharge nginx.service 

Ensuite, allez à nouveau dans le champ Directives nginx, et au lieu de fastcgi_param HTTPS on ; vous ajoutez la ligne fastcgi_param HTTPS $fastcgi_https ; afin que vous puissiez utiliser SquirrelMail pour les requêtes http et https :

 emplacement /squirrelmail { root /usr/share/; index index.php index.html index.htm; emplacement ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; racine /usr/partage/ ; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $fastcgi_https ; # <-- ajoutez cette ligne fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename ; inclure /etc/nginx/fastcgi_params ; fastcgi_param PATH_INFO $fastcgi_script_name ; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k ; fastcgi_temp_file_write_size 256k ; fastcgi_intercept_errors activé ; } emplacement ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } emplacement /webmail { réécrire ^/* /squirrelmail dernier ; } 

Le serveur parfait - OpenSUSE 12.2 x86_64 (nginx, Dovecot, ISPConfig 3) - Page 6

19 ISPConfig 3

Avant d'installer ISPConfig 3, assurez-vous que le répertoire /var/vmail/ existe :

mkdir /var/vmail/

Avant de démarrer l'installation d'ISPConfig, assurez-vous qu'Apache est arrêté (s'il est installé - il est possible que certains de vos packages installés aient installé Apache en tant que dépendance à votre insu). Si Apache2 est déjà installé sur le système, arrêtez-le maintenant...

systemctl stop apache2.service 

... et supprimer les liens de démarrage du système d'Apache :

systemctl désactiver apache2.service 

Assurez-vous que nginx est en cours d'exécution :

systemctl redémarrer nginx.service 

(Si Apache et nginx sont installés, le programme d'installation vous demande lequel vous souhaitez utiliser :Apache et nginx détectés. Sélectionnez le serveur à utiliser pour ISPConfig :(apache,nginx) [apache] :

Tapez nginx. Si seuls Apache ou nginx sont installés, cela est automatiquement détecté par le programme d'installation et aucune question n'est posée.)

Téléchargez la version actuelle d'ISPConfig 3 et installez-la. Le programme d'installation d'ISPConfig configurera tous les services comme Postfix, Dovecot, etc. pour vous. Une configuration manuelle telle que requise pour ISPConfig 2 n'est plus nécessaire.

Vous avez maintenant également la possibilité de laisser le programme d'installation créer un vhost SSL pour le panneau de contrôle ISPConfig, afin que ISPConfig soit accessible en utilisant https:// au lieu de http://. Pour ce faire, appuyez simplement sur ENTRÉE lorsque vous voyez cette question :Voulez-vous une connexion sécurisée (SSL) à l'interface Web ISPConfig (y,n) [y] :.

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install /installer/

Lancez maintenant le processus d'installation en exécutant :

php -q install.php

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


----------------------- -------------------------------------------------- -------
 _____ ___________   _____              __ _         ____
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
  | | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _  __ _    _/ /
  | | `--. \  __/  | | / _ \| '_ \| _| |/ _` | |_ |
 _| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
 \___/\____/\_|      \____/\___/|_| |_|_| |_|\__, | \____/
                                            __/ |
                                          |___/
-------------------------------------------------- ------------------------------------------


>> Configuration initiale

Système d'exploitation  : openSUSE ou compatible, version inconnue.

    Suivant seront quelques questions pour la configuration principale alors soyez prudent.
    Les valeurs par défaut sont entre [crochets] et peuvent être acceptées avec  .
    Appuyez sur "quitter" (sans les guillemets) pour arrêter le programme d'installation.


Sélectionnez la langue (en,de) [en] : <-- ENTRER

Mode d'installation (standard,expert) [standard] : <-- ENTRER

Nom d'hôte complet (FQDN) du serveur, par exemple serveur1.domaine.tld  [serveur1.exemple.com] : <-- ENTER

nom d'hôte du serveur MySQL [localhost] : <-- ENTER

MySQL nom d'utilisateur root [root] : <-- ENTER

mot de passe root MySQL [] : <-- votremotdepasseqlracine

Base de données MySQL à créer [dbispconfig] : <-- ENTER

Jeu de caractères MySQL [utf8] : <-- ENTER

Apache et nginx détectés. Sélectionnez le serveur à utiliser pour ISPConfig : (apache,nginx) [apache] : <-- nginx

Génération d'une clé privée RSA 2048 bits
........... .................................................. ......................+++
...+++
écriture d'une nouvelle clé privée dans 'smtpd.key'
-----
Vous allez être invité à saisir des informations qui seront incorporées 
dans votre demande de certificat.
Ce que vous êtes sur le point de saisir est ce qu'on appelle un Distinguished Nom ou un DN.
Il existe un nombre de champs mais vous pouvez en laisser certains vides.
Pour certains champs il existera une valeur par défaut. laissé en blanc.
-----
Nom du pays (code à 2 lettres) [AU] : <-- ENTER
Nom de l'État ou de la province (nom complet) [Some-State] : <-- ENTER
Nom de la localité (par exemple, ville) [] : <-- ENTER
Nom de l'organisation (par exemple, entreprise) [Internet Widgits Pty Ltd] : <-- ENTER
Nom de l'unité organisationnelle (par exemple, section) [] : <-- ENTER
Nom commun (par exemple, VOTRE nom) [] : <-- ENTER
Email l Adresse [] : <-- ENTER
Configuration Jailkit
Configuration Dovecot
Configuration Spamassassin
Configuration Amavisd
Configuration Getmail
Configuration Pureftpd
Configuration BIND
Configuration nginx
Configuration Vlogger
Configuration Apps vhost
Configuration Bastille Firewall
Configuration Fail2ban
Installation ISPConfig
ISPConfig Port [8080] : <-- ENTRER

Voulez-vous une connexion sécurisée (SSL) à l'interface Web ISPConfig (y,n) [y] :<-- ENTRER

Génération de la clé privée RSA , 4096 bit long module
.++
...............++
e est 65537 (0x10001)
Vous êtes environ être invité à saisir des informations qui seront incorporées
dans votre demande de certificat.
Ce que vous êtes sur le point de saisir est ce qu'on appelle un nom distingué ou un DN.
Il existe un assez quelques champs mais vous pouvez laisser des vides 
Pour certains champs il y aura une valeur par défaut,
Si vous entrez '.', le champ sera laissé en vide.
-----
Nom du pays (code à 2 lettres) [AU] : <-- ENTER
Nom de l'État ou de la province (nom complet) [Some-State] : <-- ENTER
Nom de la localité (par exemple, ville) [] : <-- ENTER
Nom de l'organisation (par exemple, entreprise) [Internet Widgits Pty Ltd] : <-- ENTER
Nom de l'unité organisationnelle (par exemple, section) [] : <-- ENTER
Nom commun (par exemple, VOTRE nom) [] : <-- ENTER
Adresse e-mail [] : <-- ENTER

Veuillez saisir les attributs "supplémentaires" suivants
à envoyer avec votre demande de certificat
Un mot de passe de défi [] : <-- ENTER
Un nom de société facultatif [] : <-- ENTER
en écrivant la clé RSA
Configuration DBServer
Installation ISPConfig crontab
pas crontab pour root
pas crontab pour getmail
Redémarrage des services ...
redirection vers systemctl
redirection vers systemctl
redirection vers systemctl
redirection vers systemctl
redirection vers systemctl
redirection vers systemctl
redirection vers systemctl
redirection vers systemctl
redirection vers systemctl
Installer installation terminée.
server1 :/tmp/ispconfig3_install/install #

Nettoyez le répertoire /tmp :

cd /tmp
rm -rf /tmp/ispconfig3_install
rm -f /tmp/ISPConfig-3-stable.tar.gz

Afterwards you can access ISPConfig 3 under http(s)://server1.example.com:8080/ or http(s)://192.168.0.100:8080/ (http or https depends on what you chose during installation). Log in with the username admin and the password admin (you should change the default password after your first login):

19.1 ISPConfig 3 Manual

Afin d'apprendre à utiliser ISPConfig 3, je vous recommande fortement de télécharger le manuel ISPConfig 3.

Sur environ 300 pages, il couvre le concept derrière ISPConfig (administrateur, revendeurs, clients), explique comment installer et mettre à jour ISPConfig 3, inclut une référence pour tous les formulaires et champs de formulaire dans ISPConfig ainsi que des exemples d'entrées valides, et fournit des tutoriels pour les tâches les plus courantes dans ISPConfig 3. Il explique également comment rendre votre serveur plus sécurisé et est accompagné d'une section de dépannage à la fin.

19.2 ISPConfig Monitor App For Android

Avec l'application ISPConfig Monitor, vous pouvez vérifier l'état de votre serveur et savoir si tous les services fonctionnent comme prévu. Vous pouvez vérifier les ports TCP et UDP et envoyer un ping à vos serveurs. En plus de cela, vous pouvez utiliser cette application pour demander des détails aux serveurs sur lesquels ISPConfig est installé (veuillez noter que la version minimale installée d'ISPConfig 3 avec prise en charge de l'application ISPConfig Monitor est 3.0.3.3 ! ); ces détails incluent tout ce que vous savez du module Monitor dans le panneau de configuration ISPConfig (par exemple, les services, les journaux de messagerie et système, la file d'attente de messagerie, les informations sur le processeur et la mémoire, l'utilisation du disque, les quotas, les détails du système d'exploitation, le journal RKHunter, etc.), et bien sûr , comme ISPConfig est compatible avec plusieurs serveurs, vous pouvez vérifier tous les serveurs contrôlés à partir de votre serveur maître ISPConfig.

Pour obtenir des instructions de téléchargement et d'utilisation, veuillez visiter http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

  • OpenSUSE:http://www.opensuse.org/
  • ISPConfig:http://www.ispconfig.org/

About The Author

Falko Timme is the owner of Timme Hosting (ultra-fast nginx web hosting). He is the lead maintainer of HowtoForge (since 2005) and one of the core developers of ISPConfig (since 2000). He has also contributed to the O'Reilly book "Linux System Administration".


Panels
  1. Le serveur parfait - OpenSUSE 12.3 x86_64 (Apache2, Dovecot, ISPConfig 3)

  2. Le serveur parfait - OpenSUSE 12.3 x86_64 (nginx, Dovecot, ISPConfig 3)

  3. Le serveur parfait - Debian 8.6 (nginx, BIND, Dovecot, ISPConfig 3.1)

  4. Le serveur parfait - Debian 9 (Nginx, BIND, Dovecot, ISPConfig 3.1)

  5. Le serveur parfait - Debian 10 (Nginx, BIND, Dovecot, ISPConfig 3.2)

Le serveur parfait - CentOS 6.3 x86_64 (nginx, Dovecot, ISPConfig 3)

Le serveur parfait - CentOS 6.3 x86_64 (nginx, Courier, ISPConfig 3)

Le serveur parfait - Debian Wheezy (nginx, BIND, Dovecot, ISPConfig 3)

Le serveur parfait - CentOS 6.4 x86_64 (nginx, Dovecot, ISPConfig 3)

Le serveur parfait - CentOS 6.4 x86_64 (Apache2, Dovecot, ISPConfig 3)

Le serveur parfait - CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3)