Archiv der Kategorie: Server

Installation Grundsystem inkl. Owncloud 5.0.5 Linux Ubuntu Server 12.04.2 LTS

Nachdem die Installation und Konfiguration der MySQL-Datenbank sowie der Skriptsprache PHP nur unter erheblichen Mehraufwand realisiert werden konnte und die Funktionalitäten von Owncloud unter IIS 7.5 / 8 bisher nur eingeschränkt verfügbar sind, ist die gesamte Architektur des Colocation-Servers geändert worden. Um zu einem späteren Zeitpunkt das Betriebssystem wechseln zu können, wurde auch der Einsatz der spezifischen Virtualisierungsplattform „Hyper-V“ überdacht. Zentraler Bestandteil des neuerlichen Konzepts ist die Verwendung der Virtualisierungssoftware „Virtual Box“.

Zukünftig sollen zwei virtuelle Maschinen die zentralen Aufgaben des Colocation-Servers übernehmen. Ein linux-basiertes System soll auf der Basis einer LAMP-Installation alle Hostingaufgaben realisieren und durch den Einsatz einer RSYNC- sowie FTP-Serverrolle als Backupsystem fungieren. Zusätzlich wird durch die Installation der Plex-Serversoftware jene Maschine als Mediaserver genutzt. Ein windows-basiertes System soll als Entwicklerplattform dienen und durch die freie Skalierbarkeit zusätzlicher Ressourcen für den Einsatz von Active Directory-, Sharepoint- und Exchange-Rollen bereitstellen.

Somit kommen wir zunächst zu einer ausführlichen Dokumentation der Testumgebung. Als erster wichtiger Baustein wird die Installation des Linux-Servers vorangetrieben. Durch die Einrichtung einer neuen virtuellen Maschine unter „Virtual Box“, wird das Fundament für den produktiven Einsatz gelegt.

Nachdem die Installation abgeschlossen ist, kann das System durch folgende Befehle aktualisiert werden.

sudo apt-get update
sudo apt-get upgrade

Da der Colocation-Server hardwareseitig genügend Potenzial für ein leistungsfähiges System besitzt und für die spätere Verwaltung von Medieninhalten eine grafische Oberfläche vorteilhaft sein kann, wird nachträglich ein GUI (Graphic User Interface) installiert.

sudo apt-get install ubuntu-desktop

Nun kann die Linux-Installation nach den Anforderungen der Anwendungen konfiguriert werden. In einem ersten Schritt wird die Webserver [Linux, Apache, PHP, MySQL (LAMP)] beschrieben.

sudo apt-get install apache2 php5 libapache2-mod-php5 mysql-server mysql-client php5-mysql phpmyadmin

Jetzt kann die Vorbereitung des Webservers und des Datenspeicherorts für Owncloud gestartet werden. Hinsichtlich späterer Datensicherungsmöglichkeiten und erhöhter Flexibilität bei der Datenspeicherung wird eine eigene virtuelle Festplatte erstellt. Diese wird mit über den nachfolgenden Befehl mit den entsprechenden Rechten für die Apache-Nutzergruppe ausgestattet.

chown -R www-data:www-data /datalocation

Wiki.Ubuntuusers.de – CHOWN

Optional kann der Apache-Webserver mit einer SSL-Zertifikat gesichert werden. Diese Möglichkeit soll zu einem späteren Zeitpunkt genutzt werden.

Heise Security SSL für lau

Wiki.Ubuntuusers.de – Apache SSL

SSLTrust – Apache 2.x SSL Einrichtung

Zertifizierungstelle CAcert

Zertifizierungstelle StartSSL

Als letzten Schritt auf dem Weg zur Owncloud-Installation muss der Apache-Webserver für die Verarbeitung von .htaccess vorbereitet und zwei Apache-Module aktiviert werden.

Zunächst die Verarbeitung von .htaccess-Dateien:

sudo vi /etc/apache2/sites-available/owncloud

Inhalt des Konfigurations-Datei:

Inhalt Konfigurationsdatei

Durch den folgenden Befehle wird der Apache-Webserver über die Aktivierung der Website informiert:

sudo a2ensite owncloud

Nun werden noch die beiden Apache-Module aktiviert:

sudo a2enmod headers rewrite

Zum Abschluss wird der Apache-Webserver einmal neu gestartet:

sudo service apache2 restart

Jetzt kann mit dem Installationsprozess von Owncloud begonnen werden. Dabei gibt es zwei verschiedene Wege: Installation über das Terminal oder über das Ubuntu Software Center. In der nachfolgenden Bildergalerie wird die Installation über das Software Center gezeigt. Die Befehle für das Terminal lauten:

echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/ /' >> /etc/apt/sources.list.d/owncloud.list
apt-get update
apt-get install owncloud

Falls es beim Installationsprozess zu Problemen bezüglich der Rechteverwaltung auf der virtuellen Festplatte kommt, hilft eventuell ein Blick in diesen oder jenen Foreneintrag.

Weitere Informationen:

Fernwartung eines Linux-Systems über RDP [(Windows-) Remote Desktop Protocol] durch XRDP

mntechblog.de – LAMP Installation

http://forum.ubuntuusers.de/

http://wiki.ubuntuusers.de/MySQL

Upload von großen Dateien Owncloud

Das Ubuntu Logo ist Eigentum der Canonical Ltd.

PHP Einstellungen Owncloud und Strato Webhosting

Nach der Installation des Owncloud-Pakets müssen Änderungen an den globalen PHP-Einstellungen sowie einer spezifischen PHP-Datei vorgenommen werden. Diese sind notwendig, um die volle Funktionalität sicherzustellen.

Um bei dem im Titel genannten Webhosting-Anbieter die globalen PHP-Einstellungen zu ändern, muss eine eigene PHP-Konfiguration erstellt werden. Unter Verwendungen eines beliebigen Texteditors werden die von den Standardeinstellungen abweichenden Parameter in ein Dokument geschrieben und die Datei unter dem Namen „php.ini“ abgespeichert. Diese Datei wird danach mit einem beliebigen FTP-Programm oder einer SSH-Verbindung in das Owncloud-Wurzelverzeichnis hochgeladen. Durch dieses Vorgehen wird sichergestellt, dass der Apache-Webserver des Hosters die geänderten Parameter auf alle Unterverzeichnis anwendet. Für die eigene Installation habe ich mich für folgende Abweichungen entschieden:

file_uploads = On
max_execution_time = 600
safe_mode = Off
post_max_size = 650M
upload_max_filesize = 500M
max_file_uploads = 20
register_globals = Off

Diese Werte geben an, dass der Upload von Dateien mit max. 500 MB möglich ist. Für die Änderung von PHP-Parametern gibt es unzählige Möglichkeiten. Um den Upload großer Dateien zu ermöglichen, werden in diesem Artikel einige Hinweise auf die korrekten Werte gegeben.

Der Apache-Webserver von Strato ist so eingestellt, dass automatisch eine .htaccess-Datei in dem Verzeichnis der php.ini angelegt wird. Dadurch wird der Webserver angewiesen, die geänderten Einstellungen zu verwenden. Falls diese Datei nicht erstellt wird, so kann diese auch manuell geschrieben werden.

SetEnv PHPRC /verzeichnis der eigenen php.ini

Zur Kontrolle der PHP-Einstellungen bietet es sich an, eine Subdomain auf einen beliebigen Unterordner des Owncloud-Wurzelverzeichnis (/owncloud, /php) einzurichten und über eine „index.php“  mit dem folgendem Inhalt die Werte auszulesen.

<?php
phpinfo();
phpversion();
?>

Nachdem die PHP-Einstellungen erfolgreich angepasst sind, muss noch ein spezifisches Problem gelöst werden. Denn ohne die Änderung der „local.php“ im nachstehenden Verzeichnis, ist der Upload von Daten nicht möglich.

/domain/owncloud/lib/filestorage

Dies ist auf eine fehlerhafte bzw. unvollständige Verarbeitung einer Funktion zurückzuführen. Um diesen Fehler zu korrigieren, muss der folgende Code gesucht werden.

public function free_space($path) {
return disk_free_space($this->datadir.$path);

Nun muss der zweite Teil der Funktion je nach verfügbarem Speicher des Hosting-Paketes anpasst werden. Wenn zum Beispiel 2 GB für die Verwendung von Owncloud zur Verfügung stehen, so muss dieser Wert zunächst in Byte (2 GB = 2147483648 B) umgerechnet und dann in der Funktion explizit übergeben werden.

public function free_space($path) {
return 2147483648;

Damit wird sichergestellt, dass ein exakter Wert bezüglich des freien Speichers übergeben wird. Mithilfe dieser Änderungen ist der erfolgreiche Betrieb eines eigenen Cloudspeichers über den Hostinganbieter „Strato“ möglich.

Stand: Owncloud Version 4.5.6 | PHP 5.3.22

Hier sind alle geänderten Dateien in einem ZIP-Archiv zusammengefasst.

Weitere Informationen:

Owncloud-Forum „OwnCloud 4.0.3 Max Upload Size = 0B?“

BITblokes „ownCloud bei Shared Webhosting – Kann keine Datei hochladen (Upload max. B)“

Webdecker „PHP: INI-WERTE ÜBERSCHREIBEN“

Byterechner

Das Owncloud-Logo ist Eigentum der Owncloud Inc.

Colocation-Server

Bereits in einem Beitrag zur Auswahl eines virtuellen Servers für die Umsetzung von eigenen Ideen im Bereich der Webapplikationen wurde auf die Möglichkeit zur Nutzung eines sogenannten Colocation-Platzes hingewiesen. Darunter versteht man die Anmietung von Stauraum in einem Rechenzentrum mit Anbindung an die Infrastruktur. Je nach Angebot können dabei ganze Stellplätze für eigene Serverracks als auch Einschubfächer in bestehenden Racks gebucht werden. Üblicherweise richtet sich der Preis nach der belegten Fläche sowie dem Strom- und Datenverbrauch. Auch die Anzahl der benötigten IP-Adressen spielt eine Rolle für die Preisgestaltung. Je nach Anbieter werden Zusatzdienstleistungen angeboten, die vor Vertragsschluss im Detail zu prüfen sind.

Den eigenen Server in einem Rechenzentrum zu betreiben bietet eine Reihe von Vorteilen:

  • Hohe verfügbare Bandbreite (in der Regel wird mindestens ein 10Mbit/s Up-/Downlink zur Verfügung gestellt, gegen Aufpreis werden 100/1000Mbit/s oder auch Glasfaseranbindung mit mehreren Gbit/s bereitgestellt)
  • Fester IP-Adressbereich
  • Ausfallsichere Unterbringung (Kühlung, Brand- und Feuerschutz, Notstromversorgung etc.)
  • Schutz vor Diebstahl durch Zugangssicherungen (Kontrollen, Videoüberwachung etc.)

Im Vergleich zu Root-Servern, welche einen ähnlichen Funktionsumfang bieten, ergeben sich auch ein paar Vorteile:

  • Absicherung der Daten vor unberechtigten Zugriff durch Mitarbeiter des Anbieters (im Zweifel besitzen Systemadministratoren Zugang zu den Root-Servern um Wartungstätigkeiten etc. auszuführen, diese Möglichkeit ist bei einem eigenen Server auszuschließen)
  • Kostengünstigere Einsatz von Lizenzsoftware (bei den meisten Anbietern werden hohe Aufschläge bei der Verwendung von Lizenzsoftware fällig)
  • Bei Zugang zum Rechenzentrum lassen sich auch große Datenmengen bequem mit Hilfe von Datenträgern aufspielen

BitLocker-Laufwerksverschlüsselung

Zwei Laufwerke mit den wichtigsten Daten sollen in Zukunft verschlüsselt werden, um diese vor unberechtigten Zugriff zu schützen. Bereits bei der Aufzählung der zahlreichen Vorteile eines Colocation-Servers wurde deutlich, dass der Zugriffsschutz bereits höher als bei einem angemieteten Root-Server ist. Durch die Verschlüsselung wird die Stufe der Sicherheit nochmals verbessert.

Windows Server (2008 und höher) bietet eine integrierte Komponente, welches diese Funktionalität zur Verfügung stellt (Wikipedia „BitLocker“). Damit BitLocker funktionieren kann, wird eine eigene Partition benötigt. Bereits bei der Installation wird diese angelegt und vor der primären Partition des  Betriebssystems (BS) platziert. Vor dem Start des BS wird BitLocker gestartet und greift auf ein „Trusted Platform Module (TPM)“ (erweitert den Computer um grundlegende Sicherheitsfunktionen und enthält einen kryptografischen Schlüssel zur eindeutigen Identifizierung) zu. Dieser Zugriff dient der Überprüfung der Vertrauenswürdigkeit des Systems. Die Verschlüsselung erfolgt durch den „Advanced Encryption Standard (AES)“ mit einer Schlüssellänge von 129 oder 256 Bit. Soweit zur Theorie.

Leider fehlt meinem System ein TPM-Chip, weshalb diese Methode der Verschlüsselung des BS nicht angewendet werden kann. Auch die Alternative, der Zugriff beim Bootvorgang auf einen USB-Stick mit der Schlüsseldatei sowie der Eingabe einer „Personal Identification Number (PIN)“, steht nicht zur Verfügung. Diese Möglichkeit ist für einen Colocation-Server leider unpraktikabel, da es bei Schwierigkeiten und einem Reset des System zur Problemen beim Bootvorgang kommen kann. Daher wird von der Verschlüsselung des BS Abstand genommen.

Daher werden nur die beiden Datenlaufwerke mit einer Verschlüsselung gesichert und mit einer persönlichen Passwort gesichert. Um Zugriff zu erlangen, ist es notwendig nach dem Systemstart diese einzugeben.

Artikel „BitLocker“ auf Tecchannel

DNS-Einstellungen

Bereits vor der Installation des Colocation-Servers in einem Rechenzentrum mache ich mir im Augenblick Gedanken zu Erreichbarkeit des Systems. Momentan gehe ich davon aus, dass ich insgesamt zwei feste IP-Adressen (Grund- und Hyper-V-System) bestellen werde und diese über Domainweiterleitungen anspreche. Eine Domain habe ich bereits registriert, jedoch sind mir die Einstellungsmöglichkeiten noch nicht bekannt…

2013-01-30_130800

 

Hyper-V VirtWinServ08R2SP1-I

Windows Server 2012 bietet eine Virtualisierungsplattform mit dem Namen „Hyper-V“. Nach der Installation über den Servermanager ist die Komponente integrierter Bestandteil des Betriebssystems. Die Software bietet die Möglichkeit zur Emulation von Computersystemen. Da der Colocation-Server als Entwicklungsplattform konzipiert wurde, bieten sich dadurch eine Vielzahl von Möglichkeiten.

Zunächst soll neben dem Webserver des Grundsystems eine weitere Installation des Internet Information Servers (IIS) inkl. eigener Domain und dazugehöriger IP-Adresse eingerichtet werden. Im weiteren Verlauf soll der virtualisierte Server weitere Aufgaben übernehmen.

Aufgabe Komponente Version
Webserver/-hosting Internet Information Server 7.5
Verzeichnisdienst Active Directory mit DNS Windows Server 2012
Groupware- und Nachrichtendienst Exchange Server 2013
Webanwendungen Sharepoint Server 2013

Folgende Schritte waren notwendig:

  1. Installation eines Betriebssystems auf der virtuellen Maschine (Windows Server 2008 R2 Service Pack 1 mit 64-bit Unterstützung)
  2. Zuordnung eines Netzwerkports
  3. Installation von Serverrollen (bisher IIS 7.5) und zusätzlicher Software

Folgende zusätzliche Software ist bislang auf dem Rechner installiert und konfiguriert worden:

Software Version Funktion
Microsoft System Center 2012 Endpoint Protection 2012 Viren- und Malwareschutz
Google Chrome Internetbrowser
MySQL 5.5.29 Datenbank
PHP 5.3.21 Skriptsprache

Folgende Aufgaben sollen zukünftig vom Webserver geleistet werden:

(Sub-) Domain Name Version Funktion
owncloud.cloudpowered.de Owncloud 4.5.6 Online-Speicher
phpmyadmin.cloudpowered.de phpMyAdmin 3.5.6 Datenbankverwaltung

 

Installation Grundsystem

Nachdem die Hardware des Servers in einem 1HE-Gehäuse verbaut ist, kann nun die Konfiguration des Systems beginnen. Um den Server in einem funktionsfähigen Zustand zu bringen, wurde zunächst  ein Betriebssystem (BS) installiert. Dabei bestand die Wahl zwischen einem Linux- oder Microsoft-BS. Da der Server über ausreichend Leistung verfügt und im späteren Betrieb nicht als dedizierte Maschine laufen soll, wurde Microsoft Windows Server 2012 Datacenter mit 64-bit Unterstützung installiert. Dieses BS bietet durch die Installation der Hyper-V-Rolle die Möglichkeit, weitere Systeme zu virtualisieren. Dadurch ist eine spätere Installation von Linux-BS möglich. Um eine hohe Ausfallsicherheit des BS zu garantieren, wurde es auf einer RAID1-Festplattenkonfiguration installiert.

Um das Grundsystem so „schlank“ wie möglich zu halten, wurde nur der mitgelieferte Browser durch Google Chrome ersetzt. Zur Absicherung vor Viren und Malware wird Microsoft System Center 2012 Endpoint Protection eingesetzt. Damit der Server im späteren Betrieb aus der Ferne überwacht und bei Problemen auch ferngesteuert werden kann, sind sowohl PC Monitor von MMSOFT Design Ltd. sowie Teamviewer von TeamViewer GmbH installiert. Diese garantieren auch einen Eingriff von mobilen Endgeräten. In der Regel wird das System über eine Remote Desktop Protocol (RDP)-Verbindung gesteuert.

Da die Anzahl der Netzwerkports im späteren Betrieb limitiert sein wird, ist neben der Hyper-V-Funktion auch die IIS8-Rolle installiert. Somit fungiert das Grundsystem auch als leistungsfähiger Webserver.

Installation Microsoft System Center 2012 Endpoint Protection

no images were found

Installation Microsoft Server 2012 – Hyper-V

no images were found

Installation Microsoft Server 2012 – IIS 8

no images were found

Hardwarespezifikation

Der Aufbau eines Serversystems wurde von mir gestartet, um eine leistungsfähige Plattform für spätere Webprojekte bereitzustellen. Wichtig ist, dass man durch einen eigenen Server von vielen Vorteilen profitieren kann.

Bei der Auswahl der Hardwarekomponenten muss in der Regel ein Kompromiss zwischen Leistung und Budget eingegangen werden. Daher sollte man vor dem Kauf einige Überlegungen anstellen, damit eine gute Balance gefunden wird.

Anforderungsliste

  • Gehäuse mit maximal 1 HE (=Höheneinheit)
  • Hohe Speicherkapazität = 4 Laufwerkseinschübe für Festplatten
  • Geringer Stromverbrauch (<100W im Dauerbetrieb)
  • Mindestens vier Netzwerkanschlüsse
  • Überschaubarer Kostenrahmen (Budget <350EUR)

Auf der Basis dieser Anforderungsliste wurden alle erforderlichen Komponenten beschafft.

 Komponente  Hersteller  Modell
Gehäuse Chenbro RM12404B
Netzteil Enhance ENP3927B – 270Watt 80plus
Mainboard Supermicro H8SMi-2
Prozessor AMD Athlon 64 X2 BE-2350 (Brisbane) AM2
Arbeitsspeicher OCZ 4x2048MB Gold PC2 6400
Festplatten Samsung 2x750GB HD753LJ
Festplatten Western Digital 2x2000GB WD20EAR

Alle Teilen wurden zusammengebaut und die Gehäuselüfter zusätzlich mit einer Regelung ausgestattet, um die Abwärme nach Prozesslast abzuführen. Drei Bilder lassen sich hier abrufen.

Dokumentation Server (Rackmontage)

Heute möchte ich mit der Dokumentation zu jenem Server starten, welcher zu einem späteren Zeitpunkt in einem Rechenzentrum seinen Dienst verrichten wird. Um eine gute Übersicht zu erreichen, wurde der Website im Navigationsmenü ein zusätzlicher Eintrag „Colocation-Server“ unter „IT-Technologie“ hinzugefügt. Alle eigenständige Beiträge, welche die Konfiguration oder andere aktuelle Informationen zu diesem Server betreffen, werden als Mitteilungen in einer Kategorie angezeigt.

FileZilla-Server Installation | Verschluesselung | Benutzermanagement

Parallel zu den Anleitungen, welche zur Vorbereitung des Windows Server 2008 im Hinblick auf dynamische Webinhalte dienen, sind zwei weitere Installations- und Einrichtungsbeschreibungen entstanden. In der ersten wird erläutert, wie die  Installation der FTP-Serversoftware durchgeführt wird. Jedoch ist mit der Installation nur der erste Teil beendet. Genauso wichtig ist es, eine gute Verschlüsselung zu implementieren und ein robustes Benutzermanagement einzurichten. Nur mit diesem zusätzlichen Schritt wird sichergestellt, dass der FTP-Server durch Angriffe von Außen gesichert ist. Beide Anleitungen sind nun verfügbar.

2012-03-filezilla-server-installation-gesichert.pdf

vorschau-filezilla-installation

2012-06-filezilla-server-grundkonfiguration-gesichert.pdf

vorschau-filezilla-grundkonfiguration

2011-10-17-gesicherte-verbindung-filezilla-gesichert.pdf

vorschau-filezilla-einrichtung-client

FileZilla und das FileZilla-Logo stehen unter freier Lizenz des FileZilla-Projects.

Nachtrag zu den Firewall-Einstellungen 2013/10/14:

Grundsätzlich lässt sich FileZilla in zwei verschiedenen Modi betreiben: Aktiv und Passiv. Im passiven Modus hat der Client keinen Einfluss darauf, welcher Port für die Verbindung mit dem Server verwendet wird. Die Server-Anwendung gibt diesen vor.

Alle Anleitungen stützen sich auf einen verschlüsselten Server (TLS/SSL) betrieben im Passiv-Modus, daher sollte dem Server eine Bandbreite von Ports zur Verfügung gestellt werden:

TCP-Port: 21 sowie TCP-Port: 50000 – 51000

Weiterführende Links:

Wiki FileZilla – Network Configuration

Forum FileZilla – Can’t Open Data Connection