Der perfekte Server – CentOS 6.0 x86_64 [ISPConfig 3]
4 /etc/hosts anpassen
Als nächstes editieren Sie /etc/hosts. Ändern Sie die Datei, sodass Sie wie folgt aussieht:
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 am Ende der Basissysteminstallation bereits deaktiviert haben.)
Da ich am Ende des Tutorials ISPConfig 3 installieren möchte, welches seine eigene Firewall mitbringt, deaktiviere ich vorerst die CentOS Firewall. Natürlich ist es Ihnen freigestellt, diese zu aktivieren und nach Ihren Belangen zu konfigurieren, dann sollten Sie jedoch keine weitere Firewall mehr aktivieren, da diese sonst wahrscheinlich die CentOS Firewall behindern wird.
Führen Sie
system-config-firewall
aus und deaktivieren Sie die Firewall.
Um zu überprüfen, ob die Firewall wirklich deaktiviert worden ist, können Sie
iptables -L
ausführen. 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 ein erweiterter Sicherheitsdienst von CentOS. Er sollte eigentlich die Sicherheit des Systems verbessern, verursacht aber eher Probleme. Meiner Meinung nach brauchen Sie es nicht, um ein sicheres System zu konfigurieren (SELinux meldet ab und zu ein Problem mit einem Dienst, verursacht dieses aber selbst). Um später ISPConfig zu installieren, muss der Dienst ohnehin deaktiviert werden, deshalb beschreibe ich nun, wie es funktioniert:
Editieren Sie /etc/selinux/config und benutzen folgende Einstellung: 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
Hiernach müssen Sie das System neu starten:
reboot
7 Zusätzliche Repositories aktivieren und Software installieren
Als erstes importieren Sie den GPG Schlüssel für Softwarepakete:
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Dann aktivieren Sie die RPMforge und EPEL Repositories auf Ihrem CentOS System, da viele Pakete, die Sie im Laufe des Tutorials
installieren müssen, nicht in den offiziellen CentOS 6.0 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
(Sollte der benutzte Link nicht mehr funktionieren, können Sie die aktuelle Version von rpmforge-release hier finden: http://packages.sw.be/rpmforge-release/)
rpm –import
https://fedoraproject.org/static/0608B895.txt
wget http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm
rpm -ivh epel-release-6-5.noarch.rpm
yum install yum-priorities
Öffnen Sie /etc/yum.repos.d/epel.repo…
vi /etc/yum.repos.d/epel.repo
… und fügen Sie die Zeile priority=10 zur [epel] Sektion 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 [...]
Hiernach updaten Sie die Pakete auf Ihrem System:
yum update
Nun installieren Sie einige der Softwarepakete, die Sie später brauchen:
yum groupinstall ‚Development Tools‘
8 Quota
(Sollten Sie ein anderes Partitionsschema als ich genommen haben, müssen Sie den Inhalt dieses Kapitels so anpassen, dass Quota bei den Partitionen benutzt wird, wo Sie es brauchen.)
Um Quota zu installieren, benutzen Sie folgenden Befehl:
yum install quota
Öffnen Sie /etc/fstab und fügen Sie ,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 zur / Partition (/dev/mapper/vg_server1-lv_root) hinzu:
vi /etc/fstab
# # /etc/fstab # Created by anaconda on Mon Jul 11 16:29:27 2011 # # 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=6a119ddb-46eb-4054-a17c-8968ea87369f /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
Benutzen Sie dann
mount -o remount /
quotacheck -avugm
quotaon -avug
um Quota zu aktivieren.
9 Installation von Apache, MySQL, phpMyAdmin
Die gebrauchten Pakete können Sie mit einem einzigen Befehl installieren:
yum install ntp httpd mod_ssl mysql-server php
php-mysql php-mbstring phpmyadmin
10 Installation von Courier-IMAP, Courier-Authlib und Maildrop
Unglücklicherweise gibt es keine rpm Pakete für Courier-IMAP, Courier-Authlib und Maildrop, deshalb müssen wir sie uns selbst bauen.
Entfernen Sie zunächst Dovecot (Mit CentOS 6.0 wird automatisch Dovecot 2.x installiert; ISPConfig 3 unterstützt jedoch leider nur Dovecot 1.2.x und nicht 2.x):
yum remove dovecot dovecot-mysql
Installieren Sie dann die gebrauchten Pakete um Courier rpm Pakete zu erstellen:
yum install rpm-build gcc mysql-devel openssl-devel
cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel
postgresql-devel expect libtool-ltdl-devel openldap-servers libtool
gdbm-devel pam-devel gamin-devel libidn-devel
RPM Pakete sollten nicht als root erstellt werden; courier-imap wird sich garnicht erst kompilieren lassen, wenn dies als root user
versucht wird. Zu diesem Zweck erstellen Sie ein normales Benutzerkonto (falko in diesem Beispiel) und geben ihm ein Passwort:
useradd -m -s /bin/bash falko
passwd falko
Sie werden später den sudo Befehl brauchen, damit der Benutzer falko rpm Pakete erstellen und kompilieren kann, doch zunächst müssen Sie falko erlauben, durch sudo alle Befehle ausführen zu können:
Benutzen Sie
visudo
In der Datei, die sich öffnet finden Sie die Zeile root ALL=(ALL) ALL. Fügen Sie eine entsprechende Zeile für falko unter der root-Zeile ein:
[...] ## Allow root to run any commands anywhere root ALL=(ALL) ALL falko ALL=(ALL) ALL [...]
Nun haben Sie alle Vorkehrungen getroffen, um das rpm Paket zu erstellen. Loggen Sie sich mit folgendem Befehl als falko ein:
su falko
Als nächstes erstellen Sie die Konstruktionsoberfläche:
mkdir $HOME/rpm
mkdir $HOME/rpm/SOURCES
mkdir $HOME/rpm/SPECS
mkdir $HOME/rpm/BUILD
mkdir $HOME/rpm/BUILDROOT
mkdir $HOME/rpm/SRPMS
mkdir $HOME/rpm/RPMS
mkdir $HOME/rpm/RPMS/i386
mkdir $HOME/rpm/RPMS/x86_64
echo „%_topdir $HOME/rpm“ >> $HOME/.rpmmacros
Nun erstellen Sie ein downloads Verzeichnis und laden die Quelldateien hier herunter: http://www.courier-mta.org/download.php
mkdir $HOME/downloads
cd $HOME/downloads
wget https://sourceforge.net/projects/courier/files/authlib/0.63.0/courier-authlib-0.63.0.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/imap/4.9.3/courier-imap-4.9.3.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/maildrop/2.5.4/maildrop-2.5.4.tar.bz2/download
Jetzt (immernoch in $HOME/downloads) können Sie courier-authlib erstellen:
sudo rpmbuild -ta courier-authlib-0.63.0.tar.bz2
Nach dem Erstellungsprozess können die rpm Pakete in /root/rpmbuild/RPMS/x86_64 gefunden werden (/root/rpmbuild/RPMS/i686 wenn Sie mit einem i686 System arbeiten). Der Befehl
sudo ls -l /root/rpmbuild/RPMS/x86_64
zeigt Ihnen die verfügbaren rpm Pakete:
[[email protected] downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 516
-rw-r–r– 1 root root 124296 Jul 11 17:27 courier-authlib-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 259620 Jul 11 17:27 courier-authlib-debuginfo-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 35044 Jul 11 17:27 courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 17416 Jul 11 17:27 courier-authlib-ldap-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13944 Jul 11 17:27 courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13112 Jul 11 17:27 courier-authlib-pgsql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 8316 Jul 11 17:27 courier-authlib-pipe-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 34168 Jul 11 17:27 courier-authlib-userdb-0.63.0-1.el6.x86_64.rpm
[[email protected] downloads]$
Wählen Sie die jenigen aus, die Sie installieren wollen, und installieren Sie diese wie folgt:
sudo rpm -ivh
/root/rpmbuild/RPMS/x86_64/courier-authlib-0.63.0-1.el6.x86_64.rpm
/root/rpmbuild/RPMS/x86_64/courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
/root/rpmbuild/RPMS/x86_64/courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
Begeben Sie sich nun zurück zum downloads Verzeichnis:
cd $HOME/downloads
Benutzen Sie folgenden Befehl um folgende benötigte Verzeichnisse zu erstellen und die Verzeichnisrechte zu ändern (denn sonst wird der Erstellungsprozess von Courier-Imap fehlschlagen):
sudo mkdir -p /var/cache/ccache/tmp
sudo chmod o+rwx /var/cache/ccache/
sudo chmod 777 /var/cache/ccache/tmp
Benutzen Sie erneut rpmbuild, dieses Mal ohne sudo, ansonsten wird die Kompilierung fehlschlagen, da sie als root ausgeführt wurde:
rpmbuild -ta courier-imap-4.9.3.tar.bz2
Nach der Paketerstellung können die rpm Pakete in $HOME/rpm/RPMS/x86_64 gefunden werden ($HOME/rpm/RPMS/i686 wenn Sie auf einem i686 System arbeiten):
cd $HOME/rpm/RPMS/x86_64
Der Befehl
ls -l
zeigt Ihnen die verfügbaren rpm Pakete:
[[email protected] x86_64]$ ls -l
total 1088
-rw-r–r– 1 falko falko 333540 Jul 11 17:38 courier-imap-4.9.3-1.x86_64.rpm
-rw-r–r– 1 falko falko 776112 Jul 11 17:38 courier-imap-debuginfo-4.9.3-1.x86_64.rpm
[[email protected] x86_64]$
Sie können Courier-Imap wie folgt installieren:
sudo rpm -ivh courier-imap-4.9.3-1.x86_64.rpm
Kehren Sie nun zurück in das downloads Verzeichnis:
cd $HOME/downloads
und führen Sie erneut rpmbuild aus, dieses Mal um ein Maildrop Paket zu erstellen:
sudo rpmbuild -ta maildrop-2.5.4.tar.bz2
Nach dem Prozess können die Pakete in /root/rpmbuild/RPMS/x86_64 gefunden werden (/root/rpmbuild/RPMS/i686 wenn Sie auf einem i686 System arbeiten). Der Befehl
sudo ls -l /root/rpmbuild/RPMS/x86_64
zeigt Ihnen die verfügbaren rpm Pakete:
[[email protected] downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 1660
-rw-r–r– 1 root root 124296 Jul 11 17:27 courier-authlib-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 259620 Jul 11 17:27 courier-authlib-debuginfo-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 35044 Jul 11 17:27 courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 17416 Jul 11 17:27 courier-authlib-ldap-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13944 Jul 11 17:27 courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13112 Jul 11 17:27 courier-authlib-pgsql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 8316 Jul 11 17:27 courier-authlib-pipe-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 34168 Jul 11 17:27 courier-authlib-userdb-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 281328 Jul 11 17:47 maildrop-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 717476 Jul 11 17:47 maildrop-debuginfo-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 101156 Jul 11 17:47 maildrop-devel-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 63744 Jul 11 17:47 maildrop-man-2.5.4-1.x86_64.rpm
[[email protected] downloads]$
Sie können Maildrop nun wie folgt installieren:
sudo rpm -ivh
/root/rpmbuild/RPMS/x86_64/maildrop-2.5.4-1.x86_64.rpm
Nachdem Sie alle gebrauchten Pakete kompiliert und installiert haben, können Sie sich durch folgenden Befehl wieder als root einloggen:
exit
Starten Sie Courier-IMAP/-POP3 wie folgt:
/etc/init.d/courier-imap start