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.
- Booten der virtuellen Maschine mit dem bootfähigen genannten ISO-Image
- Auswahl „Install or upgrade an existing system“
- Der Image) kann übersprungen werden. („Skip”)
- Danach wird ein Assistent für die gesteuerte Installation gestartet. („Next“)
- Gewünschte Sprache (für die Installation) wählen. („German (Deutsch)“)
- Tastatur-Layout wählen („Deutsch (latin1 ohne ‚tote‘ Tasten/Akzente“)
- Gerätetyp auswählen („Basis-Speichergeräte“)
- die Speichergerät-Warnung kann mit „Ja, alle Daten verwerfen“ betätigt werden
- Rechnername festlegen “lamp.lab.dom” und danach “Netzwerk konfigurieren” wählen
- IPv4 Einstellungen eintragen und „Anwenden”.
Hinweis: Bitte Info nach der Aufzählung in Bezug auf DHCP beachten. - Zeitzone „Europa/Berlin“ wählen
- Root Passwort setzen
- Installation „Bestehende(s) Linux-System(e) ersetzen” – löscht und formatiert die Festplatte
- Mit „Änderung auf Festplatte schreiben“ wird die Konfiguration übernommen und die Installation beginnt nach der Formatierung
- 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).
- Proxy für YUM einrichten
cp /etc/yum.conf{,.orig} echo proxy=http://10.0.0.254:3128/ >> /etc/yum.conf - 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 - Erstes Systemupdate durchführen
yum update –y
- SELINUX deaktiveren und Neustart
cp /etc/selinux/config{,.orig} vi /etc/selinux/config SELINUX=disabled shutdown –r now
- 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.
- MySQL installieren, starten und Autostart beim Neustart einrichten
yum install mysql mysql-server chkconfig mysqld on service mysqld start
- Apache2 installieren,starten und Autostart einrichten
yum install httpd chkconfig httpd on service httpd start
- PHP installieren
yum install php php-pear php-mysql php-soap php-devel http-devel pcre-devel
- APC installieren (Standard Antworten folgen)
pecl install apc
- APC einschalten
echo "extension=apc.so" > /etc/php.d/apc.ini service httpd restart
- Weitere Programme
yum install ImageMagick catdoc xpdf xpdf-utils
- Installation phpMyAdmin
yum install phpmyadmin -y
Konfiguration/Anpassung der Installation
- Apache 2 konfigurieren
- Hosts-Datei (/etc/hosts) anpassen und um folgenden Eintrag ergänze
echo 10.0.0.80 lamp.lab.dom lamp >> /etc/hosts
- Apache Konfigurationsdatei (/etc/httpd/conf/httpd.conf) wie folgt editieren, dabei die vorhanden Einträge der Werte ersetzen oder auskommentieren
ServerName lamp.lab.dom
- Apache neu starte
service httpd restart
- Hosts-Datei (/etc/hosts) anpassen und um folgenden Eintrag ergänze
- 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
- Firewall konfigurieren (/etc/sysconfig/iptables) editieren.
- 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 ...
- Konfiguration anpassen
- Firewall neu starten
service iptables restart
- phpMyAdmin konfigurieren
- 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...
-
Datei anlegen
cp /usr/share/phpMyAdmin/config.sample.inc.php /usr/share/phpMyAdmin/config.inc.php
- Authentifizierungsmethode ändern in der (/usr/share/phpMyAdmin/config.inc.php) von cookie in http
… /* * First server */ $i++; /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'http'; /* Server parameters */ …
- Datei wie folgt editieren (auskommentieren) (etc/httpd/conf.d/phpMyAdmin.conf), so dass nur noch die ersten zwei Zeilen stehen bleiben
- Webserver Neustart
service httpd restart
- 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.

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

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.

Weitere Verweise/Quellen
- CentOS Projektseite
http://www.centos.org - Hyper-V Seite bei Mircrosoft
http://www.microsoft.com/de-de/server/windows-server/server-virtualisierung/default.aspx - Apache Webseite
http://www.apache.org/ - MySQL Webseite
http://dev.mysql.com/ - PHP Webseite
http://php.net/
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.










