Das Perfekte Setup - OpenSuSE 10.2 (32-bit)

Version 1.0
Author: Falko Timme


Diese Anleitung veranschaulicht Schritt für Schritt wie man einen OpenSuSE 10.2 basierten Server einrichtet, der alle Dienste bietet, die von ISPs und Hostern (Web Server (SSL-fähig), Mail Server (mit SMTP-AUTH und TLS!), DNS Server, FTP Server, MySQL Server, POP3/IMAP, Quota, Firewall, etc.) benötigt werden.

Folgende Software werde ich verwenden:
  • Web Server: Apache 2.2.0
  • Database Server: MySQL 5.0
  • Mail Server: Postfix
  • DNS Server: BIND9
  • FTP Server: proftpd (ISPConfig wird mit vsftpd auf OpenSUSE 10.2 nicht funktionieren)
  • POP3/IMAP: ich werde ein Maildir Format verwenden und daher Courier-POP3/Courier-IMAP installieren.
  • Webalizer für Webseiten-Statistiken
Du erhältst ein System, das zuverlässig funktioniert. Wenn Du magst, kannst Du das kostenlose Webhosting Control Panel ISPConfig installieren.

Ich möchte an dieser Stelle darauf hinweisen, dass dies nicht der einzige Weg ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen - dies ist der Weg, den ich gewählt habe. Ich übernehme keine Garantie, dass dies auch bei Dir funktioniert!

Voraussetzungen

Um ein solches System zu installieren, brauchst Du folgende Software:

1 Das Basissystem

Starte mit Deiner ersten OpenSuSE 10.2-CD und wähle Installation auf dem Startbildschirm:


Wähle Deine Sprache:


Überspringe den Medien-Check indem Du auf Next klickst:


Akzeptiere den Lizenzvertrag:


Wähle New Installation:


Wähle als Nächstes Deine Zeitzone:


Wähle auf dem Desktop Selection Screen Other und klicke auf Select...:


Da wir einen Server installieren wollen, brauchen wir keinen Desktop. Daher wählen wir Text Mode, klicken auf OK und dann auf Next.


Der Installation Settings Screen listet die verfügbaren Installationseinstellungen auf. Du kannst die Auswahl ändern, indem Du Dich zu den entsprechenden Überschriften begibst. Ändere zuerst das Partitionsschema indem Du auf Partitioning klickst, dann auf Create Custom Partition Setup und danach auf Next:



Wähle Custom Partitioning (for experts):



Nun erstellen wir die Partitionen. Folgendes Partitionsschema werde ich verwenden:

/boot 100 MB
swap 500 MB
/ der Rest der Festplatte

Eine Partition erstellen: Klicke auf Create, wähle Primary Partition, wähle das Format. Ich werde für alle Partitionen außer für die Swap Partition ext3 verwenden (ich möchte Quota später installieren und Quota funktioniert am Besten mit ext3 - es kann sein, dass Du auf Probleme mit reiserFS stößt!). Wähle dann den mountpoint entsprechend des obigen Partitionsschemas.






Deine Partitionstabelle sollte nun ähnlich wie diese hier aussehen, das hängt von der Größe Deiner Festplatte ab. Klicke auf Accept um mit den nächsten Schritten fotzufahren.


Wechsle nun zum Expert Modus (die Expert Registerkarte in Installation Settings), wähle Dein Keyboard Layout und Accept:



Wieder zurück auf dem Installation Settings Screen, klicke auf Accept und dann auf Install:


Die Festplatte wird formatiert:


Die Paketinstallation startet (klicke auf die Details Registerkarte um den detaillierten Installationsfortschritt zu sehen):



Nach der Basisinstallation startet das System neu. Entferne die SuSE CD und pass auf, dass Du mit der Festplatte startest:




Nachdem das System wieder hochgefahren ist, stelle ein Passwort für root bereit. Drücke dann die [Tab] Taste bis Next markiert ist und drücke Return.



Als Nächstes müssen wir einen Hostnamen und einen Domain Namen angeben. Mein Servername ist server1.example.com, also gebe ich server1 als Hostnamen und example.com als Domain Namen an. Danach deaktivieren wir Change Hostname via DHCP da der Hostname eines Servers statisch sein sollte. Lass Write Hostname to /etc/hosts aktiviert.


Weiter mit der Network Configuration. Zuerst deaktivieren wir die Standard-Firewall. Das ist notwendig um das System für die Installation von ISPConfig vorzubereiten. ISPConfig hat seine eigene Firewall. Wenn Du ISPConfig nicht installieren möchtest, lass die Firewall aktiviert. Um Dich in den Textmodus zu navigieren, verwende die Tab- und Pfeiltasten. Aktiviere oder deaktiviere eine Auswahl indem Du Return drückst.


Markiere dann Network Interfaces und drücke Return. Folgender Screen müsste erscheinen:


Drücke die [Tab] Taste bis [Edit] markiert ist, drücke dann Return. Nun solltest Du auf dem Network Address Setup Screen sein:


Ich möchte IP Adressen nicht von einem DHCP Server beziehen, da ein Server statische IP Adressen haben sollte, also ändere ich das indem ich Static Address Setup wähle und eine IP Adresse (z.B. 192.168.0.100) und eine Subnet Mask (z.B. 255.255.255.0) eingebe:



Gehe dann zu den Hostname and Name Server Einstellungen. Der Hostname (server1.example.com) sollte bereits da sein (wir haben dies bereits festgelegt). Gib bis zu drei Name Server (z.B. 145.253.2.75, 193.174.32.18 und 194.25.0.60) ein. Leider können wir Update Name Servers and Search List via DHCP nicht deaktivieren - ich glaube, das ist ein Fehler in YaST. Drücke danach OK.


Gehe als Nächstes zu Routing und gib das Stardard Gateway ein. Bei mir ist das 192.168.0.1:



Dann können wir die Netzwerkkartenkonfiguration verlassen indem wir zweimal Next drücken:



Unsere Netzwerkkonfiguration ist nun abgeschlossen, daher drücken wir auf dem Netzwerkkonfigurations-Screen noch einmal Next:


Die Netzwerkkonfiguration wird gespeichert:


Nun wird die Internetverbindung des Systems getestet und Du kannst die neusten Updates von einem SuSE Spiegel runter laden und installieren. Sei bitte etwas geduldig, das kann ein paar Minuten dauern.



Konfiguriere nun die Novell Customer Center (früher bekannt als Online Update) Funktion und installiere die neusen Updates, falls verfügbar:




Ein Update Server wird kontaktiert und das System läd eine Liste verfügbarer Pakete runter:



Um die neusten Updates runter zu laden und zu installieren, wähle Run Update:


Wähle die Pakete aus, die Du aktualisieren möchtest und drücke OK:


Die Pakete werden runter geladen und installiert:


Wenn Du nach Additional Installation Sources gefragt wirst, wähle einfach die oss Paketdatenbank:


Als Nächstes wird die Liste verfügbarer Pakete aus der oss Paketdatenbank runter geladen:



Wenn Du gefragt wirst, wie sich Benutzer authentifizieren sollen, wähle Local (/etc/passwd):



Erstelle einen zweiten Benutzer (z.B. administrator - verwende nicht den gleichen Namen admin, da der bereits auf dem System vorgemerkt ist):


Lies Dir die Release Notes durch (wenn Du magst...) und drücke Next:


Letztlich führt YaST einen Hardware-Check durch (Grafikkarten, Drucker, Sound, TV-Karten und Bluetooth). Du kannst die Ergebnisse dieses Checks so akzeptieren wie sie sind, da diese Festplatte für einen Server nicht relevant ist.


Glückwunsch! Deine Basisinstallation ist nun abgeschlossen.


Weiter mit dem nächsten Schritt...

2 Installationsquellen hinzufügen

Um die Paketinstallation einfacher zu gestalten, werde ich eine Netzwerkinstallationsquelle hinzufügen. Wenn Du alle Pakete von einer CD/DVD installieren möchtest, kannst Du diesen Schritt auslassen. Starte yast2:

yast2

Gehe zu Software -> Installation Source:


Hier solltest Du drei Software Paketdatenbanken sehen: Deine SuSE CDs, die Updates Paketdatenbank (http://gd.tuwien.ac.at/... in diesem Beispiel) und die oss Paketdatenbank (http://download.opensuse.org/... in diesem Beispiel). Wir möchten die SuSE CDs deaktivieren, damit wir alle Pakete aus dem Internet runter laden können. Dafür müssen die CDs gelb markiert sein; begib Dich dann zu Source Settingsv und wähle Enable or Disable um die SuSE CDs zu deaktivieren:



Die Updates Paketdatenbank ist bereits aktiv, wir müssen sie also nicht aktivieren, dafür aber die oss Paketdatenbank, also markieren wir sie, gehen zu Source Settingsv und wählen Enable or Disable um sie zu aktivieren. Deine Liste sollte nun Folgendes aufzeigen:


Drücke dann Finish und danach Quit auf dem nächsten Screen um YaST zu verlassen.

3 Installation einiger Software-Pakete

Nun installieren wir ein paar Pakete, die wir später noch brauchen. Führe dies aus

yast2 -i findutils readline libgcc glibc-devel findutils-locate gcc flex lynx compat-readline4 db-devel wget gcc-c++ make


4 Quota

Um Quota zu installieren, führe Folgendes aus

yast2 -i quota

Bearbeite /etc/fstab sodass es wie folgt aussieht (ich füge ,usrquota,grpquota der Partition /dev/sda3 (mount point /; der Name Deines Gerätes ist vielleicht /dev/hda2 oder ähnlich) hinzu):

vi /etc/fstab


/dev/sda3            /                    ext3       acl,user_xattr,usrquota,grpquota        1 1
/dev/sda1 /boot ext3 acl,user_xattr 1 2 /dev/sda2 swap swap defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 debugfs /sys/kernel/debug debugfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 /dev/fd0 /media/floppy auto noauto,user,sync 0 0
Führe dann dies aus:

touch /aquota.user /aquota.group
chmod 600 /aquota.*

und starte das System neu:

shutdown -r now

Nachdem das System wieder gestartet ist, aktiviere Quota wie folgt:

quotacheck -avugm
quotaon -avug

5 DNS Server

Führe Folgendes aus

yast2 -i bind bind-chrootenv bind-devel bind-utils

Dann fügen wir die System Startup Links für BIND hinzu und starten es:

chkconfig --add named
/etc/init.d/named start

Bind wird in einem chroot Gefängnis unter /var/lib/named laufen.

6 MySQL

Um MySQL zu installieren, führen wir dies aus

yast2 -i mysql mysql-client mysql-shared perl-DBD-mysql perl-DBI perl-Data-ShowTable mysql-devel

Dann fügen wir die System Startup Links für MySQL hinzu und starten es:

chkconfig --add mysql
/etc/init.d/mysql start

Überprüfe nun, ob der Netzwerkbetrieb aktiviert ist. Führe Folgendes aus

netstat -tap

In der Ausgabe solltest Du eine ähnliche Zeile wie diese sehen:
[...]
tcp 0 0 *:mysql *:* LISTEN 4298/mysqld [...]
Wenn nicht, bearbeite /etc/my.cnf, kommentiere die Option skip-networking aus:

vi /etc/my.cnf


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

/etc/init.d/mysql restart

Führe Folgendes aus

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

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

7 Postfix mit SMTP-AUTH und TLS

Postfix ist bereits installiert, aber wir müssen nun Cyrus-SASL installieren:

yast2 -i cyrus-sasl cyrus-sasl-crammd5 cyrus-sasl-digestmd5 cyrus-sasl-gssapi cyrus-sasl-otp cyrus-sasl-plain cyrus-sasl-saslauthd

Dann fügen wir die System Startup Links für saslauthd hinzu und starten es:

chkconfig --add saslauthd
/etc/init.d/saslauthd start

Danach erstellen wir die Zertifikate für TLS:

mkdir /etc/postfix/ssl
cd /etc/postfix/ssl/
openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
chmod 600 smtpd.key
openssl req -new -key smtpd.key -out smtpd.csr
openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
openssl rsa -in smtpd.key -out smtpd.key.unencrypted
mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Als Nächstes konfigurieren wir Postfix für SMTP-AUTH und TLS:

postconf -e 'mydomain = example.com'
postconf -e 'myhostname = server1.$mydomain'
postconf -e 'mynetworks = 127.0.0.0/8'
postconf -e 'smtpd_sasl_local_domain ='
postconf -e 'smtpd_sasl_auth_enable = yes'
postconf -e 'smtpd_sasl_security_options = noanonymous'
postconf -e 'broken_sasl_auth_clients = yes'
postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,check_relay_domains'
postconf -e 'inet_interfaces = all'
postconf -e 'alias_maps = hash:/etc/aliases'
postconf -e 'smtpd_tls_auth_only = no'
postconf -e 'smtp_use_tls = yes'
postconf -e 'smtpd_use_tls = yes'
postconf -e 'smtp_tls_note_starttls_offer = yes'
postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key'
postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt'
postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'
postconf -e 'smtpd_tls_loglevel = 1'
postconf -e 'smtpd_tls_received_header = yes'
postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
postconf -e 'tls_random_source = dev:/dev/urandom'

Um TLS Verbindungen in Postfix zu aktivieren, bearbeite /etc/postfix/master.cf und aktiviere die tlsmgr Zeile sodass es wie folgt aussieht:

vi /etc/postfix/master.cf


[...]
tlsmgr unix - - n 1000? 1 tlsmgr [...]
Starte nun Postfix neu:

/etc/init.d/postfix restart

Um herauszufinden, ob SMTP-AUTH und TLS richtig funktionieren, führe nun folgenden Befehl aus:

telnet localhost 25

Nachdem Du die Verbindung zu Deinem Postfix Mail Server aufgebaut hast, gib Folgendes ein

ehlo localhost

Wenn Du die Zeile

250-STARTTLS

und

250-AUTH

siehst, ist alles in Ordnung.

Auf meinem System sieht die Ausgabe wie folgt aus:

server1:/etc/postfix/ssl # telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
server1:/etc/postfix/ssl #

Gib ein

quit

um zur Kommandozeile des Systems zurückzukehren.

8 Courier-IMAP/Courier-POP3

Ich möchte einen POP3/IMAP Daemon verwenden, der Maildir unterstützt. Daher verwende ich Courier-IMAP und Courier-POP3.

yast2 -i courier-imap fam-server courier-authlib expect tcl

Danach fügen wir die System Startup Links hinzu und starten POP3, IMAP, POP3s und IMAPs:

chkconfig --add fam
chkconfig --add courier-authdaemon
chkconfig --add courier-pop
chkconfig --add courier-imap
/etc/init.d/courier-pop start
/etc/init.d/courier-imap start
chkconfig --add courier-pop-ssl
chkconfig --add courier-imap-ssl
/etc/init.d/courier-pop-ssl start
/etc/init.d/courier-imap-ssl start

Falls Du ISPConfig nicht verwenden möchtest, konfiguriere Postfix so, dass es E-Mails an eine Maildir* des Benutzers sendet:

postconf -e 'home_mailbox = Maildir/'
postconf -e 'mailbox_command ='
/etc/init.d/postfix restart

*Bitte beachte: Wenn Du vorhast ISPConfig auf Deinem System zu verwenden, musst Du dies nicht tun, da ISPConfig die notwendige Konfiguration mit Hilfe von procmail recipes durchführt. Aber pass bitte auf, dass Maildir unter Management -> Server -> Settings -> EMail im ISPConfig Web Interface aktiviert ist.

9 Apache/PHP5

Nun installieren wir Apache mit PHP5:

yast2 -i apache2 apache2-devel apache2-mod_perl apache2-mod_php5 apache2-prefork perl-HTML-Parser perl-HTML-Tagset perl-Tie-IxHash perl-URI perl-libwww-perl php5 php5-devel zlib zlib-devel

Dann installieren wir einige PHP5 Module:

yast2 -i php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dbase php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-mhash php5-mysql php5-ncurses php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshm ImageMagick curl

Als Nächstes bearbeiten wir /etc/apache2/httpd.conf:

vi /etc/apache2/httpd.conf

und ändern DirectoryIndex zu
[...]
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php5 index.php4 index.php3 index.pl index.html.var index.aspx default.aspx [...]
Bearbeite /etc/sysconfig/apache2 und füge das Wort "rewrite" der APACHE_MODULES Zeile hinzu:

vi /etc/sysconfig/apache2


[...]
APACHE_MODULES="actions alias auth_basic authn_file [...] setenvif ssl suexec userdir php5 rewrite" [...]
Füge außerdem SSL der APACHE_SERVER_FLAGS Zeile hinzu:
[...]
APACHE_SERVER_FLAGS="SSL" [...]
Konfiguriere nun Dein System um Apache beim Hochfahren zu starten:

chkconfig --add apache2

Führe dies aus

SuSEconfig
/etc/init.d/apache2 start

9.1 PHP und Perl global deaktivieren

(Falls Du nicht vorhast ISPConfig auf diesem Server zu installieren, überspringe dieses Kapitel!)

In ISPConfig wirst Du PHP und Perl pro Webseite konfigurieren, d.h. Du kannst festlegen, welche Webseite PHP und Perl Skripte ausführen kann und welche nicht. Das funktioniert nur, wenn PHP und Perl global deaktiviert ist, da sonst alle Webseiten in der Lage wären, PHP/Perl Skripte auszuführen, ganz gleich was Du in ISPConfig festlegst.

Um PHP und Perl global zu deaktivieren, bearbeiten wir /etc/mime.types und kommentieren die application/x-perl und application/x-php Zeilen aus:

vi /etc/mime.types


[...]
#application/x-perl pl pm al perl #application/x-php php php3 php4 [...]
Danach starten wir Apache neu:

/etc/init.d/apache2 restart

 

10 Proftpd

Ich möchte Proftpd anstelle von vsftpd verwenden, was SuSEs Standard FTP Server ist, da die Control Panel Software, die ich auf diesem Server installieren werde (ISPConfig), Proftpd auf OpenSuSE 10.2 (auf anderen Distributionen ist das anders) verlangt. Da es für Proftpd keine OpenSuSE Pakete gibt, muss ich es manuell kompilieren:

cd /tmp/
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.0a.tar.gz
tar xvfz proftpd-1.3.0a.tar.gz
cd proftpd-1.3.0a/
./configure --sysconfdir=/etc
make
make install
cd ..
rm -fr proftpd-1.3.0a*

Erstelle nun die Datei /etc/init.d/proftpd:

vi /etc/init.d/proftpd


#! /bin/sh
# Copyright (c) 2000-2001 SuSE GmbH Nuernberg, Germany. # All rights reserved. # # Original author: Marius Tomaschewski <mt@suse.de> # # Slightly modified in 2003 for use with SuSE Linux 8.1, # by http://www.learnlinux.co.uk/ # # Slightly modified in 2005 for use with SuSE Linux 9.2, # by Falko Timme # # /etc/init.d/proftpd # ### BEGIN INIT INFO # Provides: proftpd # Required-Start: $network $remote_fs $syslog $named # Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Starts ProFTPD server ### END INIT INFO # Determine the base and follow a runlevel link name. base=${0##*/} link=${base#*[SK][0-9][0-9]} # Force execution if not called by a runlevel directory. test $link = $base && START_PROFTPD=yes # Modified by learnlinux.co.uk test "$START_PROFTPD" = yes || exit 0 # Modified by learnlinux.co.uk # Return values acc. to LSB for all commands but # status (see below): # # 0 - success # 1 - generic or unspecified error # 2 - invalid or excess argument(s) # 3 - unimplemented feature (e.g. "reload") # 4 - insufficient privilege # 5 - program is not installed # 6 - program is not configured # 7 - program is not running proftpd_cfg="/etc/proftpd.conf" proftpd_bin="/usr/local/sbin/proftpd" proftpd_pid="/usr/local/var/proftpd.pid" [ -r $proftpd_cfg ] || exit 6 [ -x $proftpd_bin ] || exit 5 # Source status functions . /etc/rc.status # First reset status of this service rc_reset case "$1" in start) echo -n "Starting ProFTPD Server: " test -f /etc/shutmsg && rm -f /etc/shutmsg /sbin/startproc $proftpd_bin rc_status -v ;; stop) echo -n "Shutting down ProFTPD Server: " test -x /usr/local/sbin/ftpshut && /usr/local/sbin/ftpshut now && sleep 1 /sbin/killproc -TERM $proftpd_bin test -f /etc/shutmsg && rm -f /etc/shutmsg rc_status -v ;; restart) ## If first returns OK call the second, if first or ## second command fails, set echo return value. $0 stop $0 start rc_status ;; try-restart) ## Stop the service and if this succeeds (i.e. the ## service was running before), start it again. ## Note: not (yet) part of LSB (as of 0.7.5) $0 status >/dev/null && $0 restart rc_status ;; reload|force-reload) ## Exclusive possibility: Some services must be stopped ## and started to force a new load of the configuration. echo -n "Reload ProFTPD Server: " /sbin/killproc -HUP $proftpd_bin rc_status -v ;; status) # Status has a slightly different for the status command: # 0 - service running # 1 - service dead, but /var/run/ pid file exists # 2 - service dead, but /var/lock/ lock file exists # 3 - service not running echo -n "Checking for ProFTPD Server: " checkproc $proftpd_bin rc_status -v ;; probe) ## Optional: Probe for the necessity of a reload, ## give out the argument which is required for a reload. [ $proftpd_cfg -nt $proftpd_pid ] && echo reload ;; *) echo "Usage: $0 {start|stop|status|restart|reload|try-restart|probe}" exit 1 ;; esac # Set an exit status. rc_exit
Führe dann dies aus

chmod 755 /etc/init.d/proftpd
chkconfig --add proftpd

Starte Proftpd:

/etc/init.d/proftpd start

Aus Sicherheitsgründen kannst Du folgende Zeilen /etc/proftpd.conf hinzufügen:

vi /etc/proftpd.conf


[...]
DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...]
Pass auf, dass Du folgende Zeile auskommentierst, um ftp Benutzern CHMOD zu erlauben:
[...]
# Bar use of SITE CHMOD by default #<Limit SITE_CHMOD> # DenyAll #</Limit> [...]
und starte Proftpd neu:

/etc/init.d/proftpd restart


11 Webalizer

Um Webalizer zu installieren, führe einfach Folgendes aus

yast2 -i webalizer


12 Die System Uhr synchronisieren

Wenn Du möchtest, dass die System Uhr mit einem NTP Server synchronisiert werden soll, führe Folgendes aus:

yast2 -i xntp

Füge einen NTP Server mit YaST hinzu:

yast2

Wähle Network Services -> NTP Configuration:


Wähle dann Automatically Start NTP Daemon During Boot. Aktiviere unter NTP Server Configuration Use Random Servers from pool.ntp.org. Wähle dann Finish, Quit.

13 Installiere einige Perl Module, die von SpamAssassin (in ISPConfig) benötigt werden

Führe dies aus

yast2 -i perl-HTML-Parser perl-Net-DNS perl-Digest-SHA1


14 AppArmor deaktivieren

AppArmor ist eine Sicherheitserweiterung von SuSE (ähnlich wie Fedoras SELinux). Meiner Meinung nach brauchst Du ein sicheres System nicht zu konfigurieren. Für gewöhnlich verursacht das mehr Probleme als dass es Vorteile schafft. Daher deaktiviere ich es (das ist ein Muss wenn Du später ISPConfig installieren möchtest).

Wir können es wie folgt deaktivieren:

/etc/init.d/boot.apparmor stop
chkconfig -d boot.apparmor

15 ISPConfig

Die Konfiguration des Servers ist nun abgeschlossen. Wenn Du magst, kanns Du nun ISPConfig installieren. Bitte sieh Dir die ISPConfig Installation an: http://www.ispconfig.org/manual_installation.htm

15.1 Eine Notiz über SuExec

Wenn Du CGI Skripte unter suExec ausführen möchtest, solltest Du /srv/www als das Home Verzeichnis für Web Sites festlegen, die von ISPConfig erstellt werden, da OpenSuSE 10.2s suExec mit /srv/www as Doc_Root erstellt wird. Führe /usr/sbin/suexec2-V aus und die Ausgabe sollte wie folgt aussehen:

/usr/sbin/suexec2 -V


server1:~ # /usr/sbin/suexec2 -V
-D AP_DOC_ROOT="/srv/www"
-D AP_GID_MIN=96
-D AP_HTTPD_USER="wwwrun"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=96
-D AP_USERDIR_SUFFIX="public_html"
server1:~ #

Wenn Du ISPConfig nicht im Expertenmodus installierst und den Standard Web Root (/srv/www) änderst, kannst Du CGI Skripte unter suExec mit ISPConfig ausführen. Der folgende Screenshot stammt von einer ISPConfig Installation im Expertenmodus. Wenn Du ISPConfig verwenden möchtest, dann ändere nicht den Standard Web Root:

16 Links