Dieses Tut beinhaltet auch eine Torrentflux Install!
Update 2 Debian 7 Stable (wheezy)
1. Anlegen von Usern und Absichern von SSH!
Zuerst loggen wir uns ma über putty mit ssh auf dem Server ein.
Die Warnung könnt ihr einfach mit Ja bestätigen.
Benutzername:root
Passwd:euerpassword
Nun ändern wir als erstes mal das Root Password und geben dazu folgendes ein
Hier nun euer neues Password 2x eingeben, die folgenden Abfragen könnt ihr einfach mit Enter bestätigen und zum schluss j für die bestätigung eingeben
Nun legen wir ma nen neuen User an über den wir uns in zukunft auf dem Server einloggen werden.
Hier nun wieder vorgehen wie beim user root, wichtig ist nur dass Ihr für den User ein anderes Password wählen solltet, als das was ihr für root genommen habt.
Nun gebt ihr folgendes ein.
Code:
nano /etc/ssh/sshd_config
Geht mit den Cursortasten zum Eintrag Port=22 und ändert diesen auf z.B. 31 (dadurch ändern wir den standard Port für ssh was sicherer ist gegen Brute Force und ähnlich Angriffe auf SSH)
Nun geht ihr zum Eintrag Protokol 2,1 und entfernt ,1 (dadurch wird nur noch Protokol 2 benutz was um einiges sicherer ist)
Weiter untern ändern wir nun noch den Eintrag
Code:
PermitRootLogin yes
in
(dadurch kann sich niemand mehr direkt als root anmelden (root ist der standard Username in den meisten BruteForce Programmen)
so nun noch über die Tastenkombination "Strg-O" dann Enter, das Ganze speichern und danach über "Strg-X
nano beenden.
Über die Eingabe
Code:
/etc/init.d/ssh restart
startet ihr nun euren sshdaemon neu.
logt euch nun über die Eingabe
aus dem Server aus
Nun startet ihr wieder putty und logt euch über den neuen Port auf eurem Server ein nur diesmal nicht mit root sondern dem User, den Ihr angelegt habt.
Seid ihr jetzt eingelogt gibt es zwei möglichkeiten in Zukunft weiterzuarbeiten, entweder ihr gebt für jeden folgenden Befehl
sudo Befehl
ein, oder
ihr holt euch direkt die dauerhaften Recht für die Session über die Eingabe
passwd vom root account
(Normalerweise soll man nicht dauerhaft über su eingeloggt sein aber das könnt ihr halten wie ihr wollt, ich jedenfalls hole mir für das Tut nun per su die Rechte.
2.Updaten von Debian,alle benötigten Programme installieren und FTP einrichten!
seid ihr nun über su drin gebt ihr folgendes ein
und danach
Code:
aptitude install rar mc vsftpd
nun löschen wir den von vsftpd grade angelegten ftp user da er nicht benötigt wird
Ok jetzt haben wir schonma paar einfache wichtige programme installiert
Gebt jetzt mal ein
Code:
mcedit /etc/apt/sources.list
Hier tragt ihr folgendes ein. (wenn sie
nicht drin stehen)
Code:
deb http://ftp.de.debian.org/debian stable main contrib
deb http://ftp.debian.org/debian/ wheezy-updates main contrib
deb http://security.debian.org/ wheezy/updates main contrib
Mit F2 speichern und mit F10 verlassen
Jetzt haben wir neue packet mirror und können apache2,php5 und weiteren sachen Installieren.
Also gebt jetzt folgende sachen nacheinander ein
Code:
aptitude update
apitude install apache2
aptitude install libapache2-mod-php5
Jetzt folgen die restlichen Installationen
Code:
aptitude install mysql-server php5-mysql
Gebt bei der abfrage nun ein password für den mysql root account ein
Die folgende Abfrage bestätigt ihr mit "JA"
Nun bringen wir noch alles andere auf den neuesten Stand, gebt ein
Code:
aptitude update
aptitude upgrade
bestätigt wieder mit "J"
In den nun folgenden Einstellungen von locales macht ihr bei allen de_DE nen Sternchen und drückt dann auf ok
Die nächste Abfrage bestätigt ihr mit der Option "Keine"
Die folgende Meldung über adodb könnt ihr getrost weiterklicken.
Die folgende Abfrage von mad-db bestätigt ihr mit "Nein" und die 2 abfragen von ssh mit "JA"
Jetzt gebt ihr folgendes ein, um die nichtmehr benötigten Pakete zu löschen
So nun folgt die Konfiguration von vsftpd
So als ersten geben wir folgendes ein um Userabhängige Logins zu erlauben
Code:
adduser --system --home /var/run/vsftpd/ --no-create-home ftpsecure
Nun geht ihr in das Verzeichnis /etc
Code:
CD /etc
mcedit vsftpd_conf
Hier erstma folgende Einträge ändern
Code:
anonymous_enable=YES in NO ändern
#locale_enable=YES (nur die # entfernen)
#write_enable=YES (nur # entfernen)
wollt ihr loggen ausschalten (empfehle ich wenn ihr mit fxp und ähnlichem hantiert)
xferlog_enable=YES in NO ändern
#nopriv_user=ftpsecure (nur # entfernen)
#chroot_local_user=YES (nur # entfernen)
#chroot_list_enable=YES (nur # entfernen)
#chroot_list_file=/etc/vsftpd.chroot_list (nur # entfernen)
Nun geht ihr in dem File wieder ganz nach oben und entfernt in der 2ten Zeile die raute und tragt nun folgende sachen ein
Code:
listen_port=15151
userlist_deny=NO
userlist_enable=YES
pasv_enable=YES
pasv_max_port=65545
pasv_min_port=64000
port_enable=YES
pasv_promiscuous=YES
port_promiscuous=YES
Spechern mit F2 und mit F10 beenden
Jetzt geben wir ein
Code:
mcedit /etc/vsftpd.user_list
und tragen hier den User account1 als bso ein was bewirkt das dieser sich nun auf dem system anmelden kann
Wieder Speichern und beenden
Nun die nächste datei
Code:
mcedit /etc/vsftpd.chroot_list
Hier gebt ihr auch den user ein bsp account1 was bewirkt das er durch den kompletten Root navigieren darf
Wenn ihr später Files von eurem Root auf account2 hauen wollt empfehle ich euch nun noch einen neuen User anzulegen, z.B.
gebt für diesen user am besten ein pw ein was ihr noch nicht auf dem Root benutzt, dies dient dazu das Rapid später nicht euren Haupt FTP Login sieht sondern nur den zu einem eingesperrten User aber das seht ihr gleich wie ich das meine.
gebt jetzt ein
Code:
mcedit /etc/vsftpd.user_list
und gebt hier nun zusätzlich den User rapishare ein, was bedeuted dass diese beiden User sich nun anmelden dürfen per FTP.
Muss dann so aussehen
e
Speichert nun mit F2 die einträge und beendet mcedit mit F10
Die Einstellungen sind nun so das die User account1 und account2 sich nun über ftp auf dem Server anmelden dürfen aber nur der user account1 sich frei im root bewegen darf. Der User account2 ist in seinem /home/account2 verzeichnis eingesperrt und darf nur in dieses rauf und runterladen
nun beendet ma den Dienst komplett
Code:
/etc/init.d/vsftpd stop
dann schaut ma per
ps -A ob irgendwo bei den Processen noch vsftpd steht, wenn ja nochmal
Code:
/etc/init.d/vsftpd stop
bis es nicht mehr dasteht
Nun starten wir vsftpd neu, gebt dazu folgendes ein.
Code:
/etc/init.d/vsftpd start
Tip: Wenn ihr account3s kurzeitig zugriff geben wollt über ftp damit sie etwas von euch laden können macht ihr folgendes
Code:
adduser account3
password für account3
Added nun den User wieder in vsftpd.user_list
euer account3 findet die Daten nun im Verzeichnis /home/account3
wenn er dann fertig ist mit Laden könnt ihr ihm den Zugriff auf den Server auch wieder nehmen indem ihr einfach wieder die Datei vsftpd.user_list bearbeitet und den name per raute auskommentiert
# account3
Somit könnt ihr ihm jederzeit den Zugriff geben und nehmen ohne jedemal seinen kompletten account zu löschen
Wichtig: der vsftpd Server läuft mit meinem config file derzeit auf port 15151, ihr könnt dies nun noch ändern wenn ihr wollt,wichtig ist nur das ihr einen hohen port wie diesen nehmt und auf keinen fall port 21 da ihr dann nicht mehr mit fullspeed fxpen könnt
3.Einrichten von TORRENTFLUX,SSL und APACHE2
So jetzt kümmern wir uns um Torrentflux.
Gebt ein
Nun laden wir das aktuelle Torrentflux
Code:
wget http://kent.dl.sourceforge.net/sourceforge/torrentflux/torrentflux_2.4.tar.gz
und entpacken danach torrentflux mit tar
Code:
tar -zxvf torrentflux_2.4.tar.gz
nun können wir das gepackte file wieder löschen
Code:
rm torrentflux_2.4.tar.gz
und benennen nun das entpackte verzeichnis um in tfx
Code:
mv torrentflux_2.4 tfx
gebt nun für euren späteren download Ordner für Torrentflux folgendes ein
Code:
mkdir /usr/downloads
Nun passen wir wieder ein paar rechte an, also gebt ein
Code:
chmod 777 /usr/downloads/
Jetzt vereinfache ich mir das umbennen und verschieben der folgenden sachen etwas und starte dazu den Midnight Commander (kennt ihr vielleicht vom Norton Commander) also gebt ein.
So jetzt könnt ihr auf der linken und rechten Seite navigieren, wechseln zwischen den beiden Spalten könnt ihr mit der Tabtast oder der Maus.
Ok geht jetzt im rechten fenster in das Directory /var/www/tfx/html und im linken in /var/www/tfx
Auf der linken Seite löscht ihr nun mit F8 die 4 grünen dateien und das Directory /upgrades
Wechselt nun auf die rechte Seite und Markiert dort alle Verzeichnisse und Dateien mit der Taste 0 auf dem rechten Ziffernblock eurer Tastatur
Nun müssten alle Verzeichnisse und Files auf der rechten Seite gelb sein und ihr könnt nun F6 drücken und mit Enter bestätigen:
Geht nun auf der rechten Seite in den Ordner /usr und Wechselt nun auf die linke seite und geht mit dem Cursor auf das Verzeichnis /sql, mit F6 verschiebt ihr nun das ganze verzeichnis nach /usr und löscht gleich noch auf der linken Seite das nun leere Verzeichnis /html mit F8
So nun verlassen wir den mc wieder mit F10 und verteilen gleich wieder ein paar rechte also gebt ein
Code:
chown -R -v www-data:www-data /var/www/tfx/themes
so und weiter gehts
Nun erstellen wir erstma ne Datenbank für unser Torrentflux.
Code:
mysqladmin -u root -p create torrentflux
Gebt bei der Abfrage nach dem Password nun das ein was ihr vorhin für den mysql User root definiert habt.
nun weisen wir noch die datei im Verzeichnis /usr/sql/mysql_torrentflux.sql der Datenbank zu.
Code:
mysql -u root -p torrentflux < mysql_torrentflux.sql
Und auch hier wieder Root Password vom mysql nehmen.
Gebt nun folgendes ein
Code:
mcedit /var/www/tfx/config.php
und tragt nun in der Zeile $cfg["db_pass"] = ""; zwischen den beiden "" euer password vom mysql root account von vorhin ein
Code:
also z.B. $cfg["db_pass"] = "blahblah5437";
Nun wieder Speichern und mit F10 beenden
So bevor wir jetzt Fun mit Torrentflux haben richten wir aus security Gründen noch SSL und HTAccess ein.
Gebt ein
Code:
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/apache.pem
Gebt bei der länder Abfrage DE ein und alles andere könnt ihr mit Enter einfach wegklicken.
Jetzt müssen wir noch die Rechte setzen, gebt also ein
Code:
chmod 600 /etc/apache2/ssl/apache.pem
SSL läuft standartmässig auf Port:443 und dies müssen wir nun noch apache2 vermitteln, also gebt ein.
Code:
mcedit /etc/apache2/ports.conf
Unter dem Eintrag Listen 80 setzen wir jetzt noch Listen 443 so dass die Datei nun so aussieht
Code:
Listen 80
Listen 443
Jetzt wieder Speichern und verlassen und folgendes nun eingeben
Code:
mcedit /etc/apache2/sites-available/default
So hier ändern wir nun den ersten Eintrag NameVirtualHost * in
NameVirtualHost *:80 und machen darunter nun noch folgenden Eintrag
NameVirtualHost *:443
Nun sollte das Ganze so aussehen
Code:
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *>
Geht nun mit dem Cursor auf das erste < drückt F3 und geht dann mit dem Cursor nach unten bis alles markiert ist was danach kommt also bis einschliesslich </VirtualHost>. Nun drückt F5 und ihr habt das ganze jetzt 2x in der Datei, zur übersicht drückt dann noch enter damit das neue <VirtualHost *> unter </VirtualHost> steht.
So jetzt geht wieder ganz nach oben und ändert den ersten Eintrag <VirtualHost *> in <VirtualHost *:80> und das zweite <VirtualHost *> weiter unten in <VirtualHost *:443>
Direkt unter
<VirtualHost *:443>
ServerAdmin webmaster@localhost
geben wir jetzt noch ein
Code:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/apache.pem
So dass das Ganze jetzt so aussieht
Code:
<VirtualHost *:443>
ServerAdmin webmaster@localhost
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/apache.pem
Nun wieder Speichern und verlassen
Jetzt müssen wir SSL-MOD starten und den Apache Server Neustarten, gebt also jetzt ein
und danach
Code:
/etc/init.d/apache2 restart
So jetzt ist nur noch der HTAccess schutz dran und dafür erstellen wir jetzt erstma die passwort Datei für den User mit dem ihr einloggen wollt über HTAccess
Ich nehm hier wieder account1 als Bsp.
Gebt ein
Code:
htpasswd -c /usr/.htpasswd account1
und in der abfrage dann das Password was ihr in HTAccess für den User
benutzen wollt
nun gebt ihr ein
Code:
mcedit /var/www/tfx/.htaccess
und tragt folgendes ein
Code:
AuthType Basic
AuthName A secret Place
AuthUserFile /usr/.htpasswd
require user account1
Wieder Speichern und beenden.
Code:
mcedit /etc/apache2/sites-enabled/000-default
diese Datei sieht nun genauso aus wie die von vorhin, geht hier in den Bereich <VirtualHost *:443> und schreibt im Unterbereich <Directory /var/www/> den Eintrag AllowOverride none in
AllowOverride AuthConfig
um
so jetzt speichern und beenden und am besten apache 2 nochma neu starten
Code:
/etc/init.d/apache2 restart
Jetzt könnt ihr ganz normal über
Code:
https://www.euredomain/tfx
im Browser auf Torrentflux zugreifen
gebt hier die Daten ein mit denen ihr euch in Zukunft einloggen wollt.
Jetzt seid ihr in der Konfiguration und normalerweise müsste hier überall wo ein punkt ist dieser Grün sein.
Sollte der erste Eintrag bei Path rot sein müsst ihr noch dort den neuen Download pfad eingeben welcher
war.
Stellt bei Max Upload Rate noch 9000 ein, bei Enable Make Torrent stellt ihr auf True, bei Default Language German und bei Default Percentage When Seeding should Stop am besten 200%
Jetzt nun noch unten auf Update und alles sollte schick sein
#################################
Ein Paar zusätzliche Tipps
Ladet mit Torrentflux nun erstma irgend ein kleines File
Jetzt hat sich das Download Verzeichnis geändert, es lautet nun /usr/downloads/user_mit_dem_ihr_euch_zum_erstenma_in_tfx_eingeloggt_habt
z.B.
Code:
/usr/downloads/account1/
jetzt erstma
Code:
chmod 777 /usr/downloads/account1
Um nach dem Einloggen über user und su schnell in den Download bereich zu kommen erstellen wir nun einen symbolischen Link
Code:
ln -s /usr/downloads/account1 /home/account1/down
jetzt kommt ihr nach dem einloggen über
in das Downloadverzeichnis
#################################
So das wars ich denke ma mit dieser ausführlichen Anleitung werdet ihr gut klarkommen
Lg D@rk-€vil™