CentOS 4.6 Server Setup: LAMP, Email, DNS, FTP, ISPConfig (auch bekannt als Der Perfekte Server) - Seite 4

4 Konfiguriere Die Firewall

(Wenn Du die Firewall bereits während der Installation des Basissystems deaktiviert hast, kannst Du dieses Kapitel überspringen.)

Ich möchte am Ende dieser Anleitung ISPConfig installieren, das seine eigene Firewall hat. Daher deaktiviere ich nun die Standard-Firewall von CentOS. Natürlich kannst Du sie auch aktiviert lassen und nach Wunsch konfigurieren (jedoch solltest Du dann später keine andere Firewall verwenden, da sie höchstwahrscheinlich die Firewall von CentOS beeinflussen wird).

Lass Folgendes laufen

system-config-securitylevel


Wähle Disabled und drücke OK.

Um zu überprüfen, ob die Firewall tatsächlich deaktiviert wurde, kannst Du dies laufen lassen

iptables -L

Die Ausgabe sollte wie folgt aussehen:

[root@server1 ~]# 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
[root@server1 ~]#

5 Deaktiviere SELinux

(Wenn Du SELinux bereits während der Installation des Basissystems deaktiviert hast, kannst Du dieses Kapitel überspringen.)

SELinux ist eine Erweiterung von CentOS, die eine erweiterte Sicherheit bieten sollte. Meiner Meinung nach brauchst Du es nicht um ein sicheres System zu konfigurieren. Es verursacht für gewöhnlich mehr Probleme als dass es Vorteile bringt. Daher deaktiviere ich es (das ist ein MUSS wenn Du ISPConfig später installieren möchtest).

Bearbeite /etc/selinux/config und setze 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 - SELinux is fully disabled. SELINUX=disabled # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted
Danach müssen wir das System neu starten:

reboot


6 Installation Einiger Softwarepakete

Zunächst importieren wir die GPG Keys für die Softwarepakete:

rpm --import /usr/share/rhn/RPM-GPG-KEY*

Dann aktualisieren wir unsere vorhandenen Pakete auf dem System:

yum update

Nun installieren wir einige Softwarepakete, die wir später noch brauchen werden:

yum install fetchmail wget bzip2 unzip zip nmap openssl lynx fileutils gcc gcc-c++

7 Quota

Um Quota zu installieren, lassen wir folgenden Befehl laufen:

yum install quota

Bearbeite /etc/fstab und füge ,usrquota,grpquota der / Partition (/dev/VolGroup00/LogVol00) hinzu:

vi /etc/fstab


# This file is edited by fstab-sync - see 'man fstab-sync' for details
/dev/VolGroup00/LogVol00 / ext3 defaults,usrquota,grpquota 1 1 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 /dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0 /dev/fd0 /media/floppy auto pamconsole,exec,noauto,managed 0 0
Lass dann folgendes laufen

touch /aquota.user /aquota.group
chmod 600 /aquota.*
mount -o remount /
quotacheck -avugm
quotaon -avug

um Quota zu aktivieren.

8 Installation Eines Chrooted DNS Servers (BIND9)

Um einen chrooted BIND9 zu installieren, führen wir Folgendes aus:

yum install bind-chroot

Führe dann dies aus:

chmod 755 /var/named/
chmod 775 /var/named/chroot/
chmod 775 /var/named/chroot/var/
chmod 775 /var/named/chroot/var/named/
chmod 775 /var/named/chroot/var/run/
chmod 777 /var/named/chroot/var/run/named/
cd /var/named/chroot/var/named/
ln -s ../../ chroot
chkconfig --levels 235 named on
/etc/init.d/named start

BIND wird in einem chroot Gefängnis unter /var/named/chroot/var/named/ laufen. Ich werde ISPConfig verwenden um BIND (Zonen, etc.) zu konfigurieren.

9 MySQL (4.1)

Um MySQL zu installieren, führen wir Folgendes aus:

yum install mysql mysql-devel mysql-server

Das MySQL Init Skript auf CentOS kann einige Probleme verursachen wenn Du versuchst, MySQL neu zu starten. In einigen Fällen versucht es MySQL zu starten bevor alte MySQL Vorgänge abgeschlossen sind, was zu einem Fehler führt. Dazu bearbeiten wir den Neustart-Abschnitt von /etc/init.d/mysqld und fügen ein paar Sekunden Verzögerung zwischen den Abschluss und den Start von MySQL hinzu.

Bearbeite /etc/init.d/mysqld:

vi /etc/init.d/mysqld

und ändere diesen Abschnitt:
[...]
restart(){ stop start } [...]
sodass es wie folgt aussieht:
[...]
restart(){ stop sleep 3 start } [...]
Dies fügt eine Verzögerung von drei Sekunden zwischen dem Abschluss und Start von MySQL hinzu.

Dann erstellen wir die System Startup Links für MySQL (sodass MySQL automatisch startet wenn das System hochfährt) und starten den MySQL Server:

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

Überprüfe nun ob der Netzwerkbetrieb freigeschaltet ist. Lass dies laufen

netstat -tap | grep mysql

Ungefähr soetwas sollte Dir angezeigt werden:

[root@server1 ~]# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 3590/mysqld
[root@server1 ~]#

Wenn nicht, bearbeite /etc/my.cnf und kommentiere die Option skip-networking aus:

vi /etc/my.cnf


[...]
#skip-networking [...]
und starte Deinen MySQL Server neu:

/etc/init.d/mysqld restart

Lass Folgendes laufen

mysqladmin -u root password yourrootsqlpassword
mysqladmin -h server1.example.com -u root password yourrootsqlpassword

um ein Passwort für den Benutzer Root einzurichten (sonst kann jeder auf Deine MySQL Datenbank zugreifen!).

0 Kommentar(e)

Zum Posten von Kommentaren bitte