Personal tools
You are here: Home Members smessi Neuinstallation von MERLIN

Neuinstallation von MERLIN

Leider muss ich meinen Server MERLIN neu installieren. Hier beschreibe ich, wie ich das mache.

Hardware

Bisher war MERLIN ein AMD K6-III 400. Nun wird es ein Pentium III mit 1000 MHz. Das Root-Dateisystem soll auf eine 20GB-Platte. Außerdem sind noch zwei 120GB-Platten als RAID-1 drin. Es steckt eine 100 Mbit-Netzwerkkarte darin und noch eine 10 Mbit-Netzwerkkarte für DSL, außerdem noch eine ISDN-Karte.

Installation & Konfiguration

Als erstes besorge ich mir eine Debian 4.0r2 Netzinstallations-CD. Damit installiere ich nun Debian auf der 20GB-Platte. Ich habe Standard-System ausgewählt. Was dann noch fehlt, ergänze ich später. Ich habe für die Lokalisierungseintellungen de_DE.UTF-8 gewählt. Mal sehen, ob das mittlerweile alles funktioniert mit UTF-8.

Als nächstes installiere ich openssh-server, damit ich von meinem Rechner aus weitermachen kann.

Nun installiere ich einige nützliche Pakete:

  • bzip2
  • mc
  • pydf
  • unzip
  • vim
  • w3m

 

Vim wird gleich zum Standardeditor gemacht mittels:

# update-alternatives --config editor

Netzwerkeinstellungen

Nun konfiguriere ich MERLINs Netzwerkeinstellungen. Dazu kopiere ich die /etc/network/interfaces zurück. Im Moment sind erstmal nur die LAN-Einstellungen wichtig. Daher kommentiere ich zunächst alles außer eth0 und lo aus. Ich füge noch das provisorische Standardgateway ein. Wenn alles fertig ist, soll MERLIN ja wieder selbst mit dem Internet verbunden sein.

E-Mails

Da das im Moment am dringendsten ist, versuche ich zunächst die Maildienste zum Laufen zu bekommen.

# aptitude install fetchmail cyrus-imapd-2.2 cyrus-admin-2.2 cyrus-doc-2.2

 

Procmail ist anscheinend schon installiert.

Cyrus

Die Sache mit Cyrus gestaltet sich anscheinend etwas komplizierter. Vorher war Cyrus 1.5.x installiert, bei Etch ist jedoch Cyrus 2.2 dabei. Mittels

# saslpasswd2 -c cyrus
kann man beispielsweise den Benutzer cyrus anlegen und ihm ein Passwort zuweisen.

 

Außerdem lege ich mit Hilfe von cyradm und dort mittels

cm user.benutzername
Mailboxen an. Dann kopiere ich die alten Mails wieder nach /var/spool/cyrus/mail/ und folge der komplizierten Vorgehensweise in der Cyrus-Dokumentation, um alles an die neue Version anzupassen.

 

Gut, jetzt kann ich endlich wieder Mails lesen, wenn auch nur alte.

Procmail

Damit neue Mails an Cyrus weitergeleitet und dort richtig einsortiert werden, muss ich Procmail konfigurieren. Dazu kopiere ich einfach die alten .procmailrc-Dateien in die jeweiligen Home-Verzeichnisse.

CRM114

In den .procmailrc-Dateien steht, dass Mails teilweise durch den Spamfilter CRM114 gefiltert werden sollen. Daher muss ich nun CRM114 installieren und die alten .crm114-Verzeichnisse wieder in die Homeverzeichnisse der jeweiligen Benutzer kopieren.

Fetchmail

Damit wieder neue Mails ankommen, brauche ich Fetchmail. Ich kopiere also die alte fetchmailrc nach /etc und schalte den Fetchmail-Dämon in /etc/default/fetchmail an. Nachdem ich ihn starte, rattert er fleißig und holt alle Mails ab, die bis dahin aufgelaufen sind.

Allerdings funktioniert die Auslieferung an cyrus noch nicht. Ich habe mir da erstmal so geholfen, dass ich /usr/sbin/cyrdeliver SUID root gemacht habe. Irgendwann muss ich mir da mal noch eine bessere Lösung einfallen lassen.

Nameserver

Als nächstes ist der Nameserver dran. Dazu installiere ich bind9 und kopiere die Konfigurationsdateien zurück. Dann stelle ich noch in /etc/resolv.conf ein:

search messing.net
nameserver 127.0.0.1
Das war's im Wesentlichen schon.

 

Firewall

Seit "Etch" gibt es leider nicht mehr diesen Mechanismus, der beim Start

iptables-restore < /var/lib/iptables/active
ausführt. Es gibt selbst das ganze Verzeichnis /var/lib/iptables nicht mehr. So wie ich das verstehe, soll man nun stattdessen ein Skript nach /etc/network/interfaces/if-up.d packen.

 

DSL

Zunächst installiere ich das Paket pppoe. Dann kopiere ich die Dateien /etc/ppp/peers/dsl-provider, /etc/ppp/pap-secrets und /etc/ppp/chap-secrets zurück sowie einige Skripte in /etc/ppp/ip-up.d. Anschließend kommentiere ich die Zeilen für eth1 und ppp0 in /etc/network/interfaces aus.

Damit Pakete anderer Rechner auch weitergeleitet werden entkommentiere ich noch folgende Zeile in /etc/sysctl.conf:

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.conf.default.forwarding=1

 

DHCP

Ich installiere dhcp3-server. In /etc/default/dhcp3-server stelle ich ein:

INTERFACES="eth0"
und die dhcpd.conf kopiere ich nach /etc/dhcp3/dhcpd.conf.

 

Software-RAID

Ich installiere mdadm. Während der Installation kommt die Frage, welche Arrays schon frühzeitig beim Booten aktiviert werden sollen, weil sie für das Root-Dateisystem benötigt werden. Ich entscheide mich für "none", da mein RAID nicht das Root-Dateisystem umfassen soll. Die Frage, ob mdadm beim Booten alle Arrays automatisch starten soll, bejahe ich.

Anschließend ändere ich in /etc/mdadm/mdadm.conf die Zeile

ARRAY /dev/md1 level=raid1 num-devices=2 UUID=2d2cbb53:01133b54:87c126da:b3be5336

in

ARRAY /dev/md/d1 level=raid1 num-devices=2 UUID=2d2cbb53:01133b54:87c126da:b3be5336

 

Nun lege ich das Verzeichnis /raid an und füge den entsprechenden Eintrag in /etc/fstab ein:

/dev/md/d1p1  /raid  ext3  defaults  0  2

 

Kleinigkeiten

Schöne Eingabeaufforderung

Damit die Eingabeaufforderung ordentlich aussieht, ersetze ich in /etc/bash.bashrc den entsprechenden Code durch das folgende:

# set prompt
if [ "$SHELL" = "/usr/bin/pdksh" -o "$SHELL" = "/usr/bin/ksh" -o "$SHELL" = "/bin/ksh" ]; then
    PS1="! $ "
elif [ -n "$ZSH_VERSION" ]; then
    if test "$UID" = 0; then
        PS1='%n@%m:%~ # '
    else
        PS1='%n@%m:%~ > '
    fi
elif [ "$SHELL" = "/usr/bin/ash" -o "$SHELL" = "/bin/ash" ]; then
    PS1="$ "
elif [ -n "$BASH_VERSION" ] ; then
    set -p
case $TERM in
    xterm*|rxvt*)
        TITLEBAR='\[\033]0;\u@\h:\w\007\]'
        ;;
    *)
        TITLEBAR=""
        ;;
esac
if test "$UID" = 0 ; then
    PS1=$TITLEBAR'\[\033[0;32m\][\t] \[\033[1;31m\]\h:\[\033[1;36m\]\w \[\033[1;31m\]#\[\033[0m\] '
else
    PS1=$TITLEBAR'\[\033[0;32m\][\t] \[\033[1;32m\]\u@\h:\[\033[1;36m\]\w \[\033[1;32m\]$\[\033[0m\] '
fi
else
    PS1='\h:\w \$ '
fi
PS2='> '
ignoreeof=0
export PS1 PS2 ignoreeof

 

Anschließend füge ich noch in /etc/profile folgendes ein:

test -e /etc/bash.bashrc && . /etc/bash.bashrc
damit die schöne Eingabeaufforderung sowohl in interaktiven Shells als auch in Login-Shells sichtbar ist.

 

Anschließend entferne ich noch in den entsprechenden Dateien in den Homeverzeichnissen der Benutzer sowie in /etc/skel alle Prompt-Einstellungen.

Vim

Damit Vim ordentlich aussieht kopiere ich meine .vimrc nach /root und /home/smessing. Nicht vergessen, den Besitzer der Datei anzupassen.

Backup

Damit alle Daten auf dem RAID des nachts gesichert werden können, lege ich den Benutzer dirvish an und kopiere den entsprechenden Public Key nach var/local/dirvish/.ssh/authorized_keys. Dann installiere ich noch rsync. Außerdem verschiebe ich /var/spool/cyrus/mail nach /raid/mail und lege stattdessen einen symbolischen Link an, damit auch alle Mails nachts gesichert werden.

Samba

Ich installiere Samba und richte es so ein, dass ein Unterverzeichnis des RAIDs nur für den Benutzer smessing lese- und schreibbar freigegeben ist. Das ist die smb.conf:

[global]
        workgroup = OBERDORF
        server string = %h server
        interfaces = 192.168.0.0/255.255.255.0, 172.17.1.0/255.255.255.0, 127.0.0.1
        obey pam restrictions = Yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* .
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 1000
        dns proxy = No
        panic action = /usr/share/samba/panic-action %d
        invalid users = root

[smessing]
        path = /raid/smessing
        write list = smessing
        guest ok = No

[printers]
        comment = All Printers
        path = /var/spool/samba
        create mask = 0700
        printable = Yes
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/printers

Nun füge ich noch folgende Zeile auf smessing in /etc/fstab ein, damit die Freigabe //merlin/smessing immer eingehängt wird:

//merlin/smessing  /home/smessing/raid  cifs  user=smessing%passwort,uid=smessing,gid=smessing  0  0

Subversion

Ich installiere subversion und lege unter /raid/smessing/Studium/diplomarbeit ein neues Subversion-Repository an.

Zope & Plone

So, dann will ich mal Zope und Plone installieren:

# aptitude install plone-site

Das wars schon.

Hylafax

Zunächst müssen einige Pakete installiert werden:

# aptitude install hylafax capi4hylafax dialog make linux-headers-2.6.18-6-686

Anschließend laden wir das den Treiber für die Fritz-Karte von AVM herunter und entpacken ihn:

# wget http://www.avm.de/files/cardware/fritzcrd.pci/linux/suse.93/fcpci-suse93-3.11-07.tar.gz
# tar xvzf fcpci-suse93-3.11-07.tar.gz
Nun müssen wir in src/tools.h

die folgenden Zeilen auskommentieren (ab Zeile 74):

static inline unsigned long atomic_xchg (
    volatile atomic_t * v,
    unsigned            value
) {
    return __xchg (value, &v->counter, sizeof (unsigned));
} /* atomic_xchg */

Jetzt können wir mittels ./install das Kernelmodul kompilieren und installieren lassen.

Wir entfernen nun die Hisax-Treiber mittels:

aptitude remove isdnutils-base

Nach einem Neustart müsste dann das fcpci-Modul geladen werden.

Nun konfigurieren wir Capi4Hylafax mittels:

# capi4hylafaxconfig
Outgoing MSN: 25
Incoming MSNs: 25
Fax Number: +49.3622.4019725
Fax Identifier: Messing
Number Prefix: 0

In /etc/default/capi4hylafax entkommentieren wir nun die Zeile

run_capi4hylafax=1

und starten capi4hylafax und evtl. auch hylafax neu. Und das Modul capi müssen wir noch laden irgendwie. Das schreib ich jetzt einfach mal in /etc/modules mit rein. Anscheined muss man noch in der Datei /etc/isdn/capi.conf das Kommentarzeichen vor dem Eintrag fcpci entfernen. Das scheint alles garnicht so einfach zu sein mit dem Faxkram.

Hier ist noch ein Howto, allerdings für Sarge: http://www.brueck-computer.de/index2.php?modul=1402&link=1

...

TODO

Wichtig


Weniger wichtig, ging aber vorher

  • ISDN -> Anrufbenachrichtigungen an VDRs schicken
  • Apache -> MRTG o.ä.
  • CUPS

Unwichtig

  • Prompt im mc

 

Document Actions
« March 2020 »
March
MoTuWeThFrSaSu
1
2345678
9101112131415
16171819202122
23242526272829
3031