Quantcast
Channel: blog.alekel.de » Hyper-V
Viewing all articles
Browse latest Browse all 7

LAMP Server (CentOS 6.5) unter Hyper-V

$
0
0

Die Konfiguration ist auf einem Hyper-V Cluster unter Windows Server 2012 R2 getestet worden. Die Server sind auf aktuellem Patchstand (Stand Januar 2014).

Die Installation wird mittels eines ISO-Images (CentOS-6.5-x86_64-minimal.iso) vorgenommen. Dieses kann von den Seiten des CentOS.org Projektes heruntergeladen geladen werden.

Konfiguration der VM

  • Name “lamp.lab.dom”
  • Speicherort: “C:\ClusteredStorage\CSV\VMs\”
  • Generation 1
  • 2 CPUs
  • Arbeitsspeicher beim Start: 2048, dynamisch
    • min. 256MB
    • max. 4096MB
  • Netzwerkbindung “intern”, IP: 10.0.0.80/24, GW/DNS 10.0.0.1
    • Proxy 10.0.0.254:3128
  • Virtuelle Disk, 10GB dünn Provisioniert (thin provisioned), Name: Disk1.vhdx
  • CentOS 6.5 ISO Image eingehängt “D:\depot\Linux\CentOS-6.5-x86_64-minimal.iso”
  • Automatische Startaktion: “Keine aktiviert”
  • Automatische Stopaktion: “Gastbetriebssystem herunterfahren”

entsprechende Config per Powershell Skript ([Download nicht gefunden.]):
(<HV-Name interner Switch> muss mit dem konfigurierten Namen übereinstimmen)

$vm = "lamp.lab.dom"
$vmhost = "."
$vhdxpath = "C:\ClusteredStorage\CSV\VMs\"
$isopath = "d:\depot\Linux\"
$isoimage = "CentOS-6.5-x86_64-minimal.iso"
$isomount = $isopath + $isoimage
$cpucount = 2
$ramstart = 2048MB
$rammin = 256MB
$rammax = 4096MB
$vhdxsize = 10GB
$vs_internal = "<HV-Name interner Switch>"

New-VM -Path $vhdxpath -ComputerName $vmhost -Name $vm -Generation 1 -MemoryStartupBytes $ramstart -NewVHDPath "Disk1.vhdx" -NewVHDSizeBytes $vhdxsize
Set-VM -ComputerName $vmhost -Name $vm -ProcessorCount $cpucount -DynamicMemory -MemoryStartupBytes $ramstart -MemoryMinimumBytes $rammin -MemoryMaximumBytes $rammax -AutomaticStartAction Nothing -AutomaticStopAction ShutDown
Connect-VMNetworkAdapter -ComputerName $vmhost -VMName $vm -SwitchName $vs_internal
Set-VMDvdDrive -ComputerName $vmhost -VMName $vm -Path $isomount

Grundinstallation

Nachdem die Konfiguration erledigt ist, kann mit der Installation begonnen werden.

  1. Booten der virtuellen Maschine mit dem bootfähigen genannten ISO-Image
  2. Auswahl „Install or upgrade an existing system“
  3. Der Image) kann übersprungen werden. („Skip”)
  4. Danach wird ein Assistent für die gesteuerte Installation gestartet. („Next“)
  5. Gewünschte Sprache (für die Installation) wählen. („German (Deutsch)“)
  6. Tastatur-Layout wählen („Deutsch (latin1 ohne ‚tote‘ Tasten/Akzente“)
  7. Gerätetyp auswählen („Basis-Speichergeräte“)
    1. die Speichergerät-Warnung kann mit „Ja, alle Daten verwerfen“ betätigt werden
  8. Rechnername festlegen “lamp.lab.dom” und danach “Netzwerk konfigurieren” wählen

    Screenshot CentOS 6.5 Installation
    CentOS 6.5 Installation, Name und Netzwerk

  9. IPv4 Einstellungen eintragen und „Anwenden”.
    Hinweis: Bitte Info nach der Aufzählung in Bezug auf DHCP beachten.

    Screenshot CentOS 6.5 IPv4 Konfiguration
    CentOS 6.5 IPv4 Konfiguration

  10. Zeitzone „Europa/Berlin“ wählen
  11. Root Passwort setzen
  12. Installation „Bestehende(s) Linux-System(e) ersetzen” – löscht und formatiert die Festplatte
  13. Mit „Änderung auf Festplatte schreiben“ wird die Konfiguration übernommen und die Installation beginnt nach der Formatierung
  14. Nach der Anwahl „Neu starten“ steht das System zur Verfügung, die Standardinstallation ist abgeschlossen.

Hinweis zur DHCP Konfiguration:

Beim Testen wurde u.A. auch die Installation mit einer DHCP Konfiguration getestet, dabei konnte ein Effekt festgestellt werden. Bei einem Schwenk bzw. Simulation eines Cluster-Ausfalls ist der Netzwerkkarte eine neue MAC Adresse zugeordnet. Dies ist grundsätzlich kein Problem und entspricht der Standardeinstellung bei Hyper-V. Allerdings “merkt” sich Linux die MAC-Adresse der Netzwerkkarte und legt eine neue Karte an. Diese wird nicht automatisch gestartet und somit ist auch keine Netzwerkbindung mehr vorhanden. Es gibt mehrere Lösungen, die auch in Kombination verwendet werden kann.

  • Hyper-V Konfiguration der VM ändern und MAC-Adresse statisch festlegen
    VM die Einstellungen > Netzwerk > Erweiterte Features die MAC-Adresse Statusch festgelegt werden.
  • Konfiguration der VM ändern (Keine Bindung der MAC-Adresse mehr)
    In der Datei “/etc/sysconfig/network-scripts/ifcfg-eth0” HWADDR löschen/auskommentieren.
  • Statische Adresse verwenden

Vorbereitung und Anbindung an das Internet

Nachfolgende Schritte dienen dazu, den Server an das Internet anzubinden um sich Updates abzuholen und die Software zu erhalten. Daneben werden auch noch einige grundlegende Tools installiert die das Arbeiten vereinfachen. Vor jeder Änderung wird beispielhaft eine Sicherheitskopie der Konfig-Datei angelegt, die im gleichen Verzeichnis liegt (mit einer Endung, .orig). Dies verwende ich Grundsätzlich, wenn ich die Originalkonfigurationsdatei bearbeite. Aus Vereinfachungsgründen wird dies aber nur in diesem Punkt dargestellt.

Sollte kein Proxy im Netz verwendet werden, so kann dieser Punkt übersprungen werden (grün dargestellt).

  1. Proxy für YUM einrichten
    cp /etc/yum.conf{,.orig}
    echo proxy=http://10.0.0.254:3128/ >> /etc/yum.conf
  2. Proxy ins allgemeine Profil eintragen (für RPM)
    cp /etc/profile{,.orig}
    echo export http_proxy=http://10.100.101.2:3128/ >> /etc/profile
    echo export ftp_proxy=http://10.100.101.2:3128/ >> /etc/profile
  3. Erstes Systemupdate durchführen
    yum update –y

     
  4. SELINUX deaktiveren und Neustart
    cp /etc/selinux/config{,.orig}
    vi /etc/selinux/config
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELINUX=disabled
    shutdown –r now

     
  5. Installation EPEL Repository (Extra Packages for Enterprise Linux
    rpm -Uvh http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm;
  • Tools und erweiterter Editor (VIM) installieren
    yum install perl wget vim gcc
  • wget Proxy eintragen
    cp /etc/wgetrc{,.orig}
    echo export http_proxy=http://192.168.1.1:3128/ >> /etc/wgetrc
    echo export ftp_proxy=http://192.168.1.1:3128/ >> /etc/wgetrc

Installation LAMP + Erweiterungen

Nach der Grundinstallation kann mit der Installation der Pakete begonnen werden. Hier werden neben dem Standard noch einige weitere Programme/Erweiterungen installiert, die ich für WordPress/Typo3 verwende.

  1. MySQL installieren, starten und Autostart beim Neustart einrichten
    yum install mysql mysql-server
    chkconfig mysqld on
    service mysqld start
  2. Apache2 installieren,starten und Autostart einrichten
    yum install httpd
    chkconfig httpd on
    service httpd start
  3. PHP installieren
    yum install php php-pear php-mysql php-soap php-devel http-devel pcre-devel
  4. APC installieren (Standard Antworten folgen)
    pecl install apc
  5. APC einschalten
    echo "extension=apc.so" > /etc/php.d/apc.ini
    service httpd restart
  6. Weitere Programme
    yum install ImageMagick catdoc xpdf xpdf-utils
  • Installation phpMyAdmin
    yum install phpmyadmin -y

Konfiguration/Anpassung der Installation

  1. Apache 2 konfigurieren
    1. Hosts-Datei  (/etc/hosts) anpassen und um folgenden Eintrag ergänze
      echo 10.0.0.80 lamp.lab.dom lamp >> /etc/hosts
    2. Apache Konfigurationsdatei (/etc/httpd/conf/httpd.conf) wie folgt editieren, dabei die vorhanden Einträge der Werte ersetzen oder auskommentieren
      ServerName lamp.lab.dom
    3. Apache neu starte
      service httpd restart
  2. MySQL konfigurieren durch starten des nachfolgenden Assistenten. Es können die Standard-Einstellungen ürbernommen werden. Bis auf ein Kennwort ist somit nichts vorzugeben. Dieses wird innerhalb der Installationsphase abgefragt und muss nicht dem Orginären Root-Kennwort des Servers entsprechen. Aus Vereinfachungsgründen und weil dies „nur“ ein Intranetserver ist, wird das gleich Kennwort verwendet.
    mysql_secure_installation
  3. Firewall konfigurieren (/etc/sysconfig/iptables) editieren.
    1. Konfiguration anpassen
      ... --dport 22 -j ACCEPT ...
      -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
      -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
      ...
  4. Firewall neu starten
    service iptables restart
  5. phpMyAdmin konfigurieren
    1. Datei wie folgt editieren (auskommentieren) (etc/httpd/conf.d/phpMyAdmin.conf), so dass nur noch die ersten zwei Zeilen stehen bleiben
      Alias /phpMyAdmin /usr/share/phpMyAdmin
      Alias /phpmyadmin /usr/share/phpMyAdmin
      #... ab hier alles aukommentieren oder loeschen...
    2. Datei anlegen

      cp /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php

    3. Authentifizierungsmethode ändern in der (/usr/share/phpMyAdmin/config.inc.php) von cookie in http
      …
      /*
      &nbsp;* First server
      &nbsp;*/
      $i++;
      /* Authentication type */
      $cfg['Servers'][$i]['auth_type'] = 'http';
      /* Server parameters */
      …
  6. Webserver Neustart
    service httpd restart
  7. PHP Infofile hinterlegen (/var/www/html/phpinfo.php)
    <?php
    phpinfo();
    ?>

Überprüfung der Installation

Test Webserver

Der Webserver ist nun im Netzwerk installiert. Um die Installation zu verifizieren, kann aus dem LAN die Adresse http://10.0.0.80 aufgerufen werden. Sofern die Adresse im DNS eingetragen worden ist, entsprechend mit dem Namen. Hier sollte nun die Startseite des Apache Webservers erscheinen.

Screenshot Apache Test Page
Screenshot Apache Test Page

Test PHP und APC

Über den Aufruf http://10.0.0.1/phpinfo.php sollte bei funktionierender Installation Informationen erscheinen.

Screenshot PHP Info
Screenshot PHP Info

APC wird in einem eigenen Abschnitt in der phpinfo angezeigt.

Test phpMyAdmin

Das Datenbankadministrationstool kann mit dem Aufruf http://10.0.0.1/phpmyadmin aufgerufen werden. Nach der Authentifizierung wird das Programm angezeigt.

Screenshot phpMyAdmin
Screenshot phpMyAdmin

Weitere Verweise/Quellen

Download:

Powershell-Skript zur Erstellung einer CentOS VM unter Hyper-V: lab_hv_CentOS.rar (6 Downloads)

The post LAMP Server (CentOS 6.5) unter Hyper-V appeared first on blog.alekel.de.


Viewing all articles
Browse latest Browse all 7

Latest Images

Trending Articles