Archiv der Kategorie: Server

Proxyserver

Einrichtung des Proxys für einen bestimmten Benutzer:  ~/.profile
Systemweite Einrichtung des Proxys: /etc/profile

Bei manchen Systemen wie z. B. Lubuntu müssen zusätzlich in die Dateies /etc/environment und /etc/apt/apt.conf.d/70debconf ergänzt werden. In /etc/environment werden die gleichen Eintragungen wie in der profile-Datei vorgenommen (jedoch ohne das führende „export“). Die Datei /etc/apt/apt.conf.d/70debconf wird wie folgt ergänzt (je nach System kann der Dateiname etwas variieren):

Folgende Zeilen müssen am Ende der profile-Datei hinzugefügt werden:

Sofern keine Logindaten benötigt werden, kann „BENUTZER:PASSWORD@“ weggelassen werden.

 

xampp

xampp ist eine PHP-Entwicklungsumgebung mit Datenbank.

Download unter: https://www.apachefriends.org/de/index.html

Die Installation von xampp

Die heruntergeladene Datei ausführbar machen und starten. xampp wird nach /opt/lampp istalliert
mit /opt/lampp/xampp startstarten
mit http://localhost/ testen
In der Datei /opt/lampp/etc/httpd.cond die Einträge User und Group auf den entsprechenden Linux-User anpassen, sonst geht kein FTP beim Installieren von Plugins

xampp beim Systemstart starten
Runlevel mit who -rherausfinden

In den entsprechenden Runlevel wechseln: cd /etc/rc2.d
Links erstellen:

Wenn ein in htdocs installiertes Programm meldet „php not found“ hilft:

[/crayon]

Seafile

SeaFile und OwnCloud

Cloud-Fileserver, der (insbesondere bei vielen kleinen Dateien) sehr viel schneller arbeitet als OwnCloud. Daher lohnt sich auch die Kombination, OwnCloud für die Synchronisation von Kalender, Aufgaben sowie Kontakte zu verwenden und Seafile für die Dateisynchronisation.

Eine sehr ausführliche Anleitung gibt es auch unter http://manual.seafile.com/deploy/using_mysql.html

SeaFile installieren

Die aktuelle Version kann unter http://seafile.com/en/download/ heruntergeladen werden. Für den Banana Pi mit Bananian als System kann das Server-Paket für den Raspberry Pi verwendet werden.

Die Installation erfolgt durch Entpacken in ein eigenes Verzeichnis z. B. unter /root

Beim Entpacken wird der Symbolische Link seafile-server-latest erstellt, der auf das aktuelle Verzeichnis verweist. Bei einem Update muss dann das neue Archiv nur wie oben beschrieben entpackt werden und schon ist die neue Version installiert ohne dass die alte Version überschrieben wird. Auch die Einstellungen bleiben erhalten.

Abhängigkeiten installieren

Folgende Pakete werden für Seafile benötigt:

  • python 2.7
  • python-setuptools
  • python-imaging
  • python-mysqldb

MySQL-Datenbanken erstellen

Zuvor muss MySQL vollständig eingerichtet sein. Dies wird im Kapitel zur Owncloud-Installation im Detail beschrieben.

Folgende SeaFile-Komponenten benötigen jeweils eine eigene Datenbank:

  • ccnet server
  • seafile server
  • seahub

Die einfachste Möglichkeit ist, das Konfigurationsscript setup-seafile-mysql.sh im aktuellen Seafile-Ordner zu verwenden:

Das Skript führt detailliert durch die gesamte Konfiguration. Hier ein Beispiel für eine lokale Installation:

Sollen viele Clients auf Seafile zugreifen, sollte zuvor ulimit erhöht werden:

Server starten

Beim ersten Start von Seahub wird ein Admin-Account erstellt. Der User-Name bei Seafile ist immer eine E-Mail-Adresse.

Danach kann der erste Zugriff über einen Browser erfolgen:

 Beim Systemstart automatisch starten

Hierzu wird als root ein Init-Script erstellt (/etc/init.d/seafile-server):

Dann das Script ausführbar machen und rc.d aktualisieren:

Manche Systeme starten den Server nach einen Reboot nicht, da Apache noch nicht läuft. Daher kann der Start über einen Cron-Job nachgeholt werden (Eintrag in /etc/crontab):

Mitgelieferte Skripte

seaf-gc.sh

Seafile verwaltet die Dateien in Datenblöcken. Alte Datenblöcke von gelöschten Dateien und Bibliotheken werden jedoch nicht automatisch gelöscht, wodurch der von Seafile benötigte Speicher immer mehr anwächst. Somit empfiehlt es sich, unnötige Datenblöcke löschen zu lassen. Hierzu muss nur das Skript seaf-gc.sh im Seafile-Ordner gestartet werden:

Das entfernen unnötiger Datenblöcke ist z. B. vor dem Erstellen eines Backups zu empfehlen (siehe Kapitel Backup).

seaf-fsck.sh

Nach einem Systemabsturz kann die Dateistruktur von Seafile defekt sein. hierzu gibt es ein eigenes Script, das fehlerhafte Strukturen reparieren kann:

reset-admin.sh

Wenn man das Admin-Passwort vergessen hat oder der Admin-Account nicht mehr richtig funktioniert, kann mit dem Tool reset-admin.sh der Admin-Account zurückgesetzt werden.

seaf-fuse.sh

Stellt die Dateistruktur aller User und Bibliotheken in einem Verzeichnis dar, das mit dem Script seaf-fuse.sh gemountet wird. Allerdings besteht auf dieses Verzeichnis nur lesender Zugriff.

Unmounten geht wie folgt:

Backup

Anbei ein Skript für ein Backup mit MySQL und storeBackup. Zunächst wird der Seafile-Server gestoppt, damit im Backup ein definierter Zustand gespeichert wird. Dann werden unnötige Datenblöcke gelöscht (seaf-gc.sh) und die Datenbanken gesichert.
Als Backup-Programm wird storeBackup verwendet. Die verwendete Konfigurationsdatei wird im Skript unter /root/bin/storeBackup/seafile.cfg gesucht. Da die Datenbanken zuvor in den Daten-Ordner von Seafile gesichert wurden, sind diese ebenfalls im Backup enthalten.
Am Ende wird der Seafile-Server wieder gestartet.

Backup zurückspielen:

Update

Mit folgendem Script kann eine neue Version von Seafile automatisch eingespielt werden. Es muss lediglich die neue Versionsnummer eingegeben werden. Das Script ist für den Raspberry-Pi bzw. Banana-Pi geschrieben und muss für andere Systeme ggf. angepasst werden.

ownCloud auf einem BananaPi

bananapiBetriebssystem auf SD-Karte installieren

Im Folgenden wird die Einrichtung mit Bananian, einer Debian-Variante für den BananaPi, gezeigt.

Download

auf SD-Karte kopieren

Die SD-Karte muss min. 2 GB groß und Class 10 sein.

Erster Start von Bananian

SD Karte in den BananaPi einlegen und den BananaPi booten (einfach Stromversorgung einstecken).

Der Standard-Login ist „root“, das Standard-Passwort ist „Pi“. Dann die Grundkonfiguration durchführen:

Externe Festplatte einbinden (optional)

Device ermitteln:

Im Folgenden wird davon ausgegangen, dass die Festplatte als Device /dev/sda eingebunden ist.

Festplatte partitionieren (mit parted):

Dateisystem erstellen:

In die fstab eintragen:

Owncloud installieren

Repository einfügen und OwnCloud installieren

Apache konfigurieren

Apache auf die .htaccess-Datei der Owncloud einstellen

In die Datei /etc/apache2/sites-enabled/000-default folgendes am Ende anfügen:

Apache neu starten:

Maximale Dateigröße auf 2 GB anheben

In der Datei /var/www/owncloud/.htaccess folgende Zeilen anpassen:

In der Datei /etc/php5/apache2/php.ini folgende Zeilen anpassen:

Cache aktivieren:

In der Datei /www/owncloud/config/config.php folgendes eintragen:

Apache neu starten:

SSL aktivieren

Zertifikate erstellen

Am besten in ein Verzeichnis wechseln, welches nur vom Root erreichbar ist, z. B. mit

Dateneingabe während der Zertifikaterstellung:

  • Country Name (Ländercode): = DE
  • State or Province Name (Bundesland): = <Bundesland>
  • Locality Name, eg. City (Stadt): = <Ort>
  • Organization Name (Firmenname): = Privat
  • Organizational Unit Name (Abteilung) = <Enter>
  • Common Name, eg. YOUR Name: = <domain> „Hier muss die Domain angegeben werden, über die der Server erreichbar ist (bei Nutzung eines DynDNS-Dienstes, die dort zugeteilte Adresse)“
  • Email Adress: = <E-Mail>
  • A challenge password: = <Enter>
  • An optional company name: = <Enter>
Apache anpassen

In der Datei /etc/apache2/sites-enabled/000-default folgende Zeichen am Ende der Datei hinzufügen:

In der Datei /etc/apache2/sites-available/default folgende Zeichen am Ende der Datei hinzufügen:

In der Datei /etc/apache2/sites-available/default-ssl folgende Einträge anpassen:

Apache-Konfiguration anpassen und testen:

Hier sollte ein „Syntax OK“ herauskommen.

Apache neu starten:

MySQL installieren

MySQL ist deutlich schneller als SQLite und empfiehlt sich bei größeren Datenmengen.

Installation MySQL

Während der Installation öffnet sich ein Fenster, für das root-Passwort, das an dieser Stelle definiert werden muss.

Installation PHPmyAdmin und Datenbank einrichten

Während der Installation fragt phpMyAdmin, welchen Webserver verwendet werden soll. In unserem Fall ist das apache2. Weiterhin Passwort für den administrativen Benutzer von MySQL eingeben.

Dann die Datenbank für Owncloud einrichten:

unter Datenbank neuen Namen „owncloud“ eingeben und Datenbank speichern.

Zugriff von außen (über das Internet)

Um über das Internet auf den Server zugreifen zu können braucht man eine feste Adresse. Diese kann man z.B. über spdns.de bekommen. Im Router wird dieser Dienst bei DynDNS eingetragen und eine Portweiterleitung von Port 443 (HTTPS) zum Server gemacht.

Owncloud einrichten

Erster Start

Benutzer: root
Passwort: *****

Datenbank auf MySQL umstellen

Umstellung auf Cron

Aufräumen nicht nach jedem Seitenaufruf sondern über Cron (beschleunigt Seitenaufrufe):

Als Administrator im Web-Frontend unter „Administration“ von Ajax auf Cron umstellen.

Einbindung externer Speicher

Samba-Client installieren:

Als root in Owncloud die App „External storage support“ aktivieren und unter „Administration“ dann die benötigten Speicher einbinden.

E-Mail-Versand einrichten

Hier am Beispiel eines GMX-Accounts:

Als root unter „Administration“ die Mail-Daten eingeben

  • Sende-Modus: smtp
  • Verschlüsselung: TLS
  • Absender-Adresse: <Login> | gmx.de
  • Authentifizierung: „Anmelden“ und „Authentifizierung benötigt“
  • Adresse des Servers: mail.gmx.net:587
  • Zugangsdaten: <Login> | <Passwort>

In der Datei /var/www/owncloud/config/config.php sehen die Einträge so aus:

<Login> ist der Teil der Mailadresse vor dem @.

Kalender und Kontakte aktivieren

Im Administrationsmenü unter Apps/PIM Calendar und Contacts aktivieren.

Synchronisierung einrichten

Kontakte

Android

CADroid installieren und Zertifikate importieren
CardDAV-Sync free installieren
CardDAV-Konto hinzufügen
Server: https://<Server>/owncloud/remote.php/carddav

CardDAV-Kontakte können mit der APP „Contact Editor free“ (oder Pro-Version) bearbeitet werden.

Thunderbird/Icedove

Das Plugin „SOGo Connector“ installieren (unter Debian für Icedove über die Paketverwaltung „xul-ext-sogo-connector“ installieren).
Dann im Adressbuch über „File > New > Remote Addressbook“ hinzufügen. Die benötigte URL bekommt man über das OwnCloud-Frontend im Browser: APP Kontakte > Einstellungssymbol links unten > CardDAV-Link“.

Das AddOn CategoryManager erlaubt es die in ownCloud erstellen Gruppen zu synchronisieren

Kalender

Android

„CalDAV Sync Free Beta“ installieren
CalDAV-Konto in der Kalender-APP hinzufügen
Server: https://<Server>/owncloud/remote.php/caldav

Thunderbird/Icedove

neuer Kalender -> im Netzwerk -> CalDAV
https://<Server>/owncloud/remote.php/caldav/calendars/<user>/<kalender>
Offline-Unterstützung

Aufgaben

Hierzu muss in der Owncloud zusätzliche die APP „Tasks“ installiert werden:
Download unter https://apps.owncloud.com/content/show.php/Tasks?content=164356
entpacken und auf den Server hochladen in: /var/www/owncloud/apps
danach im Web-Frontend als root die App „Tasks“ aktivieren

Android

Synchronisation über CalDAV-Sync und Tasks von Marten Gajda.

Notizen

Mit qownnotes lassen sich auch Notizen wie in evernote oder onenote speichern und synchronisieren. Das passende git-repository ist: https://github.com/pbek/QOwnNotes

Zunächst muss im owncloud/apps-Verzeichnis die App qownnotesapi installiert werden.
https://github.com/pbek/qownnotesapi
Für den Desktop gibt es einen Client: http://www.qownnotes.org/

Android

Über F-Droid kann man sich unter https://f-droid.org/app/org.aykit.MyOwnNotes die passende App herunterladen.

Backup anlegen

Sicherung der Daten auf einen USB-Datenträger:

Mit blkid die UUID des USB-Datenträgers herausfinden. (Hier z.B. 7963a8a2-92e8-4050-9c8a-a84a06415824)
Ein Verzeichnis anlegen: mkdir /media/backup

Die Datei /etc/fstab erweitern:

in /root/ die Datei backup.sh anlegen. Inhalt:

ausführbar machen chmod +x backup.sh

In cron eintragen (alle Daten, die älter als 4 Tage sind, werden Nachts um 2:00 Uhr gelöscht):

reboot

Einbindung per WebDAV

https://www.meinedomain.de/remote.php/webdav

Pfad zum Datenspeicher ändern

Der Pfad zum Datenspeicher (data) steht in /var/www/owncloud/config/config.php

Nach der Anpassung der Webserver neustarten: service apache2 restart

Update auf owncloud 9

Wenn nach dem Update weiterhin der Wartungsmodus angezeigt wird:
In der Datei /var/www/owncloud/config/config.php
maintenancemode => false auf true setzen

Evtl. müssen die in /var/www/ownclouddie Dateien
phpinfo.inf und apache.pem gelöscht werden.

Damit die Aufgabenplanung wieder funktioniert muss die aktuelle Version von tasks von Hand heruntergeladen und ins Verzeichnis apps/tasks entpackt werden.
Download: https://github.com/owncloud/tasks/archive/DAVclient.zip

Android

ownCloud Client Zugriff auf den Cloudspeicher (F-Droid)
DAVdroid – Kalendersynchronisation (F-Droid)
o
wnCloud Client Zugriff auf den Cloudspeicher (GooglePlaystore)
CalDAV Sync Free
– zur Kalendersynchronisation (GooglePlaystore)

Webmin

Mit dem Programm Webmin kann man einen Server sehr bequem und komfortabel über den Browser administrieren.

Download unter: http://www.webmin.com

Das Programm muss auf dem Server installiert werden. Dann kann man mit dem Browser unter der Adresse: https://servername:10000/ auf Webmin zugreifen. Nach Anmeldung als root stellt das Webinterface umfangreiche Verwaltungsmöglichkeiten zur Verfügung.

Für Dansguardian gibt auch ein Modul, das aber erst nachinstalliert werden muss.

Download unter: http://sourceforge.net/projects/dgwebminmodule/

Server mit Squid als transparentem Proxy

Installation eines Debian-Serves mit zwei Netzwerkkarten
(eth0 = extern, eth1 = internes Netzwerk)
Der Server stellt einen Squis als transparenten Proxy (Das bedeutet, dass alle angeschlossenen Geräte ohne weitere Konfiguration zwangsweise über den Squid-Proxy laufen.) zur Verfügung und beinhaltet dansguardian als Jugendschutz.

Debian herunterladen (am besten das netinstall-image): Download Debian und das Image entweder auf CD brennen oder per unetbootin oder YUMI auf einen USB-Stick übertragen.

Medium booten und Debian installieren:

  1. Install
  2. Sprache auswählen
  3. Land auswählen
  4. Tastatur auswählen
  5. primäre Netzwerkkarte (eth0) auswählen
  6. Rechnername vergeben
  7. Domainname (bei lokalem Netzwerk egal)
  8. Root Passwort
  9. Benutzername
  10. Anmeldename des Benutzers
  11. Passwort des Benutzers
  12. Partitionierung:
    – Platte auswählen
    – Alle Dateien auf eine Platte
  13. Grundsystem wird installiert
  14. Spiegelserver auswählen
  15. evtl. Proxydaten eingeben
  16. Softwareauswahl treffen:
    – SSH-Server
    – Standard-Systemwerkzeuge
  17. GRUB in den Master Boot Record (MBR) installieren
  18. Installation abgeschlossen – weiter – Neustart wird ausgelöst

Am neuen System anmelden weitere Software installieren:

apt-get install squid vim dansguardian dnsmasq

Konfiguration der Datei /etc/network/interfaces:

Die Datei /etc/dnsmasq.conf mit folgendem Inhalt erstellen.

Konfiguration des Squid: /etc/squid/squid.conf

Konfiguration des Dansguardian: /etc/dansguardian/dansguardian.conf

In /etc/dansguardian/dansguardianf1.conf

System neu starten (reboot) – Fertig!

squid

Internetfilter über squid im Netzwerk einrichten:
Hier speziell für de Musterlösung des Landes Baden Württemberg beschrieben, funktioniert aber analog in jedem anderen Linux-Netzwerk auch.

In die Datei /etc/squid/squid.conf nach dem Punkt
# Standard acls
und vor
# Erlaube einen direkten Zugriff auf GServer03, Astaro-Box und auf weitere Maschinen in der DMZ
folgenden Code eingeben:

Die Datei lehrerpc.acl im Verzeichnis /etc/squid/ anlegen und die nicht zu filternden IP-Adressen eintragen:

Die Datei squid-block.acl im Verzeichnis /etc/squid/ erstellen und die zu sperrenden Internetseiten eintragen:

Diese Dateien sollten immer auf dem Server direkt editiert werden. Dort steht als Editor vim zur Verfügung. Alternativ kann der Dateimanager mc und der dort eingebeaute Editor (F4) verwendet werden.

rdate

Uhrzeit mit Zeitserver synchronisieren rdate -s timeserver
Deutsche Timeserver

  • ptbtime1.ptb.de
  • ptbtime2.ptb.de
  • ntp1.t-online.de
  • ntp0.fau.de
  • ntps1-0.cs.tu-berlin.de
  • ntps1-1.cs.tu-berlin.de
  • rustime01.rus.uni-stuttgart.de
  • de.pool.ntp.org

IP-Adressen

Intranet:

  • 10.0.0.0 – 10.255.255.255 (A-Netz)
  • 169.254.0.0 – 169.254.255.255 (Automatic Private IP Adressing)
  • 172.16.0.0 – 172.31.255.255 (B-Netz)
  • 192.168.0.0 – 192.168.255.255 (C-Netz)

Masken zur Darstellung von IP-Bereichen:

Weiterlesen

Serverinstallation

Am Beispiel eines ubuntu-Servers:

Download von ubuntu-server-64bit: http://www.ubuntu.com/start-download?distro=server&bits=64&release=lts

Das heruntergeladene ISO-File entweder auf CD brennen oder mit http://www.pendrivelinux.com auf einen USB-Stick installieren.

Installation:

  1. Von CD oder USB-Stick booten
  2. „Server installieren“ anwählen
  3. deutsche Sprache auswählen (auch wenn die Übersetzung nicht vollständig ist, das System nimmt dann eben englisch)
  4. Tastaturbelegung deutsch
  5. Server-Namen vergeben
  6. Benutzerkonto: dieser Benutzer hat root-Rechte! Erst vollständiger Name, dann Anmeldename.
  7. Passworteingabe für Benutzer
  8. Verschlüsselung: nein
  9. Zeitzone wählen
  10. Partitionierung: Geführt, gesamte Platte und LVM (Logical Volume Manager) einrichten ist meist das Beste
    • Platte wählen
    • in der Regel die gesamte Volume Group verwenden
    • Änderungen auf die Festplatten schreiben
  11. Das Grundsystem wird nun installiert
  12. Proxy (falls benötigt) festlegen
  13. die Paketverwaltung (apt) wird konfiguriert
  14. Sicherheitsaktualisierungen automatisch installieren
  15. Serverauswahl:
    • OpenSSH server (für Fernzugriff)
    • DNS server
    • LAMP server (Apache, MySQL, PHP)
    • Mail server
    • PostgreSQL database
    • Print server
    • Samba file server
    • Tomcat Java server
    • Virtual Machine host
  16. Die ausgewählte Software wird nun installiert
  17. evtl. neues Passwort für MySQL root-Benutzer vergeben – nur bei Installation von LAMP
  18. Der GRUB-Bootloader wird installiert. In der Regel in den MBR (Master Boot Record) installieren.
  19. Die Installation ist nun abgeschlossen. Es wird automatisch neu gebootet. Bootmedium entfernen.
  • Nach dem ersten Start des neuen Systems sollte zunächst ein Update ausgeführt werden.
    • sudo apt-get update
    • sudo apt-get upgrade
  • evtl. eine einfache grafische Oberfläche installieren: sudo apt-get install xfce4Die grafische Oberfläche wird mit startx aufgerufen.
    Über das Anwendungsmenü kann die grafische Oberfläche wieder beendet werden.
    Sollten in der grafischen Oberfläche einmal die Taskleisten verschwunden sein, so macht man einen Rechtsklick auf den Desktop, ruft den Terminal auf und gibt folgenden Befehl ein:
    xfce4-panel &
  • Tipp: Für die Arbeit in der Konsole ist der mc (midnight commander -ein Norton Commander Clone – 2-Fenster-Modus) sehr praktisch: sudo apt-get install mc
  • Um mittels Webinterface arbeiten zu können, muss noch ein Browser für die grafische Oberfläche installiert werden: sudo apt-get install firefox
  • Will man einen guten Überblick über zu installierende Pakete haben, installiert man synaptic für die grafische Oberfläche: sudo apt-get install synaptic