Erste Schritte für Neulinge
Rootabsicherung und mehr
Rootabsicherung und mehr
Inhalt
1. SSH
1.1. SSH - Port verlegen
1.2. SSH - Keys einrichten
1.3. Benachrichtigung bei SSH - Login
2. Rootupdates
3. MySQL
3.1. MySQL Portvelegung
3.2. MySQL - Fehlerlogging anschalten
3.3. Per MySQL-Programm connecten + neue Verbindung legen
3.4. MySQL - Verbindungen gezielt per iptables zulassen
4. Cronjobs
4.1. Einrichtung von Cronjobs
4.2. Beispiel eines Cronjobs mit Script
4.3. Löschen von Cronjobs
4.4. Schattenseiten von Cronjobs
5. Standarteditor ändern
6. iptables
6.1. iptables permanent machen
6.2. Einige Befehle der iptables
6.3. Webserver per iptables gegen DoS sichern
7. fail2ban
7.1. fail2ban konfigurieren
7. apache2
7.1. VirtualHosts
9. Teilen von Daten
9.1. Owncloud
1. SSH
1.1. SSH - Port verlegen
Den SSH - Port zu verlegen, ist nicht so schlimm und hat keine weitreichende Folgen, wie den SSH - Key einzurichten. Hier könnt Ihr Notfalls einen Portscan machen, sofern Ihr den Port vergesst.
Um ihn zu verlegen, müsst Ihr folgendes tun und verändern:
Dann ändert Ihr folgende Zeile:Quote:
sudo nano /etc/ssh/sshd_config
Den Port könnt Ihr auf Euren belieben ändern, doch solltet Ihr einen unbenutzten Port nehmen. Um die Änderung vollständig zu machen, noch folgendes in die Console hauen:Quote:
Port 22
Damit habt Ihr den Port geändert und müsst beim Einloggen immer den veränderten Port angeben.Quote:
sudo reload ssh
1.2. SSH - Keys einrichten
SSH - Keys sind wie Fingerabdrücke - einzigartig. Dieses ist im Vergleich zum normalen Root+pw login sicherer, da der Root eine Kennung schickt, die den Schlüssel identifiziert. Durch ein Belegen eines Passwort auf dem Key ( = Passphrame) machen wir den Key sicherer, nicht die Keykennung vom Root.
Es gibt viele Gründe, den Login per SSH-Key nur noch zu erlauben. Es macht den Root sicherer, man muss diesen "Fingerabdruck" besitzen, um überhaupt raufzukommen. Ansonsten wird man permanent vom Root abgelehnt und durch Regeln in den apf / iptables kann eine IP permanent gebannt werden. Ein Mittel gegen DDoS / Bruteforce oder unangenehmen Spielern.
Kommen wir zur Einrichtung. Wir benötigen PuTTY in der Vollversion (Installer!).

Sofern wir es installiert haben, öffnen wir PuTTYgen.
Sofern noch nicht ausgewählt, stellen wir auf SSH-2 RSA und die Zahlen der Bits auf 2048.
Danach klicken wir auf die Schaltfläche Generate.
Damit wir ihn generieren, müssen wir über die Fläche dadrunter streichen. Egal wie, Hauptsache der Mauszeiger bewegt sich dortdrin.
Danach sieht unser Fenster so aus:
Wir brauchen nun folgende Sache, die habe ich mal umrahmt:
Den "ssh-rsa ..." benötigen wir, um diesen Key auf dem Root einzurichten. Dazu loggen wir uns auf unseren Root ein und machen folgendes:
Nun kopieren wir alles ein, welches auf dem letzten Bild markiert wurde, sprich "ssh-rsa ...derrest..." und speichern es ab.Quote:
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys
sudo nano ~/.ssh/authorized_keys
Nun habt Ihr erfolgreich einen SSH - Key eingebunden. Vergesst nicht, auf Save Publickey (das mit dem rsa-ssh etc) zu speichern und natürlich den Privatekey. Der Privatekey (.ppk) ist die Wichtigste Datei, denn ohne ihn kommt Ihr nicht mehr rauf, wenn Ihr den Passwortlogin ausgeschaltet habt.
Bevor Ihr weiter macht, testet es mit dem Key! Funktioniert es, könnt Ihr weitermachen.
Nun schalten wir den Passwortlogin aus. Dafür geben wir folgendes in die Console ein:
Um den Passwortlogin vollständig auszuschalten, ändern wir folgende Zeilen so ab:Quote:
sudo nano /etc/ssh/sshd_config
Abspeichern und freuen. Abschließend müssen wir den SSH restarten, um nun nur noch mit dem SSH-Key einloggen zu können. Passwortlogin wird dadurch vollständig abgeschaltet! Im schlimmsten Falle könnt Ihr Euren Root neu aufsetzen.Quote:
[...]
PasswordAuthentication no
[...]
UsePAM no
[...]
Geschafft! Loggt Ihr Euch nun mit Username und ohne Passphrame ein, so kommt eine Fehlermeldung. Ihr müsst Euch nun immer mit dem Passphrame einloggen, denn ohne Ihn verwehrt Euch der Root den Zugriff.Quote:
sudo reload ssh
1.3. Benachrichtigung bei SSH - Login
Man teilt sich den Root und möchte gern wissen, wer unter welcher IP oder zu welchem Zeitpunkt auf den Root zugreift. Dieses können wir vielfältig machen, eines ist jedoch schnell und unkompliziert eingerichtet und der User bekommt von der "Aufnahme" des Logins nichts mit.
Bei einem Login schicken wir eine EMail vom Root an unsere Adresse. Dieses passiert automatisch, es zeichnet jeden Login mit.
Shellscript:
Code:
#!/bin/bash echo "Login auf $(hostname) um $(date +%H:%M) am $(date +%Y-%m-%d)" echo "Folgender Benutzer loggte sich ein: $USER" echo finger
Code:
chmod 755 /opt/shell-login.sh
Code:
/opt/shell-login.sh | mailx -s "SSH Login auf Root XXXX"
2. Rootupdates
Um den Root immer auf den neuesten Stand zu halten, reloaden wir alle Updatelisten und updaten die Packages, die wir darauf installierten. Das machen wir wie folgt in die Reihenfolge
Schon habt Ihr die Updates vollzogen. Ihr könnt es auch per Cronjob einrichten, doch habt Ihr dann nie die Kontrolle, was gerade geupdatet wurd.Quote:
apt-get update
apt-get upgrade
3. MySQL
3.1. MySQL Portverlegung
Der Vorteil daran ist, dass der Standartport 3306 nicht instant von Bots etc. angegriffen wird. So kann man den Port z.B. auf 5541 verlegen, je nachdem, wie Ihr ihn am Besten meint. Ihr müsst in Scripts / Websites / Programmen (PServer etc.) den Port auch mit verlegen, sonst kommen Errors raus. Wie bei den SSH - Portvelegung, geht dieses relativ schnell und ist mit keinen nachtragenden Risiken verbunden.
Ihr öffnet folgende Datei: /etc/mysql/my.cnf
Das Fettgedruckte ändert Ihr in Euren beliebigen Port. Der angegebene neue Port darf nicht belegt sein! Nun restartet Ihr den MySQL - Server und er hört auf den neuen Port mit folgenden Befehl:Quote:
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
Quote:
service mysql restart
oder
/etc/init.d/mysql restart
3.2. MySQL - Fehlerlogging anschalten
Ein Errorlog kann viele Vorteile mit sich bringen. Wenn der MySQL - Server nicht anspringt oder es andere Errors gibt, so können diese in dem Errorfile nachgelesen werden. Dieser Schritt wird oft Debugging genannt.
Um den Errorlog zu aktivieren, müssen wir in der Datei /etc/mysql/conf.d/mysqld_safe_syslog.cnf folgendes reinkopieren:
Nun bekommt keinen Schreck, weil schonmal einen mysqld_safe drin steht. Die Datei sieht danach folgendermaßen aus:Quote:
[mysqld_safe]
log_error=/var/log/mysql/mysql_error.log
[mysqld]
log_error=/var/log/mysql/mysql_error.log
Mit einem Restart des MySQL - Servers haben wir es erfolgreich aktiviert und Ihr könnt den Errorlog in dem angegebenen Pfad in dem Log nachlesen. Restarten tut ihr folgendermaßen:Quote:
[mysqld_safe]
syslog
[mysqld_safe]
log_error=/var/log/mysql/mysql_error.log
[mysqld]
log_error=/var/log/mysql/mysql_error.log
Quote:
service mysql restart
oder
/etc/init.d/mysql restart
3.3. Per MySQL-Programm connecten + neue Verbindung legen
Eine Verbindung von außen zuzulassen ist immer ein Sicherheitsrisiko. Dieses sollte jeden bewusst sein.
Um auf die Datenbank connecten zu können, müssen wir in der MySQL - Configdatei etwas abändern. Wir kommentieren die bind-address mit einer Raute aus. Wie folgt:
/etc/mysql/my-cnf
Danach restarten wir den MySQL - Server:
Code:
service mysql restart
Wir öffnen SQLYog und tragen folgendes unter den Tab MySQL ein:
Danach gehen wir in den Tab SSH und tragen folgendes ein:
Nun klicken wir auf Test Connection... und folgendes sollten wir zu sehen bekommen:
Sollten das angezeigt werden, klicken wir auf Connect. Nun legen wir einen neuen User an, das machen wir in SQL-Yog wie folgt:
Um uns einen User mit vollen Rechten zu erstellen, müssen wir folgendes machen:
Nun testet Ihr den erstellten Account, indem Ihr folgendes macht (Kein SSH aktivieren!!!):
Nun klickt Ihr wieder auf Test Connection... und erhaltet Ihr wieder die Meldung, dass die Verbindung erfolgreich war, habt ihr einen Account von außen zugänglich gemacht.
3.4. MySQL - Verbindungen gezielt per iptables zulassen
Was sind iptables? Dieses wird in diesem Kapitel erklärt.
Um einen Angriff auf den Port abzuwehren, können wir präventiv rangehen. Warum sollten wir etwas erst machen, wenn der Fall eintritt? Hier werden wir uns mit der Absicherung des MySQL - Port beschäftigen und nur denen es erlauben zu connecten, denen wir vertrauen.
Zuerst fügen wir die Ausnahme für den Localhost und unserer IPs, wie z.B. Webserver, hinzu (wir gehen vom Standartport 3306 aus, wenn Ihr den geändert habt, dann nehmt Euren geänderten), danach schließen wir den Port für alle anderen. Sie bekommen einen REJECT-Befehl und können somit nicht connecten.
Code:
iptables $ -A INPUT -i lo -p tcp --dport 3306 -j ACCEPT $ iptables -A INPUT -p tcp --dport 3306 -s XX.XX.XXX.X -j ACCEPT $ iptables -A INPUT -p tcp --dport 3306 -s XX.XXX.X.X -j ACCEPT $ iptables -A INPUT -p tcp --dport 3306 -j REJECT --reject-with icmp-port-unreachable
Somit sichern wir den Port gegen unerlaubte Zugriffe von Bots oder Dosangriffen ab.
4. Cronjobs
Cronjobs sind zeitbasierte, wiederkehrende Aufgaben, die automatisch durch den cron-daemon ausgeführt werden. Beispiele sind Löschen von Logs oder Archivieren anderer Dateien.
4.1. Einrichtung von Cronjobs
Bei der Einrichtung müsst ihr optionaler ein Shellscript (.sh) zu liegen haben, welches ausgeführt werden soll. Dieses läuft automatisch zu der eingegeben Zeit ab, ohne Euer zutun.
Dieses ist ein Beispiel mehrerer Cronjobs.
Wir öffnen folgendermaßen den Crobtabeditor:
Code:
crontab -e
Code:
Minute Stunde Tag Monat Wochentag Benutzer Befehl */5 * * * * root /usr/bin/mycrontab.sh * 5,11 * * * root /usr/bin/mycrontab.sh * 14 3 * * root /usr/bin/mycrontab.sh * 4 24 12 * root /usr/bin/mycrontab.sh * * * * * root /usr/bin/mycrontab.sh * * * * 4 root /usr/bin/mycrontab.sh
Lösen wir mal anhand der Beispiele nun genau auf, was der Befehl nun macht.Quote:
Minuten: 0-59
Stunden: 0-23
Tag: 1-31
Monat: 1-12
Wochentag: 0-7
0 – Sonntag
1 – Montag
2 – Dienstag
3 – Mittwoch
4 – Donnerstag
5 – Freitag
6 – Samstag
7 – Sonntag
Code:
*/5 * * * * root /usr/bin/mycrontab.sh
Code:
*/5 5,11 * * * root /usr/bin/mycrontab.sh
Code:
* 14 3 * * root /usr/bin/mycrontab.sh
Code:
* 4 24 12 * root /usr/bin/mycrontab.sh
Code:
* * * * 4 root /usr/bin/mycrontab.sh
Damit die Script laufen, brauchen sie Berechtigungen. Passt Euer Script soweit an, dass die ausgeführt werden können.
Kommen wir noch zu einem Thema, welches man viel hinter crobjobs findet:
Code:
>/dev/null 2>&1
Code:
>/dev/null
Code:
2>&1
Um den Crontab mit den Verwerfungsscript zu kombinieren, bedarf es keinerlei Hilfe mit zusätzlichen Zeichen. Im unseren Falle sähe es so aus:
Code:
* * * * 4 root /usr/bin/mycrontab.sh >/dev/null 2>&1
Es gibt auch einige Tricks, die wir Anwenden können, um viele Sternchen, Einsen und Nullen bei der Einrichtung zu sparen. Hier liste ich Euch sie auf:
| String | Bedeutung | Cron-Schreibweise |
|---|---|---|
| @reboot | einmalig, beim Start | |
| @daily | einmal pro Tag | 0 0 * * * |
| @midnight | einmal pro Tag | 0 0 * * * |
| @hourly | einmal pro Stunde | 0 * * * * |
| @weekly | einmal pro Woche | 0 0 * * 0 |
| @monthly | einmal im Monat | 0 0 1 * * |
| @annually | einmal im Jahr | 0 0 1 1 * |
| @yearly | einmal im Jahr | 0 0 1 1 * |
Ihr könnt übrigens auch den Benutzer weglassen, dann werden die standartmäßig vom Rootuser ausgelöst und ausgeführt (siehe Bild oben).
4.2. Beispiel eines Cronjobs mit Script
MySQL - Dumpscript (fusioncms.sh)
Code:
#!/bin/sh
DIR="/var/backups/fusioncms"
DATUM=`date '+%d-%m-%Y__%H-%M'`
mysqldump -uUSER -pPASS -h localhost --opt DATABASE > $DIR/fusion-${DATUM}.sql
gzip -9 --best $DIR/fusion-${DATUM}.sql
Was dort steht, sollte jeden Klar sein. Wir ziehen und einen mysqldump mit dem User+PW von der Datenbank DATABASE und zippen es dann. Alles geschieht in unserem angegebenen Pfad.
Dieses Script wird jede 4 Stunden ausgeführt. Woran ich es erkenne, steht bei 5.1., wo ich genau eingehe, was wo was zu bedeuten hat.
Dieses ist ein Beispielscript von einem Server, der sich im Livebetrieb befindet. Man kann das Script erweitern, dass es autoamtisch alte Backups löscht oder jeden Monat einen Wipe in einen Ordner (z.B. nennt man ihn Mai / Juli / September) macht.
4.3. Löschen von Cronjobs
Beim Löschen gehen wir wie beim Einrichten vor, wir starten zuerst den Crontabeditor:
Code:
crontab -e
4.4. Schattenseiten von Cronjobs
Cronjobs sind sehr erleichternd, sie sparen uns eine menge Arbeit. Die führen Updates automatisch aus, machen Datenbankbackups oder reinigen alte Logfiles. Doch nehmen wir mal an, wir überlassen einen Fremden den Root. Wir haben einige Programme am Laufen, beispielsweise einen TeamSpeakserver und einen Privatserver. Nun wollen wir eine außenstehende Person noch einen Privatserver draufmachen lassen, er möchte jedoch rootrechte haben.
Zum Thema Rootrechte und wie man diese einschränkt wird später näher eingegangen. Doch hier sei gesagt - Rootrechte zu vergeben kann ganz übel ausgehen, ein Beispiel werde ich hier zeigen.
Wir lassen die außenstehende Person auf dem Root rauf. Dieser hat die Absicht, den Root in den Abgrund zu treiben. Er hat einige Möglichkeiten, die ich kurz erläutere:
- Anlegung neuer Rootuser per sudoers im Cronjob
- Anlegung eines Cronjobs zum Löschen von Dateien
- Dauerrestart des Roots per Cronjob
Es gibt natürlich noch viel mehr. Nehmen wir das dritte Beispiel, den Dauerrestart des Roots. Dieses Script ist schnell geschrieben und der Cronjob würde so aussehen:
Code:
@reboot /pfad/zur/datei/restart.sh >/dev/null 2>&1
Wie Ihr seht, können Cronjobs sehr hilfreich sein oder, wie in dem Beispiel, sehr viel Schaden zufügen. Man darf daher niemals mit dem Rootaccount herumspielen oder ihn weitergeben, den Rootlogin am Besten ganz ausschalten. Auf dem Rootaccount kommt Ihr weiterhin, wenn Ihr Euch als normalen User einloggt und zum Rootuser switcht, da müsst Ihr dann das Passwort für den Rootuser eingeben.
5. Standarteditor ändern
Auf linuxbasierten Systemen stehen mehrere Editoren zur Verfügung. Im Kapitel 5 dieses Tutorials seht Ihr auf den Bildern 2 verschiedene. Doch wie ändere ich den Standarteditor, sodass ich bei dem Crontabeditor eher auf nano anstatt vim treffe?
Mit folgenden Befehlen könnt Ihr den Standarteditor wechseln:
Code:
export EDITOR=/usr/bin/nano export EDITOR=/usr/bin/vim export EDITOR=/usr/bin/pico export EDITOR=/usr/bin/editor export EDITOR=/usr/bin/joe
Code:
update-alternatives --config editor
6. iptables
iptables ist unter Linux die weit verbreiteste Firewall. Sie ist im besten Falle bei der Installation gleich mit bei, sodass die gleich einsetzbar ist.
iptables ist ein Userspace-Programm zur Konfiguration von Tabellen, die durch die Firefall im Linux-Kernel bereigestellt werden. Die Tabellen (tables) enthalten Ketten (chains) und Regeln (rules).
6.1. iptables permanent machen
Alle Einträge der iptables sind nur temporär. Nach einem Reboot werden die Tabellen geleert. Es gibt verschiedene Möglichkeiten, um dieses zu umgehen. Von Cronjobs über Handarbeit bis hin zu Paketinstallationen. Ich empfehle Euch ein Paket, welches wir so installieren;
Code:
apt-get install iptables-persistent
6.2. Einige Befehle der iptables
Um mit den iptables gut arbeiten zu können, müssen wir deren Befehle kennen oder wissen, wo diese stehen.
Um alle bestehende Regeln anzeigen zu lassen, geben wir folgendes in die Console ein:
Code:
iptables -L
Eine IPv4 - Adresse bannen:
Code:
iptables -A INPUT -s <IP-ADRESSE> -j DROP
-s : ist die zu bannende IP Adresse
-j DROP: gibt die Aktion an, die ausgeführt werden soll, wenn die Regel greift. In diesem Fall DROP (verwerfen)
REJECT ist die schönere Lösung von DROP. So wird ein imcp - Paket an den Client gesendet, der nicht unnötig lange auf einen TCP - Timeout warten muss.
Eine IPv4 - Adresse entbannen:
Code:
iptables -D INPUT -s <IP-ADRESSE> -j DROP
iptables per Hand speichern:
Code:
iptables-save > iptablessave.txt
Code:
iptables-restore < iptablessave.txt
6.3. Webserver per iptables gegen DoS sichern
Dieses ist nur begrenzt lauffähig, um einen starken DoS oder gar einen DDoS abwehren zu können, kann nur der Provider mit einer besseren Firewall. Dieses soll das lokal Einstellbare anzeigen, was auch an die Grenzen von iptables herankommt.
Bei einem vermeintlichen DoS/DDoS Angriff sollten wir unseren Netzwerkverkehr anschauen und sehen, wo die meisten Verbindungen herkommen. Dieses machen wir wie folgt:
Code:
netstat -ant
Einfacher geht es, wenn wir es etwas sortieren und und anzeigen lassen, wie viele Connection von einer IP kommt. Dies machen wir wie folgt in der Console:
Code:
netstat -ant | grep TIME_WAIT | awk '{ print $5}' | cut -d ":" -f 1 | sort | uniq -c
Bei einer Größenordnung ab 35 (mein Erfahrungswert) können wir es genauer Betrachten. Sollte diese IP immer mehr connections aufbauen, schließen wir diese vom Root aus. Dieses machen wir per Hand wie folgt:
Code:
iptables -A INPUT -p tcp -s $AngreiferIP --destination-port 80 -j DROP
Bei einem größeren Angriff können wir alles nicht mehr per Hand machen. Wir stellen es in den iptables so ein, dass sie automatisch entgegenwirken. Das spart Zeit und der Server wird lokal etwas entlastet. Wir geben folgendes ein:
Code:
# Set proofed limits for http 1.1 clients (1.0 does not use pipelining) $ iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 8 -j DROP $ iptables -I INPUT -p tcp -m state --state NEW --dport 80 -m recent --name gestempelt --set $ iptables -I INPUT -p tcp -m state --state NEW --dport 80 -m recent --name gestempelt --update --seconds 15 --hitcount 15 -j DROP $ iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Folgendes machen die Befehle:
(1) Man sperrt jeden Host, der mehr als eine neue Verbindung/Sek aufbauen möchte, wenn 8 bestehen
(2) versieht jede neue Verbindung mit einem Stempel (hier: gestempelt)
(3) Verwirft alle Pakete von einem Host für 15 Sekunden, wenn mehr als 15 neue Verbindungen mit dem Stempel "gestempelt" aufgebaut wurden.
(4) Akzeptiert alle Verbindungen zum Webserver.
Mit dem Script automatisieren wir die Abwehr, jedoch testet das Script vorher und passt es auf Eure Bedürfnisse an!
7. fail2ban
Mit dem Dienst fail2ban könnt Ihr einige Dienste überwachen. Neben SSH, Apache und FTP könnt ihr auch Eure Mailserver damit belegen. Fail2Ban, wie der Name schon halb sagt, bannt User nach einer bestimmten Anzahl an fehlgeschlagenen Einlogversuchen automatisch vom Server.
7.1. fail2ban einrichten
Code:
apt-get install fail2ban
Code:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Nun tätigen wir einige Grundeinstellungen. Dazu ändern wir ziemlich am Dateikopf folgende Zeilen:
Code:
ignoreip = 127.0.0.1 bantime = 600 maxretry = 3
Kommen wir zu den SSH - Einstellungen (Punkt [SSH] in der Datei):
Code:
enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3
8. apache2
Der apache2 ist unser Webserver. Über ihn gelangen alle Daten in die Außenwelt. Neben Apache gibt es nginx, welches die beiden Größten auf dem Markt sind. Was wir alles damit anstellen können, erkläre ich hier etwas genauer.
8.1. VirtualHosts
Über die VirtualHosts können wir Domains in spezifische Ordner gucken lassen. Ruft der USer die IP auf, können wir beispielsweise nur in /var/www gucken lassen. Nimmt er die Domain "deinedomain.de", können wir ihn beispielsweise den Ordner /var/www/domain/deinedomain.de verweisen.
Damit das Ganze funktioniert, liefert apache sogar ein Beispiel mit.
9. Teilen von Daten
Heute gibt es viele verschiedene Möglichkeiten, Daten miteinander zu Teilen. Sei es eine Source, (un-)wichtige Dokumente, Fotos, Tabellen usw., kommt die Frage auf, welches Programm man dazu nutzt. Am Einfachsten ist der FTP - Server. Doch darüber hinaus gibt es heutzutage git-Repositorys, Clouds oder ältere SVNs. Jedes ha Vor- und Nachteile, worüber man sich im Klaren sein muss.
Ich werde hier einige Möglichkeiten vorstellen, um Daten untereinander auzutauschen.
9.1. Owncloud
Bei Owncloud gibt es verschiedene Möglichkeiten, diese Einzurichten. Wir bevorzugen den Download über apt-get. Um dieses zu ermöglichen, müssen wir die Quellen in unser Downloadrepo einbinden.
Code:
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud.list wget -qO - http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_7.0/Release.key | apt-key add -
Code:
apt-get update apt-get dist-upgrade
Code:
apt-get update owncloud
Dafür öffnen wir
. Alternativ für eine Domain könnt Ihr die IP eintragen. Ihr werdet nun durch die Installation geführt.Wichtig ist hierbei, eine Datenbank manuell anzulegen. Wie das geht, erfahrt Ihr weiter oben im MySQL - Tutorial.
Habt Ihr alles eingerichtet, könnt Ihr ein DesktopClient auf
downloaden. Dieses funktioniert nach kurzer Einrichtung (URL sowie Logindaten) wie Dropbox.Zu guter Letzt müssen wir bei der ausführlichen Ausarbeitung dieses Textes auf Quellen verweisen.
Solltet Ihr einen Wunsch haben, äußert Ihn mir. Der Thread wird weiter bearbeitet und ggf. erweitert.
Mit freundlichen Grüßen
Crazy






