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

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

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

Dieses Tutorial zeigt, wie man einen CentOS 7 x86_64 Server für die Installation von ISPConfig 3 vorbereitet und ISPConfig 3 darauf installiert. 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 und nicht Apache verwendet. Das ISPConfig 3 Apache Perfect Server Tutorial ist hier verfügbar.

ISPConfig 3 Handbuch

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

Auf etwa 300 Seiten behandelt es das Konzept hinter ISPConfig (Admin, Reseller, Clients), 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.

1. Anforderungen

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

  • Laden Sie die beiden CentOS 7.0-DVDs von einem Spiegel neben Ihnen herunter (die Liste der Spiegel finden Sie hier:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7.0-1406-x86_64 -DVD.iso.
  • 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 unterschiedlich sein, daher müssen Sie sie gegebenenfalls ersetzen. Bitte installieren Sie die minimale CentOS 7-Installation von diesem Tutorial-Link, bevor Sie fortfahren.

3 Nano-Editor installieren und /etc/hosts anpassen

yum -y nano wget installieren

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

nano /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4192.168.0.100 server1.example.com server1::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

und setzen Sie den Hostnamen auf server1.example.com:

echo 'server1.example.com'> /etc/hostname

4 Konfigurieren Sie die Firewall und installieren Sie einige grundlegende Netzwerksoftware

(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

systemctl stoppt firewalld.service
systemctl deaktiviert firewalld.service

[[email protected] ~]# systemctl disable firewalld.service
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/ basic.target.wants/firewalld.service'
[[email protected] ~]#

und die Firewall deaktivieren.

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

ausführen

firewall-cmd --state

nachher. Die Ausgabe sollte so aussehen:

[[email protected] ~]# firewall-cmd --state
läuft nicht
[[email protected] ~]#

yum -y install net-tools NetworkManager-tui

5 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:

nano /etc/selinux/config

# Diese Datei steuert den Zustand von SELinux auf dem System.# SELINUX=kann einen dieser drei Werte annehmen:# erzwingen – SELinux-Sicherheitsrichtlinie wird erzwungen.# permissiv – SELinux gibt Warnungen aus, anstatt erzwingen.# deaktiviert – Kein SELinux Die Richtlinie ist geladen. SELINUX=deaktiviert# SELINUXTYPE=kann einen dieser beiden Werte annehmen:# targetiert – Gezielte Prozesse werden geschützt,# mls – Mehrstufiger Sicherheitsschutz.SELINUXTYPE=targeted

Danach müssen wir das System neu starten:

Neustart

6 Zusätzliche Repositories aktivieren und einige Software installieren

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

yum -y installiere epel-release

yum -y installiere yum-Prioritäten

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

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

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

[epel]name=Zusatzpakete für Enterprise Linux 7 – $basearch#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearchmirrorlist=https://mirrors.fedoraproject.org/metalink ?repo=epel-7&arch=$basearchfailovermethod=priorityenabled=1priority=10gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7[...]

Dann aktualisieren wir unsere bestehenden Pakete auf dem System:

Yum-Update

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

yum -y groupinstall 'Entwicklungstools'

7-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 -y Installationskontingent

Jetzt prüfen wir, ob Quota für das Dateisystem, in dem die Website (/var/www) und die Maildir-Daten (var/vmail) gespeichert sind, bereits aktiviert ist. In diesem Beispiel-Setup habe ich eine große Root-Partition, also suche ich nach ' / ':

montieren | grep ' / '

[[email protected] ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
[[email protected] ~]#

Wenn Sie eine separate /var-Partition haben, verwenden Sie:

montieren | grep ' /var '

stattdessen. Wenn die Zeile das Wort „noquota ", fahren Sie dann mit den folgenden Schritten fort, um das Kontingent zu aktivieren.

Kontingent auf der Partition / (Root) aktivieren

Normalerweise würden Sie Quota in der Datei /etc/fstab aktivieren, aber wenn das Dateisystem das Root-Dateisystem "/" ist, dann muss Quota durch einen Boot-Parameter des Linux-Kernels aktiviert werden.

Bearbeiten Sie die Grub-Konfigurationsdatei:

nano /etc/default/grub

Suchen Sie nach der Zeile, die mit GRUB_CMDLINE_LINUX beginnt, und fügen Sie rootflags=uquota,gquota zu den Befehlszeilenparametern hinzu, sodass die resultierende Zeile wie folgt aussieht:

[...]

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto vconsole.keymap =us rhgb quiet rootflags=uquota,gquota"
[...]

und wenden Sie die Änderungen an, indem Sie den folgenden Befehl ausführen.

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak
grub2-mkconfig -o /boot/grub2/grub.cfg

und starten Sie den Server neu.

Neustart

Überprüfen Sie nun, ob Quota aktiviert ist:

montieren | grep ' / '

[[email protected] ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[[email protected] ~]#

Wenn Quota aktiv ist, sehen wir "usrquota,grpquota " in der Mount-Optionsliste.

Kontingent auf einer separaten /var-Partition aktivieren

Wenn Sie eine separate /var-Partition haben, bearbeiten Sie /etc/fstab und fügen Sie ,uquota,gquota zur / Partition hinzu (/dev/mapper/centos-var):

nano /etc/fstab

## /etc/fstab# Erstellt von anaconda am Sonntag, 21. September 16:33:45 2014## Zugängliche Dateisysteme werden per Referenz unter '/dev/disk' verwaltet. # Siehe Manpages fstab(5), findfs (8), mount(8) und/oder blkid(8) für weitere Informationen #/dev/mapper/centos-root / xfs defaults 1 1/dev/mapper/centos-var /var xfs defaults,uquota,gquota 1 2UUID =9ac06939-7e43-4efd-957a-486775edd7b4 /boot xfs defaults 1 3/dev/mapper/centos-swap swap swap defaults 0 0

Dann ausführen

mount -o remount /var

Quotecheck -avugm
quotaon -avug

zum Aktivieren des Kontingents.

8 Synchronisieren Sie die Systemuhr

Es ist eine gute Idee, die Systemuhr mit einem NTP zu synchronisieren (n Netzwerk t ime p rotocol)-Server über das Internet. Einfach ausführen

yum -y install ntp

und Ihre Systemzeit wird immer synchron sein.

9 Installieren Sie MariaDB

Wir werden MariaDB-Server und -Client wie folgt installieren:

yum -y install mariadb mariadb-server

Wir möchten, dass der Mariadb-Dienst beim und nach dem Booten ausgeführt wird, und starten den Dienst wie folgt:

systemctl aktiviert mariadb.service
systemctl startet mariadb.service

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

mysql_secure_installation

[[email protected] ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation:line 379:find_mysql_client:command not found

HINWEIS:DAS AUSFÜHREN ALLER TEILE DIESES SCRIPTS WIRD FÜR ALLE MariaDB EMPFOHLEN
      SERVER IM PRODUKTIONSEINSATZ! BITTE LESEN SIE JEDEN SCHRITT SORGFÄLTIG!

Um sich bei MariaDB anzumelden, um es zu sichern, benötigen wir das aktuelle
Passwort für den Root-Benutzer. Wenn Sie MariaDB gerade 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 eingeben (Eingabe für keins):<--ENTER
OK, erfolgreich verwendetes Passwort, weiter geht's...

Das Festlegen des Root-Passworts stellt sicher, dass sich niemand ohne die entsprechende Berechtigung beim MariaDB
root-Benutzer anmelden kann.

Root-Passwort setzen? [J/n]<--ENTER
Neues Passwort:<--IhrArmariaDBPasswort
Geben Sie das neue Passwort erneut ein:<--yourrmariadbpassword
Passwort erfolgreich aktualisiert!
Berechtigungstabellen werden neu geladen..
 ... Erfolgreich!


Standardmäßig hat eine MariaDB-Installation einen anonymen Benutzer jeder
sich bei MariaDB anmelden kann, ohne dass ein Benutzerkonto
für ihn erstellt werden muss. Dies ist nur zum Testen gedacht und um die Installation
etwas reibungsloser zu gestalten. Sie sollten sie entfernen, bevor Sie in eine
Produktionsumgebung wechseln.

Anonyme Benutzer entfernen? [J/n] <--ENTER
 ... Erfolgreich!

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

Root-Anmeldung aus der Ferne verbieten? [J/n]<--ENTER
 ... Erfolgreich!

MariaDB wird standardmäßig mit einer Datenbank namens "test" geliefert, auf die jeder
zugreifen kann. Dies ist ebenfalls nur für Testzwecke gedacht und sollte entfernt werden,
bevor Sie in eine Produktionsumgebung wechseln.

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

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

Berechtigungstabellen jetzt neu laden? [J/n] <--ENTER
 ... Erfolgreich!

Aufräumen...

Alles erledigt! Wenn Sie alle obigen Schritte ausgeführt haben, sollte Ihre MariaDB
Installation jetzt sicher sein.

Danke, dass Sie MariaDB verwenden!
[[email protected] ~]#

10 Installieren Sie Dovecot

Dovecot kann wie folgt installiert werden:

yum -y install dovecot dovecot-pigeonhole dovecot-mysql

Erstellen Sie eine leere dovecot-sql.conf-Datei und einen symbolischen Link:

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:

systemctl ermöglicht dovecot.service
systemctl startet dovecot.service

11 Postfix installieren

Postfix kann wie folgt installiert werden:

yum -y postfix installieren

Schalten Sie dann Sendmail aus und starten Sie Postfix:

systemctl mariadb.service aktivieren
systemctl mariadb.service starten
systemctl sendmail.service stoppen
systemctl sendmail.service deaktivieren
systemctl postfix.service aktivieren
systemctl postfix.service neu starten

12 Installieren Sie Getmail

Getmail kann wie folgt installiert werden:

yum -y getmail installieren

13 Installieren Sie Amavisd-new, SpamAssassin und ClamAV

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

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

Bearbeiten Sie die Freshclam-Konfigurationsdatei /etc/freshclam.conf

nano /etc/freshclam.conf

und kommentieren Sie die Zeile "Example"

aus

[....]
# Beispiel
[....]

Dann starten wir freshclam, amavisd und clamd.amavisd:

sa-update
freshclam
systemctl enable amavisd.service

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

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

yum -y installiere nginx

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

systemctl stoppt httpd.service

... und Apaches Systemstart-Links entfernen:

systemctl deaktiviert httpd.service

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

systemctl aktiviert nginx.service
systemctl startet nginx.service

(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 -y 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-mbstring php-mcrypt php- mssql php-snmp php-soap php-tidy

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

nano /etc/php.ini

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

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

Setzen Sie außerdem cgi.fix_pathinfo=0:

nano /etc/php.ini

[...]; cgi.fix_pathinfo bietet *echte* PATH_INFO/PATH_TRANSLATED-Unterstützung für CGI. PHPs; Das frühere Verhalten bestand darin, PATH_TRANSLATED auf SCRIPT_FILENAME und nicht auf grok zu setzen. was PATH_INFO ist. Weitere Informationen zu PATH_INFO finden Sie in den CGI-Spezifikationen. Einstellung; Dies auf 1 wird PHP CGI veranlassen, seine Pfade so zu korrigieren, dass sie der Spezifikation entsprechen. Eine Einstellung; von Null bewirkt, dass sich PHP wie zuvor verhält. Standard ist 1. Sie sollten Ihre Skripte reparieren; um SCRIPT_FILENAME statt PATH_TRANSLATED zu verwenden.; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfocgi.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
[...][Datum]; Definiert die von den Datumsfunktionen verwendete Standardzeitzone; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezonedate.timezone ="Europe/Berlin"[...]

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

systemctl aktiviert php-fpm
systemctl startet php-fpm neu

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 7.0 gibt, müssen wir es selbst erstellen. Zuerst installieren wir einige Voraussetzungen:

yum -y fcgi-devel installieren

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 -y install spawn-fcgi

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

nano /etc/sysconfig/spawn-fcgi

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

# Sie müssen einige Arbeitsoptionen einstellen, bevor der "spawn-fcgi"-Dienst funktioniert.# Wenn SOCKET auf eine Datei zeigt, dann wird diese Datei durch das Init-Skript bereinigt.## Siehe spawn-fcgi(1) für alle möglichen Optionen /run/spawn-fcgi.pid -- /usr/bin/php-cgi"FCGI_SOCKET=/var/run/fcgiwrap.socketFCGI_PROGRAM=/usr/local/sbin/fcgiwrapFCGI_USER=apacheFCGI_GROUP=apacheFCGI_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 spawn-fcgi ein

... und starten Sie es wie folgt:

systemctl start spawn-fcgi

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).

14.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 7 x86_64 (nginx, Dovecot, ISPConfig 3) – Seite 2

15 Installieren Sie phpMyAdmin

Als nächstes installieren wir phpMyAdmin:

yum -y installiere phpmyadmin

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

nano /etc/phpMyAdmin/config.inc.php

[...]/* Authentifizierungstyp */$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; Speicherort ~ ^/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; schließen Sie /etc/nginx/fastcgi_params ein; 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; Speicherort ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS an; # <-- diese Zeile hinzufügen fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; schließen Sie /etc/nginx/fastcgi_params ein; 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; Speicherort ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $https; # <-- diese Zeile hinzufügen fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; schließen Sie /etc/nginx/fastcgi_params ein; 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; }

16 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 -y mailman installieren

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

touch /var/lib/mailman/data/aliases
touch /etc/mailman/aliases
/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...

nano /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 springt mailman zurück"mailman-confirm:"|/usr/lib/mailman/mail/mailman bestätigt mailman"mailman-join:"|/usr/lib/mailman/mail/mailman tritt mailman bei "mailman-leave:"|/usr/lib/mailman/mail/mailman verlässt mailman"mailman-owner:"|/usr/lib/mailman/mail/mailman owner mailman"mailman-request:"|/usr/lib/ mailman/mail/mailman mailman anfordern"mailman-subscribe:"|/usr/lib/mailman/mail/mailman mailman abonnieren"mailman-unsubscribe:"|/usr/lib/mailman/mail/mailman mailman abbestellen"

Ausführen

newaliases

anschließend Postfix neu starten:

systemctl startet postfix.service neu

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

systemctl aktiviert mailman.service
systemctl startet mailman.service

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:

 Ort /cgi-bin/mailman { alias /usr/lib/mailman/cgi-bin; fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$; schließen Sie /etc/nginx/fastcgi_params ein; 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; } Ort /pipermail { alias /var/lib/mailman/archives/public; Autoindex an; }

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.

17 Installieren Sie PureFTPd

PureFTPd kann mit dem folgenden Befehl installiert werden:

yum -y installiere pure-ftpd

Erstellen Sie dann die Systemstartlinks und starten Sie PureFTPd:

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

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 -y install openssl

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

nano /etc/pure-ftpd/pure-ftpd.conf

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

[...]# Diese Option kann drei Werte annehmen:# 0 :SSL/TLS-Verschlüsselungsschicht deaktivieren (Standard). # 1 :traditionelle und verschlüsselte Sitzungen akzeptieren. # 2 :Verbindungen ablehnen, die kein SSL verwenden /TLS-Sicherheitsmechanismen,# einschließlich anonymer Sitzungen.# Entkommentieren Sie dies _nicht_ blind. Stellen Sie sicher, dass :# 1) Ihr Server mit SSL/TLS-Unterstützung (--with-tls) kompiliert wurde,# 2) ein gültiges Zertifikat vorhanden ist,# 3) nur kompatible Clients sich anmelden.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:

systemctl startet pure-ftpd.service neu

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.

18 BIND installieren

Wir können BIND wie folgt installieren:

yum -y install bind bind-utils

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

nano /etc/sysconfig/named

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

# BIND benannte Prozessoptionen# ~~~~~~~~~~~~~~~~~~~~~~~~~~## OPTIONS="whatever" -- Diese zusätzlichen Optionen werden weitergegeben zu named# beim Start. Fügen Sie hier nicht -t hinzu, aktivieren Sie die richtige# -chroot.service Unit-Datei.

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
nano /etc/named.conf

//// named.conf//// Wird von Red Hat Bind-Paket bereitgestellt, um den ISC BIND named(8) DNS// Server als Nur-Caching-Nameserver (nur als Localhost-DNS-Resolver) zu konfigurieren./// / Siehe /usr/share/doc/bind*/sample/ für beispielsweise benannte Konfigurationsdateien.//options { listen-on port 53 { any; }; listen-on-v6 port 53 { beliebig; }; Verzeichnis "/var/named"; Dump-Datei "/var/named/data/cache_dump.db"; Statistikdatei "/var/named/data/named_stats.txt"; Speicherstatistik-Datei "/var/named/data/named_mem_stats.txt"; Abfrage zulassen { beliebig; }; Rekursion nein;}; Protokollierung { Kanal default_debug { file "data/named.run"; Schweregrad dynamisch; };};Zone "." IN { Tipp eingeben; 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):

Berühren Sie /etc/named.conf.local

Dann erstellen wir die Startup-Links und starten BIND:

systemctl enable named.service
systemctl start named.service

19 Installieren Sie Webalizer und AWStats

Webalizer und AWStats können wie folgt installiert werden:

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

20 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.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit-2.17
./configure
make
make install
cd ..
rm -rf jailkit-2.17*

21 Installieren Sie fail2ban

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

yum -y 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...

nano /etc/fail2ban/fail2ban.conf

... und stellen Sie sicher, dass logtarget =/var/log/fail2ban.log :

ist
[...]# Option:logtarget# Hinweise.:Legt das Protokollziel fest. Dies kann eine Datei sein, SYSLOG, STDERR oder STDOUT.# Es kann nur ein Protokollziel angegeben werden.# Wenn Sie den Standardwert für logtarget ändern und # logrotate verwenden, passen Sie auch die Rotation in der# entsprechenden Konfigurationsdatei an oder deaktivieren Sie diese. (zB /etc/logrotate.d/fail2ban auf Debian-Systemen)# Werte:[ STDOUT | STDERR | SYSLOG | DATEI ] Standard:STDERR#logtarget =/var/log/fail2ban.log[...]

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

systemctl enable fail2ban.service
systemctl start fail2ban.service

22 Installieren Sie rkhunter

rkhunter kann wie folgt installiert werden:

yum -y installiere rkhunter

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

23 Installieren Sie RoundcubeMail

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

aus

yum -y installiere roundcubemail

ISPConfig enthält einen Standard-Webmail-Alias ​​für squirremail in seinem Apps-Vhost. Wir werden diesen Alias ​​für den moderneren Roundcube verwenden, also erstellen wir einen Symlink mit dem Namen squirrelmail in /usr/share

ln -s /usr/share/roundcubemail /usr/share/squirrelmail

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

Der vhost der ISPConfig-Apps auf Port 8081 für nginx verfügt über eine /webmail-Aliaskonfiguration, sodass Sie  http://server1.example.com:8081/webmail verwenden können, um auf RoundcubeMail zuzugreifen.

Wenn Sie einen /webmail- oder /roundcubemail-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:

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

 location /roundcubemail { root /usr/share/; index index.php index.html index.htm; Ort ~ ^/roundcubemail/(.+\.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; schließen Sie /etc/nginx/fastcgi_params ein; 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 ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail {rewrite ^/* /roundcubemail last; }

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

 location /roundcubemail { root /usr/share/; index index.php index.html index.htm; Ort ~ ^/roundcubemail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS an; # <-- diese Zeile hinzufügen fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; schließen Sie /etc/nginx/fastcgi_params ein; 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 ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail {rewrite ^/* /roundcubemail 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 RoundcubeMail sowohl für http- als auch für https-Anfragen verwenden können:

 location /roundcubemail { root /usr/share/; index index.php index.html index.htm; Ort ~ ^/roundcubemail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $https; # <-- diese Zeile hinzufügen fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; schließen Sie /etc/nginx/fastcgi_params ein; 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 ~* ^/roundcubemail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail {rewrite ^/* /squirrelmail last; }

Jetzt brauchen wir eine Datenbank für Roundcube-Mail, wir initialisieren sie wie folgt:

mysql -u root -p

Verwenden Sie bei der Mariadb-Eingabeaufforderung:

DATENBANK ERSTELLEN roundcubedb;
CREATE USER [email protected] IDENTIFIED BY 'roundcubepassword';
ALLE PRIVILEGIEN GEWÄHREN auf roundcubedb.* an [email protected];
FLUSH PRIVILEGES;
exit

Ich verwende Details für die Roundcube-Datenbank als Test, bitte ersetzen Sie die Werte aus Sicherheitsgründen nach Ihrer Wahl. Wir werden die Roundcube-Installation abschließen, nachdem wir ISPConfig installiert haben.

24 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...

systemctl stoppt httpd.service

... und Apaches Systemstart-Links entfernen:

systemctl deaktiviert httpd.service

Stellen Sie sicher, dass nginx ausgeführt wird:

systemctl startet nginx.service neu

(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 aus: (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':

[...]#-------------------------------------------------- --------------------# Die Standardsprache für diesen Server.DEFAULT_SERVER_LANGUAGE ='en'[...]

Mailman neu starten:

systemctl mailman.service neu starten

Jetzt werde ich die Installation von RoundcubeMail abschließen. Öffnen Sie die folgende URL in Ihrem Browser:

http://192.168.0.100:8081/roundcubemail/installer

Sie werden vom RoundcubeMail-Webinstaller begrüßt, scrollen Sie auf der Seite nach unten und klicken Sie auf Weiter:

Geben Sie dann hier die Datenbankdetails der roundcubedb-Datenbank ein, die wir in Kapitel 23 erstellt haben:

Stellen Sie den SMTP-Server auf localhost und Ihre bevorzugte Sprache ein

und klicken Sie auf "Create config", um zur nächsten Seite zu gelangen.

Öffnen Sie die Datei /etc/roundcubemail/config.inc.php auf der Shell:

nano /etc/roundcubemail/config.inc.php

und fügen Sie die Konfiguration, die im Web-Installer angezeigt wird, in diese Datei ein und speichern Sie die Datei.

 an 

Gehen Sie dann zurück zum Web-Installer und klicken Sie auf die Schaltfläche „Weiter“. Klicken Sie auf dieser Seite auf "Datenbank initialisieren":

Nach erfolgreicher Initialisierung der Datenbank sollte die Seite so aussehen:

Um die RoundcubeMail-Konfiguration vor unbefugten Änderungen zu schützen, entferne ich den Installer-Ordner, indem ich diesen Befehl auf der Shell ausführe:

rm -rf /usr/share/roundcubemail/installer

25 Erster ISPConfig-Login

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):

Als nächstes müssen wir die BIND-Konfigurationspfade in ISPConfig anpassen. Klicken Sie im oberen Menü auf „System“, dann im rechten Menü auf „Serverkonfiguration“. In der dann erscheinenden Liste auf der linken Seite klicken Sie auf den Servernamen.

Gehen Sie zur Registerkarte "DNS" des Formulars:

und geben Sie die DNS-Pfade wie folgt ein:

BIND-Zonendateiverzeichnis:/var/named
BIND-Named.conf-Pfad:/etc/named.conf
BIND-Named.conf.local-Pfad:/etc/named.conf.local

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.

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

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 (nginx, Dovecot, ISPConfig 3)

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