[{"data":1,"prerenderedAt":1301},["ShallowReactive",2],{"blog-\u002Fblog\u002Fconfigurer-interface-web-rutorrent-avec-apache2":3,"blog-\u002Fblog\u002Fconfigurer-interface-web-rutorrent-avec-apache2-surround":1244,"blog-\u002Fblog\u002Fconfigurer-interface-web-rutorrent-avec-apache2-certifications":1300},{"id":4,"title":5,"body":6,"categories":1233,"cover":1234,"cover_contain":468,"credly_badge_id":1233,"date":1235,"description":1236,"extension":1237,"meta":1238,"navigation":468,"path":1239,"related_certifications":1233,"seo":1240,"slug":1241,"stem":1242,"__hash__":1243},"blog\u002Fblog\u002Fconfigurer-interface-web-rutorrent-avec-apache2.md","Configurer l’interface web de ruTorrent avec Apache2",{"type":7,"value":8,"toc":1220},"minimark",[9,14,18,22,66,71,84,112,115,144,161,165,176,192,195,232,284,287,293,297,303,317,320,334,351,413,416,420,423,432,572,583,782,799,803,819,837,846,862,874,878,900,1126,1132,1136,1153,1165,1168,1187,1190,1203,1209,1213,1216],[10,11,13],"h2",{"id":12},"cas-dusage-concret","Cas d'usage concret",[15,16,17],"p",{},"Vous voulez piloter vos téléchargements depuis un navigateur : voici comment configurer l'interface web de ruTorrent avec Apache2.",[10,19,21],{"id":20},"linterface-de-rutorrent","L’interface de rutorrent",[15,23,24,28,29,32,33,36,37,40,41,44,45,48,49,52,53,55,56,58,59,62,63,65],{},[25,26,27],"strong",{},"RuTorrent"," est une ",[25,30,31],{},"interface"," ",[25,34,35],{},"web"," ou plus simplement une page web dynamique.",[38,39],"br",{},"\nElle restitue sur le web, le client ",[25,42,43],{},"BitTorrent"," nommé : ",[25,46,47],{},"rTorrent"," (utilisable uniquement en ",[25,50,51],{},"CLI",").",[38,54],{},"\nOn parle généralement du couple : ",[25,57,47],{},"\u002F",[25,60,61],{},"ruTorrent"," et ils sont développés indépendamment.",[38,64],{},"\nJe les découvert en 2011 avec la version 3, libre et performante, façonnez-la à votre image!",[67,68,70],"h3",{"id":69},"les-pré-requis-pour-adopter-rutorrent","Les pré-requis pour adopter ruTorrent",[15,72,73,74,77,78,80,81,83],{},"Avant de vous lancer dans l’installation de cette interface, il vous faudra utiliser un ",[25,75,76],{},"serveur web","!",[38,79],{},"\nAussi, n’oubliez pas que ruTorrent fonctionne uniquement avec le client BitTorrent : rTorrent.",[38,82],{},"\nJe vous conseille, d’avoir les éléments suivant installés et fonctionnels sur votre serveur Linux :",[85,86,87,95,101],"ul",{},[88,89,90,91,94],"li",{},"Le serveur web en fonctionnement : ",[25,92,93],{},"Apache2"," (dans notre cas).",[88,96,97,98,100],{},"Le client BitTorrent : ",[25,99,47],{}," configuré pour un seul utilisateur.",[88,102,103,104,107,108,111],{},"Une ",[25,105,106],{},"distribution Linux"," à jour et de préférence en version stable (",[25,109,110],{},"Ubuntu LTS"," par exemple).",[15,113,114],{},"Une dernière chose, voici les dépendances requises pour installer rutorrent.",[116,117,122],"pre",{"className":118,"code":119,"language":120,"meta":121,"style":121},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight"," apt-get install subversion libapache2-mod-scgi\n","bash","",[123,124,125],"code",{"__ignoreMap":121},[126,127,130,134,138,141],"span",{"class":128,"line":129},"line",1,[126,131,133],{"class":132},"sBMFI"," apt-get",[126,135,137],{"class":136},"sfazB"," install",[126,139,140],{"class":136}," subversion",[126,142,143],{"class":136}," libapache2-mod-scgi\n",[15,145,146,147,150,151,154,155,157],{},"Le paquet ",[25,148,149],{},"subversion"," va servir pour l’installation et  la mise à niveau de rutorrent, tandis que ",[25,152,153],{},"libapache2-mod-scgi"," va permettre d’interagir avec rtorrent.",[38,156],{},[158,159,160],"em",{},"L’installation et la configuration se déroule dans le répertoire par défaut : \u002Fvar\u002Fwww",[10,162,164],{"id":163},"installation-de-rutorrent","Installation de ruTorrent",[15,166,167,168,171,172,175],{},"L’installation est très simple, nous allons télécharger les ",[25,169,170],{},"dépôts"," sur le ",[25,173,174],{},"SVN",".",[116,177,179],{"className":118,"code":178,"language":120,"meta":121,"style":121},"svn co http:\u002F\u002Frutorrent.googlecode.com\u002Fsvn\u002Ftrunk\u002Frutorrent\n",[123,180,181],{"__ignoreMap":121},[126,182,183,186,189],{"class":128,"line":129},[126,184,185],{"class":132},"svn",[126,187,188],{"class":136}," co",[126,190,191],{"class":136}," http:\u002F\u002Frutorrent.googlecode.com\u002Fsvn\u002Ftrunk\u002Frutorrent\n",[15,193,194],{},"Une fois les dépôts téléchargés, on retrouve l’arborescence suivante dans le dossier « rutorrent » :",[116,196,198],{"className":118,"code":197,"language":120,"meta":121,"style":121},"conf  css  favicon.ico  images  index.html  js  lang  php  plugins  share\n",[123,199,200],{"__ignoreMap":121},[126,201,202,205,208,211,214,217,220,223,226,229],{"class":128,"line":129},[126,203,204],{"class":132},"conf ",[126,206,207],{"class":136}," css ",[126,209,210],{"class":136}," favicon.ico ",[126,212,213],{"class":136}," images ",[126,215,216],{"class":136}," index.html ",[126,218,219],{"class":136}," js ",[126,221,222],{"class":136}," lang ",[126,224,225],{"class":136}," php ",[126,227,228],{"class":136}," plugins ",[126,230,231],{"class":136}," share\n",[85,233,234,241,247,254,260,266,272,278],{},[88,235,236,237,240],{},"Le répertoire « ",[25,238,239],{},"conf"," » contient l’ensemble de la configuration de ruTorrent mis à part plugins.",[88,242,236,243,246],{},[25,244,245],{},"css"," »  contient la configuration des règles CSS de ruTorrent.",[88,248,249,250,253],{},"La répertoire « ",[25,251,252],{},"images"," » contient l’ensemble les favicons et différentes icônes issues de ruTorrent.",[88,255,236,256,259],{},[25,257,258],{},"js"," » contient le code java script qui permet de modifier le fonctionnement de ruTorrent.",[88,261,236,262,265],{},[25,263,264],{},"lang"," » contient + de 20 langues différentes.",[88,267,236,268,271],{},[25,269,270],{},"php »"," contient le code en php qui influe sur l’affichage dynamique des contenus.",[88,273,236,274,277],{},[25,275,276],{},"plugins"," » est dédié au plugin de ruTorrent, il en existe une multitude!",[88,279,236,280,283],{},[25,281,282],{},"share"," » est utilisé généralement pour la gestion et la configuration des utilisateurs.",[15,285,286],{},"L’interface de ruTorrent ressemble à ceci :",[15,288,289],{},[290,291],"img",{"alt":121,"src":292},"\u002Fimages\u002Fblog\u002Fconfigurer-interface-web-rutorrent-avec-apache2\u002Fddd13f539c.png",[10,294,296],{"id":295},"installation-de-plugin","Installation de plugin",[15,298,299,300,302],{},"Rendez vous dans le répertoire ",[25,301,276],{}," de ruTorrent :",[116,304,306],{"className":118,"code":305,"language":120,"meta":121,"style":121},"cd \u002Fvar\u002Fwww\u002Frutorrent\u002Fplugins\n",[123,307,308],{"__ignoreMap":121},[126,309,310,314],{"class":128,"line":129},[126,311,313],{"class":312},"s2Zo4","cd",[126,315,316],{"class":136}," \u002Fvar\u002Fwww\u002Frutorrent\u002Fplugins\n",[15,318,319],{},"Ensuite, il ne vous restera plus qu’a suivre ce schéma :",[116,321,323],{"className":118,"code":322,"language":120,"meta":121,"style":121},"svn co http:\u002F\u002Frutorrent.googlecode.com\u002Fsvn\u002Ftrunk\u002Fplugins\u002FPLUGIN_NAME\n",[123,324,325],{"__ignoreMap":121},[126,326,327,329,331],{"class":128,"line":129},[126,328,185],{"class":132},[126,330,188],{"class":136},[126,332,333],{"class":136}," http:\u002F\u002Frutorrent.googlecode.com\u002Fsvn\u002Ftrunk\u002Fplugins\u002FPLUGIN_NAME\n",[15,335,336,337,340,341,348,350],{},"Les ",[25,338,339],{},"plugins de ruTorrent"," sont disponibles sur le ",[342,343,347],"a",{"href":344,"rel":345},"http:\u002F\u002Fcode.google.com\u002Fp\u002Frutorrent\u002Fwiki\u002FPlugins",[346],"nofollow","wiki officiel.",[38,349],{},"\nJe vous recommande d’utiliser les plugins et notamment ceux de cette liste qui sont vraiment intéressants :",[85,352,353,359,365,371,377,383,389,395,401,407],{},[88,354,355,358],{},[25,356,357],{},"Cookies"," : permet de stocker des cookies d’un site tiers.",[88,360,361,364],{},[25,362,363],{},"Diskspace"," : affiche l’état actuel de votre partition, on parle du home directory.",[88,366,367,370],{},[25,368,369],{},"Cpuload"," : affiche le CPU avec un temps de X secondes.",[88,372,373,376],{},[25,374,375],{},"Erasedata"," : le menu contextuel du clic droit se voit ajouté : effacer et supprimer les données.",[88,378,379,382],{},[25,380,381],{},"Trafic"," : permet de suivre l’évolution dans le temps du débit d’un fichier ajouté.",[88,384,385,388],{},[25,386,387],{},"Getdir"," :  permet le téléchargement du fichier en direct download.",[88,390,391,394],{},[25,392,393],{},"Loginmgr"," : ajoute un bouton de déconnexion dans le menu principal.",[88,396,397,400],{},[25,398,399],{},"Extsearch"," : une panoplie de nouveaux trackers sont disponibles dans la recherche ruTorrent.",[88,402,403,406],{},[25,404,405],{},"Goip"," : permet de faire un whois sur un client précis (uploader\u002Fdownloader).",[88,408,409,412],{},[25,410,411],{},"Noty"," : permet d’afficher une petite pop-up sur votre interface lors de l’ajout d’un torrent.",[15,414,415],{},"Il existe une multitude d’autres plugins disponibles sur le web, le mieux reste encore de les développer soi-même.",[10,417,419],{"id":418},"configurer-votre-vhost","Configurer votre vhost",[15,421,422],{},"Les vhost sont importants, ne les négligez pas. En voici deux versions (http et https):",[85,424,425],{},[88,426,427,428,431],{},"Un ",[25,429,430],{},"vhost http"," :",[116,433,435],{"className":118,"code":434,"language":120,"meta":121,"style":121},"ServerName mon_domaine.tld\n   ServerAdmin webmaster@localhost\n   DocumentRoot \u002Fvar\u002Fwww\u002F\n\n   Redirect permanent \u002F https:\u002F\u002Fmon_domaine.tld\n\n   Options Indexes FollowSymLinks MultiViews\n   AllowOverride None\n   Order allow,deny\n   allow from all\n        \n   ErrorLog \u002Fvar\u002Flog\u002Fapache2\u002Ferror.log\n   LogLevel warn\n   CustomLog \u002Fvar\u002Flog\u002Fapache2\u002Faccess.log combined\n",[123,436,437,445,454,463,470,485,490,505,514,523,535,542,551,560],{"__ignoreMap":121},[126,438,439,442],{"class":128,"line":129},[126,440,441],{"class":132},"ServerName",[126,443,444],{"class":136}," mon_domaine.tld\n",[126,446,448,451],{"class":128,"line":447},2,[126,449,450],{"class":132},"   ServerAdmin",[126,452,453],{"class":136}," webmaster@localhost\n",[126,455,457,460],{"class":128,"line":456},3,[126,458,459],{"class":132},"   DocumentRoot",[126,461,462],{"class":136}," \u002Fvar\u002Fwww\u002F\n",[126,464,466],{"class":128,"line":465},4,[126,467,469],{"emptyLinePlaceholder":468},true,"\n",[126,471,473,476,479,482],{"class":128,"line":472},5,[126,474,475],{"class":132},"   Redirect",[126,477,478],{"class":136}," permanent",[126,480,481],{"class":136}," \u002F",[126,483,484],{"class":136}," https:\u002F\u002Fmon_domaine.tld\n",[126,486,488],{"class":128,"line":487},6,[126,489,469],{"emptyLinePlaceholder":468},[126,491,493,496,499,502],{"class":128,"line":492},7,[126,494,495],{"class":132},"   Options",[126,497,498],{"class":136}," Indexes",[126,500,501],{"class":136}," FollowSymLinks",[126,503,504],{"class":136}," MultiViews\n",[126,506,508,511],{"class":128,"line":507},8,[126,509,510],{"class":132},"   AllowOverride",[126,512,513],{"class":136}," None\n",[126,515,517,520],{"class":128,"line":516},9,[126,518,519],{"class":132},"   Order",[126,521,522],{"class":136}," allow,deny\n",[126,524,526,529,532],{"class":128,"line":525},10,[126,527,528],{"class":132},"   allow",[126,530,531],{"class":136}," from",[126,533,534],{"class":136}," all\n",[126,536,538],{"class":128,"line":537},11,[126,539,541],{"class":540},"sTEyZ","        \n",[126,543,545,548],{"class":128,"line":544},12,[126,546,547],{"class":132},"   ErrorLog",[126,549,550],{"class":136}," \u002Fvar\u002Flog\u002Fapache2\u002Ferror.log\n",[126,552,554,557],{"class":128,"line":553},13,[126,555,556],{"class":132},"   LogLevel",[126,558,559],{"class":136}," warn\n",[126,561,563,566,569],{"class":128,"line":562},14,[126,564,565],{"class":132},"   CustomLog",[126,567,568],{"class":136}," \u002Fvar\u002Flog\u002Fapache2\u002Faccess.log",[126,570,571],{"class":136}," combined\n",[85,573,574],{},[88,575,427,576,579,580,431],{},[25,577,578],{},"vhost"," sécurisé en ",[25,581,582],{},"https",[116,584,586],{"className":118,"code":585,"language":120,"meta":121,"style":121},"ServerName mon_domaine.tld\n  ServerAdmin webmaster@localhost\n  DocumentRoot \u002Fvar\u002Fwww\u002Frutorrent\n        \n  SSLEngine on\n  SSLCertificateFile \u002Fetc\u002Fapache2\u002Fssl\u002Fssl.crt\n  SSLCertificateKeyFile \u002Fetc\u002Fapache2\u002Fssl\u002Fssl.key\n        \n  Options Indexes FollowSymLinks MultiViews\n   AllowOverride None\n   Order allow,deny\n   allow from all\n        \n\n  ErrorLog \u002Fvar\u002Flog\u002Fapache2\u002Ferror.log\n   LogLevel warn\n   CustomLog \u002Fvar\u002Flog\u002Fapache2\u002Faccess.log combined\n        \n   AuthType Digest\n   AuthName \"votre_texte\"\n\n   AuthDigestProvider file\n   AuthUserFile \u002Fetc\u002Fapache2\u002Fpasswords\n   Require valid-user\n   SetEnv R_ENV \"\u002Fvar\u002Fwww\u002F\"\n",[123,587,588,594,601,609,613,621,629,637,641,652,658,664,672,676,680,688,695,704,709,718,734,739,748,757,766],{"__ignoreMap":121},[126,589,590,592],{"class":128,"line":129},[126,591,441],{"class":132},[126,593,444],{"class":136},[126,595,596,599],{"class":128,"line":447},[126,597,598],{"class":132},"  ServerAdmin",[126,600,453],{"class":136},[126,602,603,606],{"class":128,"line":456},[126,604,605],{"class":132},"  DocumentRoot",[126,607,608],{"class":136}," \u002Fvar\u002Fwww\u002Frutorrent\n",[126,610,611],{"class":128,"line":465},[126,612,541],{"class":540},[126,614,615,618],{"class":128,"line":472},[126,616,617],{"class":132},"  SSLEngine",[126,619,620],{"class":136}," on\n",[126,622,623,626],{"class":128,"line":487},[126,624,625],{"class":132},"  SSLCertificateFile",[126,627,628],{"class":136}," \u002Fetc\u002Fapache2\u002Fssl\u002Fssl.crt\n",[126,630,631,634],{"class":128,"line":492},[126,632,633],{"class":132},"  SSLCertificateKeyFile",[126,635,636],{"class":136}," \u002Fetc\u002Fapache2\u002Fssl\u002Fssl.key\n",[126,638,639],{"class":128,"line":507},[126,640,541],{"class":540},[126,642,643,646,648,650],{"class":128,"line":516},[126,644,645],{"class":132},"  Options",[126,647,498],{"class":136},[126,649,501],{"class":136},[126,651,504],{"class":136},[126,653,654,656],{"class":128,"line":525},[126,655,510],{"class":132},[126,657,513],{"class":136},[126,659,660,662],{"class":128,"line":537},[126,661,519],{"class":132},[126,663,522],{"class":136},[126,665,666,668,670],{"class":128,"line":544},[126,667,528],{"class":132},[126,669,531],{"class":136},[126,671,534],{"class":136},[126,673,674],{"class":128,"line":553},[126,675,541],{"class":540},[126,677,678],{"class":128,"line":562},[126,679,469],{"emptyLinePlaceholder":468},[126,681,683,686],{"class":128,"line":682},15,[126,684,685],{"class":132},"  ErrorLog",[126,687,550],{"class":136},[126,689,691,693],{"class":128,"line":690},16,[126,692,556],{"class":132},[126,694,559],{"class":136},[126,696,698,700,702],{"class":128,"line":697},17,[126,699,565],{"class":132},[126,701,568],{"class":136},[126,703,571],{"class":136},[126,705,707],{"class":128,"line":706},18,[126,708,541],{"class":540},[126,710,712,715],{"class":128,"line":711},19,[126,713,714],{"class":132},"   AuthType",[126,716,717],{"class":136}," Digest\n",[126,719,721,724,728,731],{"class":128,"line":720},20,[126,722,723],{"class":132},"   AuthName",[126,725,727],{"class":726},"sMK4o"," \"",[126,729,730],{"class":136},"votre_texte",[126,732,733],{"class":726},"\"\n",[126,735,737],{"class":128,"line":736},21,[126,738,469],{"emptyLinePlaceholder":468},[126,740,742,745],{"class":128,"line":741},22,[126,743,744],{"class":132},"   AuthDigestProvider",[126,746,747],{"class":136}," file\n",[126,749,751,754],{"class":128,"line":750},23,[126,752,753],{"class":132},"   AuthUserFile",[126,755,756],{"class":136}," \u002Fetc\u002Fapache2\u002Fpasswords\n",[126,758,760,763],{"class":128,"line":759},24,[126,761,762],{"class":132},"   Require",[126,764,765],{"class":136}," valid-user\n",[126,767,769,772,775,777,780],{"class":128,"line":768},25,[126,770,771],{"class":132},"   SetEnv",[126,773,774],{"class":136}," R_ENV",[126,776,727],{"class":726},[126,778,779],{"class":136},"\u002Fvar\u002Fwww\u002F",[126,781,733],{"class":726},[15,783,784,785,788,789,32,792,175],{},"N’oubliez pas de générer un ",[25,786,787],{},"certificat auto-signé"," ou bien d’utiliser un ",[25,790,791],{},"certificat gratuit",[342,793,796],{"href":794,"rel":795},"https:\u002F\u002Fcert.startcom.org\u002F?lang=fr",[346],[25,797,798],{},"startcom",[10,800,802],{"id":801},"sécurité-de-base-sur-rutorrent","Sécurité de base sur ruTorrent",[15,804,805,806,809,810,812,813,816,817,431],{},"Votre serveur peut être exposé aux yeux de tous sur le web, l’ajout d’un ",[25,807,808],{},"htaccess"," est recommandé.",[38,811],{},"\nLe cas le plus pratique pour cela est l’option ",[25,814,815],{},"htdigest"," d’",[25,818,93],{},[116,820,822],{"className":118,"code":821,"language":120,"meta":121,"style":121},"htdigest \u002Fetc\u002Fapache2\u002Fpasswords votre_texte ffonaissak\n",[123,823,824],{"__ignoreMap":121},[126,825,826,828,831,834],{"class":128,"line":129},[126,827,815],{"class":132},[126,829,830],{"class":136}," \u002Fetc\u002Fapache2\u002Fpasswords",[126,832,833],{"class":136}," votre_texte",[126,835,836],{"class":136}," ffonaissak\n",[15,838,839,840,175,843,845],{},"Le résultat de la commande est enregistré dans le fichier ",[25,841,842],{},"passwords",[38,844],{},"\nIl vous faudra modifier la valeur suivante dans votre vhost (https):",[116,847,849],{"className":118,"code":848,"language":120,"meta":121,"style":121},"AuthName \"votre_texte\"\n",[123,850,851],{"__ignoreMap":121},[126,852,853,856,858,860],{"class":128,"line":129},[126,854,855],{"class":132},"AuthName",[126,857,727],{"class":726},[126,859,730],{"class":136},[126,861,733],{"class":726},[15,863,864,865,867,868,58,871,175],{},"A l’ouverture de ",[25,866,61],{},", il vous est alors possible de mettre votre couple : ",[25,869,870],{},"login",[25,872,873],{},"password",[10,875,877],{"id":876},"configurer-plusieurs-utilisateurs","Configurer plusieurs utilisateurs",[15,879,880,881,883,884,816,887,889,890,893,894,175,897,899],{},"Il est possible d’avoir plusieurs comptes sur ruTorrent et c’est franchement génial!",[38,882],{},"\nLa configuration ",[25,885,886],{},"SCGI",[25,888,93],{}," et la structure de ruTorrent permettent les ",[25,891,892],{},"multi","–",[25,895,896],{},"utilisateurs",[38,898],{},"\nNous allons configurer un second utilisateur en plus de celui déjà existant.",[901,902,903,914,982,1003,1077],"ol",{},[88,904,905,906,909,910,913],{},"Ajoutez le ",[25,907,908],{},"second utilisateur"," avec la ",[25,911,912],{},"commande htdigest"," vue précédemment.",[88,915,916,917,919,920,58,923,175,926,939,336,941,944,945,947,948],{},"Ajoutez vos différents ",[25,918,886],{}," afin que ",[25,921,922],{},"rtorrent",[25,924,925],{},"rutorrent communique",[116,927,929],{"className":118,"code":928,"language":120,"meta":121,"style":121},"nano \u002Fetc\u002Fapache2\u002Fapache2.conf\n",[123,930,931],{"__ignoreMap":121},[126,932,933,936],{"class":128,"line":129},[126,934,935],{"class":132},"nano",[126,937,938],{"class":136}," \u002Fetc\u002Fapache2\u002Fapache2.conf\n",[38,940],{},[25,942,943],{},"montages"," des ",[25,946,886],{}," seront renseignés à la fin du fichier, comme ceci :",[116,949,951],{"className":118,"code":950,"language":120,"meta":121,"style":121},"SCGIMount \u002FRPC2 127.0.0.1:5000\nSCGIMount \u002FRPC3 127.0.0.1:5001\nservername localhost\n",[123,952,953,964,974],{"__ignoreMap":121},[126,954,955,958,961],{"class":128,"line":129},[126,956,957],{"class":132},"SCGIMount",[126,959,960],{"class":136}," \u002FRPC2",[126,962,963],{"class":136}," 127.0.0.1:5000\n",[126,965,966,968,971],{"class":128,"line":447},[126,967,957],{"class":132},[126,969,970],{"class":136}," \u002FRPC3",[126,972,973],{"class":136}," 127.0.0.1:5001\n",[126,975,976,979],{"class":128,"line":456},[126,977,978],{"class":132},"servername",[126,980,981],{"class":136}," localhost\n",[88,983,984,985,990],{},"Configurez l’utilisateur numéro 2  dans ",[158,986,987],{},[25,988,989],{},"\u002Fvar\u002Fwww\u002Frutorrent\u002Fconf\u002Fusers\u002F",[116,991,993],{"className":118,"code":992,"language":120,"meta":121,"style":121},"mkdir user2\n",[123,994,995],{"__ignoreMap":121},[126,996,997,1000],{"class":128,"line":129},[126,998,999],{"class":132},"mkdir",[126,1001,1002],{"class":136}," user2\n",[88,1004,1005,1006,1009,1010,1013,1014,1017,1018,1034,1036,1037,1040,1041,1044,1045],{},"Copiez le fichier de ",[25,1007,1008],{},"configuration"," « ",[25,1011,1012],{},"php"," » déjà présent dans ",[158,1015,1016],{},"\u002Fvar\u002Fwww\u002Frutorrent\u002Fco","nf\u002F",[116,1019,1021],{"className":118,"code":1020,"language":120,"meta":121,"style":121},"cp config.php users\u002Fuser2\n",[123,1022,1023],{"__ignoreMap":121},[126,1024,1025,1028,1031],{"class":128,"line":129},[126,1026,1027],{"class":132},"cp",[126,1029,1030],{"class":136}," config.php",[126,1032,1033],{"class":136}," users\u002Fuser2\n",[38,1035],{},"  Effectuez les changements de ",[25,1038,1039],{},"propriétaire"," et de ",[25,1042,1043],{},"droit"," comme ci-dessous :",[116,1046,1048],{"className":118,"code":1047,"language":120,"meta":121,"style":121},"chown -R www-data:www-data \u002Fvar\u002Fwww\u002Frutorrent\u002Fconf\u002Fusers\u002F\nchmod -R 777 \u002Fvar\u002Fwww\u002Frutorrent\u002Fconf\u002Fusers\u002F\n",[123,1049,1050,1064],{"__ignoreMap":121},[126,1051,1052,1055,1058,1061],{"class":128,"line":129},[126,1053,1054],{"class":132},"chown",[126,1056,1057],{"class":136}," -R",[126,1059,1060],{"class":136}," www-data:www-data",[126,1062,1063],{"class":136}," \u002Fvar\u002Fwww\u002Frutorrent\u002Fconf\u002Fusers\u002F\n",[126,1065,1066,1069,1071,1075],{"class":128,"line":447},[126,1067,1068],{"class":132},"chmod",[126,1070,1057],{"class":136},[126,1072,1074],{"class":1073},"sbssI"," 777",[126,1076,1063],{"class":136},[88,1078,1079,1080,1083,1084,1086,1087,1090,1091,431,1094,1121,1123],{},"Modifiez le ",[25,1081,1082],{},"fichier"," de ",[25,1085,1008],{}," du second ",[25,1088,1089],{},"utilisateur"," et ses ",[25,1092,1093],{},"variables",[116,1095,1099],{"className":1096,"code":1097,"language":1098,"meta":121,"style":121},"language-powershell shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","nano user\u002Fuser1\u002Fconfig.php\n   $scgi_port = 5001;\n   $scgi_host = \"127.0.0.1\";\n   $XMLRPCMountPoint = \"\u002FRPC3\";\n","powershell",[123,1100,1101,1106,1111,1116],{"__ignoreMap":121},[126,1102,1103],{"class":128,"line":129},[126,1104,1105],{},"nano user\u002Fuser1\u002Fconfig.php\n",[126,1107,1108],{"class":128,"line":447},[126,1109,1110],{},"   $scgi_port = 5001;\n",[126,1112,1113],{"class":128,"line":456},[126,1114,1115],{},"   $scgi_host = \"127.0.0.1\";\n",[126,1117,1118],{"class":128,"line":465},[126,1119,1120],{},"   $XMLRPCMountPoint = \"\u002FRPC3\";\n",[38,1122],{},[158,1124,1125],{},"Ce sont les montages « SCGI » et « RPCmount » présentés dans apache2 précédemment.",[15,1127,1128,1129,1131],{},"Retenez bien que chaque nouvel utilisateur doit avoir un répertoire personnel avec le « fichier.php ».",[38,1130],{},"\nN’oubliez pas que rTorrent doit être configuré, je ne détaille pas la configuration du client BitTorrent.",[10,1133,1135],{"id":1134},"mise-à-jour-de-rutorrent","Mise à jour de ruTorrent",[15,1137,1138,1139,1142,1143,1145,1146,1149,1150,1152],{},"Le ",[25,1140,1141],{},"système SVN"," permet de  mettre à jour très simplement votre interface ruTorrent.",[38,1144],{},"\nIl est recommandé d’éteindre le serveur web : ",[158,1147,1148],{},"(\u002Fetc\u002Finit.d\u002Fapache2 stop",") pour éviter un crash!",[38,1151],{},"\nEnsuite il vous suffit de vous rendre à la racine de votre répertoire ruTorrent et de lancer :",[116,1154,1156],{"className":118,"code":1155,"language":120,"meta":121,"style":121},"svn up\n",[123,1157,1158],{"__ignoreMap":121},[126,1159,1160,1162],{"class":128,"line":129},[126,1161,185],{"class":132},[126,1163,1164],{"class":136}," up\n",[15,1166,1167],{},"La mise à niveau est en cours, il faut attendre le message suivant :",[116,1169,1171],{"className":118,"code":1170,"language":120,"meta":121,"style":121},"Updated to revision 2471.\n",[123,1172,1173],{"__ignoreMap":121},[126,1174,1175,1178,1181,1184],{"class":128,"line":129},[126,1176,1177],{"class":132},"Updated",[126,1179,1180],{"class":136}," to",[126,1182,1183],{"class":136}," revision",[126,1185,1186],{"class":136}," 2471.\n",[15,1188,1189],{},"Une fois terminée, relancez votre serveur web :",[116,1191,1193],{"className":118,"code":1192,"language":120,"meta":121,"style":121},"\u002Fetc\u002Finit.d\u002Fapache2 start\n",[123,1194,1195],{"__ignoreMap":121},[126,1196,1197,1200],{"class":128,"line":129},[126,1198,1199],{"class":132},"\u002Fetc\u002Finit.d\u002Fapache2",[126,1201,1202],{"class":136}," start\n",[15,1204,1205,1206,1208],{},"La découverte de ruTorrent est terminée, je vous invite à vous rendre sur le site officiel.",[38,1207],{},"\nSi vous avez des problèmes de paramétrage sur ruTorrent n’hésitez pas à laisser votre commentaire.",[10,1210,1212],{"id":1211},"conclusion","Conclusion",[15,1214,1215],{},"Cette configuration de ruTorrent avec Apache2 couvre l'installation via SVN, la gestion des plugins, la mise en place de vhosts HTTP\u002FHTTPS, la sécurisation par authentification digest ainsi que la gestion multi-utilisateurs via SCGI. Cette interface web rend l'utilisation de rTorrent bien plus accessible au quotidien, tout en restant personnalisable grâce à ses nombreux plugins. Pensez à bien restreindre l'accès par htdigest, surtout si le serveur est exposé publiquement sur Internet.",[1217,1218,1219],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":121,"searchDepth":447,"depth":447,"links":1221},[1222,1223,1226,1227,1228,1229,1230,1231,1232],{"id":12,"depth":447,"text":13},{"id":20,"depth":447,"text":21,"children":1224},[1225],{"id":69,"depth":456,"text":70},{"id":163,"depth":447,"text":164},{"id":295,"depth":447,"text":296},{"id":418,"depth":447,"text":419},{"id":801,"depth":447,"text":802},{"id":876,"depth":447,"text":877},{"id":1134,"depth":447,"text":1135},{"id":1211,"depth":447,"text":1212},null,"\u002Fimages\u002Fblog\u002Fconfigurer-interface-web-rutorrent-avec-apache2\u002F672919258b.png","2014-03-31","Découvrez l'interface de ruTorrent! Une configuration avec le serveur web : Apache2. Gestion des plugins, vhost, sécurité et multi-users.","md",{},"\u002Fblog\u002Fconfigurer-interface-web-rutorrent-avec-apache2",{"title":5,"description":1236},"configurer-interface-web-rutorrent-avec-apache2","blog\u002Fconfigurer-interface-web-rutorrent-avec-apache2","wQeEeN-kMyToJzMJjHQVauoIJceX6qErSWBAOAQpNfQ",[1245,1251,1259,1266,1274,1281,1287,1294],{"title":1246,"path":1247,"stem":1248,"date":1249,"cover":1250,"categories":1233,"children":-1},"Patchs de sécurité et mises à jour sous VMware ESXi 5","\u002Fblog\u002Fpatchs-securite-mises-jour-sous-vmware-esxi","blog\u002Fpatchs-securite-mises-jour-sous-vmware-esxi","2014-07-15","\u002Fimages\u002Fblog\u002Fpatchs-securite-mises-jour-sous-vmware-esxi\u002Fd8c6089e77.png",{"title":1252,"path":1253,"stem":1254,"date":1255,"cover":1256,"categories":1257,"children":-1},"Migration de Vyatta 6.6R1 vers VyOS Hydrogen","\u002Fblog\u002Fmigration-vyatta-6r1-vers-vyos-hydrogen","blog\u002Fmigration-vyatta-6r1-vers-vyos-hydrogen","2014-07-14","\u002Fimages\u002Fblog\u002Fmigration-vyatta-6r1-vers-vyos-hydrogen\u002F8a3fd53886.png",[1258],"Réseau",{"title":1260,"path":1261,"stem":1262,"date":1263,"cover":1264,"categories":1265,"children":-1},"Configuration d’une passerelle SRX100 sous J-Web","\u002Fblog\u002Fconfiguration-une-passerelle-srx100-sous-web","blog\u002Fconfiguration-une-passerelle-srx100-sous-web","2014-07-10","\u002Fimages\u002Fblog\u002Fconfiguration-une-passerelle-srx100-sous-web\u002F1b4814003c.jpg",[1258],{"title":1267,"path":1268,"stem":1269,"date":1270,"cover":1271,"categories":1272,"children":-1},"Hack In Paris et Nuit du Hack du 26 au 29 Juin 2014","\u002Fblog\u002Fhack-paris-nuit-hack-juin-2014","blog\u002Fhack-paris-nuit-hack-juin-2014","2014-04-11","\u002Fimages\u002Fblog\u002Fhack-paris-nuit-hack-juin-2014\u002Fd1c6cbea4e.jpg",[1273],"Évènement",{"title":1275,"path":1276,"stem":1277,"date":1278,"cover":1279,"categories":1280,"children":-1},"La destruction de la neutralité du Net est en marche : Indignez-vous!","\u002Fblog\u002Fdestruction-neutralite-net-est-marche-indignez-vous","blog\u002Fdestruction-neutralite-net-est-marche-indignez-vous","2014-03-23","\u002Fimages\u002Fblog\u002Fdestruction-neutralite-net-est-marche-indignez-vous\u002Fddb702d91a.jpg",[1273],{"title":1282,"path":1283,"stem":1284,"date":1285,"cover":1286,"categories":1233,"children":-1},"Emprisonner un utilisateur ssh sous linux","\u002Fblog\u002Femprisonner-utilisateur-ssh-sous-linux","blog\u002Femprisonner-utilisateur-ssh-sous-linux","2014-02-23","\u002Fimages\u002Fblog\u002Femprisonner-utilisateur-ssh-sous-linux\u002F5e5571284a.png",{"title":1288,"path":1289,"stem":1290,"date":1291,"cover":1292,"categories":1293,"children":-1},"Découvrez la magie : Adobe Creative Cloud !","\u002Fblog\u002Fdecouvrez-magie-adobe-creative-cloud","blog\u002Fdecouvrez-magie-adobe-creative-cloud","2014-02-06","\u002Fimages\u002Fblog\u002Fdecouvrez-magie-adobe-creative-cloud\u002Fc5befd8385.jpg",[1273],{"title":1295,"path":1296,"stem":1297,"date":1298,"cover":1299,"categories":1233,"children":-1},"Le Fitbit Force, précurseur des bracelets connectés","\u002Fblog\u002Ffitbit-force-precurseur-des-bracelets-connectes","blog\u002Ffitbit-force-precurseur-des-bracelets-connectes","2014-01-29","\u002Fimages\u002Fblog\u002Ffitbit-force-precurseur-des-bracelets-connectes\u002F591236ebce.jpg",[],1786644879477]