Archiv der Kategorie: Server

Windows Server 2012 R2 virtuell installieren

Unter www.microsoft.com/licensing und dort unter “Sign in to the Volume Licensing Service Center” kann man sich sowohl die ISO Datei als auch den benötigten Lizenzschlüssel herunterladen.

image

Im Failovercluster-Manager (oder im Hyper-V-Manager wenn man keinen Cluster hat), kann man einen neuen virtuellen Computer hinzufügen.

image

Nun kann man noch den gewünschten Clusterknoten für die Installation wählen.

image

Der Assistent benötigt nun die Grundparameter für die virtuelle Maschine.

image

Man muss einen Namen vergeben und den Speicherort auswählen. Im Falle eines Clusters muss sich der Speicherort auf dem CSV (Cluster Shared Volume) befinden, auf das alle Knoten des Clusters zugreifen können.

image

Für neuere virtuelle Maschinen kann man die neue Generation 2 verwenden.

image

In diesem Fenster kann man der virtuellen Maschine Arbeitsspeicher zuteilen.

image

Nun muss man noch auswählen mit welchem Netzwerkadapter die virtuelle Maschine ins Netz kommt.

image

Für die virtuelle Festplatte lasse ich die vorgeschlagenen 127 GB stehen und erstelle je nach Verwendungszweck des Servers später noch eine zweite Festplatte (D:) für die Daten.

image

Als Imagedatei verwendet man die vorher von Microsoft heruntergeladene ISO Datei.

image

image

Hier bekomme ich jeweils eine Fehlermeldung, dass die eingelegte CD (resp. ISO Datei (und damit die virtuelle Maschine)) nicht auf einen anderen Clusterknoten verschiebbar ist (weil die ISO Datei auf dem lokalen C: liegt). Das ist aber kein Problem. Nach erfolgreicher Installation “wirft” man die virtuelle CD ja wieder aus und dann ist wieder alles verschiebbar.

image

Nun kann man den virtuellen Server starten.

image

image

image

image

image

image

image

image

image

image

image

Nach der Anmeldung startet der Server-Manager. Von hier aus kann man nun noch einige benötigte Änderungen vornehmen. So kann man den Computernamen ändern und den Server zur Domäne hinzufügen (1), Remotedesktop aktivieren (2), eine statische IP Adresse vergeben (3) und Windows Updates installieren (4).

image

Dann aktiviert man Windows von Vorteil auch direkt noch. Wenn man (noch) keinen KMS Server betreibt, kann man den MAK Key von www.microsoft.com/licensing  verwenden.

image

Für die nächsten Schritte habe ich den virtuellen Server heruntergefahren, weil sich nicht alle Einstellungen im laufenden Betrieb vornehmen lassen.

Man muss abwägen, wie viele virtuelle Prozessoren man der virtuellen Maschine zuordnet. Grundsätzlich kann man virtuelle Prozessoren im Verhältnis 8:1 zuweisen. Wenn also der physikalische Host 16 Kerne und 32 logische Prozessoren hat, könnte man bis zu 256 virtuelle Prozessoren verteilen. Dabei darf man nicht vergessen, dass der Host selber auch Ressourcen benötigt. Am besten verteilt man eh nicht einfach virtuelle Prozessoren, nur weil man solche hat, sondern vergibt nur so viele wie man benötigt. Gerechnet wird am Schluss auf der physikalischen Hardware. Wenn ich also einen Arbeitsschritt habe, der parallel auf 4 Prozessoren berechnet werden könnte und ich der Maschine nur einen zuteile, muss der Arbeitsschritt nacheinander auf einem logischen Prozessor gerechnet werden, auch wenn andere noch Kapazität hätten. Weiterführende Informationen findet man im Internet z.B. hier und hier.

image

Dann sollte man auch noch die ISO Datei aus dem virtuellen DVD-Laufwerk auswerfen. Eine ISO Datei, die nicht von beiden Hosts erreichbar ist (lokales C: auf einem Host) verhindert eine Live-Migration resp. einen Failover.

image

Bei den Integrationsdiensten deaktiviere ich die Zeitsynchronisierung. Der virtuelle Server soll sich die Zeit wie in einem Windowsnetzwerk üblich vom PDC holen. Wichtig ist, dass nicht sowohl die normale Domäneneinstellung als auch die Zeitsynchronisierung mit dem Host aktiviert ist. Es sollte nur einen Weg zur gültigen Zeit geben. Weitere Informationen finden sich z.B. hier.

image

Dann kann man noch die “Automatische Startaktion” und die “Automatische Stoppaktion” anpassen. Sinnvoll erscheint mir im Moment automatisches Starten mit Startverzögerung und Gastbetriebssystem herunterfahren.

image

Nun kann man noch weitere Festplatten hinzufügen, wenn man diese benötigt und dann die Dienste installieren, die auf dem eingerichteten Server laufen sollen.

Weiter muss man den Server noch in die Backupstrategie aufnehmen und allenfalls einen Virenschutz einrichten.

Nachtrag
Die Überlegungen treffen auch für den Server 2016 zu. Da gibt es aber noch zusätzliche Überlegungen, wie nicht benötigte Dienste, die man deaktivieren kann. Einen guten Überblick erhält man bei Frankys Web.

DHCP Server migrieren

Unser alter DHCP Server läuft auf einem Windows Server 2008. Dieser soll auf einen Windows Server 2012 migriert werden.

Dazu muss auf dem neuen Server zuerst die DHCP Rolle installiert werden.

image

image

Nach der Installation kann der DHCP Server im Active Directory autorisiert werden.

image

image

Nun kann man die DHCP Einstellungen des alten Servers exportieren. Dazu muss man auf dem neuen Server den folgenden Powershell Befehl verwenden (der alte Server kennt dieses Cmdlet gar nicht).

Export-DhcpServer –ComputerName win2k8-dhcp.corp.contoso.com -Leases -File C:\export\dhcpexp.xml -verbose

image

Nun habe ich den alten DHCP Server beendet und danach die exportierte XML Datei auf den neuen Server importiert.

Import-DhcpServer –ComputerName DHCP1.corp.contoso.com -Leases –File C:\export\dhcpexp.xml -BackupPath C:\dhcp\backup\ –Verbose

image

Jetzt sollte man testen, ob alles funktioniert und am Schluss schauen, dass der alte DHCP Server nicht mehr startet. Die temporären Ordner export und dhcp können dann irgendwann auch noch gelöscht werden.

Wichtig: Wenn man mehrere Subnetze hat, muss man die “IP Helper Adress” eintragen, damit der DHCP Server auch in die anderen Subnetze Adressen ausliefern kann.

image

Server 2012 R2 bietet die Möglichkeit, ein DHCP Failover einzurichten. Wie man das macht, findet man auf dieser Seite, die ich übrigens auch als Grundlage für die Migration auf einen neuen Server genommen habe.

Meine alten DHCP Einstellungen haben immer noch einen Wins Server eingetragen. Voraussichtlich werde ich diese Einstellungen wegnehmen, eine DHCP Lease Länge warten und dann auf den Wins Servern überprüfen, ob sie noch abgefragt werden (es also noch eine Software im Netz gibt, die immer noch Wins benötigt).

Konfigurieren von Zeiteinstellungen in einer Windows-Domäne

Innerhalb einer Domäne ist es wichtig, dass alle Computer die gleiche Zeit verwenden. Wenn sich ein Client mit einer mehrere Minuten abweichenden Zeit mit einem Server verbinden möchte, wird die Verbindung aus Sicherheitsgründen abgelehnt. Standardmässig wird daher die Zeit der Clients automatisch mit einem Domänencontroller abgeglichen, bei mehreren Domänencontrollern mit dem PDC (primary domain controller).

Um herauszufinden, welcher DC im Moment der PDC ist, kann man an der Kommandozeile den Befehl Netdom query fsmo eingeben.

image

Neu kann man auch die Domänencontroller und auch den PDC virtualisieren. Standardmässig wird aber die Zeit eines Hyper-V-Gastes mit dem Hyper-V-Host (also dem physikalischen Server) synchronisiert. Man sollte also nicht den PDC mit einem Zeitserver im Internet synchronisieren und gleichzeitig mit dem Hyper-V-Host, sondern die Zeitsynchronisierung mit dem Host deaktivieren und den PDC konfigurieren, wie wenn er nicht virtualisiert wäre.

image

Nun muss man auf dem PDC die Kommandozeile als Administrator ausführen. Dafür bin ich der Anleitung auf diesem empfehlenswerten Blog gefolgt.

Alle w32 Einstellungen zurücksetzen
net stop w32time
w32tm /unregister
w32tm /unregister
w32tm /register
net start w32time

image

W32 konfigurieren, die gewünschten NTP Server zu verwenden. Wenn man mehrere eintragen möchte, muss man sie in Anführungszeichen setzen und mit einem Leerzeichen voneinander trennen.
w32tm /config /syncfromflags:manual /manualpeerlist:”0.ch.pool.ntp.org 1.ch.pool.ntp.org 2.ch.pool.ntp.org 3.ch.pool.ntp.org” /reliable:yes /update

Nachtrag:
Von Vorteil ergänzt man die manualpeerlist mit 0x8, was Probleme mit nicht Microsoft Zeitservern löst. 0x8 bedeutet: „send request as client mode“. Das Problem wird in diesem Microsoft Supportartikel beschrieben. Korrekt würde es also heissen:

w32tm /config /syncfromflags:manual /manualpeerlist:”0.ch.pool.ntp.org,0x8 1.ch.pool.ntp.org,0x8 2.ch.pool.ntp.org,0x8 3.ch.pool.ntp.org,0x8” /reliable:yes /update

Vielen Dank an Jorge (siehe unten bei den Kommentaren) für diesen Hinweis.

Die Konfiguration updaten und den Service neu starten.
w32tm /config /update
net stop w32time
net start w32time

image

Die Zeit mit den neu eingetragenen NTP Servern synchronisieren
w32tm /resync /rediscover

image

Die neue Konfiguration überprüfen
w32tm /query /status
w32tm /query /peers
w32tm /query /configuration

Wenn man auf der Firewall auch die ausgehenden Zugriffe detailliert regelt, muss man noch eine Firewallregel für ausgehenden NTP Verkehr vom PDC aus eintragen.

Apple Mail Problem mit Exchange Reverse Proxy

Wir haben unseren ISA Server durch eine Sophos UTM ersetzt. Statt den Exchangeserver über die Firewall direkt ins Internet zu stellen, kann die Sophos UTM als Reverse Proxy auftreten, der die Anfragen aus dem Internet entgegen nimmt und dann an Exchange im internen Netzwerk weitergibt. ISA konnte dies auch und war mit ein Grund, wieso wir vorher ISA eingesetzt haben.

Sophos macht Werbung damit, dass sich die UTM als Ersatz für TMG (Nachfolger von ISA) eignen würde:
image

Im Zusammenhang mit Exchange hat auch alles gut ausgesehen, die Einrichtung war einfach, das Forum gibt schnell und kompetent Antwort, Outlook Web Access, Outlook Anywhere und ActiveSync funktionieren ohne Probleme.

Leider gibt es doch ein Problem. Wir haben einige Lehrkräfte, die sich von zuhause mit ihrem Mac auf den Exchangeserver verbinden. Wenn eine Lehrkraft über Apple Mail eine Mail verschickt, kann es vorkommen (nur manchmal), dass die Absenderadresse vertauscht wird. Das grösste Problem dabei ist, dass der vertauschte Absender die Mail unter seinen gesendeten Objekten findet, was natürlich ein absolutes No-Go ist. Wenn plötzlich Mails von anderen gelesen werden können, ist das Vertrauen in das schuleigene Mailsystem schnell dahin.

Ich habe dann recherchiert und eine Anfrage an das Sophos Forum gestellt. Auf den Technet Seiten von Microsoft bin ich dann auf ein ähnliches Problem gestossen. Auch da war das Problem der Reverse Proxy, aber als Reverse Proxy wurde ein Apache Webserver eingesetzt. Daher konnte ich den dort beschriebenen Workaround nicht bei uns einsetzen. Hier muss ich warten, bis Sophos das gelöst hat. Bei einem so grossen Problem kann ich aber nicht einfach abwarten. Also musste ich eine andere “Lösung” des Problems suchen.

Der einzig sinnvolle Weg im Moment war, die Kommunikation mit Apple Mail zu unterbinden. Wir bieten ja auch noch Outlook Web Access und ActiveSync für unsere Lehrpersonen an, um die Mails von zuhause zu bearbeiten. Dazu kommt sogar noch ein Zugang über einen Remotedesktopserver, um von zuhause aus zu arbeiten, was auch mit der neuen MacOS App funktioniert. Apple Mail kommuniziert mit Exchange über EWS und nicht über Mapi wie bei Outlook Anywhere. EWS wird aber auch sonst benötigt und kann nicht einfach deaktiviert werden. Mit set-organizationconfig lässt sich ab Exchange 2010 SP1 der Zugang zu EWS detaillierter konfigurieren. Leider funktioniert das unter Exchange 2007 noch nicht. Da musste ich noch was anderes suchen. Microsoft hat im Technet einen Artikel “Using URL Rewrite to block certain clients from Exchange” veröffentlicht. Damit kann man erreichen, dass der IIS, der die Seiten für den Exchangeserver ausliefert, für gewisse Bedingungen eine Fehlermeldung statt der Seite ausliefert. 

Nach der Installation vom URL Rewrite Module 2.0 findet man im IIS Manager einen neuen Eintrag “URL Rewrite”. Weil Apple Mail ja auf EWS zugreift, muss man dieses Verzeichnis auswählen (ansonsten könnte man ja mit einem Mac z.B. auch nicht mehr auf Outlook Web Access kommen) und eine neue Anforderungsblockierungsregel hinzufügen. 

image

Unter Protokollierung findet man den Speicherort der Logfiles vom IIS. Standardmässig ist das %SystemDrive%\inetpub\logs\LogFiles. Dort sieht man, dass sich der User-Agent mal als Mac+OS+X und manchmal als Mac_OS_X zu erkennen gibt.
image

Somit kann man in der Anforderungsblockierungsregel den Zugriff aufgrund des Benutzer-Agent-Header blockieren, wenn er dem Muster *Mac* entspricht. Falls sich nun ein Mac mit Apple Mail mit dem Exchange Server verbinden möchte, bekommt er HTTP 403 als Antwort und kann sich somit nicht verbinden.

image

Im IIS Log findet man weiterhin die Anfragen von Apple Mail Clients, aber neu mit der Antwort 403.
image

Trotzdem hoffe ich natürlich, dass Sophos das Problem mit dem Reverse Proxy bald lösen kann.

Nachtrag
Gemäss diesem Forumsbeitrag arbeitet Sophos an einem Fix. “We are working on a fix. Mantis 27287: Outlook anywhere connection with WAF didn’t work for Mac Clients
At the moment, we do not support Outlook Anywhere connections for Mac clients”

Nachtrag 2
In diesem Forumsbeitrag gibt es noch weitere Informationen. Da wird auch bestätigt, dass es im Moment keine WAF Unterstützung für Mac gibt, unabhängig vom Client.

Typo3 Seiten aus Backup wieder herstellen

Um die bestehenden Webseiten auf den neuen (virtuellen) Server zu übertragen, muss man gleich vorgehen, wie wenn man die Webseiten aus einem Backup wiederherstellen müsste. (Denjenigen, die diesen Vorgang lieber als Video Anleitung ansehen, kann ich die Anleitung von jweiland.net empfehlen.) Wichtig ist bei einer Wiederherstellung die Version von Typo3. Entweder muss es die gleiche sein, die auch auf dem alten Server installiert war oder man muss nach der Wiederherstellung die gleichen Schritte durchführen, wie nach einem normalen Upgrade von Typo3. Ein Backup aus dem man wiederherstellen kann, sollte die Datenbanken und die Verzeichnisse mit den Daten sichern (oder jetzt neu dann eine virtuelle Maschine, die man als ganzes komfortabel sichern und wiederherstellen kann).

Installation von Typo3
Als erstes habe ich die gleiche Version der Typo3 Source Dateien installiert, die auch auf dem alten Server benutzt wurde. In diesem Beitrag ist beschrieben, wie man Typo3 installiert.

Datenbank importieren
Um die Datenbank importieren zu können, muss man zuerst eine Datenbank mit dem gleichen Namen anlegen und dann den Dump aus dem Backup in diese importieren. 
mysql –u root –p db_name < dumpfilename.sql
Die nötigen Befehle sind hier aufgeführt.

Daten kopieren
Nun kann man die Daten in das richtige Verzeichnis verschieben. Am einfachsten geht das mit dem Midnight Commander (geht natürlich auch auf der shell mit cp oder auch mit dem Filemanager von Webmin). Zur Sicherheit sollte man im Stammverzeichnis noch überprüfen, ob der Symlink zu den Typo3 Sources auch ans richtige Ort zeigt. Genaueres zum verschieben findet man hier.

Am Schluss sollte man überprüfen, ob alles richtig funktioniert. Ausserdem macht es vielleicht gerade Sinn, die Typo3 Version mal wieder auf eine neuere Version anzuheben. Auf dem neuen Server sollte natürlich auch wieder ein Backup eingerichtet und getestet werden. Linux auf einem Hyper-V-Host kann gemäss meinen Tests problemlos als ganze virtuelle Maschine über DPM wiederhergestellt werden.

Typo3 installieren

In den System-Voraussetzungen heisst es, dass man GraphicsMagick oder Imagemagick 6 oder neuer installieren muss, wenn man die integrierte Bildbearbeitung zurückgreifen möchte.

Installieren kann man Imagemagick durch den Befehl
sudo apt-get install imagemagick

image

image

Wenn nicht bereits installiert, wird auch noch php5-gd benötigt.
sudo apt-get install php5-gd

Eine Typo3 Installation besteht aus 2 “Teilen”. Zum einen aus der “Typo3 Source” und zum anderen aus den eigentlichen Dateien für die Webseite (da gibt es verschiedene Packages).

Wenn man mehrere Seiten betreibt, kann es sinnvoll sein, diese beiden Teile zu trennen und die Source Dateien an einen separaten Ort zu speichern. So belegen die Source Dateien nur einmal Speicherplatz aber der Hauptvorteil liegt darin, dass man Upgrades am Source Code viel einfacher handhaben kann. Das Trennen der beiden Teile ist in der Datei INSTALL.txt im Stammverzeichnis der Installation unter „Installation:recommended“ beschrieben.

Für eine neue leere Installation lädt man das Blank Package mit den Source Dateien und einem leeren Skelett für die neue Seite herunter. Bei einem Upgrade nur noch das Source Packet. Den Link zur Datei kann man von der Homepage kopieren.

image

Nun kann man das Verzeichnis mit wget herunterladen. Mit einem Rechtsklick kann man die vorher kopierte Verknüpfung in Putty einfügen. Die Endung „?download” sollte man aber löschen, damit die tar.gz Datei heruntergeladen wird.

image

Das Archiv kann man nun entpacken:
sudo tar –xzvpf blankpackage-6.1.7.tar.gz
wobei man hier die Bedeutung der einzelnen Schalter findet.
Durch das Anfügen von z.B. –C /opt kann man direkt in das Verzeichnis /opt entpacken.

Nach dem Entpacken kann man die Dateien verschieben. Dazu verwende ich den Midnight Commander. Diesen kann man durch sudo apt-get install mc installieren und mit sudo mc starten. Mit der Taste F6 kann man vom linken Fenster ins rechte verschieben, im unteren Bild ins Verzeichnis /var/www.

image

Die Source Dateien verschiebe ich ins Verzeichnis /opt und der Rest des Blankpackages wird auf den Namen des Webseitenprojekts umbenannt.

Wenn die Sourcedateien nicht am gleichen Ort wie die restlichen Dateien von Typo3 liegen, muss man den symbolischen Link (symlink) auf den neuen Ort “umbiegen”. Dies kann man mit dem Kommando ln (sudo ln –sf /opt/typo3_src-6.1.7/ /var/www/…/typo3_src) erreichen oder auch ganz komfortabel mit dem Filemanager von Webmin.

image

image

Nun muss man noch die Berechtigungen und Besitzer von bestimmten Ordnern anpassen. In der INSTALL.txt sind die benötigten Befehle aufgeführt.

image

image

Wenn man nun die Seite aufruft, bekommt man folgende Meldung, dass das Install Tool geschützt sei.

image

Nachdem man so eine Datei erstellt hat, kann man die Installation beginnen.

image

Man muss sich mit einer Datenbank verbinden und die Tabellen importieren, wird dabei aber schön vom Assistenten geführt und kann eigentlich nicht viel falsch machen.

Nach der vollständigen Installation sollte man alles überprüfen, z.B. ob alle Bildbearbeitungstests funktionieren. Bei mir gab es da einen Fehler mit Imagemagick bei “Combining images”.

image

Um das zu beheben, muss man unter “All Configuration” den Befehl combine auf composite ändern, weil die neueren Versionen von Imagemagick diesen verwenden.

image

Nun hat man eine leere Seite, jetzt muss man sie noch mit Inhalten füllen.

virtuelle Hosts mit Apache

Bei uns laufen die Webseiten von verschiedenen Schulgemeinden. Apache bietet eine Möglichkeit, dies über virtuelle Hosts zu realisieren. Diese verwalte ich mit Webmin.

Unter Servers –> Apache Webserver –> Create virtual host kann man für jede eigene Seite einen virtuellen Host angeben.

image

Wenn man nun den virtuellen Host auswählt, kann man unter “Networking and Addresses” die virtuellen Servernamen eintragen.

image

Webmin zur Linux Server Verwaltung installieren

Ein Linuxserver kann komplett auf der Komandozeile (shell) verwaltet werden. Viel komfortabler ist es aber, dies auf einer grafischen Oberfläche zu machen. Ich habe mich da für Webmin entschieden und in den letzten Jahren keine Probleme damit gehabt. Darum werde ich Webmin auch auf dem neuen Server wieder einsetzen.

Webmin is a web-based interface for system administration for Unix. Using any browser that supports tables and forms (and Java for the File Manager module), you can setup user accounts, Apache, DNS, file sharing and so on. (Quelle:http://www.webmin.com/intro.html).

Alternativ zu einer manuellen Installation, kann man Webmin wie hier beschrieben auch über das Paketverwaltungstool “apt” verwalten. Dazu muss man in /etc/apt/sources.list die Zeile für das Repository eintragen. Ich verwende als Editor dazu nano.

Also nano mit “sudo nano /etc/apt/sources.list” starten und ganz zuunterst die Zeile  
deb http://download.webmin.com/download/repository sarge contrib
hinzufügen.

image

image

Wenn man nun mit ctrl+x nano verlässt, wird man noch gefragt, ob man die Änderungen speichern möchte, was man mit y bestätigt.

image

Zum Speichern muss man dann noch den Dateinamen mit der Entertaste bestätigen.

image

Damit man nachher nicht bei jedem apt-get update eine Fehlermeldung wegen dem fehlenden PGP-Schlüssel erhält…

image

…kann man den fehlenden Schlüssel mit
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc

installieren. Die mit wget heruntergeladene Schlüsseldatei kann nach dem Import wieder gelöscht werden.

Nun kann webmin normal mit apt installiert werden.
sudo apt-get update
sudo apt-get install webmin

image

Nach erfolgreicher Installation kann man sich mit Webmin über https://server-ip-adresse:10000 verbinden.

image

Obwohl ja viele Administratoren webmin verwenden, ist es eine zusätzliche Anwendung, die auch angegriffen werden könnte. Sicher macht es daher Sinn, webmin wie alle anderen Anwendungen aktuell zu halten. Zusätzlich kann man den Port 10’000 für den Zugriff auf webmin vom Internet her auf der Firewall geschlossen lassen.

Linux auf Hyper-V-Cluster

Wir betreiben ja in unserer DMZ immer noch unseren eigenen Webserver. Da wir als Ersatz für unsere alten Server einen Hyper-V-Cluster/Failovercluster gekauft haben, wollte ich auch den alten Webserver durch einen virtuellen Server auf dem Cluster ersetzen.

Netzwerk
Damit der Webserver weiterhin in der DMZ und nicht im internen Netzwerk steht, muss man ihm einen eigenen Netzwerkanschluss auf den Hyper-V-Hosts zuweisen, der für nichts anderes benutzt wird.

image

Diesen kann man dann mit der DMZ bei der Firewall verbinden. Somit ist gewährleistet, dass der ins Internet exponierte Webserver durch die Firewall vom Rest des internen Netzwerks getrennt ist.

Installation
Um den neuen Server zu installieren, kann man im Failovercluster-Manager “Virtuelle Computer…” –> “Neuer virtueller Computer…” erstellen und den Clusterknoten auswählen, auf dem dieser primär laufen soll.

Als Speicherort muss das CSV (Cluster Shared Volume) ausgewählt sein, auf das alle Clusterknoten Zugriff haben.

image

Für Linux muss Generation 1 ausgewählt werden.

image

Der Arbeitsspeicher kann auch später jederzeit angepasst werden.

image

Hier muss nun eben der Netzwerkadapter ausgewählt werden, der ausschliesslich für die DMZ verwendet und auch so verbunden wird.

image

Für die virtuelle Festplatte habe ich die Standardwerte verwendet.

image

Für den Webserver verwende ich wieder Ubuntu Server in der LTS (long time support) Version, den ich schon für den alten Webserver benutzt habe.

image 

image

Am Schluss bekommt man eine Warnung wegen der virtuellen DVD. Das ISO ist nicht auf dem CSV abgelegt, somit kann die Maschine kein Failover durchführen, da der Pfad auf dem zweiten Knoten nicht verfügbar wäre. Dies macht aber nichts, da ich die DVD nach der Installation eh entferne.

image

Nun kann man den Server starten und installieren.

image   image

Als Land habe ich Schweiz ausgewählt, als Tastaturmodell “ch”. Danach muss man in vielen Dialogen das Netzwerk manuell einrichten, einen Rechnernamen vergeben und ein Benutzerkonto anlegen. 

Jetzt kann man die Festplatten partitionieren lassen.

image

Aktualisierungen sollen nicht automatisch installiert werden, das möchte ich lieber manuell ausführen und kontrollieren.

image

Im nächsten Dialogfeld kann man zusätzliche Software-Sammlungen installieren. Für die Webseite benötige ich den LAMP Server (LAMP steht für Linux, Apache, MySQL, PHP). Der OpenSSH Server wird für einen Zugang auf die Konsole benötigt. Der Mailserver wird benötigt, damit der Inhalt von Formularen als Mail verschickt werden können. Mit Samba biete ich einen Zugang über eine Windowsfreigabe an. So können auf einen Rutsch z.B. sehr viele Bilder auf den Webserver übertragen werden. Aus Sicherheitsgründen öffne ich auf der Firewall die Ports für SSH und Samba nur vom internen Netzwerk. Es soll möglichst nur das notwendigste vom Internet her erreichbar sein.

image

Für MySQL muss man nun noch ein Root Passwort vergeben und für Postfix werden die Mailinformationen abgefragt. Am Schluss muss man noch bestätigen, dass Grub in den MBR installiert werden darf.

image

Die CD wird automatisch “ausgeworfen”. Nun kann man neu starten.

image

Nach dem Neustart empfiehlt sich ein:

sudo apt-get update
sudo apt-get dist-upgrade

um den Server mit den neuesten Updates zu versorgen.

MySQL Befehle

Nur so als Gedankenstütze, damit ich nicht immer im Internet nachforschen muss.

mysql --user=root --password=verysecure
Stellt eine Verbindung zum MySQL Server her. Danach wird in der shell mysql> vorangestellt. Befehle müssen mit einem Semikolon (;) abgeschlossen werden. Wenn man kein Passwort angibt, wird man nach der Eingabe des Befehls danach gefragt.

mysql> show databases;
Zeigt die vorhandenen MySQL-Datenbanken an.

mysql> CREATE DATABASE db_name;
Erstellt eine neuen Datenbank db_name.

mysql> CREATE DATABASE IF NOT EXISTS db_name;
Überprüft vor dem Erstellen einer neuen Datenbank, ob bereits eine mit dem gleichen Namen existiert.

mysql> DROP DATABASE db_name;
Löscht eine ganze Datenbank.

mysql> DROP DATABASE IF EXISTS db_name;
Überprüft vor dem Löschen einer Datenbank, ob eine Datenbank mit dem Namen existiert.

mysql> CREATE USER ‘newuser’@’localhost’ IDENTIFIED BY ‘password’;
Erstellt einen neuen User newuser mit dem Passwort password. Dieser neue User hat aber keine Berechtigungen auf irgendeine Datenbank.

mysql> GRANT [type of permission] ON [database name].[table name] TO ‘newuser’@’localhost’;
Wenn bei type of permission  ALL PRIVILEGES gesetzt wird, bekommt der User alle Berechtigungen auf die Datenbank. Um Berechtigungen auf alle Datenbanken und deren Tabellen zu geben, kann man den Stern verwenden (*.*)
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘newuser’@’localhost’;
Nachdem die Berechtigungen verändert wurden, sollten man sie abschliessen durch
mysql> FLUSH PRIVILEGES;

mysql> REVOKE [type of permission] ON [database name].[table name] FROM ‘newuser’@’localhost’;
Entfernt die Berechtigungen vom Benutzer (analog zu GRANT).

mysql>DROP USER ‘newuser’@’localhost’;
Löscht den Benutzer

mysql> select user, host from mysql.user;
Erstellt eine Liste mit User und Host.

mysql> show grants for ‘newuser’@’localhost’;
Zeigt die Berechtigungen für den entsprechenden Benutzer auf localhost.

mysql> QUIT
Beendet die Verbindung zum MySQL-Server.

Mit dem Programm mysqldump kann man Sicherungen einer MySQL-Datenbank erstellen

Das Programm mysqldump kann direkt auf der shell ausgeführt werden, man muss sich also nicht mit dem Datenbankserver verbinden.

mysqldump --user=root --password=verysecure db_name > dumpfilename.sql
Erstellt ein Backup der Datenbank in die Datei dumpfilename.sql.

mysqldump --user=root --password=verysecure db_name | gzip > /Verzeichnispfad/dumpfilename.gz
Erstellt ein komprimiertes Backup der Datenbank in die Datei dumpfilename.gz. Dies kann sinnvoll bei automatisierten Backups sein.

mysql --user=root --password=verysecure db_name < dumpfilename.sql
Spielt das Backup aus der Datei dumpfilename.sql in die Datenbank db_name. Die Datenbank muss vorher erstellt werden.