Transformer son serveur dédié en seedbox super classe en quelques minutes

14 mars 2013 95
Attention ! Ce post a plus de 1 an, ce qui signifie qu'il n'est pas forcément à jour !

Edit du 26/10/2013

Le script a pas mal évolué ! Voici un mini changelog :

  • Update des dernières versions de rTorrent et libTorrent
  • Update de mediainfo
  • Ajout de la compatibilité pour debian 7 (en ce qui concerne la 6, je suis pas si sûr)
  • Mise à jour du repo xmlrpc qui faisait crasher rTorrent
  • Mise à jour de h5ai
  • Ajout d’une petite interface graphique au démarrage (thanks synoga)
  • Sécurisation de rTorrent
  • Ajout d’un certificat autosigné (maintenant, tout passe par le https)
  • Ajout du support pour le SFTP
  • Maintenant, plutôt que tout effectuer en root, on passe par l’utilisateur
  • Ajout d’un script pour lancer rTorrent au démarrage, ce qui évite les plantage en cas de redémarrage

Et sûrement d’autres petits trucs que j’ai oublié. Le script est testé et tourne actuellement sur ma debian 7 64 bit chez Online. Vous le trouverez ici https://raw.github.com/kai23/linux-scripts/master/script.sh

Un énorme merci à Synoga, membre de GKs, pour tout l’aide apportée côté sécurité !


Hello à tous !

Je suis en train de travailler actuellement sur un serveur dédié pour tout un tas de raisons. J’ai choisi une dédibox de chez online, pour la bande passante et le proc, majoritairement.

Après quelques jours de galère et de conf en tout genre, je me suis dit que ce serait sympa de pouvoir partager tout ce que j’ai fait.
Le but de ce tutoriel est de transformer votre serveur dédié en véritable seedbox / serveur internet. Attention, je ne parlerai pas ici de sécurité ou autres notions trop poussées. Le Net regorge de tutoriels intéressants à ce sujet que je ne pourrais totalement expliciter.

Nous partirons sur une debian 6.0 tout fraîchement installée. On commence donc par se connecter en SSH à notre machine distante, puis on se connecte en tant que root
Voici nos specs ! :D

  • Avoir Rtorrent d’installé et configuré
  • Avoir Apache d’installé et configuré
  • Avoir Rutorrent d’installé
  • Installer une jolie conf pour les fichiers
  • Avoir un serveur ftp configuré permettant d’accéder au downloads

En gros, ce serait d’avoir tout ça :

L'interface qui permettrait de se balader dans les différents fichiers

L’interface qui permettrait de se balader dans les différents fichiers

L'interface de RuTorrent, avec le thème Oblivion ainsi que deux plugins

L’interface de RuTorrent, avec le thème Oblivion ainsi que deux plugins

Allez ! Sans plus attendre, nous voici en train de nous connecter à notre machine :

ssh user@ip_server

Une fois que le mot de passe est saisi, et que vous êtes connecté, faites un

su root

Voilà. Vous êtes root.

1. Mise à jour et récupération des paquets nécessaires

Avant toute chose, on va commencer par mettre à jour le système. Let’s go !

apt-get update -y && apt-get upgrade -y

And here we go ! La ligne suivante va permettre d’installer tous les paquets dont on va avoir besoin :

apt-get install -y apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl libapache2-mod-scgi build-essential make gcc autoconf curl libcurl3 libcurl4-openssl-dev zip unzip gcc libc6-dev linux-kernel-headers diff wget bzip2 screen ffmpeg libcppunit-dev libncurses5-dev libncursesw5-dev subversion libsigc++ dtach imagemagick proftpd zsh git

Pour pas vous laisser dans l’ombre, voici ce que cette commande va installer :

  • Apache2 (le serveur web) et quelques librairies (surtout SCGI pour libtorrent)
  • PHP 5 et quelques composants de base (PEAR, imap, json,tidy, xmlrpc, etc)
  • Des outils tels que make, gcc, autoconf, curl, zip et unzip, gcc, diff, wget, bzip2
  • ffmpeg et imagemagick, c’est pour RuTorrent
  • NCurses pour RTorrent (Screen pour le lancer en arrière plan)
  • Subversion et Git
  • Quelques librairies C++ pour la compilation de RTorrent
  • Et enfin proftpd pour installer un serveur FTP, et zsh pour la surprise :D

C’est bon ? Maintenant c’est parti pour l’installation de Rtorrent !

2. Installation de RTorrent

On commence par faire ça propre, en créant un dossier pour les sources

mkdir sources
cd sources

Puis on récupère tout ce dont on va avoir besoin :

svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced/ xmlrpc-c
wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.13.2.tar.gz
wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.2.tar.gz

Puis on va extraire tout ça, et supprimer les archives :

tar xvzf libtorrent-0.13.2.tar.gz rtorrent-0.9.2.tar.gz
tar xvzf libtorrent-0.13.2.tar.gz
tar xvzf rtorrent-0.9.2.tar.gz
rm *.tar.gz

On va commencer par compiler xmlrpc, qui est une dépendance de LibTorrent, qui est lui-même une dépendance de de RTorrent (magnifique hein ?)

cd xmlrpc-c/
./configure
make && make install

Maintenant on va faire la même chose pour libtorrent :

cd ../libtorrent-0.13.2/
./configure
make && make install

Puis pour RTorrent :

cd ../rtorrent-0.9.2/
./autogen.sh
./configure --with-xmlrpc-c
make && make install

Ensuite, on va nettoyer tout ça :

cd
rm -Rf sources

Et il y parfois une petite erreur dans la compilation de libtorrent. Pour cela, il suffit de lancer :

ldconfig

Bien !
Maintenant que RTorrent est installé, il va falloir le configurer.

3. Configuration de RTorrent

Pour cela, il y a quelques dossiers à créer et un fichier de conf à faire. On va commencer par les dossiers :

mkdir ~/session/
mkdir /var/www/downloads/
Et on va appliquer les permissions pour que tout le monde puisse y accédier :
chmod -R 777 /var/www/downloads/
chmod -R 777 ~/session/

Maintenant, il va falloir ajouter le fichier de configuration. Celui-ci s’appelle « .rtorrent.rc ». Vous pouvez donc le créer à la racine de votre home directory

cd
nano .rtorrent.rc

Puis il vous suffit d’ajouter cela :

directory = /var/www/downloads
session = ~/session
port_range = 6890-6999
port_random = no
check_hash = no
use_udp_trackers = yes
schedule = watch_directory,15,15,load_start=~/watch/*.torrent
dht = auto
dht_port = 6881
scgi_port = 127.0.0.1:5000

En gros, ça spécifie l’adresse d’écoute, le fichier pour les téléchargements. Ça permet aussi de dire que l’on souhaite ne PAS vérifier chaque téléchargement (ce qui est pratique lorsque l’on n’a pas un serveur hyper puissant).

Maintenant que c’est fait, on va pouvoir lancer RTorrent en arrière-plan :

killall rtorrent
screen -fn -dmS rtd nice -19 rtorrent

4. Installation de RuTorrent

On va passer maintenant à l’installation de RuTorrent. C’est un simple « site web », que l’on place dans /var/www/ (le répertoire d’apache pour les sites web). Pour cela, donc :

cd /var/www
svn checkout http://rutorrent.googlecode.com/svn/trunk/rutorrent/
cd rutorrent
rm -R plug-ins
svn checkout http://rutorrent.googlecode.com/svn/trunk/plugins/
chmod -R 777 /var/www/

Dans l’ordre :

  • On va dans le répertoire d’apache,
  • On récupère RuTorrent via SVN
  • On supprime le dossier de plug-ins par défaut
  • On récupère les plug-ins via SVN
  • On change les permissions de notre /var/www/

5. Configuration d’apache

Maintenant, il va falloir dire à Apache qu’on veut les .htaccess pour pouvoir protéger à minima l’accès à notre serveur. On commence par aller dans le dossier à protéger :

cd /var/www/

Puis de créer un password dans le .htpasswd

htpasswd -mbc .htpasswd admin VOTREMOTDEPASSE

Ensuite, on va faire le .htaccess. Pour cela, on va l’écrire (dans /var/www/) et on va mettre ça à l’intérieur :

AuthName "Restricted"
AuthType Basic
AuthUserFile "/var/www/.htpasswd"
Require valid-user

Juste pour dire que l’on veut protéger l’accès au dossier et ses sous-dossiers.
Mais par défaut, les .htaccess ne sont pas activés sur apache. En effet, pour des raisons de sécurité, il vaut mieux modifier les fichiers de conf. Mais on ne va pas se prendre la tête comme ça. On commence par aller dans le dossier des sites d’apache.

cd /etc/apache2/sites-enabled/

Puis on va changer les « AllowOverride None » en « AllowOverride All »

sed '0,/AllowOverride None/ s//AllowOverride All/' 000-default >> 000-default.1
sed '0,/AllowOverride None/ s//AllowOverride All/' 000-default.1 >> 000-default

Maintenant que les .htaccess sont activés, on a encore besoin d’activer certains modules d’apache, que voici :

a2enmod rewrite
a2enmod ssl
a2enmod auth_digest
a2enmod scgi

Et d’ajouter cette ligne à la fin du /etc/apache2/apache2.conf

SCGIMount /RPC2 127.0.0.1:5000

ou directement :

echo "SCGIMount /RPC2 127.0.0.1:5000" >> /etc/apache2/apache2.conf

Et enfin, on va redémarrer apache pour bien tout prendre en compte :

service apache2 restart

6. Installation de _h5ai

h5ai est une amélioration de votre localhost. C’est pour que tout soit bien plus beau ! :)

Vous pouvez avoir une démo ici : http://larsjung.de/h5ai/sample/

Pour cela

  • on va dans le /var/www/
  • on récupère le h5ai
  • on le dézippe
  • on ajoute une ligne à la fin du .htaccess pour qu’il le prenne en compte
cd /var/www/
wget http://release.larsjung.de/h5ai/h5ai-0.22.1.zip
unzip h5ai-0.22.1.zip
rm h5ai-0.22.1.zip
rm index.html
echo "DirectoryIndex index.html index.php /_h5ai/server/php/index.php" >> .htaccess
chmod -R 777 /var/www/

Et voilà !

7. Installation de mediaInfo

Ça, c’est uniquement pour que RuTorrent de vous mette pas l’erreur. Mediainfo sert juste à donner des infos sur le média, tel que le bitrate, format, taille, etc.

On retourne dans notre dossier home et on crée le dossier :

cd
mkdir mediainfo
cd mediainfo

Si vous êtes en 64 bits, voici ce qu’il faut installer :

wget http://mediaarea.net/download/binary/libzen0/0.4.28/libzen0_0.4.28-1_amd64.Debian_6.0.deb
wget http://mediaarea.net/download/binary/libmediainfo0/0.7.61/libmediainfo0_0.7.61-1_amd64.Debian_6.0.deb
wget http://mediaarea.net/download/binary/mediainfo/0.7.61/mediainfo_0.7.61-1_amd64.Debian_6.0.deb

Et si vous êtes en 32 bits,

wget http://mediaarea.net/download/binary/libzen0/0.4.28/libzen0_0.4.28-1_i386.Debian_6.0.deb
wget http://mediaarea.net/download/binary/libmediainfo0/0.7.61/libmediainfo0_0.7.61-1_i386.Debian_6.0.deb
wget http://mediaarea.net/download/binary/mediainfo/0.7.61/mediainfo_0.7.61-1_i386.Debian_6.0.deb

Puis un

dpkg -i *.deb

Pour installer mediainfo et les librairies dont il a besoin
On va donc supprimer le dossier qui ne sert plus à rien :

cd && rm -Rf mediainfo

8. Configuration du FTP

On commence par aller dans le dossier du FTP :

cd /etc/proftpd/

Puis on va changer quelques configurations. D’abord, le dossier par défaut autorisé :

sed -i 's/^# DefaultRoot/DefaultRoot/g' proftpd.conf
sed -i 's/~/\/var\/www\/downloads\//g' proftpd.conf

On désactive l’IPv6

sed -i 's/UseIPv6[[:space:]]*on/UseIPv6 off/g' proftpd.conf

On autorise l’autorisation de reprise d’upload :

echo "AllowStoreRestart on" >> proftpd.conf

De même pour la reprise des téléchargements

echo "AllowRetrieveRestart on" >> proftpd.conf

Puis on redémarre le serveur ! :)

service proftpd restart

9. Extra

Pour ça c’est vraiment « pour le fun », mais on va changer le bash pour utiliser « zsh » ainsi que « Oh-my-zsh » pour magnifier un peu notre shell. Voici :

cd
wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
wget https://www.kai23.fr/zshrc
rm .zshrc
mv zshrc .zshrc
chsh -s $(which zsh)

Donc là :

  • on récupère « Oh My Zsh »
  • on récupère un .zshrc ( que vous pouvez voir ici : https://www.kai23.fr/zshrc )
  • on supprime l’ancien .zshrc pour le remplacer par le nouveau,
  • on change le bash par défaut.

Déconnectez-vous et reconnectez-vous. C’est tout bon ! :)

10. Conclusion

Voilà pour ce loooooong tutoriel ! Il faut savoir que j’ai créé un script qui permet d’automatiser tout ça, que vous pouvez avoir ici :
https://github.com/kai23/linux-scripts/blob/master/script.sh

Ainsi, après votre première connexion en SSH, vous pouvez faire un

wget https://raw.github.com/kai23/linux-scripts/master/script.sh

puis un

chmod +x script.sh

pour le passer en exécutable, puis

./script.sh

pour l’exécuter. À part la fenêtre pour « proftpd », rien n’arrêtera ce script de folie, et en 5 min, vous aurez tout ce que j’ai expliqué un peu plus haut !

Bonne journée à vous tous, moi je vais suivre la conf pour la Galaxy S4 ! :D


  • Guest

    Quelle est l’utilité du paquet imagemagick pour Rutorrent? Sans celui-ci je n’ai aucun problème.

    • Florian Chevallier

      Hello ! Il me semble que imagemagick sert pour « _h5ai », pour embellir le localhost, et avoir une image de « preview » sur les films par exemple.

  • fabb

    Super tuto, et merci pour le script.
    Etant grand débutant, j’ai une question qui va paraître extrêmement bête mais comment accède t’on aux différents services ?
    Rtorrent, l’interface de navigation des fichiers ….

    • kai23

      Hello Fab ! Une fois que le script est lancé, il suffit d’aller sur l’adresse IP de ta machine, en utilisant un navigateur internet

      • Greg

        J’ai tout installé il me semble avec succès grâce à ton script, mais je n’accède qu’a la jolie interface graphique _h5ai, via l’ip de mon serveur.
        Je me demande bien quel est le chemin pour rtorrent maintenant

        • kai23

          Il te suffit d’aller sur « ADRESSE IP »/rutorrent.

          Par exemple : 88.191.160.10/rutorrent

  • damien

    Bonjour,

    Comment et avec quoi peut t’on modifier le script pour mettre son propre mot de passe et modifier l’adresse : « https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced/ » qui n’est plus valable et qu’il faut remplacer par : « https://svn.code.sf.net/p/xmlrpc-c/code/advanced/ »

    • kai23

      Pour modifier le mot de passe, il suffit de modifier ces deux lignes là :

      # Génération du .htpasswd

      htpassword=totodu23
      htpasswd -mbc .htpasswd admin $htpassword

      en remplaçant « totodu23 » par le password, et « admin » par le nom d’utilisateur

      • fabb

        Merci pour l’info.

        J’ai bien modifié le script, le l’ai enregistré avec notepad+++ en .sh

        J’ai créer un utilisateur « seeed », puis placer mon script modifié dans le dossier utilisateur « seeed ».

        Lorsque je lance la commande « chmod +x script.sh », j’obtient ce message d’erreur : « chmod: changing permissions of `script.sh': Operation not permitted »

        Comment peut t’on résoudre ce problème ?

  • Greg

    Coucou! Bien cool d’avoir fait un tuto et du coup j’aimerais profité de ton script, mais ça veut pas dl …

    ERREUR : le certificat de ?raw.github.com? n’est pas digne de confiance.
    ERREUR : le certificat ?raw.github.com? n’est pas d’un ?metteur connu.

    c’est facheux

    • Greg

      Ah bah je l’ai recuperé moi-même et mis sur un FTP à moi, ça roule maintenant ;)

      • kai23

        Super ! :)

    • Hansi Kaarü

      il faut installer git sur le serveur !
      (sudo) apt-get install git

  • Den’s

    Salut ! super tuto avec un script pour les feignant j’adore :) je voulais juste savoir comment ce passait la récupération de nos charmant « logiciel libre télécharger en torrent ;p ) je me doute via le ftp en ddl du coup ? et ma seconde question est avec une dedibox de chez online a 9.99€ il est sur qu’il n’y est pas de problème pour y héberge une seedbox (serveur français hadopi etc ^^) et la 3eme toute les interfaces ( ftp + seedbox ) sont donc accessible via un navigateur sur son poste client grâce à l’ip du serveur ? merci d’avance pour la réponse a mes questions ( je veux être caler sur le sujet avant de me lancer dans la locations d’un de c’est serveur ^^)

    • kai23

      Hello Den’s !
      Pour ta première question, tu peux les récupérer en HTTP directement, dans le dossier « downloads », lorsque tu te connectes à l’interface web via ton IP.

      Pour la deuxième, je ne pense pas qu’il puisse y avoir de soucis ^^ Faut juste toujours faire attention à là où on prends nos films de vacances.

      Pour la troisième : en effet, c’est disponible via le HTTP. Mais également via FTP :)

      À Bientôt !

  • Kymo

    Bonjour,
    Déjà merci pour ce tuto. Pourriez-vous m’éclairer sur les étapes à suivres pour créer un autre utilisateurs ?

    • kai23

      Bonjour !

      Pour créer un nouvel utilisateur, cela se passe comme dans n’importe quelle distribution UNIX, en faisant un « useradd » ou un « adduser ». Je te conseille de te renseigner sur ces deux commandes ;)

  • Hansi Kaarü

    salut j’ai cette erreur dans rutorrent,
    [11.09.2013 11:55:32] Lien incorrect avec rTorrent. Vérifier qu’il est bien en cours d’exécution. Vérifier la configuration de $scgi_port et de $scgi_host dans config.php et scgi_port dans le fichier de configuration de rTorrent.

    j’ai régardé en faisant screen -list ou screen -x
    aucun appli ne tourne.

    j’essaye de relancer rtorrent en faisant screen rtorrent il m’indique qu’il ne le trouve aucune application.

    J’ai reinstallé rtorrent manuellement il me fait la même erreur.

    je suis sur un ks nu.

    edit : en fait c’est simple rtorrent n’a pas pu s’installer correctement car il semble que le fichier xmlrpc-c à changer de nom ou de place.

    la command svn m’indque une erreur du style : dépôts définitivement déplacé https://blabla merci de relocaliser. mais je ne trouve ce qui correspond.

    ————————

    Sinon c’est une excellente solution que la votre, il manque juste un petit quelque chose afincommuniquer entres membres d’un même serveur. Je vais me penser pour essayer d’intègre une page texte vierge ou tout le monde peux écrire.

    • kai23

      Merci du commentaire ! Je suis en train de travailler actuellement sur une version du script complètement interactive, qui sera vraiment plus simple.

      En ce qui concerne la communication entre membre, pourquoi ne pas tenter un cloud9 ou alors un ace editor ? Ces deux solutions sont vraiment bien

      • Hansi Kaarü

        Salut à toi l’ami !
        Yep je verrais ça à mon retour des vendanges. Merci pour les noms ca donne des choses à prospecter ! Au passage c’est moi qui t’avait déjà contacté par mail il y a fort longtemps. =)

        Alors pour mes problèmes j’ai reussi réinstaller le bousin en me creusant les méninges.

        La partie sur xmlrpc-c/ est erroné puisque le lien à changer. J’ai reussi en installant xmlrpc-config.main depuis le nouveau lien https://svn.code.sf.net/p/xmlrpc-c/code/advanced/

        ensuite mon install lib a bien fonctionné mais impossible d’installer rtorrent.
        durant le make install il ne trouvait pas le make file alors qu’il était bien là avec INSTALL. Enfin j’ai décidé de passer par aptitude et ça à marcher.

        J’ai une question j’ai changé le dossier d’installe de rtorrent et rutorrent; mais je ne peux plus voir les films dans le main page.

        Je sais pas quoi changé j’ai cherché mais pas trouvé. Aussi si tu as la réponse dis moi si je dois remettre les htacces dans le nouveau dossier downloads. parceque j’ai pas fait

        Merci à bientôt.

        • kai23

          Merci pour le compliment ! C’est toujours motivant. Et bravo pour la mise à jour. Faut vraiment que je me secoue pour avancer tout ça !

          Dans l’idée, la mise à jour du script permettra d’avoir la même base, mais surtout d’avoir quelques chose de bien plus sécurisé aussi :)

          Si tu avances dans ta solution, n’hésite pas à m’en parler ! Je vais bientôt changer tout le thème du blog pour essayer de me passer de WordPress, et de faire un truc maison, et surtout ajouter le formulaire de contact. Mais comme pour tout, ça prends du temps !

          À bientôt !

          • Hansi Kaarü

            Ben en fait je me suis demandé la dernière fois si c’était toi qui l’avait codé car Kai 2+3 = H5AI à peu de chose près :D

            Très bonne idée de sécuriser le tout. Quel solution ? Ssl je suppose ?
            En touts cas pas de soucis je te tiendrai au jus quand on démarrera.

            tchuss !

          • kai23

            Le script vient d’être complétement revu et mis à jour ! N’hésite pas à le tester ;)

  • Arnaud

    Bonjour. D’abord, merci de ce tuto et du script qui va avec. Juste avant d’installer tout ça, j’ai une petite question : une fois tout installé, comment se passe la récupération des fichiers via FTP ?
    Je demande cela car j’avais installé ruTorrent et Cakebox via le script de Mardambeyk et forcé de constater que la récupération par FTP n’était pas possible. Donc j’ai tout enlevé et je repart de zéro.
    Merci d’avance, Arnaud.

    • kai23

      Hello Arnaud ! Je me souvenais avoir fait un truc FTP, mais passant uniquement par le HTTP, je n’en ai jamais vraiment eu besoin.

      Si tu ne t’es pas encore lancé, tu peux tester cette version du script : https://raw.github.com/kai23/linux-scripts/3ffce27c410ee9fc76934fc26fe7767df6756933/script.sh

      On l’a travaillée à deux avec un membre d’une de mes boards torrent, on l’a testée à deux, et elle prends en charge du SFTP classique.

      • Marc

        Bonjour,

        J’ai fait l’installation avec le nouveau script que tu proposes de tester.

        Tout s’est bien passé mais dans l’interface rutorrent, je trouve aussi l’erreur : « Lien incorrect avec rTorrent. Vérifier qu’il est bien en cours d’exécution. Vérifier la configuration de $scgi_port et de $scgi_host dans config.php et scgi_port dans le fichier de configuration de rTorrent. »

        Faut-il utiliser un autre script ?

        • kai23

          Hello Marc ! Je vais lancer plusieurs tests dans la journée, je te tiens au courant

        • kai23

          Le script vient d’être complétement revu et mis à jour !

  • Dada

    Merci, tout fonctionne à merveille avec le dernier script, à part que dans rutorrent j’ai ça:

    Lien incorrect avec rTorrent. Vérifier qu’il est bien en cours
    d’exécution. Vérifier la configuration de $scgi_port et de $scgi_host
    dans config.php et scgi_port dans le fichier de configuration de
    rTorrent.

    Que faire?

    • kai23

      Hello ! Essaye peut être avec

      killall rtorrent
      screen -fn -dmS rtd nice -19 rtorrent

      Faut vraiment que je lance mes tests !

  • Dada

    ah et il ne me demande pas le mdl/user.
    dsl du double poste

    • kai23

      Le script vient d’être complètement revu et mis à jour !

  • Bastien Schwartz

    Yop suite a l’installation de ton script tout est nickel mais j’aimerais savoir si je peu mettre une frontpage avant h5ai ? genre un mettant un index.php a la base de /var/www/ ? si oui cool mais je ne peu pas transferer de fichier dans ce dossier la par ftp comment faire? :3 merchi

  • Arnaud Denisot

    Bonjour,
    Déjà félicitation et merci pour ce merveilleux script qui fonctionne à merveille. Je vais surement passer pour un noob mais je voudrai rajouter un utilisateur supplémentaire qui pourrait utiliser ma seedbox, mais je n’y arrive pas… avec l’ancien script j’avais juste eu à rajouter l’utilisateur désiré dans le .htpasswd et c’était bon mais la je ne trouve pas… si vous avez quelques lumières pour m’éclairer je suis preneur.

    • kai23

      Hello ! Je vais me pencher sur le sujet, et sûrement sortir un script qui permettra de faire ça tout simplement. Juste un peu de patience :)

      • Arnaud Denisot

        Yeah c’est cool ca, merci pour le boulot que tu fournit. Je vais surveiller le post. Bon courage. ;)

        • kai23

          Hello ! J’ai fait deux petits scripts qui font la création et la suppression d’un utilisateur. Tu pourras les trouver ici :

          https://github.com/kai23/linux-scripts

          À tester avec prudence !

          PS : Désolé pour l’instabilité du site, j’espère que ce sera réglé assez vite :-)

  • Darkbull

    Top ! Merci ! J’attends la suite avec impatience !

  • totau

    Bonjour et merci pour ce tuto qui est très pratique ;)
    j’ai cependant deux questions deja…

    1) si je tape l’ip du serveur, je tombe directement sur l’arborescence , sans login et mpd; est il possible de sécurisé cela?

    2)a l’arborescence donc, je n’ai pas le beau « h5ai » … j’ai pourtant bien suivi il me semble; une idée du comment refaire ?

    merci

    • kai23

      Hello ! Quelle version du script as-tu prise, l’ancienne ou la nouvelle ?

  • Thomas

    Bonjour,

    Merci pour ce script qui m’a pas mal aidé à tout installer correctement, car souvent j’obtenais une erreur dans rutorrent qui me signalait que rtorrent ne tournait pas… Bref !
    J’ai donc installé le script mais je m’aperçois que lorsque l’utilisateur accede au fichier par sftp, il a acces à tous les fichiers… Comment le bloquer dans son home ?
    Autre chose, j’aimerai ajouter cakebox pour lire les videos en streaming. Je pense avoir réussi l’installation puisque ce n’est pas vraiment une application, cependant lorsque je vais sur http://monadresse.con/cakebox je reste sur la page de h5ai. Je ne sais pas si ça vient de la redirection port 80 vers 443 ou d’un vhost ou du htaccess (pour le dernier je serai étonné puisqu »il y a que le strict minimum pour protéger un repertoire)
    Je vous remercie par avance.

    • kai23

      Hello ! Je te conseille de prendre la mise à jour du script que j’ai mise dans l’introduction, il est totalement remanié ! Je suis en train de réecrire le tutoriel pour qu’il reflete le nouveau, mais c’est long. En tout cas, merci de ton retour :)

  • x0nePeace

    Bonjour,

    Le script fonctionne parfaitement, très belle interface, merci !

    Par contre petit soucis quand je veux ajouter des utilisateurs, avec
    htpasswd -mb .htpasswd admin mdp

    Les autres utilisateurs n’arrivent pas à ce loguer, alors que je peux modifier autant de fois le mot de passe de mon pseudo ça fonctionne toujours, je ne comprend pas !

    Sinon beau boulot, continue comme ça !

    • kai23

      En effet, dans la nouvelle version du script, ça a complétément été changé. maintenant, c’est un :

      htpasswd -mbc /etc/apache2/.htpasswd $user $htpassword

      Pour des raisons de sécurité.
      Je suis en train de réecrire le tutoriel pour qu’il soit en correspondance avec le script, désolé du dérangement !

  • samsamir

    Super tuto, j’ai réussi à créer ma seedbox sans aucune base sur Linux.
    Par contre, je n’arrive pas à récupérer les fichiers héberger sur le serveur via ma freebox v6 (directement sur son disque dur pour ne pas laisser le pc allumer pendant le transfert). Le problème vient du fait que le lient vers mes fichiers se fait par HTTPS et non en FTP.
    Comment faire pour accéder à mes fichier sur le serveur en FTP ?
    J’ai essayé de remplacer HTTPS par FTP ou FTPS mais ça ne fonctionne pas.
    Merci d’avance.

    • kai23

      hello !en ce qui me concerne, j’ai aussi une Freebox V6, et lorsque j’ajoute un DL, je fait un téléchargement avancé, et dans l’authentification il suffit de mettre le user/password que tu as défini lors de la création de la seedbox.

      Sinon, pour avoir les liens de téléchargement direct (sans passer par l’auth), il suffit de taper :

      https://user:password@monsite.xxx/TBBT/01.avi

      Par exemple :)

      • samsamir

        Merci pour le conseil, j’avais trouvé de mon coté également.

        Cependant, je n’arrive pas a faire de copier coller sur la freebox au niveau du téléchargement avancé.
        Quelqu’un a une idée ?

        Merci d’avance.

  • Pingback: Blog de Kai23 » Voyage au centre de Kai23.fr » Blog de Kai23()

  • samsamir

    J’ai une petite question, peut on faire du streaming via le dédié avec ton script ?

    Chez Sdedi par exemple, il est possible de lancer une vidéo à partir du serveur, il suffit juste de faire un « copier l’adresse du lien » du fichier que l’on désir visionner et coller dans VLC, dans « lire un flux réseau ».

    Lorsque que j’applique cette méthode sur mon dédié, je n’arrive pas à lire mes vidéo.

    J’ai essayé de différente façon sans succès ( avec ou sans login et mdp, avec ou sans port…)

    Si c’est possible, qu’elle est l’URL à utilisé ?

    • samsamir

      Merci d’avance.

      • kai23

        Hello ! Pas de soucis pour moi en ce qui concerne VLC : je prends le lien sur le site, copie, colle, vais dans VLC media player, media -> ouvrir un flux réseau, je colle le lien et hop, il me demande si le certificat est bon et ensuite me demande le nom d’utilisateur / password, et ça marche. VLC 2.1.0

        • samsamir

          avec le https ?

          • samsamir

            Je viens de faire le test avec un autre fichier et ça fonctionne, le premier deconne.

            Merci encore.

  • echris

    Bonjour,
    J’ai dû réinstaller ton script pour divers raisons, et maintenant je n’arrive plus à me connecter, firefox m’indique cela :

    Une erreur est survenue pendant une connexion à xx.xx.xx.xx. Vous avez reçu un certificat invalide. Veuillez contacter l’administrateur du serveur ou votre correspondant de messagerie et fournissez-lui les informations suivantes : Votre certificat contient le même numéro de série qu’un autre certificat émis par l’autorité de certification. Veuillez vous procurer un nouveau certificat avec un numéro de série unique. (Code d’erreur : sec_error_reused_issuer_and_serial)

    La page que vous essayez de consulter ne peut pas être affichée car l’authenticité des données reçues ne peut être vérifiée.
    Veuillez contacter les propriétaires du site web pour les informer de ce problème. Vous pouvez également utiliser la commande dans le menu d’aide pour signaler un site non fonctionnel.

    As-tu une solution ?

    Merci

    • thephenix83

      supprime le cache de ton navigateur ainsi que le certificat

  • Gibraltar

    Salutation et Merci infiniment pour ce script :)
    Je l’ai installé en quelques minutes sur une dedibox online !
    Toutefois, je reçois réguliérement le message « La requête vers rTorrent a échoué ». Est ce du à la charge du serveur en raison de plusieurs torrent en download / upload ?

    Le cas échéant, vous sauriez me renseigner sur le paramétrage a effectuer pour que l’ensemble ne soit pas trop gourmand et réactif ? ^^

    • kai23

      Hello hello, et derien pour le script :-) Ça fait toujours plaisir d’avoir un retour positif.

      En ce qui concerne le message, malheureusement, je ne saurai trop te dire. Est-ce que ça arrive lorsque la seedbox est « au repos » (c’est à dire sans dl), et qu’est-ce que tu as mis comme paramètre pendant l’installation ?

      • Gibraltar

        Lors de la config, outre login et password j’ai indiqué le paramètre de chiffrement « normal »

        par contre je me suis apercu que le fichier /etc/apache2/apache2.conf n’avait pas la ligne « SCGIMount /RPC2 127.0.0.1:5000″ à la fin du fichier.

        Je l’ai rajouté et relancé apache et il semblerait que je n’ai plus le message cité plus haut et plus aucun message d’erreur rpc dans rutorrent.

        Je ne sais pas si c’est dû au hasard ^^ ca semble fonctionné maintenant :p

        • kai23

          Houhou parfait alors ! Merci pour la solution je pense que ça pourrait en aider certain !

  • Marc Payen

    bonjour

    déjà félicitation, peut tu me dire si sa fonctionne sur ubuntu?

    • Marc Payen

      bon je test, je suis un fou

      • kai23

        Hey ! Je veux bien connaître la configuration si tu l’as testée sur une ubuntu et que ça marche :)

        • Marc Payen

          non sa bug, marche mieux debian

  • Marc Payen

    j’ai rencontrer un petit problème, la seedbox a fais planter mon serveur (100% pross), simplement avec 3 torrent, j’ai pris un serveur chez online.net (dedibox sc)

    PK? j’ai juste la seedbox et un serveur teamspeak 3!

    • Calou

      Bonjour

      Merci kai23, grâce à toi, même un newbie comme moi s’en est sorti !

      @marc_payen:disqus As-tu trouvé la solution à ce problème de proco à 100% ?

      Je viens de finir mon install et j’ai exactement le même problème de plantage et avec seulement 2 torrents actifs :o(
      Merci

  • Hansi Kaarü

    Salut ! Et un grand merci merci pour ce script accomplit !

    Je cherche à allier celui ci avec owncloud.
    Tout s’installe correctement cependant il m’est impossible de me login. Vu que je n’y connais pas grand chose en php/mysql j’espere que quelqun pourra m’aider. Je sais que c’est un problème de owncloud mais si je trouve la solution je vous l’indiqueras ici.

    Pour le moment après avoir passé toute la soirée à chercher, iI semblerait que le problème vienne de de session.save_path présent dans le fichier php.ini issue etc/php5/apache2/
    Sous debian il indique aucun dossier de base. Ce qui peux poser problème.

    « If it helps, I solved my problem by changing permissions on sessions folder. You have to check in php configuration of server in which folder does sessions get saved and see if you have correct permissions on that folder »

    J’ai bien rajouter un dossier. Mais ca ne marche pas.. Je sais pas si je dois lui indiquer un endroit en particulier et quel permission lui donner. Demain j’essayerai de reinstaller tout mon server en installant en premier owncloud voir déjà si il marche tout seul.

    voilà. encore gg pour le beau scripts. le ssl vraiment le plus !

    • Hansi Kaarü

      Bon et bien j’ai essayé comme j’ai pu sans obtenir quoi que se soit. C’était quand même assez difficile sans connaitre grand chose et surtout sans déterminer véritablement le problème.

      Si il y a des prochains que s’attaqueront à la tache voilà un recap de ce qui se passe et ce que j’ai fait.

      j’ai d’abord essayé sur un kai23 d’installé OC, l’installation fonctionne mais il m’est impossible de m’y connecter.
      Puis j’ai installé OC sur un serveur nu qui fonctionnait très bien pour le coups. J’ai donc fait une installation de kai via le script. Hai charge correctement, rutorrent aussi, mais sur oc rien ne se passe lors du login. et pourtant il fait la bien différence entre un mauvais password et un bon.
      J’ai ensuite essayé de traficoter la config d’apache notamment kiwi dans le dossier conf.d et NOMDUDNS dans site-available.

      J’ai essayé de rajouter cela :

      Options Indexes FollowSymLinks Multiviews
      DirectoryIndex index.html index.php
      AllowOverride All
      Order allow,deny
      Allow from all

      http://forum.owncloud.org/viewtopic.php?f=3&t=4691
      mais j’obtiens tjrs le m^me résultat.

      je vais tenter un dernier truc. et sinon j’irais remettre cakebox :'( ca l’air de fonctionner.

      super script ceci dit !
      bye

      • kai23

        Hello ! Désolé de répondre aussi tard, as-tu réussi à installer OwnCloud ?

        • Hansi Kaarü

          Non et d’ailleurs sous cakebox j’ai un autre problème.
          Je peux me connecter avec l’admin ce que je pouvais pas faire avec ton script mais quand je creer des users je peux pas me connecter avec.

          je ressayerai se soir en enlevant zshrc.

          • Hansi Kaarü

            Bon j’ai ressayé avec ton scipt.
            d’après mes logs j’ai trouvé des corrections pr owncoud. c’est une erreur qui circule bcq en ce moment mais qui a du mal à être corrigé apparement. ;(

            c’est un problème qui apparaît lorsque 2 ‘applis’ protégés sont sur le même partie. Enfin j’ai rien compris. Auth basic contre owncloud.

            j’ai trouvé 1 solutions.

            https://github.com/owncloud/core/pull/6922
            https://github.com/owncloud/core/pull/6922/files

            chez moi ca fait des truc très bizarre. maintenant quand je me connecte à owncloud il me demande le mot de passe comme lorsque je veux me connecter à mon serveur. mais il accepte pas mes login. et quand j’annule il me charge la page à moitier sans l’interface graphique et je ne peux rien faire.

            je comprends rien. je pense que j’attendrai une correction ultérieur.
            Pourtant j’ai l’impression d’être vraiment à coté du but …

          • kai23

            T’y es vraiment presque ! Courage !

          • Hansi Kaarü

            Yop j’ai pas mal avancé dans la compréhension du problème.
            En fait l’erreur vient lorsque plusieurs applications sont présentes dans un dossier ( ici www ? ) qui utilise une basic authentification. Owncloud dans ce cas cherche à ce que l’utilisateur corresponde au login du serveur.
            Sous cakebox je pouvais rentrer en admin dans owncloud car par default le login du serveur était admin.

            J’ai essayé les solutions proposé sur git OC mais cela ne fonctionne pas.
            J’ai donc cherché et trouvé une autre solution qui est bien plus simple et pratique sur le papier. C’est celle d’installer owncloud ailleurs que dans le dossier protégé par la basic auth pour faire un alias sur le nom de domaine. Dans ce cas owncloud n’est pas protégé par un mot de passe et la correspondance n’existe pas.

            Mon problème est que dans le tuto celui ci utilise lighttpd et je sais pas quoi changer dans les configs apache. (http://mondedie.fr/discussion/comment/4673)

            Voilà ce que j’ai écris en regardant la doc de apache :

            http://pastebin.com/zgQgYAJn

            Suis – je trompé sur le port ? est ce que cela semble correcte. La basic authentification est elle bien appliqué au dossier www ? Et donc par déduction puis je installer owncloud dans le dossier.var.

            Je suis pas très à l’aise avec apache et linux mais si j’arrivai à installer owncloud se serai super ! j’ai aucune envie d’aller sur cakebox !

          • kai23

            En effet, tu peux faire en mettant owncloud ailleurs. C’est par exemple ce que j’ai fait pour http://ap.kai23.fr

            Le virtualhost est très simple à mettre en place. Il te suffit d’aller dans /etc/apache2/ et d’éditer le fichier « apache2.conf ».

            Dedans, tu peux y mettre quelque chose comme ça :

            DocumentRoot /home/xxxxx/owncloud # chemin vers le dossier owncloud
            ServerName owncloud.xxxxx.fr # le sous-domaine que tu souhaites créer

            EDIT : Je viens de tester, et ça marche super bien. Il faut juste bien penser à faire un

            chown -R www-data:www-data /chemin/vers/owncloud

            EDIT 2 : Tu peux même ajouter facilement le dossier downloads dedans :

            ln -s /var/www/downloads /chemin/vers/owncloud/data/xxx/files

            :)

          • Hansi Kaarü

            pfff j’y arrive pas … j’en est tellement marre .
            Je sais pas comment tu as procédé pour installer oc moi j’ai suivi la méthode manuel.
            Dl le .tar, extrait et déplacé dans le dossier que je voulais ( /var/ )

            puis j’ai rajouté ça donc dans apache2.conf
            http://pastebin.com/jVfBnTW4

            puis lancer l’installe

            Je lance linstallation et me vilà avec le même probleme du login qui ne se log pas.
            j’en peux vraiment plus si tu peux juste me détailler ce qui tu as indiqué dans apache2.conf je te revaudrai ca :).

          • kai23
          • Hansi Kaarü

            merci ! j’essaye après manger.. et comme ca si tu essaye de rajotuer un user sur owncloud peux tu te loguer avec ! ?

          • kai23

            Ouai’p !

          • Hansi Kaarü

            je viens d’essayer, j’ai du rajouter
            Alias /owncloud « /home/kiwi/owncloud » pour arriver accéder à oc.
            si non lorsque je rajoute un utilisateur je ne peux pas y accéder.
            va savoir pourquoi… je vais m’arrêter là car j’en est ma claque.

          • kai23

            Alright. Désolé de pas pouvoir t’aider plus :/

  • thephenix83

    Hello Kai23, voila online ma changer le serveur, je l’ai passé en Raid 0, j’ai mis débian 7 64bits, avec les drivers de la carte raid. Et j’ai installé via ton script, etape par étape. Impeccable tout a fonctionné. Donc c’était bien un soucis sur l’autre serveur. La je copie tout mes fichier du petit serveur vers celui -ci.
    J’ai du autorisé le root par ssh pour ça. Bon suis content avec 2To de dd et un xeon e3 4 coeur, 8go de ram ça vas blaster sévère le serveur.
    Tu devrais mettre ton tuto et ton script sur le fofo de gks, dans le wiki
    merci en core kai23

    • thephenix83

      Pour info j’ai eu un soucis avec .zshrc , ce fichier etait dans le dossier root. Quand je me logué en ssh en utilisateur, puis que je passais en root j’avais des erreurs :

      /root/.zshrc:3: command not found: ^M
      /root/.zshrc:9: command not found: ^M
      /root/.zshrc:13: command not found: ^M
      /root/.zshrc:16: command not found: ^M
      /root/.zshrc:19: command not found: ^M
      /root/.zshrc:22: command not found: ^M
      /root/.zshrc:25: command not found: ^M
      /root/.zshrc:28: command not found: ^M
      /root/.zshrc:31: command not found: ^M
      /root/.zshrc:35: command not found: ^M
      /root/.zshrc:36: command not found: ^M
      /root/.zshrc:source:37: aucun fichier ou dossier de ce type: /root/.oh-my-zsh^M/oh-my-zsh.sh^M
      /root/.zshrc:38: command not found: ^M
      /root/.zshrc:41: command not found: ^M
      /root/.zshrc:42: command not found: ^M
      /root/.zshrc:52: command not found: ^M
      /root/.zshrc:59: command not found: ^M
      /root/.zshrc:94: parse error near `in^M’

      et certaine commande marchais plus (genre df).

      finalement j’ai renomé ce fichier en .bak, ça a l’air d’avoir résolu le problème.

      Mais bon je sais pas si c’est la bonne méthode.

      Question y a t’il moyen de revenir au shell d’origine et pas celui de Oh-My-ZSH

      merci

      • Hansi Kaarü

        Mais j’ai exactement le même problème. sudo, mkdir et d’autres ne fonctionnaient plus. C’est surement pour ca que owncloud n’arrivait pas à s’installer correctement car il utilise dans son code php la viable PATH qui renvoit vers des dossier ou sont les commandes. notamment ZSH et bcq ne fonctionnait pas !

        http://formation-debian.via.ecp.fr/shell.html

      • kai23

        En fait, je viens de tester et j’ai eu le même problème. Je vais corriger le script, en attendant, il suffit juste de supprimer le « .zshrc » (à la raine de votre home), et de remplacer le zshrc. Ensuite, vous pourrez choisir un thème ici : https://github.com/robbyrussell/oh-my-zsh/wiki/themes

        cd
        rm .zshrc
        cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

        • Hansi Kaarü

          comment est ce que tu remplace zshrc ?

          • kai23

            En supprimant le fichier « .zshrc » , et en en reprenant un autre. Ce fichier et situé à la racine du home directory.

            Donc en faisant les commandes ci dessus, ça devrait marcher.

  • JFourreTout

    Hello,

    Ça fonctionne parfaitement pour moi.. néanmoins quand je vais sur le site sousdomaine.domaine.fr dans la barre d’url ça se transforme en mon adresse IP :/ J’ai bien rajouté NameServer dans la config Apache mais ça donne rien.. si t’as une idée..

    • kai23

      Il me semble que c’est plutôt « ServerName » non ? :)

      • JFourreTout

        Yes erreur de frappe mais toujours ce souci.. je pense que c’est plutôt une histoire avec /etc/hostname, je vais tester ça ce soir!

      • JFourreTout

        Bon bah pas de changement.. ton script m’affiche bien vous pouvez vous connecter à .. et n’a pas l’air de reconnaître mon dns

      • JFourreTout

        #SSL

        ServerAdmin admin@kim.sufi
        DocumentRoot /var/www
        ServerName https://$IP

        Options FollowSymLinks
        AllowOverride None

        Options FollowSymLinks ExecCGI
        AllowOverride All
        Order allow,deny
        allow from All

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined

        # Enable/Disable SSL for this virtual host.
        SSLEngine on
        SSLCertificateFile /etc/ssl/certs/server.crt
        SSLCertificateKeyFile /etc/ssl/certs/server.key

        SSLOptions +StdEnvVars

        SSLOptions +StdEnvVars

        BrowserMatch « MSIE [2-6] »
        nokeepalive ssl-unclean-shutdown
        downgrade-1.0 force-response-1.0
        # MSIE 7 and newer should be able to use keepalive
        BrowserMatch « MSIE [7-9] » ssl-unclean-shutdown

        Options All
        AllowOverride All
        AuthName « Private »
        AuthType Basic
        AuthUserFile /etc/apache2/.htpasswd
        Require user $user
        Order allow,deny
        Allow from All

        Options All
        AllowOverride All
        AuthName « Private »
        AuthType Basic
        AuthUserFile /etc/apache2/.htpasswd
        Require user $user
        Order allow,deny
        Allow from All

        c’est ou ce fichier ?

  • Moklu

    Bonjour,

    Tout d’abord, je tiens à te remercier pour ce script qui est bien pratique.

    Ensuite, j’ai un petit problème car je souhaiterais faire coexister un site web et la seedbox sur mon serveur mais du fait de l’authentification pour la seedbox tout le dossier var/www est protégé par un mot de passe ce qui est pas pratique pour un site web.

    Donc, j’aimerais savoir, s’il était possible de déplacer les dossiers de la seedbox (_h5ai, download et rutorrent) dans un autre dossier et de mettre l’authentification et le https que pour ce nouveau dossier.

    Ce qui donnerais par exemple:

    var/www/torrent/_h5ai download rutorrent (avec https et protection par mot de passe)
    var/www/mon_site (sans https et mot de passe)

    Je vous remercie par avance pour vos réponses avec exemple, s’il vous plaît, car je suis débutant en administration de serveur.

  • Joon

    Hello!

    Comptes-tu proposer une update de ton script?
    Permettant par exemple de taper juste une commande pour supprimer/ajouter un user. Oum soyons fou, que l’option apparaisse dans l’interface Web.
    Ou encore l’ajout d’un client usenet NZBGet apparaissant dans h5ai également.

    Cordialement,
    Jonathan

  • Leophos

    Salut,
    Tout d’abord merci beaucoup pour le travail que tu as fourni pour le script :)
    Cependant j’ai rencontré un problème :
    J’ai d’abord essayé sur une machine virtuelle sur virtualbox, tout a fonctionné sans aucun problème.
    En revanche, une fois exécuté sur mon serveur dédié et l’installation finie, le serveur web ne fonctionne pas … Le navigateur me met que la page est introuvable.
    Aurais tu idée d’où peut venir ce problème ?
    Merci d’avance.

  • Penero

    Après plusieurs essais infructueux, j’ai constaté que certains providers de serveurs dédiés brident les entrées de wget aux certificats reconnus, ce qui n’est pas le cas ici.

    Pour installer correctement le script global, il vaut mieux taper:

    wget –no-check-certificate https://raw.github.com/kai23/linux-scripts/master/script.sh

    Merci pour ton script génial.