Centos Startup Guide

  • Hi!


    Nachdem ich keine guten Informationen zur Konfiguration von Centos am vServer gefunden habe, habe ich beschlossen meine gemachten Erfahrungen zu posten - vielleicht interessiert es ja den einen oder anderen...


    Was ist Centos?
    Centos ist eine Linux Distribution, die die Sourcen von RedHats Enterprise Linux, die ja Open Source sind, nimmt, und neu kompiliert. Somit ist Centos binaerkompatibel dazu und bekommt somit alle Patches etc die RedHat fuer ihr Enterprise Linux herausgibt. Aktuell ist Centos 5.3


    Installation
    Man nehme die 64Bit Version von Centos 5.3. Die 64Bit bringen einem zwar kaum etwas, da aber der zugrunde liegende Kernel ebenfalls 64Bit ist, kommen einige Programme/Pakete durcheinander, ob sie jetzt ein 32 oder 64Bit System sehen. Ausserdem habe ich ein Paket, dass ich benoetigte (spawn-fcgi) nur fuer 64Bit gefunden...


    SSH-Keys
    Sollte man noch kein SSH Private/Public Key Paerchen besitzen, ist jetzt die Zeit selbiges anzulegen. Im Netcup Wiki findet man einen Link zur Anleitung. Ich gehe davon aus, dass ein Key vorhanden ist...


    Schritt 1: Zugang absichern
    Hat man den vServer installiert, bekommt man das root Passwort im Webinterface mitgeteilt, welches wir gleich benutzen um auf eben diesem System einzusteigen und erhalten einen wunderschoen haesslichen prompt

    Code
    -bash-3.2$

    um den wir uns noch kuemmern werden.
    Zuerst muessen wir unseren Public Key ins System bringen, wozu wir das Paket openssh-clients aus den vorbereiteten Repositories benoetigen:

    Code
    yum install openssh-clients


    Jetzt koennen wir mittels scp (Secure Copy) unseren Public Key auf den Server spielen.

    Code
    scp <meinPublicKey> root@hostname:/root


    Der Key ist zwar jetzt am Server, aber der SSHD kann damit noch nichts anfangen. Als root muessen wir folgendes durchfuehren:

    Code
    cd /root
    mkdir .ssh
    mv id_rsa.pub .ssh/authorized_keys
    chmod 600 .ssh/authorized_keys
    chmod 700 .ssh


    Wenn man sich jetzt per SSH auf dem Rechner einloggt, sollte man kein Passwort mehr angeben muessen. Nachdem das getestet wurde, muss in der Datei /etc/ssh/sshd_config die Zeile PasswordAuthentication yes in PasswordAuthentication no geaendert werden, sowie das Protokoll auf 2 gestellt werden - alles nachzulesen in der oben verlinkten Anleitung.


    Schritt 2: Enviroment komfortabler gestalten
    Out of the Box ist das installierte Enviroment etwas, naja, spartanisch, was wir gleich mal aendern werden.


    Vim
    Nicht vim-verwendende Ketzer duerfen diesen Part ueberspringen ;)

    Code
    yum install vim-enhanced


    Folgende Zeilen in /etc/vimrc hinzuefuegen

    Code
    set tabstop=4
    set expandtab
    set ignorecase
    set laststatus=2
    color delek


    Ist zwar alles Geschmackssache, aber ohne vim-enhanced gibts nicht mal Syntax highlightening.
    Jetzt noch ein


    Das set -o vi kann man sich natuerlich sparen, wenn man lieber die Emacs Kommandos in der Bash haben moechte.
    Weiters kommt eine Datei names .bash_profile mit folgendem Inhalt nach /root:

    Code
    # .bash_profile
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
        . ~/.bashrc
    fi
    # User specific environment and startup programs
    PATH=$PATH:$HOME/bin
    export PATH


    Wenn man sich nun neu einlogged, sollte man einen schoenen Prompt etc haben.


    Da mir der Prompt out of the box nicht gefaellt, habe in der Datei /etc/bashrc die entsprechende Zeile geaender, und sie schaut bei mir nun so aus

    Code
    [ '$PS1' = '\s-\v\$ ' ] && PS1="\u@\h \w\\$ "


    Das \w zeigt den kompletten Pfad an und die umschliessenden [] benoetige ich ebenfalls nicht - aber das ist auch wieder Geschmackssache.


    Zeitzone korrigieren
    Out-of-the-Box hat der Server Eastern Standard Time als Zeitzone eingestellt - fuer die meisten von uns vielleicht suboptimal. Mit

    Code
    mv /etc/localtime /etc/localtime.old
    ln -sf /usr/share/zoneinfo/Europe/Vienna /etc/localtime


    stelle man die Zeitzone um. Das ich hier die Zeitzone Wiens genommen habe, haengt primaer mit meinem Wohnort zusammen und darf selbstverstaendich angepasst werden.


    Schritt 3: Mehr Software....
    Wem die Centos Standardsoftware nicht reicht, kann auf andere Repositories zugreifen. Ich habe bei mir zwei weitere wie folgt hinzugefuegt:

    Code
    rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
    rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm


    Falls das direkte installieren mittels rpm nicht klappt, koennen die Pakete zuerst mit wget (zum install wget) geholt und dann mit rpm installiert werden.


    Die beiden neuen Repositories bringen jetzt mehr Software mit. Das zweite Repository verfuegt zum Teil ueber neuere Version von Original Centos Software und man muss hier moeglicherweise Hand anlegen, wenn man diese moechte, aber im Internet wird man schon fuendig werden.


    Falls noch jemand Hilfe beim Installieren von Cherokee mit SSL, trac und Subversion benoetigt, kann ich gerne helfen - bei sonstigen Fragen natuerlich auch.


    sumpfgottheit