GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

Der perfekte Server – CentOS 6.4 x86_64 (nginx, Dovecot, ISPConfig 3)

Der perfekte Server - CentOS 6.4 x86_64 (nginx, Dovecot, ISPConfig 3)

Dieses Tutorial zeigt, wie Sie einen CentOS 6.4 x86_64-Server für die Installation von ISPConfig 3 vorbereiten und ISPConfig 3 installieren. ISPConfig 3 ist ein Webhosting-Kontrollfeld, mit dem Sie die folgenden Dienste über einen Webbrowser konfigurieren können:nginx-Webserver, Postfix Mailserver, MySQL, BIND-Nameserver, PureFTPd, SpamAssassin, ClamAV, Mailman und viele mehr. Seit Version 3.0.4 bietet ISPConfig zusätzlich zu Apache volle Unterstützung für den nginx-Webserver; Dieses Tutorial behandelt die Einrichtung eines Servers, der Nginx verwendet, nicht Apache.

Bitte beachten Sie, dass dieses Setup nicht für ISPConfig 2 funktioniert ! Es gilt nur für ISPConfig 3!

Ich gebe keine Garantie dafür, dass dies bei Ihnen funktioniert!

ISPConfig 3 Handbuch

Um zu lernen, wie man ISPConfig 3 verwendet, empfehle ich dringend, das ISPConfig 3-Handbuch herunterzuladen.

Auf mehr als 300 Seiten behandelt es das Konzept hinter ISPConfig (Admin, Wiederverkäufer, Kunden), erklärt, wie ISPConfig 3 installiert und aktualisiert wird, enthält eine Referenz für alle Formulare und Formularfelder in ISPConfig zusammen mit Beispielen für gültige Eingaben und bietet Tutorials für die häufigsten Aufgaben in ISPConfig 3. Es beschreibt auch, wie Sie Ihren Server sicherer machen können, und enthält am Ende einen Abschnitt zur Fehlerbehebung.

ISPConfig Monitor-App für Android

Mit der ISPConfig Monitor App können Sie Ihren Serverstatus überprüfen und herausfinden, ob alle Dienste wie erwartet laufen. Sie können TCP- und UDP-Ports überprüfen und Ihre Server anpingen. Darüber hinaus können Sie diese App verwenden, um Details von Servern anzufordern, auf denen ISPConfig installiert ist (Bitte beachten Sie, dass die installierte Mindestversion von ISPConfig 3 mit Unterstützung für die ISPConfig Monitor App 3.0.3.3 ist! ); Diese Details umfassen alles, was Sie aus dem Monitor-Modul im ISPConfig Control Panel wissen (z. B. Dienste, Mail- und Systemprotokolle, Mail-Warteschlange, CPU- und Speicherinformationen, Festplattennutzung, Quote, Betriebssystemdetails, RKHunter-Protokoll usw.) und natürlich , da ISPConfig Multiserver-fähig ist, können Sie alle Server prüfen, die von Ihrem ISPConfig-Masterserver gesteuert werden.

Anweisungen zum Herunterladen und zur Verwendung finden Sie unter http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

1 Voraussetzungen

Um ein solches System zu installieren, benötigen Sie Folgendes:

  • Laden Sie die beiden CentOS 6.4-DVDs von einem Spiegel neben Ihnen herunter (die Liste der Spiegel finden Sie hier:http://isoredirect.centos.org/centos/6/isos/x86_64/).
  • eine schnelle Internetverbindung.

2 Vorbemerkung

In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.0.100 und dem Gateway 192.168.0.1. Diese Einstellungen können für Sie abweichen, daher müssen Sie sie gegebenenfalls ersetzen.

3 Installieren Sie das Basissystem

Booten Sie von Ihrer ersten CentOS 6.4-DVD (DVD 1). Wählen Sie Vorhandenes System installieren oder aktualisieren:

Das Testen des Installationsmediums kann lange dauern, daher überspringen wir diesen Test hier:

Der Begrüßungsbildschirm des CentOS-Installationsprogramms wird angezeigt. Klicken Sie auf Weiter:

Wählen Sie als nächstes Ihre Sprache:

Wählen Sie Ihr Tastaturlayout aus:

Ich gehe davon aus, dass Sie eine lokal angeschlossene Festplatte verwenden, daher sollten Sie hier Basic Storage Devices auswählen:

Möglicherweise wird die folgende Warnung angezeigt:Fehler beim Verarbeiten des Laufwerks. Wenn Sie dies sehen, klicken Sie auf die Schaltfläche Alle neu initialisieren, um fortzufahren:

Geben Sie den Hostnamen des Servers ein (z. B. server1.example.com) und klicken Sie dann auf die Schaltfläche Netzwerk konfigurieren:

Gehen Sie zur Registerkarte Verkabelt, wählen Sie die Netzwerkschnittstelle (wahrscheinlich eth0) aus und klicken Sie auf Bearbeiten...:

Aktivieren Sie das Kontrollkästchen Automatisch verbinden und gehen Sie zur Registerkarte IPv4-Einstellungen und wählen Sie im Dropdown-Menü Methode die Option Manuell aus. Geben Sie einen, zwei oder drei Nameserver (durch Komma getrennt) in das Feld DNS-Server ein (z. B. 8.8.8.8, 8.8.4.4) und klicken Sie dann auf die Schaltfläche Hinzufügen neben dem Bereich Adressen:

Geben Sie Ihrer Netzwerkkarte nun eine statische IP-Adresse und Netzmaske (in diesem Tutorial verwende ich zu Demonstrationszwecken die IP-Adresse 192.168.0.100 und die Netzmaske 255.255.255.0; wenn Sie sich nicht sicher sind, welche Werte richtig sind, http://www. subnetmask.info könnte Ihnen helfen). Geben Sie auch Ihr Gateway ein (z. B. 192.168.0.1) und klicken Sie auf die Schaltfläche Anwenden...:

Die Netzwerkkonfiguration ist nun abgeschlossen. Klicken Sie auf die Schaltfläche Weiter:

Der perfekte Server – CentOS 6.4 x86_64 (nginx, Dovecot, ISPConfig 3) – Seite 2

4 /etc/hosts anpassen

Als nächstes bearbeiten wir /etc/hosts. Lass es so aussehen:

vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.0.100   server1.example.com     server1

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

5 Firewall konfigurieren

(Sie können dieses Kapitel überspringen, wenn Sie die Firewall bereits am Ende der grundlegenden Systeminstallation deaktiviert haben.)

Ich möchte ISPConfig am Ende dieses Tutorials installieren, das mit einer eigenen Firewall geliefert wird. Deshalb deaktiviere ich jetzt die standardmäßige CentOS-Firewall. Natürlich steht es Ihnen frei, sie eingeschaltet zu lassen und nach Ihren Bedürfnissen zu konfigurieren (aber dann sollten Sie später keine andere Firewall verwenden, da diese höchstwahrscheinlich die CentOS-Firewall stört).

Ausführen

system-config-firewall

und die Firewall deaktivieren.

Um zu überprüfen, ob die Firewall wirklich deaktiviert wurde, können Sie

ausführen
iptables -L 

nachher. Die Ausgabe sollte so aussehen:

[[email protected] ~]# iptables -L
Chain INPUT (Policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (Policy ACCEPT)
target prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
[[email protected] ~]#

6 SELinux deaktivieren

SELinux ist eine Sicherheitserweiterung von CentOS, die erweiterte Sicherheit bieten soll. Meiner Meinung nach brauchen Sie es nicht, um ein sicheres System zu konfigurieren, und es verursacht normalerweise mehr Probleme als Vorteile (denken Sie daran, nachdem Sie eine Woche lang Fehler behoben haben, weil ein Dienst nicht wie erwartet funktioniert hat, und dann Sie feststellen, dass alles in Ordnung war, nur SELinux verursachte das Problem). Daher deaktiviere ich es (dies ist ein Muss, wenn Sie später ISPConfig installieren möchten).

Bearbeiten Sie /etc/selinux/config und setzen Sie SELINUX=disabled:

vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Danach müssen wir das System neu starten:

reboot

7 Zusätzliche Repositories aktivieren und einige Software installieren

Zuerst importieren wir die GPG-Schlüssel für Softwarepakete:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

Dann aktivieren wir die RPMforge- und EPEL-Repositories auf unserem CentOS-System, da viele der Pakete, die wir im Laufe dieses Tutorials installieren werden, nicht in den offiziellen CentOS 6.4-Repositories verfügbar sind:

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

cd /tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release- 0.5.2-2.el6.rf.x86_64.rpm

(Wenn der obige Link nicht mehr funktioniert, finden Sie die aktuelle Version von rpmforge-release hier:http://packages.sw.be/rpmforge-release/)

rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch. rpm
rpm -ivh epel-release-6-8.noarch.rpm

Wir müssen auch das Remi-RPM-Repository aktivieren, das das php-fpm-Paket enthält, das wir später installieren werden:

rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

yum install yum-priorities

Bearbeiten Sie /etc/yum.repos.d/epel.repo...

vi /etc/yum.repos.d/epel.repo

... und fügen Sie die Zeile priority=10 zum Abschnitt [epel] hinzu:

[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[...]

Machen Sie dann dasselbe für den Abschnitt [remi] in /etc/yum.repos.d/remi.repo, plus ändern Sie aktiviert auf 1:

vi /etc/yum.repos.d/remi.repo
[remi]
name=Les RPM de remi pour Enterprise Linux $releasever - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
failovermethod=priority

[remi-test]
name=Les RPM de remi en test pour Enterprise Linux $releasever - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/test/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/test/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

Dann aktualisieren wir unsere bestehenden Pakete auf dem System:

yum update

Jetzt installieren wir einige Softwarepakete, die später benötigt werden:

yum groupinstall 'Development Tools'

8 Quote

(Falls Sie ein anderes Partitionierungsschema gewählt haben als ich, müssen Sie dieses Kapitel anpassen, damit Quota für die Partitionen gilt, wo Sie es brauchen.)

Um Quota zu installieren, führen wir diesen Befehl aus:

yum install quota

Bearbeiten Sie /etc/fstab und fügen Sie ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 zur Partition / (/dev/mapper/vg_server1-lv_root):

hinzu
vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Jul 11 17:52:57 2012
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_server1-lv_root /                       ext4    defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0        1 1
UUID=806910a1-dbdf-4746-bd94-cbe73ce81493 /boot                   ext4    defaults        1 2
/dev/mapper/vg_server1-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

Dann ausführen

mount -o remount /

quotecheck -avugm
quotaon -avug

zum Aktivieren des Kontingents.

9 Systemuhr synchronisieren

Es ist eine gute Idee, die Systemuhr mit einem NTP (n Netzwerk t ich bin p rotocol)-Server über das Internet. Führen Sie einfach

aus
yum install ntp

und Ihre Systemzeit wird immer synchron sein.

10 MySQL installieren

Installieren Sie MySQL wie folgt:

yum install mysql mysql-server

Erstellen Sie dann die Systemstartlinks für MySQL und starten Sie es:

chkconfig --levels 235 mysqld beim
/etc/init.d/mysqld start

Legen Sie Passwörter für das MySQL-Root-Konto fest:

mysql_secure_installation

[[email protected] tmp]# mysql_secure_installation




HINWEIS: DIE AUSFÜHRUNG ALLER TEILE DIESES SKRIPTS WIRD FÜR ALLE MySQL
      SERVER EMPFOHLEN, die sich in Produktion befinden BENUTZEN! BITTE LESEN SIE JEDEN SCHRITT SORGFÄLTIG DURCH!


Um sich bei MySQL anzumelden, um es zu sichern, benötigen wir das aktuelle
Passwort für den Root-Benutzer. Wenn Sie gerade MySQL installiert und
das Root-Passwort noch nicht festgelegt haben, ist das Passwort leer,
also sollten Sie hier einfach die Eingabetaste drücken.

Enter Aktuelles Passwort für Root (Eingabe für Keine):
OK, erfolgreich verwendetes Passwort, weiter ...

Das Festlegen des Root-Passworts stellt sicher, dass sich niemand bei dem MySQL-Root anmelden kann.
Benutzer ohne die richtige Autorisierung.

Root-Passwort festlegen? [Y/n] <-- ENTER
Neues Passwort: <-- yourrootsqlpassword
Neues Passwort erneut eingeben: <-- yourrootsqlpassword
Passwort erfolgreich aktualisiert!
Berechtigungstabellen werden neu geladen. .
 ... Erfolg!


Standardmäßig hat eine MySQL-Installation einen anonymen Benutzer, der ermöglicht, dass sich jeder
bei MySQL anmelden kann, ohne einen Benutzeraccount haben zu müssen für
sie erstellt. Dies ist nur zum Testen sollte und damit die Installation
etwas flüssiger läuft. Sie sollten sie entfernen, bevor Sie in eine
Produktionsumgebung wechseln.

Anonyme Nutzer entfernen? [Y/n] <-- ENTER
 ... Erfolgreich!

Normalerweise sollte root nur erlaubt werden, sich von 'localhost' aus zu verbinden. Dies
stellt sicher, dass niemand das Root-Passwort aus dem Netzwerk erraten kann.

Root-Anmeldung aus der Ferne nicht zulassen? [Y/n] <-- EINGABE
 ... Erfolg!

Standardmäßig wird MySQL mit einer Datenbank namens "test" geliefert, auf die jeder
zugreifen kann. Dies ist auch nur zum Testen vorgesehen und sollte entfernt werden
bevor in eine Produktionsumgebung umgezogen wird.

Testdatenbank und Zugriff darauf entfernen? [Y/n] <-- ENTER
 - Testdatenbank wird gelöscht...
 ... Erfolg!
 - Berechtigungen für Testdatenbank entfernen...
 ... Erfolg !

Durch das Neuladen der Berechtigungstabellen wird sichergestellt, dass alle bisher vorgenommenen Änderungen
sofort wirksam werden.

Berechtigungstabellen jetzt neu laden? [Y/n] <-- EINGABE
 ... Erfolgreich!

Aufräumen ...



Alle fertig! Wenn Sie alle oben genannten Schritte ausgeführt haben, sollte Ihre MySQL
Installation jetzt sicher sein.

Vielen Dank, dass Sie MySQL verwenden!


[example @unixlinux.online tmp]#

Der perfekte Server – CentOS 6.4 x86_64 (nginx, Dovecot, ISPConfig 3) – Seite 4

11 Installieren Sie Dovecot

Dovecot kann wie folgt installiert werden:

yum install dovecot dovecot-mysql
mkdir /etc/dovecot
touch /etc/dovecot/dovecot-sql.conf
ln -s /etc/dovecot/dovecot-sql.conf /etc/ dovecot-sql.conf

Erstellen Sie nun die Systemstartlinks und starten Sie Dovecot:

chkconfig --levels 235 dovecot on
/etc/init.d/dovecot start

12 Postfix installieren

Postfix kann wie folgt installiert werden:

yum postfix installieren

Schalten Sie dann Sendmail aus und starten Sie Postfix:

chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix restart

13 Installieren Sie Getmail

Getmail kann wie folgt installiert werden:

yum installiere getmail

14 Installieren Sie Amavisd-new, SpamAssassin und ClamAV

Um amavisd-new, spamassassin und clamav zu installieren, führen Sie den folgenden Befehl aus:

yum installiere amavisd-new spamassassin clamav clamd unzip bzip2 unrar perl-DBD-mysql

Dann starten wir freshclam, amavisd und clamd.amavisd:

sa-update
chkconfig --levels 235 amavisd on
chkconfig --del clamd
chkconfig --levels 235 clamd.amavisd on
/usr/bin/freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd.amavisd start

15 Nginx, PHP5 (PHP-FPM) und Fcgiwrap installieren

Nginx ist als Paket für CentOS 6.4 (von EPEL) verfügbar, das wir wie folgt installieren können:

yum installiere nginx

Fügen Sie den folgenden Abschnitt zum Abschnitt http {} in /etc/nginx/nginx.conf (vor allen Include-Zeilen) hinzu, der bestimmt, ob der Besucher http oder https verwendet, und setzt die Variable $https entsprechend - dies wird benötigt, da die nginx-Version kommt mit CentOS ist 1.0.15, und die $https-Variable wurde in nginx in Version 1.1.11 eingeführt, und ISPConfig verwendet diese Variable:

vi /etc/nginx/nginx.conf

[...]
http {
[...]
    ## Detect when HTTPS is used
    map $scheme $https {
      default off;
      https on;
    }
[...]
}
[...]

Wenn Apache2 bereits auf dem System installiert ist, stoppen Sie es jetzt...

/etc/init.d/httpd stop

... und Apaches Systemstart-Links entfernen:

chkconfig --del httpd

Dann erstellen wir die Systemstartlinks für nginx und starten es:

chkconfig --levels 235 nginx on
/etc/init.d/nginx start

(Wenn sowohl Apache2 als auch nginx installiert sind, fragt Sie das ISPConfig 3-Installationsprogramm, welches Sie verwenden möchten - antworten Sie in diesem Fall mit nginx. Wenn nur eines von beiden installiert ist, nimmt ISPConfig die notwendige Konfiguration automatisch vor.)

Wir können PHP5 in nginx durch PHP-FPM zum Laufen bringen (PHP-FPM (FastCGI Process Manager) ist eine alternative PHP-FastCGI-Implementierung mit einigen zusätzlichen Funktionen, die für Websites jeder Größe nützlich sind, insbesondere für stark frequentierte Websites). Wir können php-fpm zusammen mit php-cli und einigen PHP5-Modulen wie php-mysql installieren, die Sie benötigen, wenn Sie MySQL aus Ihren PHP-Skripten wie folgt verwenden möchten:

yum installiere php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-magickwand php-magpierss php-mbstring php-mcrypt php -mssql php-shout php-snmp php-soap php-tidy

Als nächstes öffnen wir /etc/php.ini...

vi /etc/php.ini

... und die Fehlerberichterstattung ändern (sodass keine Hinweise mehr angezeigt werden):

[...]
;error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
error_reporting = E_ALL & ~E_NOTICE
[...]

Setzen Sie außerdem cgi.fix_pathinfo=0:

vi /etc/php.ini

[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=0
[...]

(Bitte lesen Sie http://wiki.nginx.org/Pitfalls, um herauszufinden, warum Sie dies tun sollten.)

Außerdem, um Fehler wie

zu vermeiden

[08-Aug-2011 18:07:08] PHP-Warnung:phpinfo():Es ist nicht sicher, sich auf die Zeitzoneneinstellungen des Systems zu verlassen. Sie müssen unbedingt die date.timezone-Einstellung oder die Funktion date_default_timezone_set() verwenden. Falls Sie eine dieser Methoden verwendet haben und immer noch diese Warnung erhalten, haben Sie höchstwahrscheinlich die Zeitzonenkennung falsch geschrieben. Wir haben stattdessen in /usr/share/nginx/html/info.php in Zeile 2 'Europe/Berlin' für 'CEST/2.0/DST' ausgewählt

... in /var/log/php-fpm/www-error.log wenn Sie ein PHP-Skript in Ihrem Browser aufrufen, sollten Sie date.timezone in /etc/php.ini:

setzen
[...]
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = "Europe/Berlin"
[...]

Sie können die richtige Zeitzone für Ihr System herausfinden, indem Sie Folgendes ausführen:

cat /etc/sysconfig/clock

[[email protected] tmp]# cat /etc/sysconfig/clock
ZONE="Europe/Berlin"
[[email protected] tmp]#

Erstellen Sie als Nächstes die Systemstartlinks für php-fpm und starten Sie es:

chkconfig --levels 235 php-fpm beim
/etc/init.d/php-fpm start

PHP-FPM ist ein Daemon-Prozess (mit dem Init-Skript /etc/init.d/php-fpm), der einen FastCGI-Server auf Port 9000 ausführt.

Um CGI-Unterstützung in nginx zu erhalten, installieren wir Fcgiwrap.

Fcgiwrap ist ein CGI-Wrapper, der auch für komplexe CGI-Skripte funktionieren sollte und für gemeinsam genutzte Hosting-Umgebungen verwendet werden kann, da er jedem vhost erlaubt, sein eigenes cgi-bin-Verzeichnis zu verwenden.

Da es kein fcgiwrap-Paket für CentOS 6.4 gibt, müssen wir es selbst erstellen. Zuerst installieren wir einige Voraussetzungen:

yum installiere fcgi-devel

Jetzt können wir fcgiwrap wie folgt bauen:

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

Dies installiert fcgiwrap nach /usr/local/sbin/fcgiwrap.

Als nächstes installieren wir das Paket spawn-fcgi, das uns erlaubt, fcgiwrap als Daemon auszuführen:

yum installiere spawn-fcgi

Öffnen Sie /etc/sysconfig/spawn-fcgi...

vi /etc/sysconfig/spawn-fcgi

... und ändern Sie die Datei wie folgt:

# You must set some working options before the "spawn-fcgi" service will work.
# If SOCKET points to a file, then this file is cleaned up by the init script.
#
# See spawn-fcgi(1) for all possible options.
#
# Example :
#SOCKET=/var/run/php-fcgi.sock
#OPTIONS="-u apache -g apache -s $SOCKET -S -M 0600 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"

FCGI_SOCKET=/var/run/fcgiwrap.socket
FCGI_PROGRAM=/usr/local/sbin/fcgiwrap
FCGI_USER=apache
FCGI_GROUP=apache
FCGI_EXTRA_OPTIONS="-M 0770"
OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid -- $FCGI_PROGRAM"

Fügen Sie nun den Benutzer nginx zur Gruppe apache:

hinzu

usermod -a -G apache nginx

Erstellen Sie die Systemstart-Links für spawn-fcgi...

chkconfig --levels 235 spawn-fcgi ein

... und starten Sie es wie folgt:

/etc/init.d/spawn-fcgi start

Sie sollten jetzt den fcgiwrap-Socket in /var/run/fcgiwrap.socket finden, der dem Benutzer- und Gruppen-Apache gehört (einige Skripte, z. B. Mailman, erwarten, dass sie vom Benutzer-/Gruppen-Apache ausgeführt werden, deshalb führen wir spawn nicht aus -fcgi als Benutzer/Gruppe nginx, aber fügen Sie stattdessen nginx zur Apache-Gruppe hinzu).

15.1 Zusätzliche PHP-Versionen

Ab ISPConfig 3.0.5 ist es möglich, mehrere PHP-Versionen auf einem Server zu haben (wählbar über ISPConfig), die über FastCGI und PHP-FPM ausgeführt werden können. Das Verfahren zum Erstellen zusätzlicher PHP-Versionen auf CentOS wird in diesem Tutorial beschrieben:How To Use Multiple PHP Versions (PHP-FPM &FastCGI) With ISPConfig 3 (CentOS 6.3)

Der perfekte Server – CentOS 6.4 x86_64 (nginx, Dovecot, ISPConfig 3) – Seite 5

16 Installieren Sie phpMyAdmin

Als nächstes installieren wir phpMyAdmin:

yum install phpmyadmin

Als nächstes ändern wir die Authentifizierung in phpMyAdmin von cookie auf http:

vi /usr/share/phpmyadmin/config.inc.php
[...]
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'http';
[...]

Sie finden phpMyAdmin jetzt im Verzeichnis /usr/share/phpmyadmin/.

Nachdem Sie ISPConfig 3 installiert haben, können Sie wie folgt auf phpMyAdmin zugreifen:

Der ISPConfig-Apps-vhost auf Port 8081 für nginx wird mit einer phpMyAdmin-Konfiguration geliefert, sodass Sie http://server1.example.com:8081/phpmyadmin oder http://server1.example.com:8081/phpMyAdmin verwenden können, um auf phpMyAdmin zuzugreifen.

Wenn Sie einen /phpmyadmin- oder /phpMyAdmin-Alias ​​verwenden möchten, den Sie von Ihren Websites verwenden können, ist dies etwas komplizierter als für Apache, da nginx keine globalen Aliase hat (d. h. Aliase, die für alle vhosts definiert werden können). Daher müssen Sie diese Aliase für jeden definieren vhost, von dem aus Sie auf phpMyAdmin zugreifen möchten.

Fügen Sie dazu Folgendes in das Feld nginx-Anweisungen auf der Registerkarte Optionen der Website in ISPConfig ein:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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 on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Wenn Sie https verwenden Anstelle von http für Ihren vhost sollten Sie die Zeile fastcgi_param HTTPS on hinzufügen; wie folgt in Ihre phpMyAdmin-Konfiguration:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS on; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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 on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

Wenn Sie sowohl http als auch https für Ihren vhost verwenden, können Sie die Variable $https verwenden - gehen Sie erneut zum Feld nginx-Anweisungen und statt fastcgi_param HTTPS ein; Sie fügen die Zeile fastcgi_param HTTPS $https hinzu; damit Sie phpMyAdmin sowohl für http- als auch für https-Anfragen verwenden können:

        location /phpmyadmin {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/phpmyadmin/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS $https; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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 on;
               }
               location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /phpMyAdmin {
               rewrite ^/* /phpmyadmin last;
        }

17 Mailman installieren

Seit Version 3.0.4 ermöglicht Ihnen ISPConfig auch das Verwalten (Erstellen/Ändern/Löschen) von Mailman-Mailinglisten. Wenn Sie diese Funktion nutzen möchten, installieren Sie Mailman wie folgt:

yum install mailman

Bevor wir Mailman starten können, muss eine erste Mailingliste namens mailman erstellt werden:

/usr/lib/mailman/bin/newlist mailman

[[email protected] tmp]# /usr/lib/mailman/bin/newlist mailman
Geben Sie die E-Mail-Adresse der Person ein, die die Liste führt: <-- Administrator-E-Mail-Adresse, z. B. [email protected]
Anfängliches Mailman-Passwort: <-- Admin-Passwort für die Mailman-Liste
Um die Erstellung Ihrer Mailingliste abzuschließen, müssen Sie Ihre /etc/aliases (oder
äquivalente) Datei bearbeiten durch Hinzufügen der folgenden Zeilen und möglicherweise Ausführen des
`newaliases'-Programms:

## mailman mailing list
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/lib/mailman/mail/mailman join mailman"
mailman -leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:      " |/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailma n-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Drücken Sie die Eingabetaste, um den Mailman-Besitzer zu benachrichtigen... <-- ENTER

[Beispiel @unixlinux.online tmp]#

Danach /etc/aliases öffnen...

vi /etc/aliases

... und fügen Sie die folgenden Zeilen hinzu:

[...]
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Ausführen

newaliases

anschließend Postfix neu starten:

/etc/init.d/postfix restart

Erstellen Sie die Systemstart-Links für Mailman und starten Sie es:

chkconfig --levels 235 mailman beim
/etc/init.d/mailman start

Jetzt müssen wir diesen Symlink erstellen, damit Mailman mit ISPConfig funktioniert:

cd /usr/lib/mailman/cgi-bin/
ln -s ./ mailman

Wenn Sie Mailman von Ihren mit ISPConfig erstellten Websites aus verwenden möchten, ist dies etwas komplizierter als für Apache, da nginx keine globalen Aliase hat (d. h. Aliase, die für alle vhosts definiert werden können). Daher müssen Sie diese Aliase für jeden definieren vhost, von dem aus Sie auf Mailman zugreifen möchten.

Fügen Sie dazu Folgendes in das Feld nginx-Anweisungen auf der Registerkarte Optionen der Website in ISPConfig ein:

        location /cgi-bin/mailman {
               alias /usr/lib/mailman/cgi-bin;
               fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
               include /etc/nginx/fastcgi_params;
               fastcgi_param SCRIPT_FILENAME /usr/lib/mailman$fastcgi_script_name;
               fastcgi_param PATH_INFO $fastcgi_path_info;
               fastcgi_param PATH_TRANSLATED /usr/lib/mailman$fastcgi_path_info;
               fastcgi_intercept_errors on;
               fastcgi_pass unix:/var/run/fcgiwrap.socket;
        }
        location /images/mailman {
               alias /usr/lib/mailman/icons;
        }
        location /pipermail {
               alias /var/lib/mailman/archives/public;
               autoindex on;
        }

Dies definiert den Alias ​​/cgi-bin/mailman/ für Ihren vhost, was bedeutet, dass Sie auf die Mailman-Admin-Oberfläche für eine Liste unter http:///cgi-bin/mailman/admin/ zugreifen können, und die Webseite für Benutzer einer Mailingliste finden Sie unter http:///cgi-bin/mailman/listinfo/.

Unter http:///pipermail finden Sie das Archiv der Mailingliste.

18 Installieren Sie PureFTPd

PureFTPd kann mit dem folgenden Befehl installiert werden:

yum install pure-ftpd

Erstellen Sie dann die Systemstartlinks und starten Sie PureFTPd:

chkconfig --levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start

Jetzt konfigurieren wir PureFTPd so, dass FTP- und TLS-Sitzungen zugelassen werden. FTP ist ein sehr unsicheres Protokoll, da alle Passwörter und alle Daten im Klartext übertragen werden. Durch die Verwendung von TLS kann die gesamte Kommunikation verschlüsselt werden, wodurch FTP viel sicherer wird.

OpenSSL wird von TLS benötigt; Um OpenSSL zu installieren, führen wir einfach Folgendes aus:

yum install openssl

Öffnen Sie /etc/pure-ftpd/pure-ftpd.conf...

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

Wenn Sie FTP- und TLS-Sitzungen zulassen möchten, setzen Sie TLS auf 1:

[...]
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.
TLS                      1
[...]

Um TLS verwenden zu können, müssen wir ein SSL-Zertifikat erstellen. Ich erstelle es in /etc/ssl/private/, also erstelle ich zuerst dieses Verzeichnis:

mkdir -p /etc/ssl/private/

Anschließend können wir das SSL-Zertifikat wie folgt generieren:

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

Ländername (2-Buchstaben-Code) [XX]:<-- Geben Sie Ihren Ländernamen ein (z. B. "DE").
Staats- oder Provinzname (vollständiger Name) []:<-- Geben Sie Ihren Staats- oder Provinznamen ein .
Ortsname (z. B. Stadt) [Standardstadt]:<-- Geben Sie Ihre Stadt ein.
Organisationsname (z. B. Firma) [Standardfirma GmbH]:<-- Geben Sie Ihren Organisationsnamen ein (z. B. , der Name Ihres Unternehmens).
Name der Organisationseinheit (z. B. Abschnitt) []:<-- Geben Sie den Namen Ihrer Organisationseinheit ein (z. B. "IT-Abteilung").
Allgemeiner Name (z. B. Ihr Name oder den Hostnamen Ihres Servers) []:<-- Geben Sie den vollständig qualifizierten Domänennamen des Systems ein (z. B. "server1.example.com").
E-Mail-Adresse []:<-- Geben Sie Ihre E-Mail-Adresse ein.

Ändern Sie die Berechtigungen des SSL-Zertifikats:

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

Starten Sie abschließend PureFTPd neu:

 /etc/init.d/pure-ftpd restart

Das ist es. Sie können jetzt versuchen, sich mit Ihrem FTP-Client zu verbinden; Sie sollten Ihren FTP-Client jedoch für die Verwendung von TLS konfigurieren.

19 BIND installieren

Wir können BIND wie folgt installieren:

yum install bind bind-utils

Als nächstes öffnen Sie /etc/sysconfig/named...

vi /etc/sysconfig/named

... und stellen Sie sicher, dass die Zeile ROOTDIR=/var/named/chroot auskommentiert ist:

# BIND named process options
# ~~~~~~~~~~~~~~~~~~~~~~~~~~
# Currently, you can use the following options:
#
# ROOTDIR="/var/named/chroot"  --  will run named in a chroot environment.
#                            you must set up the chroot environment
#                            (install the bind-chroot package) before
#                            doing this.
#       NOTE:
#         Those directories are automatically mounted to chroot if they are
#         empty in the ROOTDIR directory. It will simplify maintenance of your
#         chroot environment.
#          - /var/named
#          - /etc/pki/dnssec-keys
#          - /etc/named
#          - /usr/lib64/bind or /usr/lib/bind (architecture dependent)
#
#         Those files are mounted as well if target file doesn't exist in
#         chroot.
#          - /etc/named.conf
#          - /etc/rndc.conf
#          - /etc/rndc.key
#          - /etc/named.rfc1912.zones
#          - /etc/named.dnssec.keys
#          - /etc/named.iscdlv.key
#
#       Don't forget to add "$AddUnixListenSocket /var/named/chroot/dev/log"
#       line to your /etc/rsyslog.conf file. Otherwise your logging becomes
#       broken when rsyslogd daemon is restarted (due update, for example).
#
# OPTIONS="whatever"     --  These additional options will be passed to named
#                            at startup. Don't add -t here, use ROOTDIR instead.
#
# KEYTAB_FILE="/dir/file"    --  Specify named service keytab file (for GSS-TSIG)
#
# DISABLE_ZONE_CHECKING  -- By default, initscript calls named-checkzone
#                           utility for every zone to ensure all zones are
#                           valid before named starts. If you set this option
#                           to 'yes' then initscript doesn't perform those
#                           checks.

Erstellen Sie eine Sicherungskopie der vorhandenen /etc/named.conf-Datei und erstellen Sie eine neue wie folgt:

cp /etc/named.conf /etc/named.conf_bak
cat /dev/null> /etc/named.conf
vi /etc/named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        recursion no;
        allow-recursion { none; };
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
        type hint;
        file "named.ca";
};
include "/etc/named.conf.local";

Erstellen Sie die Datei /etc/named.conf.local, die am Ende von /etc/named.conf enthalten ist (/etc/named.conf.local wird später von ISPConfig ausgefüllt, wenn Sie DNS-Zonen in ISPConfig erstellen):

touch /etc/named.conf.local

Dann erstellen wir die Startup-Links und starten BIND:

chkconfig --levels 235 benannt auf
/etc/init.d/named start

20 Installieren Sie Webalizer und AWStats

Webalizer und AWStats können wie folgt installiert werden:

yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder

Der perfekte Server – CentOS 6.4 x86_64 (nginx, Dovecot, ISPConfig 3) – Seite 6

21 Jailkit installieren

Jailkit wird nur benötigt, wenn Sie SSH-Benutzer chrooten möchten. Es kann wie folgt installiert werden (Wichtig:Jailkit muss vor ISPConfig installiert werden - es kann nicht nachträglich installiert werden!):

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

22 Installieren Sie fail2ban

Dies ist optional, wird aber empfohlen, da der ISPConfig-Monitor versucht, das Protokoll anzuzeigen:

yum install fail2ban

Wir müssen fail2ban so konfigurieren, dass es sich in der Protokolldatei /var/log/fail2ban.log protokolliert, da dies die Protokolldatei ist, die vom ISPConfig Monitor-Modul überwacht wird. Öffnen Sie /etc/fail2ban/fail2ban.conf...

vi /etc/fail2ban/fail2ban.conf

... und kommentieren Sie die Zeile logtarget =SYSLOG aus und fügen Sie logtarget =/var/log/fail2ban.log:

hinzu
[...]
# Option:  logtarget
# Notes.:  Set the log target. This could be a file, SYSLOG, STDERR or STDOUT.
#          Only one log target can be specified.
# Values:  STDOUT STDERR SYSLOG file  Default:  /var/log/fail2ban.log
#
#logtarget = SYSLOG
logtarget = /var/log/fail2ban.log
[...]

Erstellen Sie dann die Systemstartlinks für fail2ban und starten Sie es:

chkconfig --levels 235 fail2ban on
/etc/init.d/fail2ban start

23 Installieren Sie rkhunter

rkhunter kann wie folgt installiert werden:

yum install rkhunter

24 Installieren Sie SquirrelMail

Um den SquirrelMail-Webmail-Client zu installieren, führen Sie...

aus
yum install squirrelmail

Konfigurieren Sie dann SquirrelMail:

/usr/share/squirrelmail/config/conf.pl

Wir müssen SquirrelMail mitteilen, dass wir Dovecot verwenden:

SquirrelMail Konfiguration : Lesen Sie: config.php (1.4.0)
---------------------------------------------- ------------------------
Hauptmenü --
1. Organisationseinstellungen
2. Servereinstellungen
3. Ordner-Standardeinstellungen
4. Allgemeine Optionen
5. Themen
6. Adressbücher
7. Nachricht des Tages (MOTD)
8. Plugins
9. Datenbank
10. Sprachen

D. Festlegen vordefinierter Einstellungen für bestimmte IMAP-Server

C   Farbe ausschalten
S   Daten speichern
Q   Beenden

Befehl >> <-- D


SquirrelMail-Konfiguration : Lesen Sie: config.php
---------------------- ------------------------------
Während wir SquirrelMail entwickelt haben, haben wir einige
Einstellungen entdeckt die mit einigen Servern besser funktionieren, die mit anderen nicht
gut funktionieren. Wenn Sie Ihren IMAP-Server auswählen, legt diese Option 
einige vordefinierte Einstellungen für diesen Server fest.

Bitte beachten Sie müssen noch durchgehen und sicherstellen, dass
alles so ist ist richtig. Das ändert nicht alles. Es sind
nur einige Einstellungen, die dadurch geändert werden.

Bitte wählen Sie Ihren IMAP-Server aus:
    bincimap    = Binc-IMAP-Server
    courier     = Courier-IMAP-Server
    cyrus       = Cyrus IMAP Server
    dovecot     = Dovecot Secure IMAP Server
    exchange    = Microsoft Exchange IMAP Server
    hmailserver = hMail Server
    macosx      = Mac OS X > Mailserver 
    macosx      = Mac OS X > Mailserver /32
    uw          = IMAP Server der University of Washington
    gmail       = IMAP-Zugriff auf Google Mail (Gmail) Konten

    beenden        = Nichts ändern
Befehl >> <-- Dovecot


SquirrelMail-Konfiguration : Lesen Sie: config.php
----------------------- ----------------------------------
Während wir SquirrelMail entwickelt haben, haben wir einige entdeckt
Einstellungen, die mit einigen Servern besser funktionieren, die mit anderen
nicht so gut funktionieren. Wenn Sie Ihren IMAP-Server auswählen, legt diese Option 
einige vordefinierte Einstellungen für diesen Server fest.

Bitte beachten Sie müssen noch durchgehen und sicherstellen, dass
alles so ist ist richtig. Das ändert nicht alles. Es sind
nur einige Einstellungen, die dadurch geändert werden.

Bitte wählen Sie Ihren IMAP-Server aus:
    bincimap    = Binc-IMAP-Server
    courier     = Courier-IMAP-Server
    cyrus       = Cyrus IMAP Server
    dovecot     = Dovecot Secure IMAP Server
    exchange    = Microsoft Exchange IMAP Server
    hmailserver = hMail Server
    macosx      = Mac OS X > Mailserver 
    macosx      = Mac OS X > Mailserver /32
    uw          = IMAP Server der University of Washington
    gmail       = IMAP-Zugriff auf Google Mail (Gmail) Konten

    beenden        = Nichts ändern
Befehl >> Kurier

IMAP_SERVER_TYPE =Courier
default_folder_prefix =Postbox.
trash_folder =trash
sent_folder =send
entworfen_Folder =Entwürfe
show_prefix_option =false
          default_sub_of_inbox = false
show_contain_subfolders_option =false
            optional_delimiter = .
                 delete_folder = true

Drücken Sie die Eingabetaste, um fortzufahren... <-- drücken Sie die EINGABETASTE


SquirrelMail-Konfiguration :Lesen Sie: config.php (1.4.0)
------------------------------------ ---------------------
Hauptmenü --
1. Organisationseinstellungen
2. Servereinstellungen
3. Ordner-Standardeinstellungen
4. Allgemeine Optionen
5. Themen
6. Adressbücher
7. Nachricht des Tages (MOTD)
8. Plugins
9. Datenbank
10. Sprachen

D. Festlegen vordefinierter Einstellungen für bestimmte IMAP-Server

C   Farbe ausschalten
S   Daten speichern
Q   Beenden

Befehl >> <--S


SquirrelMail-Konfiguration : Lesen Sie: config.php (1.4.0)
---------------------- -----------------------------------
Hauptmenü --
1. Organisationseinstellungen
2. Servereinstellungen
3. Ordner-Standardeinstellungen
4. Allgemeine Optionen
5. Themen
6. Adressbücher
7. Nachricht des Tages (MOTD)
8. Plugins
9. Datenbank
10. Sprachen

D. Festlegen vordefinierter Einstellungen für bestimmte IMAP-Server

C   Farbe ausschalten
S   Daten speichern
Q   Beenden

Befehl >> <--Q

Eine letzte Sache, die wir tun müssen, ist, die Datei /etc/squirrelmail/config_local.php zu ändern und die Variable $default_folder_prefix auszukommentieren – wenn Sie dies nicht tun, sehen Sie die folgende Fehlermeldung in SquirrelMail, nachdem Sie sich angemeldet haben :Abfrage:CREATE "Gesendet" Grund angegeben:Ungültiger Postfachname.

vi /etc/squirrelmail/config_local.php
<?php

/**
 * Local config overrides.
 *
 * You can override the config.php settings here.
 * Don't do it unless you know what you're doing.
 * Use standard PHP syntax, see config.php for examples.
 *
 * @copyright &copy; 2002-2006 The SquirrelMail Project Team
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @version $Id: config_local.php,v 1.2 2006/07/11 03:33:47 wtogami Exp $
 * @package squirrelmail
 * @subpackage config
 */

//$default_folder_prefix                = '';
?>

Sie finden SquirrelMail jetzt im Verzeichnis /usr/share/squirrelmail/.

Nachdem Sie ISPConfig 3 installiert haben, können Sie wie folgt auf SquirrelMail zugreifen:

Der vhost der ISPConfig-Apps auf Port 8081 für nginx wird mit einer SquirrelMail-Konfiguration geliefert, sodass Sie http://server1.example.com:8081/squirrelmail oder http://server1.example.com:8081/webmail verwenden können, um auf SquirrelMail zuzugreifen.

Wenn Sie einen /webmail- oder /squirrelmail-Alias ​​verwenden möchten, den Sie von Ihren Websites verwenden können, ist dies etwas komplizierter als für Apache, da nginx keine globalen Aliase hat (d. h. Aliase, die für alle vhosts definiert werden können). Daher müssen Sie diese Aliase für jeden definieren vhost, von dem aus Sie auf SquirrelMail zugreifen möchten.

Fügen Sie dazu Folgendes in das Feld nginx-Anweisungen auf der Registerkarte Optionen der Website in ISPConfig ein:

        location /squirrelmail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/squirrelmail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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 on;
               }
               location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /squirrelmail last;
        }

Wenn Sie https verwenden Anstelle von http für Ihren vhost sollten Sie die Zeile fastcgi_param HTTPS on hinzufügen; zu Ihrer SquirrelMail-Konfiguration hinzufügen:

        location /squirrelmail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/squirrelmail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS on; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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 on;
               }
               location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /squirrelmail last;
        }

Wenn Sie sowohl http als auch https für Ihren vhost verwenden, können Sie die Variable $https verwenden - gehen Sie erneut zum Feld nginx-Anweisungen und statt fastcgi_param HTTPS ein; Sie fügen die Zeile fastcgi_param HTTPS $https hinzu; damit Sie SquirrelMail sowohl für http- als auch für https-Anfragen verwenden können:

        location /squirrelmail {
               root /usr/share/;
               index index.php index.html index.htm;
               location ~ ^/squirrelmail/(.+\.php)$ {
                       try_files $uri =404;
                       root /usr/share/;
                       fastcgi_pass 127.0.0.1:9000;
                       fastcgi_param HTTPS $https; # <-- add this line
                       fastcgi_index index.php;
                       fastcgi_param SCRIPT_FILENAME $request_filename;
                       include /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 on;
               }
               location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                       root /usr/share/;
               }
        }
        location /webmail {
               rewrite ^/* /squirrelmail last;
        }

Der perfekte Server – CentOS 6.4 x86_64 (nginx, Dovecot, ISPConfig 3) – Seite 7

25 Installieren Sie ISPConfig 3

Bevor Sie die ISPConfig-Installation starten, vergewissern Sie sich, dass Apache gestoppt ist (falls es installiert ist – es ist möglich, dass einige Ihrer installierten Pakete Apache als Abhängigkeit installiert haben, ohne dass Sie es wissen). Wenn Apache2 bereits auf dem System installiert ist, stoppen Sie es jetzt...

/etc/init.d/httpd stop

... und Apaches Systemstart-Links entfernen:

chkconfig --del httpd

Stellen Sie sicher, dass nginx ausgeführt wird:

/etc/init.d/nginx restart

(Wenn Sie sowohl Apache als auch nginx installiert haben, fragt Sie das Installationsprogramm, welches Sie verwenden möchten:Apache und nginx erkannt. Wählen Sie den für ISPConfig zu verwendenden Server aus:(apache,nginx) [apache]:

Geben Sie nginx ein. Wenn nur Apache oder Nginx installiert sind, wird dies vom Installer automatisch erkannt und es wird keine Frage gestellt.)

Laden Sie die aktuelle Version von ISPConfig 3 herunter und installieren Sie sie. Der ISPConfig-Installer konfiguriert alle Dienste wie Postfix, Dovecot usw. für Sie. Eine manuelle Einrichtung wie bei ISPConfig 2 ist nicht mehr notwendig.

Sie haben jetzt auch die Möglichkeit, den Installer einen SSL-vhost für das ISPConfig-Kontrollfeld erstellen zu lassen, damit ISPConfig über https:// statt http:// aufgerufen werden kann. Drücken Sie dazu einfach die EINGABETASTE, wenn Sie diese Frage sehen:Möchten Sie eine sichere (SSL) Verbindung zur ISPConfig-Weboberfläche (y,n) [y]:.

Um ISPConfig 3 von der neuesten veröffentlichten Version zu installieren, gehen Sie wie folgt vor:

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

Der nächste Schritt ist die Ausführung

php -q install.php

Dadurch wird das ISPConfig 3-Installationsprogramm gestartet:

[[email protected] install]# php -q install.php


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


>> Anfangskonfiguration

Betriebssystem: Redhat oder kompatible, unbekannte Version.

    Im Folgenden werden einige Fragen für die primäre Konfiguration stehen, also sei vorsichtig.
    Standardwerte sind in [Klammern] und können mit  akzeptiert werden.
    Tippe in "Beenden" (ohne Anführungszeichen), um das Installationsprogramm zu stoppen.


Sprache auswählen (en,de) [en]: <-- ENTER

Installationsmodus (Standard,Experte) [Standard]: <-- ENTER

Vollqualifizierter Hostname (FQDN) des Servers, z. B. server1.domain.tld  [server1.example.com]: <-- ENTER

Hostname des MySQL-Servers [localhost]: <-- ENTER

MySQL Root-Benutzername [root]: <-- ENTER

MySQL-Root-Passwort []: <- - yourrootsqlpassword

MySQL-Datenbank zum Erstellen [dbispconfig]: <-- ENTER

MySQL-Zeichensatz [utf8]: <-- ENTER

Apache und nginx erkannt. Wählen Sie den für ISPConfig zu verwendenden Server: (Apache, nginx) [Apache]: <-- nginx

Generieren eines privaten 2048-Bit-RSA-Schlüssels
........... .................................................... .........+++
................................. .............+++
schreiben neuen privaten Schlüssel in 'smtpd.key'
-----
Sie werden gleich dazu gefragt Geben Sie Informationen ein, die
in Ihre Zertifikatsanforderung aufgenommen werden.
Was Sie gleich eingeben werden, ist ein sogenannter Distinguished Name oder DN.
Es gibt einige wenige Felder, aber Sie können sie verlassen einige leer
Für einige Felder gibt es einen Standardwert,
Wenn Sie '.' eingeben, wird das Feld leer gelassen.
-----
Ländername ( 2-Buchstaben-Code) [XX]: <-- ENTER
Staats- oder Provinzname (vollständiger Name) []: <-- ENTER
Ortsname (z. B. Stadt) [Standard Stadt]: <-- ENTER
Name der Organisation (z. B. Firma) [Default Company Ltd]: <-- ENTER
Name der Organisationseinheit (z. B. Bereich) []: <-- ENTER
Allgemeiner Name (z. B. deine n Name oder Hostname Ihres Servers) []: <-- ENTER
E-Mail-Adresse []: <-- ENTER
Jailkit konfigurieren
Dovecot konfigurieren
Spamassassin konfigurieren
Amavisd konfigurieren
Getmail konfigurieren
Pureftpd konfigurieren
BIND konfigurieren
nginx konfigurieren
Vlogger konfigurieren
Apps vhost konfigurieren
Bastille-Firewall konfigurieren
Fail2ban konfigurieren
Installieren von ISPConfig
ISPConfig Port [8080]: <-- ENTER

Möchten Sie eine sichere (SSL) Verbindung zur ISPConfig-Weboberfläche (y,n) [y] : <-- ENTER

Generieren des privaten RSA-Schlüssels, 4096 Bit langes Modul
........................ ...................................++
......... .................................................... ................++
e ist 65537 (0x10001)
Sie werden gleich aufgefordert, Informationen einzugeben, die eingebaut werden
in Ihre Zertifikatsanforderung.
Was Sie eingeben werden ist ein sogenannter Distinguished Name oder ein DN.
Da Es gibt ziemlich einige Felder , aber Sie können einige leer lassen
Für einige Felder gibt es einen Standardwert,
Wenn Sie '.' eingeben, wird das Feld leer gelassen.
--- --
Ländername (2-Buchstaben-Code) [XX]: <-- ENTER
Bundesstaat oder Provinz Name (vollständiger Name) []: <-- ENTER
Ortsname (z. B. Stadt ) [Standard Stadt]: <-- ENTER
Name der Organisation (z. B. Firma) [Standard Company Ltd]: <-- ENTER
Name der Organisationseinheit (z. B. Bereich) []: <-- ENTER
Allgemeiner Name (z. B. Ihr Name oder der Hostname Ihres Servers) []: <-- ENTER
E-Mail-Adresse []: <-- ENTER

Bitte geben Sie das folgende Extra ein ' Attribute
die mit Ihrer Zertifikatsanforderung gesendet werden sollen
Ein Challenge-Passwort []: <-- ENTER
Ein optionaler Firmenname []: <-- ENTER
schreiben RSA-Schlüssel
Konfigurieren von DBServer
Installieren von ISP Config crontab
kein crontab für root
kein crontab für getmail
Neustart der Dienste ...
Stopp mysqld:                                         [       [  OK  ]
>Start MySQLD:[OK]
Nachfolger nach der Fix:[OK]
Postfix starten:[OK]
Saslauthd stoppen:[fehlgeschlagen]
SaslAuthd starten:[OK]

Herunterfahren amavisd:Daemon [1554] beendet von sigterm
[OK]
amavisd gestoppt.
starten clamd.amavisd:[OK]
Störungen des DEVECOT IMAP:[OK]
Starten von DEVECOT IMAP:[OK]
Laden Sie PHP-FPM neu:[OK]
nginx wird neu geladen:                          [OK]
Stoppen von Pure-Fftpd:[OK]
Starten von Pure-FTPD:[OK]
Abschluss.>

Um die Mailman-Fehler zu beheben, die Sie möglicherweise während der ISPConfig-Installation erhalten, öffnen Sie /usr/lib/mailman/Mailman/mm_cfg.py...

vi /usr/lib/mailman/Mailman/mm_cfg.py

... und setze DEFAULT_SERVER_LANGUAGE ='en':

[...]
#-------------------------------------------------------------
# The default language for this server.
DEFAULT_SERVER_LANGUAGE = 'en'
[...]

Mailman neu starten:

/etc/init.d/mailman restart 

Danach erreichen Sie ISPConfig 3 unter http(s)://server1.example.com:8080/ oder http(s)://192.168.0.100:8080/ (http oder https hängt davon ab, was Sie bei der Installation gewählt haben). Melden Sie sich mit dem Benutzernamen admin und dem Passwort admin an (das Standardpasswort sollten Sie nach Ihrer ersten Anmeldung ändern):

Das System ist nun einsatzbereit.

Wenn Sie IPv6-Adressen mit Ihren nginx-Vhosts verwenden möchten, gehen Sie bitte wie folgt vor, bevor Sie IPv6-Vhosts in ISPConfig erstellen:

Öffnen Sie /etc/sysctl.conf...

vi /etc/sysctl.conf

... und fügen Sie die Zeile net.ipv6.bindv6only =1:

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

Lauf...

sysctl -p

... danach, damit die Änderung wirksam wird.

25.1 ISPConfig 3 Handbuch

Um zu lernen, wie man ISPConfig 3 verwendet, empfehle ich dringend, das ISPConfig 3-Handbuch herunterzuladen.

Auf mehr als 300 Seiten behandelt es das Konzept hinter ISPConfig (Admin, Wiederverkäufer, Kunden), erklärt, wie ISPConfig 3 installiert und aktualisiert wird, enthält eine Referenz für alle Formulare und Formularfelder in ISPConfig zusammen mit Beispielen für gültige Eingaben und bietet Tutorials für die häufigsten Aufgaben in ISPConfig 3. Es beschreibt auch, wie Sie Ihren Server sicherer machen können, und enthält am Ende einen Abschnitt zur Fehlerbehebung.

25.2 ISPConfig Monitor-App für Android

Mit der ISPConfig Monitor App können Sie Ihren Serverstatus überprüfen und herausfinden, ob alle Dienste wie erwartet laufen. Sie können TCP- und UDP-Ports überprüfen und Ihre Server anpingen. Darüber hinaus können Sie diese App verwenden, um Details von Servern anzufordern, auf denen ISPConfig installiert ist (Bitte beachten Sie, dass die installierte Mindestversion von ISPConfig 3 mit Unterstützung für die ISPConfig Monitor App 3.0.3.3 ist! ); Diese Details umfassen alles, was Sie aus dem Monitor-Modul im ISPConfig Control Panel wissen (z. B. Dienste, Mail- und Systemprotokolle, Mail-Warteschlange, CPU- und Speicherinformationen, Festplattennutzung, Quote, Betriebssystemdetails, RKHunter-Protokoll usw.) und natürlich , da ISPConfig Multiserver-fähig ist, können Sie alle Server prüfen, die von Ihrem ISPConfig-Masterserver gesteuert werden.

Anweisungen zum Herunterladen und zur Verwendung finden Sie unter http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/.

  • CentOS:http://www.centos.org/
  • ISPConfig:http://www.ispconfig.org/

Über den Autor

Falko Timme ist der Inhaber von Timme Hosting (ultraschnelles Nginx-Webhosting). Er ist der Hauptbetreuer von HowtoForge (seit 2005) und einer der Kernentwickler von ISPConfig (seit 2000). Er hat auch zum O'Reilly-Buch "Linux System Administration" beigetragen.


Panels
  1. Der perfekte Server – CentOS 7 (Apache2, Dovecot, ISPConfig 3)

  2. Der perfekte Server – OpenSUSE 12.3 x86_64 (nginx, Dovecot, ISPConfig 3)

  3. Der perfekte Server – CentOS 5.6 x86_64 [ISPConfig 2]

  4. Der perfekte Server – CentOS 6.1 x86_64 mit Apache2 [ISPConfig 3]

  5. Der perfekte Server – OpenSUSE 12.1 x86_64 mit Nginx [ISPConfig 3]

Der perfekte Server – OpenSUSE 12.2 x86_64 (Apache2, Dovecot, ISPConfig 3)

Der perfekte Server – CentOS 6.3 x86_64 (nginx, Dovecot, ISPConfig 3)

Der perfekte Server – CentOS 6.3 x86_64 (nginx, Courier, ISPConfig 3)

Der perfekte Server – CentOS 6.3 x86_64 (Apache2, Courier, ISPConfig 3)

Der perfekte Server – CentOS 6.4 x86_64 (Apache2, Dovecot, ISPConfig 3)

Der perfekte Server – CentOS 7 x86_64 (nginx, Dovecot, ISPConfig 3)