| FOTO | AUTO | EDV | AUDIO |



Installation CentOS

CentOS Logo CentOS ist ein Klon des Red Hat Enterprise Linux (RHEL). Bei CentOS wurde an sich nur rechtlich bedenkliche Dinge ausgetauscht und ‘up2date’ durch ‘yum’ ersetzt. Wenn man im Enterprise-Umfeld auf Linux setzt, kommt man vermutlich nicht an Red Hat vorbei – CentOS bietet hier eine kostengünstige Variante.

Voraussetzung zur virtuellen Installation
  1. Ein Server, PC oder Workstation mit installiertem Windows oder Linux Betriebssystem
  2. Installation des VMware Player von
  3. Download des Installations -ISO von http://www.centos.org (32Bit oder 64Bit)
Hardwareanforderung
  • Mindestesns 512MB RAM (2GB empfohlen)
  • Mindestens 10 GB HD (100GB oder mehr, plus zweite HD wird empfohlen)
  • Mindestens eine NIC (2 empfohlen, wenn eine Firewall aufgebaut werden soll)
  • 1 CD oder DVD Laufwerk (Bei virtueller Installation mit eingehängten CentOS ISO /kann nach der Installation entfernt werden)

Installation

Wird der Server mittels der ersten DVD gebootet beginnt die Installation. Nach der Installationsbestätigung kann das Medium auf Fehler geprüft werden.

Um eine Kickstart-Installation zu starten, müssen Sie das System von einem von Ihnen erstellten Boot-Medium oder der Red Hat Enterprise Linux CD-ROM Nr. 1 booten und einen speziellen Boot-Befehl am Boot-Prompt eingeben.

Sprache

Der Installer passt sich dem Benutzer an und so werden nun erst mal Sprachen und Tastatur-Layout abgefragt.

Installation oder Upgrade

Findet der CentOS-Installer eine bereits bestehende Installation, so bietet er die Möglichkeit ein Upgrade zu machen. Da wir das natürlich nicht wollen, geht es mit dem Punkt “Centos installieren” weiter.

Festplatte

Die Festplattenaufteilung ist nicht ganz unwichtig und so wird auch diese abgefragt.

Partitionierung
Mount Größe Partitionierung
Swap ca 1,5 bis 2 X RAM swap
/ ca 10GB ext4
/home ziemlich viel, je nach Verwendung des Servers ext4
Wenn zweite HD vorhanden
/Backup komplett, idealerweise gleiche Größe wie HD1 ext4

Netzwerk

Auch belasse ich bei der Netzwerk-Konfiguration alles laut Standardeinstellung. Sie bezieht in diesem Fall alle nötigen Daten über DHCP. Dieser Dienst muss natürlich auch im Netzwerk erreichbar sein.

Region

Wo steht der Server…
Wozu, wenn man doch schon das Tastaturlayout angegeben hat, muss diese Einstellung sein? Die einfache Antwort ist:
Die Erde unterteilt sich in 24 Zeitzonen. Ist die System-/BIOS-Uhr auf UTC gestellt, so kann anhand der Positionierung auf der Karte die korrekte Zeit eingestellt werden.

Root

Das Setzten des root-Kennwortes ist sicher eine Einstellung, die jeder nachvolziehen kann. Dieses Passwort sollte sicher und einmalig sein.

Software-Pakete

Die art der Installation (Spätere Verwendung des Servers)
Die Auswahl der zu installierenden Software gehört sicher zu jeder vernünftigen Installation! Auch hier ist das so. Da kein Mensch jedes der tausenden Software-Pakete kennen will, kann man hier eine grobe Auswahl treffen, die die entsprechenden Pakete automatische und mit allen Abhängigkeiten auswählt.
Darüber hinaus kann durch die Aktivierung der “Anpassen-Option” eben dieses im nächsten Schritt getan werden. Auch in der erweiterten Einstellung wählt man keine einzelnen Pakete aus – Man wählt, was man will und die CentOS-Installation erledigt den Rest. So kann man sehr leicht seine persönliche Distribution zusammenstellen. Ob der Server nun ein grafisches Frontend haben soll, oder nicht und ob bzw. Datenbanken installiert werden sollen…

Installation

Die Installation der Software beginnt.
Hier besteht die Möglichkeit sich alles noch Mal zu überlegen. Da wir an dieser Stelle aber wild entschlossen sind, klicken wir auf “Weiter” und die Installation beginnt.

Nach einiger Zeit, nachdem der Fortschrittsbalken die 100% erreicht hat, wird zum Neustart des Servers aufgefordert.

Nach dem ersten Reboot

Sollte es sein dass sie vergessen haben eine grafische Oberfläche mit zu installieren, kann dies jetzt nachgeholt werden. Ist die Oberfläche schon installiert, ignorieren sie diesen Abschnitt.
Zuvor muss das Netzwerk aktiviert werden. Hierzu muss die Datei ifcfg-eth0 editiert und das Netzwerk restartet werden:

vi /etc/sysconfig/network-scripts/ifcfg-eth0
    onboot = yes
    #HWADDR=
    #UUID=
service networt restart
reboot

Neu anmelden, dann können die fehlenden Pakete nachinstalliert werden:

yum -y groupinstall "Desktop" "Desktop Platform" "X Window System" "Fonts"
Optional kann noch installiert werden:
yum -y groupinstall "Graphical Administration Tools"
yum -y groupinstall "Internet Browser"
Wollen sie zur auswahl auch einen KDE Desktop haben, wird er so nachinstalliert:
yum -y groupinstall kde-desktop

Mit dem Befehl

startx

kann die grafische Oberfläche (in diesem Fall Gnome) gestartet werden. Bei einem Neustart wird immer zuerst ohne Grafik gestartet.

Benutzer anlegen

Den ersten Benutzer anlegen (Weitere Benutzer werden nach der Installation angelegt)

Die Firewall

Aktivierung oder Deaktivierung Anders als bei der IPTabels-Konfiguration kann man auch hier sehr komfortabel möglich, ohne sich im einzelnen die Regeln ausdenken zu müssen.

SELinux

Das steht für ein “sicherheitsverbessertes Linux”. Es handelt sich dabei um eine Erweiterung des Kernels, die die Zugriffe auf Ressources über Policies regelt. SELinux ist recht komplex und so verwundert es nicht, dass diese Funktion zumeist abgeschaltet ist. Hier ist die Installation abgeschlossen. Bei einer virtuellen Installation sollten noch die VM-Tools installiert werden. SELinux, welches übrigens maßgeblich von Red Hat und der NSA einwickelt wurde, ist aber nicht das einzige Produkt, was ein “verbessertes” Sicherheits-Linux bietet. AppArmor (Novel) ist nur eines. – Es sollte vor allen den Suse-Nutzern bekannt vorkommen.

Kdump

Es ermöglicht den Kernel-Speicher bei einem Linux-Crash abzugreifen. Wer sich in den Tiefen von Linux bewegt und sich dort mit “debug”-Maßnahmen konfrontiert sieht… Für den ist dies’ die richtige Option. Der “normalsterbliche” Mensch, der CentOS im semi-professionellen Einsatz hat, kann auf Kdump guten Gewissens verzichten.

Datum und die aktuelle Urzeit

Diese kann von Hand eingegeben, aber vor allem auch über NTP angeglichen werden. Letzteres ist eine praktikable Möglichkeit um mehrere System synchron zu halten. Mit einem gesteigerten Sicherheitsbedürfnis und entsprechender Größe der Netz-Infrastruktur ist es zu empfehlen einen eigenen NTP-Dienst aufzubauen.

Der Super-Nutzer ‘root’ existiert bereits. Da es nicht immer gut ist sich als ‘root’ anzumelden, bietet die Installation/Konfiguration die Möglichkeit einen Nutzer initial anzulegen. Weitere können später auch ohne Probleme über die CentOS/Red Hat-Tools angelegt werden. – ‘adduser’ gibt es auch – also besteht an dieser Stelle kein Zwang sich auf einen Benutzer festzulegen.

Ob eine Soundkarte in einem Server wirklich benötigt wird sei dahingestellt. Jedenfalls wird hier die Möglichkeit angeboten, diese zu konfigurieren.

CentOS besitzt, wie jede moderne Distribution, die Möglichkeit mehrere verschiedene Software-Repositories anzugeben. das erweitert die Softwareauswahl und macht manchmal den Unterschied bei der Distributionswahl aus. Diese Software-Verzeichnis-Erweiterungen lassen sich selbstverständlich auch im Nachhinein erweitern bzw. ändern.

Anmeldung

Endlich – der lang ersehnte Anmelde-Bildschirm.
Dies bedeutet, dass die Grundkonfiguration abgeschlossen und CentOS einsatzbereit ist. Meldet man sich hier mit dem zuvor angelegten Nutzer an, ist man auf der sicheren Seite und kann für’s erste nicht viel falsch machen.

Konfiguration

Administrative Systemkonfigurationen müssen als root durchgeführt werden

su -    

VMware Tools installieren

Nur bei der Installation eines virtuellen Servers können die VMware-Tools installiert werden. Sie stellen ein Treiberpaket, optimiert für die virtuelle Hardware, dar und erhöhen die Performance der virtuellen Maschine.

  1. Im VMware Player (blauer Balken) unter Virtual Machine → Install VMware Tools aktivieren
  2. Die Datei VMwareTools*.tar.gz entpacken
  3. in diesem Ordner die Installation mit ./vmware-install.pl starten
    1. Mogleiche fehlende Abhängigkeiten
      1. perl fehlt → yum install perl
      2. GCC fehlt → yum install gcc
      3. Kernel Header fehlen → kernel-header nachinstallieren → Tools installieren

Sprache einstellen

In der Datei .dmrc werden die Spracheinstellungen jedes Benutzers eingestellt.
Die Sprache auf deutsch umstellen:

vim ~/.dmrc

[Desktop]
  Language=de_DE.UTF-8
  Layout=de nodeadkeys

Speichern und neu anmelden (reboot ist nicht nötig)
Um allen weiteren Benutzern diese Sprache als Standart einzustellen, wird die Datei .dmrc nach skel kopiert

su -
cp /home/user/.dmrc /etc/skel/

Systemweit wird die Sprache in /etc/sysconfig/i18n eingestellt:

LANG="de_DE.UTF-8"
SYSFONT="latarcyrheb-sun16"
export LC_MESSAGES="de_DE.UTF-8"

Weitere Benutzer anlegen

Alle weiteren benötigten User werden angelegt

useradd peter 
oder etwas ausführlicher:
useradd -s <SHELL> -m -d <HomeDir> -c <'Comment'> -g <Group> UserName
 
    -s SHELL     # Login shell des Benutzerkontos
                   # /bin/bash      -> Standard Shell verwenden (die Bash)
                   # /sbin/nologin  -> darf sich nicht lokal am Server anmaleden
    -m           # Heimatverszichnis erstellen, falls nicht vorhanden
    -d HomeDir   # Pfad des Heimatverszichnis
    -c 'Comment' # Vollständiger Benutzername
    -g Group     # Hauptgruppe des Benutzerkontos
    UserName     # Benutzername (Loginname)

sudo

Falls gewünscht, kann ein User mit temporären administrativen Rechen ausgestattet werden. Dazu wird die Datei /etc/sudoers angepasst.
Diese Datei NIE mit einem Texteditor bearbeiten! Immer visudo verwenden

visudo
Beispiele:

 root           ALL = (ALL) ALL            # Das heißt root darf alle Befehle mit sudo ausführen.
 %administrator ALL = (ALL) ALL            # Die Gruppe administrator darf alle Befehle mittels sudo als root ausführen.
 admin          ALL = NOPASSWD: ALL        # Der User admin darf ohne Passwortabfrage alle Programme ausführen.
 %users         ALL = NOPASSWD: /bin/mount # Die Gruppe users darf den Befehl /bin/mount ausführen

Weite Informationen unter http://wiki.ubuntuusers.de/sudo/Konfiguration

Netzwerk

Vorgaben
Statische IP eth0: 192.168.10.63 eth1: 10.10.1.1
Gateway eth0: 192.168.10.1(DSL-Router) eth1: kein
Servername SRV
DNS 194.25.2.129 (DNS des eigenen Provider)

Den Provider DNS kann man unter www.denic.de ausfindig machen

Zuerst ermitteln wir die aktuelle Konfiguration

ifconfig

Servername vergeben und IPv6 deaktivieren

vim /etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=SRV

Netzwerk konfigurieren

Bitte Device-Name, HW Adresse, IP-Adresse, Gateway und DNS so wählen wie es für ihr Netzwerk sinnvoll ist.

Für die erste Netzwerkkarte: vim /etc/sysconfig/network-scripts/ifcfg-eth0

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:85:15:BC
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.10.63
GATEWAY=192.168.10.1
TYPE=Ethernet
DNS1=194.25.2.129   # DNS des eigenen Provider
NAME=INTERNET-eth0

Für die zweite Netzwerkkarte: vim /etc/sysconfig/network-scripts/ifcfg-eth1

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
BOOTPROTO=static
HWADDR=00:0C:29:85:15:C6
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=10.10.1.1
TYPE=Ethernet
DNS1=194.25.2.129   # DNS des eigenen Provider
NAME=LAN-eth1
Die IP Adrsse des DNS kann man bei www.denic.de sehen, wenn man nach seinem Provider sucht

Lokale Namensauflösung

vim /etc/hosts

127.0.0.1       localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
10.10.1.1       srv-lan
192.168.10.63   srv-internet
 
# LAN Hosts
10.10.1.2       printer
10.10.1.10      laptop
10.10.1.11      office

Änderungen aktivieren mit:

service network restart

Kontrollieren mit:

ifconfig

Drucker

start → Administration → Drucken
Hiermit kann man dem Server einen neuen Drucker hinzu fügen
Über die Webseite: http://127.0.0.1:631 kann der Druckserver cups administriert werden. Sollte die Adresse nicht erreichbar sein, muss der Druckserver cups installiert und gestartet werden:

yum install cups
service cups start
chkconfig cups on

Anpassen der Repositories

Auf der Seite http://wiki.centos.org/AdditionalResources/Repositories
und http://www.fedorawiki.de/index.php/Centos:Repositories
Werden viele weitere Quellen für Installationsdateien (Repositories) angeboten.

Repositories freischalten

Für BASE

vim /etc/yum.repos.d/CentOS-Base.repo

hier alle ausgeschlossenen base URL aktivieren (das # entfernen)

Repositories hinzu fügen

ACHTUNG
Das hinzu fügen von Repositories zwielichtiger Herkunft oder mit Beta-Status kann das System schwer schädigen.

cd /etc/yum.repos.d/
vim reponame.repo      # Die Endung .repo ist wichtig

Jetzt auf dem oberen Link ein Repositori auswählen und den Inhalt der .repo Datei kopieren. Dies aber nur durchführen, wenn es unbedingt wichtig sein sollte.

Beispiel rpmforge für ein CentOS 5

 vim /etc/yum.repos.d/rpmforge.repo 
[rpmforge]
name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el5/en/$basearch/rpmforge
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 0
 
[rpmforge-extras]
name = RHEL $releasever - RPMforge.net - extras
baseurl = http://apt.sw.be/redhat/el5/en/$basearch/extras
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge-extras
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 0
 
[rpmforge-testing]
name = RHEL $releasever - RPMforge.net - testing
baseurl = http://apt.sw.be/redhat/el5/en/$basearch/testing
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge-testing
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-testing
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 0
Weitere Informationen unter: http://wiki.centos.org/AdditionalResources/Repositories/RPMForge
Eine genauere Beschreibung Reositories einzubinden gibt es unter Einbinden des RPMForge Repository unter CentOS 6.x zu lesen.

Proxy verwenden

wenn ein Proxy verwendet werden muss wird dieser mit einem Export-Befehl in der Shell konfiguriert

export http_proxy=http://192.168.10.1:3128               # für Proxy ohne Passwort und dem Port 3128
export http_proxy=http://user:passwort@192.168.10.1:3128 # für Proxy mit User/Passwort

Weitere Infos unter: http://www.darian-brown.com/export-proxy-in-linux/
Nach dem Schließen der Shell oder einem Neustart ist die Export-Variable wieder deaktiv. Um sie permanent zu aktivieren wird die Datei

/home/benutzername/.profile

um die export-Zeile des Proxy erweitert. Direkt nach deranmeldung des Benutzers wird ihm der Proxy zugewiesen. Um allen Usern eines Systems einen (den gleichen) Proxy zuzuweisen wird die Teil ein die Datei

/etc/bash.bashrc

eingetragen.

Update

yum update        # Update ohne Kernelupdates
yum upgrade       # Update mit Kernelupdates

Automatischer Dienststart anpassen

chkconfig --list                  # Listet alle Dienste und ihr Startverhalten
chkconfig --list|grep dienstname  # Zeigt das Startverhalten des Dinstes dienstname
chkconfig dienstname off          # Beendet den autmatischen Start des Dienstes dienstname
chkconfig dienstname on           # lässt den Dienst dienstname beim Booten automatisch starten

Runlevel ändern

Der Runlevel bestimmt das Startverhalten eines Systems. Die Standart-Runlevel sind:

# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)

Nach einer klassischen Installation startet der Server im Runlevel 5, also mit X. Um ressourcen zu sparen soll der Server im Runlevel 3 (ohne X) starten. Hierfür wird die Datei inittab angepasst:

vim /etc/inittab

Die Zeile

id:5:initdefault:

wird geändert zu

id:3:initdefault:

Jetzt ist die grafische Oberfläche deaktiviert. Sie kann nach dem Login mit dem Befehl

startx

nachgeladen werden. Beim Abmelden wird sie dann wieder beendet.

Filesystem tunen

Dieses Beispiel bezieht sich auf die Partition /dev/sdb1. Um Änderungen am Index vorzunehmen, darf die Partition nicht gemountet sein.

Index auf Baumstruktur setzen

tune2fs -O dir_index /dev/sdb1
umount /dev/sdb1
e2fsck -fD /dev/sdb1
e2fsck -f /dev/sdb1

Dateisystemcheck anpassen

tune2fs -c 10 -i 180 /dev/sdb1
Dies erlaubt 10 Mount-Vorgänge oder ein halbes Jahr zwischen zwei e2fsck-Läufen. Werte von 0 schalten den automatischen Test komplett ab

Infos über FS

dumpe2fs -h /dev/sdb1
mke2fs -n /dev/sdb1    # Gibt die Blocknummer des Superblocks aus
Sollte e2fsck bei einem beschädigten Dateisystem wegen eines kaputten Superblocks die Arbeit verweigern, kann man das Tool anweisen, einen der Reserve-Superblocks zu verwenden: e2fsck -b Superblock

ACL aktivieren

tune2fs -o acl /dev/sdb1

Weitere Informationen siehe: http://www.heise.de/open/artikel/Verzeichnis-Optimierung-224376.html

Böse Fehler beheben

Manche fehlerhafte Einstellungen können den Start eines Systems verhindern. Beispielsweise löst ein

id:6:initdefault: 

in der Datei /etc/inittab einen ständigen reboot aus. Um solche Fehler wieder beheben zu können muss der Server mittels einer Live-CD (zB Knoppix) gebootet werden. Von dort kann auf die Linux Partitionen und auf die dort liegenden Konfigurationsdateien zugegriffen werden und mit einem Texteditor der Fehler wieder behoben werden.