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ühreniptables -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):
hinzuvi /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
ausyum 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:
hinzuusermod -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://
Unter http://
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...
ausyum 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 © 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
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...
... und setze DEFAULT_SERVER_LANGUAGE ='en':
Mailman neu starten:
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...
... und fügen Sie die Zeile net.ipv6.bindv6only =1:
Lauf...
... danach, damit die Änderung wirksam wird.
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.
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/.
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.
----------------------- -------------------------------------------------- -------
_____ ___________ _____ __ _ ____
|_ _/ ___| ___ \ / __ \ / _(_) /__ \
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |
_| |_/\__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_| \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
-------------------------------------- -------------------------------------------
>> 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
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.> vi /usr/lib/mailman/Mailman/mm_cfg.py
[...]
#-------------------------------------------------------------
# The default language for this server.
DEFAULT_SERVER_LANGUAGE = 'en'
[...]
/etc/init.d/mailman restart
vi /etc/sysctl.conf
[...]
net.ipv6.bindv6only = 1
sysctl -p
25.1 ISPConfig 3 Handbuch
25.2 ISPConfig Monitor-App für Android
26 Links
Über den Autor