19-03-2016, 15:15
On va voir comment se monter un seedbox avec rutorrent sur un serveur dédié, on ajoutera quelques plugins et l'on aura un accès https aux différents fichiers pour pouvoir les télécharger. Cet accès sera soumis à identification ce qui fait que vous pourrez partager l'accès à d'autres personnes en leur créant un compte.
On commence par se prendre un petit serveur chez ovh ou online (ou ailleurs si vous voulez).
Pour commencer on installe debian dessus, et donc autant prendre la dernière version dispo :) Debian 8 Jessie
Note : si vous êtes chez online et que vous avez une dedibox possédant deux disques, vous aurez un soucis si vous ne voulez pas de raid et que vous voulez monter le second disque. Pour palier à ce problème, on peut suivre ces tutos :
https://mondedie.fr/viewtopic.php?id=6064 [archive : https://archive.is/oNlvd ]
http://www.it-connect.fr/debian-partitio...k-et-mkfs/ [archive : https://archive.is/f0uZP ]
On se connecte en ssh. On liste les disques dispo :
On choisit le bon disque sur lequel il n'y a pas de partition:
(dans mon cas)
Maintenant voici la liste des commandes dispo :
d : destruction d'une partition
l : liste des types de partitions
m : Impression du menu en cours
n : création d'une nouvelle partition
p : Affichage des partitions
q : Sortie de fdisk sans sauvegarde des paramètres
t : Modification du type de partition
v : Vérification de la table des partitions
w : Sauvegarde des modifications et sortie de fdisk
Vous pouvez donc lister avec "p" pour être sûr que vous n'avez pas choisi le disque avec la partition boot et autre.
Vous pouvez faire "d" pour supprimer tout ce qui est sur cette partition s'il y avait quelque chose.
On crée une nouvelle partition avec "n", on choisit primaire avec "p" et l'on en crée qu'une "1" et avec les valeurs par défaut elle prendra tout l'espace disponible.
Vous pouvez quitter l'interface fdisk avec "q".
On formate maintenant cette partition en ext4 avec des blocs de 4096 octets :
On peut maintenant monter ce disque là où l'on voulait et on commence par créer l'emplacement puis on le monte :
Appelez le comme vous voulez, "disqueb" ou autre.
A ce point, si l'on redémarre, on perd le point de montage, afin de rendre cela persistant il faut le dire à fstab :
et dedans, vous ajoutez à la fin :
Voilà, c'est tout pour la note sur online.
On commencer par se loguer sur notre machine via putty en utilisant le compte root.
On change le mot de passe root :
On met à jour le système :
Je préfère l'éditeur nano car j'ai débuté avec lui donc on l'installe :
On installe de quoi avoir son serveur à la bonne heure :
On reconfigure la zone pour l'heure :
Partie mise à jour auto :
Voir ce tuto : http://www.mangas-arigatou.org/forum/sho...p?tid=1299
Partie "sécurité" :
Voir ce tuto : http://www.mangas-arigatou.org/forum/sho...p?tid=1299
Partie accès aux fichiers :
Sources : https://www.atlantic.net/community/howto...-debian-8/ [archive : http://archive.is/7LKki ]
http://www.memoinfo.fr/configurer-serveu...i-ovh.html [archive : https://archive.is/j92rO ]
( https://www.skyminds.net/serveur-dedie-c...e-serveur/ )
https://wiki.gandi.net/fr/dns/zone/txt-record
https://documentation.online.net/fr/serv...box-online
On va voir maintenant comment accéder à des fichiers présents sur ce serveur via un navigateur web.
On commence par mettre en place apache :
Maintenant, lorsque vous tapez l'ip de votre serveur dans un navigateur web, vous obtenez la page par défaut d'apache.
On peut maintenant voir à créer des répertoires qui comporteront les fichiers qui seront donc listés.
Pour cela, vous commencez par créer le répertoire qui servira à contenir les fichiers :
Puis pour tester le listing des fichiers, on crée un fichier texte de test :
Dedans vous mettez ce que vous voulez et vous enregistrez.
Il faut maintenant dire à apache que l'on veut avoir directement ce répertoire comme page par défaut lorsque l'on rentre l'ip dans un navigateur. Pour cela, on édite le fichier "/etc/apache2/sites-available/000-default.conf" :
Et dedans vous modifiez la ligne concernant le mail de l'administrateur et le chemin du répertoire pour coller à ce que vous avez fait avant (ou vous virez le "/html" pour que le répertoire www soit directement listé) :
On redémarre apache pour qu'il prenne en compte la modification :
Et maintenant lorsque vous visitez http://ip_du_serveur/ vous obtenez un listing avec votre fichier txt.
C'est bien beau mais l'ip d'un serveur c'est quand même pas ultra simple à retenir pour taper ça dans un navigateur. On va donc voir à raccrocher un nom de domaine à notre machine. Personnellement, j'ai pris mon nom de domaine chez Gandi : https://www.gandi.net/domaine :)
On commence par installer ce qu'il nous faudra :
On modifie les paramètres de bind :
Et vous modifiez les lignes
en
Si vous n'avez pas d'ipv6 de dispo (online peut-être), enlevez les lignes concernés.
Et vous ajoutez vers la fin du fichier :
Maintenant, on récupère l'adresse ip du DNS secondaire lié à notre machine :
ou pour un serveur chez online
Cela ping le serveur et dévoile ainsi son IP :
On fait de même avec le serveur dns de gandi :
On édite maintenant un autre fichier :
Dedans on ajoute :
Note : Il faut remplacer domaine.tld par votre nom de domaine, tout comme l'ip des DNS.
Puis on crée le fichier "db.domaine.tld" :
Et dedans on met :
Note : Il faut changer les "domaine.tld" en "votre-nom-de-domaine", le "ns######.ip-92-124-156.eu" doit correspondre au votre et "xx.xx.xx.xx" doit être l'ip de votre machine (dispo via l'amin web de kimsufi).
Le serial est composé de l'année, le mois, le jour et le numéro de la version, à incrémenter à chaque modif !!!
On modifie le fichier resolv.conf
et on ajoute la ligne suivante dedans :
Pour vérifier que c'est bien paramétré, on lance un petit test :
Et on vérifie aussi le fichier de zone :
Et si c'est "OK" alors tout roule et on relance bind :
ou
On va autoriser les requêtes DNS dans iptables :
Et avant la dernière ligne vous ajoutez les suivantes :
Ou vous remplacez directement les valeurs dans les lignes iptables.
Pour un serveur chez Online, afin d'ajouter un serveur DNS secondaire, commencez par ouvrir complètement le port 53 avant de mettre des restrictions :
Vous mettez ces nouvelles règles en place :
On se connecte donc à son compte Gandi, on va voir ses domaines, on sélectionne celui qui nous intéresse et dans la liste déroulante en-dessous, on sélectionne "Changer/ modifier les dns" :
En DNS1 on rentre le dns principal associé à notre serveur, cette information est donnée sur la page principal du serveur kimsufi que vous avez lorsque vous êtes logué sur l'interface d'adminitration web sous la dénomination "Reverse". Et dans le champ secondaire, on met "ns6.gandi.net" et "ns.kimsufi.com" et vous validez.
Maintenant on associe ce nom de domaine à notre serveur. Rendez vous dans l'interface d'administration web de votre kimsufi, vous cliquez sur l'onglet "DNS" et cela vous emmène dans la partie des DNS secondaire qui doit donc être vide pour le moment. On va alors en créer un "Ajouter un DNS secondaire".
Dans le champ "Domaine" vous renseignez le domaine de chez Gandi.
Bloc D'IP on sélectionne le seul choix et un bloc IP vient se rajouter.
Vous voyez maintenant que dans un cadre en bas il est écrit un truc du genre :
Avant de continuer, vous devez rajouter un champ de type TXT dans la zone DNS du domaine "domaine_chez_gandi.tld", avec le sous-domaine ownercheck et la valeur suivante : 64gt23gt25.
Vous retournez donc sur votre serveur et l'on va ajouter ce champ à notre fichier zone :
Et à la fin du fichier, vous mettez :
On enregistre et vous redémarrez bind :
De là, vous devriez pouvoir mettre ok sur l'interface kimsufi et le domaine devrait être associé à votre serveur :)
Voilà, maintenant il faut attendre la propagation DNS, entre quelques heures à 2 jours :)
Au cas où, voici un site qui permet de faire quelques tests : http://www.kloth.net/services/dig.php
En attendant, on va voir comment styliser l'indexation des dossiers et fichiers. Pour cela, on va essayer de ne pas utiliser de script externe mais de s'appuyer sur ce qu'apache nous propose.
Source : https://perishablepress.com/better-defau...-htaccess/ [archive : https://archive.is/cYwIZ ]
Pour pouvoir observer l'évolution de l'affichage, on peut envoyer par ftp différents fichiers et dossiers pour voir les extensions et autres que vous utiliserez.
Note : Avec les réglages actuels, vous ne pourrez uploader de fichiers dans le dossier que vous avez créé auparavant. En permettant la connexion en root sur ssh, vous pourrez utiliser un client ftp pour vous connecter en SFTP, genre WinSCP.
Afin de pouvoir utiliser un fichier htaccess pour pouvoir réglementer les accès, on doit d'abord activer un module d'apache :
puis comme spécifié, on redémarre apache :
Ensuite on doit éditer le fichier suivant :
Vous allez à la portion suivante :
Et là dedans, vous changez "AllowOverride None" en "AllowOverride All"
On redémarre apache :
Et maintenant, vous pouvez utiliser les fichiers htaccess. On commence par en mettre un dans le dossier /var/www, et dans ce fichier ".htaccess", on met :
Avec cela, les dossiers et sous-dossiers dans www ne seront pas indexés par défaut. Ce qui nous permet ensuite de pouvoir régler les permissions comme l'on veut.
Ainsi, dans le dossier qu'on a précédemment créé "nom_du_repertoire", vous mettez aussi un fichier htaccess qui contient :
Et là, ce dossier sera de nouveau listé en allant sur http://nom_de_domaine.tld/nom_du_repertoire
Maintenant, on va protéger ce second fichier htaccess, celui qui est présent dans le dossier listé, pour cela, vous rajoutez dedans les lignes suivantes :
On va passer au style de la page web. Apache nous permet de spécifier un fichier pour customiser l'en-tête et le pied de page. Il est aussi possible de modifier le style des icones utilisées.
Pour faire dans la simplicité et parce qu'il existe un truc tout prêt tout beau, je vous conseille d'utiliser apaxy :
http://adamwhitcroft.com/apaxy/
A vous ensuite de le peaufiner et de le personnaliser.
On va maintenant mettre en place un certificat pour le https en utilisant letsencrypt : https://letsencrypt.org/
C'est encore en beta public donc les certificats ne sont valables que 3 mois, il faudra donc les renouveler avant qu'ils ne soient plus bon.
Je suis ce tuto : https://www.digitalocean.com/community/t...untu-14-04 [archive : https://archive.is/4Ke42 ]
On commence par mettre à jour la liste des paquets :
On installe git :
On copie le dépôt de letsecrypt dans le dossier opt :
On va dans le dossier créé :
On crée des certificats pour notre domaine et le sous-domaine www :
Le premier domaine doit correspondre au domaine racine. Vous devrez renseigner un email valide et lire les conditions générales d'utilisation.
Afin de renouveler le certificat, il faudra utiliser la commande suivante :
A partir de là, on peut se connecter en https sur notre site via le nom de domaine associé. Par contre, je pouvais toujours me connecter en http tout simple. Afin d'éviter cela, je vais interdire les demandes http :
Et ajouter dedans :
Et voilà, connexion refusée en http mais autorisée en https.
Note : Durant la mise en place de Let's Encrypt, vous pouvez spécifier de faire de la redirection automatique sur l'https et ne pas laisser les gens naviguer en http.
Maintenant, on va installer notre client torrent.
Je me sers de ces tutos : https://terminal28.com/how-to-install-an...-8-jessie/ [archive : http://archive.is/jJyNd ]
https://mondedie.fr/viewtopic.php?id=5302 [archive : http://archive.is/4L2CX ]
http://www.htpcguides.com/install-config...on-debian/ [archive : https://archive.is/tM8tK ]
http://www.adminsehow.com/2013/11/instal...-7-wheezy/ [archive : https://archive.is/XA6VS ]
https://github.com/Novik/ruTorrent/wiki/Plugins
On a déjà notre utilisateur que l'on va utiliser : user1 et son home est dans /home/user1
On met à jour la machine puis on va installer des dépendances :
On active le module SCGI :
On installe XMLRPC :
On installe libtorrent 0.13.6 :
Note : si soucis avec zlib, il peut être utile d'installer "zlib1g-dev".
On installe rTorrent 0.9.6 :
On actualise les liens symboliques pour rtorrent :
On installe rutorrent :
On installe le plugin pausewebui :
On met les bons droits aux fichiers :
On configure le plugin create :
on va modifier les lignes ci-dessous :
On crée quelques répertoires pour l'utilisateur user1 qui serviront à rtorrent:
On créé le fichier de configuration de rTorrent :
Dedans vous mettez :
On va donner les bonnes permissions aux dossiers:
On met un accès par mot de passe pour l'interface web et c'est donc l'occasion de créer un utilisateur :
On édite le htaccess pour prendre en compte cela :
et vous devriez voir cela dedans :
**Attention au "T" majuscule qui peut être présent à changer en minuscule !**
On configure l'accès à rutorrent :
dedans vous mettez :
On active l'interface web :
On active deux modules d'apache :
On redémarre apache pour prendre en compte les modifs :
On met en place du mot de passe pour SCGI :
et on rentre les informations suivantes dans ce fichier de conf :
On active cette config :
On redémarre apache :
On va ajouter des règles dans iptables pour que rtorrent puisse communiquer :
et dedans on ajoute un peu avant la fin :
On active ces règles :
On installe screen :
On crée un répertoire de configuration pour notre utilisateur de rutorrent :
On édite le fichier de configuration correspondant :
et dedans vous mettez :
remplacez et mettez le bon numéro de port pour scgi.
On s'occupe maintenant des plugins :
dedans on met :
On met en place un démarrage automatique de rtorrent au reboot :
On édite ce script afin de le faire correspondre à notre utilisateur :
et dedans vous changez tous les en user1 (y'en a 2).
On rend le script exécutable :
On met le lancement de ce script au démarrage de la machine :
On vérifie les droits des fichiers :
On peut maintenant lancer rtorrent pour notre utilisateur :
Afin d'avoir le listing de nos téléchargements via rutorrent dans notre interface web, on va faire un lien symbolique vers le dossier de réception des fichiers :
Partie design page web listing fichiers :
Si vous souhaitez donner la possibilité aux gens de télécharger les dossiers ou plusieurs fichiers d'un coup, vous pouvez utiliser h5ai : https://larsjung.de/h5ai/
Il faut au préalable installe php5.5+ :
Vérifiez que la dernière version de h5ai est la 0.28.1 sinon il faudra changer le lien en conséquence dans les lignes de code suivantes : http://larsjung.de/h5ai/ :
Ensuite on doit éditer le fichier suivant :
Vous allez à la portion suivante :
Et vous ajoutez ceci :
Cela devient donc :
Maintenant, vous allez sur https://domain.tld/_h5ai/public/index.php avec votre navigateur.
On vous dit qu'il n'y a pas de mot de passe, vous allez donc en créer un et le rentrer dans le fichier mentionné.
Le site suivant est utile dans ce cas : http://md5hashing.net/hashing/sha512
Et donc au début du fichier, vous remplacez la valeur de "passhash" par celle donné via le site précédent au sha512, puis vous enregistrez ce fichier.
Vous rafraîchissez la page et vous ne voyez plus l'avertissement concernant le mot de passe. On le rentre dans le champ et hop.
On a besoin d'avoir le "Public Cache directory" d'activé, pour cela, rentrezla commande suivante :
Si vous rafraîchissez la page, vous voyez que c'est passé à "yes".
Les possibilités de configuration se retrouve dans le fichier : "_h5ai/private/conf/options.json"
Par exemple :
qu'on peut passer avec "type": "shell-zip" pour que les gens aient du zip au lieu du tar quand ils téléchargent un dossier ou plusieurs fichiers.
en
pour avoir la taille des fichiers d'affichée.
Il faut avoir au préalable installé le package zip :
passez "lang": "en" en "lang": "fr" pour passer des trucs en français.
Si vous changez les images dans "_h5ai/public/images/favicon" vous pouvez alors modifier votre favicon
Vous pouvez utiliser le site suivant pour vous aider : http://www.icoconverter.com/
Pour pouvoir mettre un accès restreint par mot de passe, vous modifier le fichier "/etc/apache2/apache2.conf" et dans la zone vous passez le "AllowOverride None" en "AllowOverride All".
Maintenant, en créant un fichier ".htaccess" avec les lignes suivantes dedans :
vous allez pouvoir restreindre l’accès à certaines personnes.
Pour créer les comptes pouvant accéder à la zone comportant ce fichier htaccess, vous faîtes :
et vous rentrez le mot de passe associé.
Pour créer un nouveau compte en plus il faut faire :
Pour en supprimer un, il faut juste supprimer la ligne correspondante dans le fichier "/usr/local/apache/passwords".
Partie logs visiteurs :
Si vous voulez pouvoir visualiser vos visiteurs vous pouvez utiliser goaccess (http://goaccess.io) qui a l'air pas mal du tout.
Pour la suite j'ai suivi la FAQ de goaccess : http://goaccess.io/faq
Pour un tuto plus détaillé : https://www.digitalocean.com/community/t...n-debian-7 [archive : https://archive.is/5qYHN ]
On l'intalle :
On configure le format de la date et de l'heure :
et vous décommentez vers le début :
On peut maintenant générer notre premier rapport en html histoire de pouvoir le visualiser confortablement sur notre navigateur web, pour cela on fait :
pour avoir notre dossier de stockage, puis :
Afin de mettre à jour le fichier :
De mon côté, je n'avais pas les sites référants (là d'où la personne arrive), j'ai donc modifié quelques trucs :
et j'ai modifié la ligne :
en
on redémarre apache :
Puis :
Et j'ai recommenté la ligne :
Pour décommenter celle là :
Des infos sur la rotation des logs d'apache : https://serversforhackers.com/managing-l...-logrotate [archive : https://archive.is/WqlZu ]
Afin de compléter les logs, vous pouvez soit ajouter la commande suivant dans le fichier "/etc/cron.daily/logrotate"
dans
ou alors vous modifier la durée du log en "weekly" et "rotate 52" pour garder des fichiers gzippés sur un an complet que goaccess peut lire avec la commande suivante :
Partie indexation par moteurs de recherche :
Maintenant, on va dire non à l'indexation du site :
et dedans vous rajoutez :
Voilà, ce tuto est fini, si vous avez des questions, n'hésitez pas :)
On commence par se prendre un petit serveur chez ovh ou online (ou ailleurs si vous voulez).
Pour commencer on installe debian dessus, et donc autant prendre la dernière version dispo :) Debian 8 Jessie
Note : si vous êtes chez online et que vous avez une dedibox possédant deux disques, vous aurez un soucis si vous ne voulez pas de raid et que vous voulez monter le second disque. Pour palier à ce problème, on peut suivre ces tutos :
https://mondedie.fr/viewtopic.php?id=6064 [archive : https://archive.is/oNlvd ]
http://www.it-connect.fr/debian-partitio...k-et-mkfs/ [archive : https://archive.is/f0uZP ]
On se connecte en ssh. On liste les disques dispo :
Code :
fdisk -lOn choisit le bon disque sur lequel il n'y a pas de partition:
Code :
fdisk /dev/sdbMaintenant voici la liste des commandes dispo :
d : destruction d'une partition
l : liste des types de partitions
m : Impression du menu en cours
n : création d'une nouvelle partition
p : Affichage des partitions
q : Sortie de fdisk sans sauvegarde des paramètres
t : Modification du type de partition
v : Vérification de la table des partitions
w : Sauvegarde des modifications et sortie de fdisk
Vous pouvez donc lister avec "p" pour être sûr que vous n'avez pas choisi le disque avec la partition boot et autre.
Vous pouvez faire "d" pour supprimer tout ce qui est sur cette partition s'il y avait quelque chose.
On crée une nouvelle partition avec "n", on choisit primaire avec "p" et l'on en crée qu'une "1" et avec les valeurs par défaut elle prendra tout l'espace disponible.
Vous pouvez quitter l'interface fdisk avec "q".
On formate maintenant cette partition en ext4 avec des blocs de 4096 octets :
Code :
mkfs.ext4 -b 4096 /dev/sdbOn peut maintenant monter ce disque là où l'on voulait et on commence par créer l'emplacement puis on le monte :
Code :
mkdir /home/disqueb
mount /dev/sdb /home/disquebA ce point, si l'on redémarre, on perd le point de montage, afin de rendre cela persistant il faut le dire à fstab :
Code :
nano /etc/fstabet dedans, vous ajoutez à la fin :
Code :
# Partitions montees en plus
/dev/sdb /home/disqueb ext4 defaults 0 2Voilà, c'est tout pour la note sur online.
On commencer par se loguer sur notre machine via putty en utilisant le compte root.
On change le mot de passe root :
Code :
passwdOn met à jour le système :
Code :
apt-get update && apt-get upgrade -yyJe préfère l'éditeur nano car j'ai débuté avec lui donc on l'installe :
Code :
apt-get install nanoOn installe de quoi avoir son serveur à la bonne heure :
Code :
apt-get install ntp
/etc/init.d/ntp startOn reconfigure la zone pour l'heure :
Code :
sudo dpkg-reconfigure tzdataPartie mise à jour auto :
Voir ce tuto : http://www.mangas-arigatou.org/forum/sho...p?tid=1299
Partie "sécurité" :
Voir ce tuto : http://www.mangas-arigatou.org/forum/sho...p?tid=1299
Partie accès aux fichiers :
Sources : https://www.atlantic.net/community/howto...-debian-8/ [archive : http://archive.is/7LKki ]
http://www.memoinfo.fr/configurer-serveu...i-ovh.html [archive : https://archive.is/j92rO ]
( https://www.skyminds.net/serveur-dedie-c...e-serveur/ )
https://wiki.gandi.net/fr/dns/zone/txt-record
https://documentation.online.net/fr/serv...box-online
On va voir maintenant comment accéder à des fichiers présents sur ce serveur via un navigateur web.
On commence par mettre en place apache :
Code :
cd /
apt-get install apache2 apache2-doc apache2-utilsMaintenant, lorsque vous tapez l'ip de votre serveur dans un navigateur web, vous obtenez la page par défaut d'apache.
On peut maintenant voir à créer des répertoires qui comporteront les fichiers qui seront donc listés.
Pour cela, vous commencez par créer le répertoire qui servira à contenir les fichiers :
Code :
cd /var/www
mkdir nom_du_repertoirePuis pour tester le listing des fichiers, on crée un fichier texte de test :
Code :
nano nom_du_repertoire/test.txtDedans vous mettez ce que vous voulez et vous enregistrez.
Il faut maintenant dire à apache que l'on veut avoir directement ce répertoire comme page par défaut lorsque l'on rentre l'ip dans un navigateur. Pour cela, on édite le fichier "/etc/apache2/sites-available/000-default.conf" :
Code :
nano /etc/apache2/sites-available/000-default.confEt dedans vous modifiez la ligne concernant le mail de l'administrateur et le chemin du répertoire pour coller à ce que vous avez fait avant (ou vous virez le "/html" pour que le répertoire www soit directement listé) :
On redémarre apache pour qu'il prenne en compte la modification :
Code :
service apache2 restartEt maintenant lorsque vous visitez http://ip_du_serveur/ vous obtenez un listing avec votre fichier txt.
C'est bien beau mais l'ip d'un serveur c'est quand même pas ultra simple à retenir pour taper ça dans un navigateur. On va donc voir à raccrocher un nom de domaine à notre machine. Personnellement, j'ai pris mon nom de domaine chez Gandi : https://www.gandi.net/domaine :)
On commence par installer ce qu'il nous faudra :
Code :
apt-get install bind9 dnsutilsOn modifie les paramètres de bind :
Code :
cd /
nano /etc/bind/named.conf.optionsEt vous modifiez les lignes
Code :
listen-on-v6 { ::1; };
listen-on { 127.0.0.1; };Code :
listen-on-v6 { any; };
listen-on { any; };Et vous ajoutez vers la fin du fichier :
Code :
# Ne pas transférer les informations des zones aux DNS secondaires
allow-transfer { none; };
# Ne pas autoriser la mise à jour des zones maîtres
allow-update { none; };
version none;
hostname none;
server-id none;Maintenant, on récupère l'adresse ip du DNS secondaire lié à notre machine :
Code :
ping -c 1 ns.kimsufi.comCode :
ping -c 1 nssec.online.netCela ping le serveur et dévoile ainsi son IP :
On fait de même avec le serveur dns de gandi :
Code :
ping -c 1 ns6.gandi.netOn édite maintenant un autre fichier :
Code :
nano /etc/bind/named.conf.localDedans on ajoute :
Code :
zone "domain.tld" IN {
# Zone de type maître
type master;
# Fichier de zone
file "/etc/bind/db.domain.tld";
# On autorise le transfert de la zone aux serveurs DNS secondaires
allow-transfer { 217.70.177.40; 213.186.33.199; 127.0.0.1; ::1; };
# On autorise tout le monde à envoyer des requêtes vers cette zone
allow-query { any; };
# Prévenir les serveurs DNS secondaires qu'un changement a été effectué dans la zone maître
notify yes;
};Puis on crée le fichier "db.domaine.tld" :
Code :
nano /etc/bind/db.domaine.tldEt dedans on met :
Code :
; ZONE : domain.tld
; ------------------------------------------------------------------
$TTL 7200
@ IN SOA ns######.ip-92-124-156.eu. hostmaster.domain.tld. (
2016022001 ; Serial
14400 ; Refresh
3600 ; Retry
1209600 ; Expire - 1 week
86400 ) ; Minimum
; NAMESERVERS
@ IN NS ns######.ip-92-124-156.eu.
@ IN NS ns6.gandi.net.
@ IN NS ns.kimsufi.com.
; Enregistrements A/AAAA
@ IN A IPv4 de votre serveur
@ IN AAAA IPv6 de votre serveur
hostname IN A IPv4 de votre serveur
hostname IN AAAA IPv6 de votre serveur
; Sous-domaines
www IN CNAME hostnameNote : Il faut changer les "domaine.tld" en "votre-nom-de-domaine", le "ns######.ip-92-124-156.eu" doit correspondre au votre et "xx.xx.xx.xx" doit être l'ip de votre machine (dispo via l'amin web de kimsufi).
Le serial est composé de l'année, le mois, le jour et le numéro de la version, à incrémenter à chaque modif !!!
On modifie le fichier resolv.conf
Code :
nano /etc/resolv.confCode :
nameserver 127.0.0.1Pour vérifier que c'est bien paramétré, on lance un petit test :
Code :
cd /etc/bind/
named-checkconf -zCode :
named-checkzone domaine.tld db.domaine.tldEt si c'est "OK" alors tout roule et on relance bind :
Code :
service bind9 reloadCode :
service bind9 restartOn va autoriser les requêtes DNS dans iptables :
Code :
nano /etc/init.d/iptablesrulesEt avant la dernière ligne vous ajoutez les suivantes :
Code :
$SERVER_IP="ip_de_votre_serveur"
iptables -A INPUT -p udp -s 0/0 --sport 1024:65535 -d $SERVER_IP --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp -s $SERVER_IP --sport 53 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -s 0/0 --sport 53 -d $SERVER_IP --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp -s $SERVER_IP --sport 53 -d 0/0 --dport 53 -m state --state ESTABLISHED -j ACCEPT
$DNS2_IP="ip_dns_secondaire_kimsufi"
iptables -A INPUT -p tcp -s $DNS2_IP --sport 1024:65535 -d $SERVER_IP --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s $SERVER_IP --sport 53 -d $DNS2_IP --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
$DNS3_IP="ip_dns_secondaire_gandi"
iptables -A INPUT -p tcp -s $DNS3_IP --sport 1024:65535 -d $SERVER_IP --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s $SERVER_IP --sport 53 -d $DNS3_IP --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPTPour un serveur chez Online, afin d'ajouter un serveur DNS secondaire, commencez par ouvrir complètement le port 53 avant de mettre des restrictions :
Code :
#DNS 53 open
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPTVous mettez ces nouvelles règles en place :
Code :
/etc/init.d/iptablesrulesOn se connecte donc à son compte Gandi, on va voir ses domaines, on sélectionne celui qui nous intéresse et dans la liste déroulante en-dessous, on sélectionne "Changer/ modifier les dns" :
En DNS1 on rentre le dns principal associé à notre serveur, cette information est donnée sur la page principal du serveur kimsufi que vous avez lorsque vous êtes logué sur l'interface d'adminitration web sous la dénomination "Reverse". Et dans le champ secondaire, on met "ns6.gandi.net" et "ns.kimsufi.com" et vous validez.
Maintenant on associe ce nom de domaine à notre serveur. Rendez vous dans l'interface d'administration web de votre kimsufi, vous cliquez sur l'onglet "DNS" et cela vous emmène dans la partie des DNS secondaire qui doit donc être vide pour le moment. On va alors en créer un "Ajouter un DNS secondaire".
Dans le champ "Domaine" vous renseignez le domaine de chez Gandi.
Bloc D'IP on sélectionne le seul choix et un bloc IP vient se rajouter.
Vous voyez maintenant que dans un cadre en bas il est écrit un truc du genre :
Avant de continuer, vous devez rajouter un champ de type TXT dans la zone DNS du domaine "domaine_chez_gandi.tld", avec le sous-domaine ownercheck et la valeur suivante : 64gt23gt25.
Vous retournez donc sur votre serveur et l'on va ajouter ce champ à notre fichier zone :
Code :
nano /etc/bind/db.domaine.tldEt à la fin du fichier, vous mettez :
Code :
ownercheck IN TXT "64gt23gt25"On enregistre et vous redémarrez bind :
Code :
service bind9 restartDe là, vous devriez pouvoir mettre ok sur l'interface kimsufi et le domaine devrait être associé à votre serveur :)
Voilà, maintenant il faut attendre la propagation DNS, entre quelques heures à 2 jours :)
Au cas où, voici un site qui permet de faire quelques tests : http://www.kloth.net/services/dig.php
En attendant, on va voir comment styliser l'indexation des dossiers et fichiers. Pour cela, on va essayer de ne pas utiliser de script externe mais de s'appuyer sur ce qu'apache nous propose.
Source : https://perishablepress.com/better-defau...-htaccess/ [archive : https://archive.is/cYwIZ ]
Pour pouvoir observer l'évolution de l'affichage, on peut envoyer par ftp différents fichiers et dossiers pour voir les extensions et autres que vous utiliserez.
Note : Avec les réglages actuels, vous ne pourrez uploader de fichiers dans le dossier que vous avez créé auparavant. En permettant la connexion en root sur ssh, vous pourrez utiliser un client ftp pour vous connecter en SFTP, genre WinSCP.
Afin de pouvoir utiliser un fichier htaccess pour pouvoir réglementer les accès, on doit d'abord activer un module d'apache :
Code :
a2enmod rewritepuis comme spécifié, on redémarre apache :
Code :
service apache2 restartEnsuite on doit éditer le fichier suivant :
Code :
nano /etc/apache2/apache2.confVous allez à la portion suivante :
Code :
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>Et là dedans, vous changez "AllowOverride None" en "AllowOverride All"
On redémarre apache :
Code :
service apache2 restartEt maintenant, vous pouvez utiliser les fichiers htaccess. On commence par en mettre un dans le dossier /var/www, et dans ce fichier ".htaccess", on met :
Code :
# DISABLE DIRECTORY VIEWS
Options -IndexesAvec cela, les dossiers et sous-dossiers dans www ne seront pas indexés par défaut. Ce qui nous permet ensuite de pouvoir régler les permissions comme l'on veut.
Ainsi, dans le dossier qu'on a précédemment créé "nom_du_repertoire", vous mettez aussi un fichier htaccess qui contient :
Code :
# DISABLE DIRECTORY VIEWS
Options +IndexesEt là, ce dossier sera de nouveau listé en allant sur http://nom_de_domaine.tld/nom_du_repertoire
Maintenant, on va protéger ce second fichier htaccess, celui qui est présent dans le dossier listé, pour cela, vous rajoutez dedans les lignes suivantes :
Code :
# STRONG HTACCESS PROTECTION
<Files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
</Files>On va passer au style de la page web. Apache nous permet de spécifier un fichier pour customiser l'en-tête et le pied de page. Il est aussi possible de modifier le style des icones utilisées.
Pour faire dans la simplicité et parce qu'il existe un truc tout prêt tout beau, je vous conseille d'utiliser apaxy :
http://adamwhitcroft.com/apaxy/
A vous ensuite de le peaufiner et de le personnaliser.
On va maintenant mettre en place un certificat pour le https en utilisant letsencrypt : https://letsencrypt.org/
C'est encore en beta public donc les certificats ne sont valables que 3 mois, il faudra donc les renouveler avant qu'ils ne soient plus bon.
Je suis ce tuto : https://www.digitalocean.com/community/t...untu-14-04 [archive : https://archive.is/4Ke42 ]
On commence par mettre à jour la liste des paquets :
Code :
apt-get updateOn installe git :
Code :
apt-get install gitOn copie le dépôt de letsecrypt dans le dossier opt :
Code :
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencryptOn va dans le dossier créé :
Code :
cd /opt/letsencryptOn crée des certificats pour notre domaine et le sous-domaine www :
Code :
./letsencrypt-auto --apache -d example.com -d www.example.comLe premier domaine doit correspondre au domaine racine. Vous devrez renseigner un email valide et lire les conditions générales d'utilisation.
Afin de renouveler le certificat, il faudra utiliser la commande suivante :
Code :
./letsencrypt-auto certonly --apache --renew-by-default -d example.com -d www.example.comA partir de là, on peut se connecter en https sur notre site via le nom de domaine associé. Par contre, je pouvais toujours me connecter en http tout simple. Afin d'éviter cela, je vais interdire les demandes http :
Code :
nano /etc/apache2/sites-enabled/000-default.confEt ajouter dedans :
Code :
<Directory /var/www/>
SSLRequireSSL
</Directory>Et voilà, connexion refusée en http mais autorisée en https.
Note : Durant la mise en place de Let's Encrypt, vous pouvez spécifier de faire de la redirection automatique sur l'https et ne pas laisser les gens naviguer en http.
Maintenant, on va installer notre client torrent.
Je me sers de ces tutos : https://terminal28.com/how-to-install-an...-8-jessie/ [archive : http://archive.is/jJyNd ]
https://mondedie.fr/viewtopic.php?id=5302 [archive : http://archive.is/4L2CX ]
http://www.htpcguides.com/install-config...on-debian/ [archive : https://archive.is/tM8tK ]
http://www.adminsehow.com/2013/11/instal...-7-wheezy/ [archive : https://archive.is/XA6VS ]
https://github.com/Novik/ruTorrent/wiki/Plugins
On a déjà notre utilisateur que l'on va utiliser : user1 et son home est dans /home/user1
On met à jour la machine puis on va installer des dépendances :
Code :
apt-get update
apt-get upgrade
apt-get install subversion build-essential automake libtool libcppunit-dev libcurl3-dev
apt-get install libsigc++-2.0-dev libcppunit-dev unzip unrar-free curl libncurses-dev
apt-get install apache2 apache2-utils php5 php5-cli php5-curl php-xml-rss php5-xmlrpc
apt-get install php5-sqlite sqlite libapache2-mod-php5 libapache2-mod-xsendfileOn active le module SCGI :
Code :
apt-get install libapache2-mod-scgi
ln -s /etc/apache2/mods-available/scgi.load /etc/apache2/mods-enabled/scgi.load
/etc/init.d/apache2 restartOn installe XMLRPC :
Code :
cd /tmp
svn checkout http://svn.code.sf.net/p/xmlrpc-c/code/stable xmlrpc-c
cd xmlrpc-c/
./configure
make
make installOn installe libtorrent 0.13.6 :
Code :
cd /tmp
git clone https://github.com/rakshasa/libtorrent.git
cd libtorrent
git checkout 0.13.6
./autogen.sh
./configure
make
make installNote : si soucis avec zlib, il peut être utile d'installer "zlib1g-dev".
On installe rTorrent 0.9.6 :
Code :
cd /tmp
git clone https://github.com/rakshasa/rtorrent.git
cd rtorrent
git checkout 0.9.6
./autogen.sh
./configure --with-xmlrpc-c
make
make installOn actualise les liens symboliques pour rtorrent :
Code :
ldconfigOn installe rutorrent :
Code :
cd /var/www
git clone https://github.com/Novik/ruTorrent.git rutorrentOn installe le plugin pausewebui :
Code :
cd /var/www/rutorrent/plugins/
svn checkout http://rutorrent-pausewebui.googlecode.com/svn/trunk/ pausewebuiOn met les bons droits aux fichiers :
Code :
chown -R www-data:www-data /var/www/rutorrentOn configure le plugin create :
Code :
nano /var/www/rutorrent/plugins/create/conf.phpon va modifier les lignes ci-dessous :
Code :
$useExternal = 'buildtorrent';
$pathToCreatetorrent = '/usr/bin/buildtorrent';On crée quelques répertoires pour l'utilisateur user1 qui serviront à rtorrent:
Code :
mkdir --parents /home/user1/{torrents,watch,.session}On créé le fichier de configuration de rTorrent :
Code :
nano /home/user1/.rtorrent.rcDedans vous mettez :
Code :
scgi_port = 127.0.0.1:5000
encoding_list = UTF-8
port_range = 59764-59764
port_random = no
check_hash = no
directory = /home/user1/torrents
session = /home/user1/.session
encryption = allow_incoming, try_outgoing, enable_retry
schedule = watch_directory,1,1,"load_start=/home/user1/watch/*.torrent"
schedule = untied_directory,5,5,"stop_untied=/home/user1/watch/*.torrent"
use_udp_trackers = yes
dht = off
peer_exchange = no
#min_peers = 40
#max_peers = 100
# Maximum number of simultanious uploads per torrent.
max_uploads = 50
# Global upload and download rate in KiB. "0" for unlimited.
download_rate = 0
upload_rate = 0
max_uploads = 50
execute = {sh,-c,/usr/bin/php /var/www/rutorrent/php/initplugins.php <username> &}
schedule = espace_disque_insuffisant,1,30,close_low_diskspace=500M
# Check hash for finished torrents. Might be usefull until the bug is
# fixed that causes lack of diskspace not to be properly reported.
check_hash = yes
# Set whetever the client should try to connect to UDP trackers.
use_udp_trackers = yes
# Enable DHT support for trackerless torrents or when all trackers are down.
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
# The default is "off". For DHT to work, a session directory must be defined.
#
dht = auto
# UDP port to use for DHT.
#
dht_port = 6899 Source d'un fichier de config : :
Code :
chown --recursive user1:user1 /home/user1
chown root:root /home/user1
chmod 755 /home/user1On met un accès par mot de passe pour l'interface web et c'est donc l'occasion de créer un utilisateur :
Code :
cd /var/www/rutorrent
htpasswd -c /var/www/rutorrent/.htpasswd usernameOn édite le htaccess pour prendre en compte cela :
Code :
nano /var/www/rutorrent/.htaccesset vous devriez voir cela dedans :
Code :
AuthType Basic
AuthName "rutorrent"
AuthUserFile "/var/www/rutorrent/.htpasswd"
require valid-user**Attention au "T" majuscule qui peut être présent à changer en minuscule !**
On configure l'accès à rutorrent :
Code :
nano /etc/apache2/sites-available/rutorrent.confdedans vous mettez :
Code :
# ruTorrent
#===========================================================================
<IfModule alias_module>
Alias /rutorrent /var/www/rutorrent/
<Directory /var/www/rutorrent/>
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride None
Require all granted
</Directory>
</IfModule>
#===========================================================================On active l'interface web :
Code :
ln -s /etc/apache2/sites-available/rutorrent.conf /etc/apache2/sites-enabled/rutorrent.confOn active deux modules d'apache :
Code :
a2enmod auth_digest
a2enmod authn_fileOn redémarre apache pour prendre en compte les modifs :
Code :
/etc/init.d/apache2 restartOn met en place du mot de passe pour SCGI :
Code :
mkdir -p /etc/apache2/passwords-{available,enabled}
cd /etc/apache2/passwords-available
htpasswd -c rtorrentscgi.conf username
cd ../passwords-enabled
ln -s ../passwords-available/rtorrentscgi.confet on rentre les informations suivantes dans ce fichier de conf :
Code :
nano /etc/apache2/sites-available/rtorrentscgi.confCode :
#rTorrent SCGI Password Location
#===========================================================================
<LocationMatch "/RPC2">
AuthType Basic
AuthName "username"
AuthUserFile /etc/apache2/passwords-enabled/rtorrentscgi.conf
Require valid-user
BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
Require ip 127.0.0.1
</LocationMatch>
#===========================================================================
# SCGI PORT
#===========================================================================
#LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so
SCGIMount /RPC2 127.0.0.1:5000
#===========================================================================On active cette config :
Code :
ln -s /etc/apache2/sites-available/rtorrentscgi.conf /etc/apache2/sites-enabled/rtorrentscgi.confOn redémarre apache :
Code :
/etc/init.d/apache2 restartOn va ajouter des règles dans iptables pour que rtorrent puisse communiquer :
Code :
nano /etc/init.d/iptablesruleset dedans on ajoute un peu avant la fin :
Code :
# Allows all Connections from localhost (necessary for scgi port 5000 of rtorrent):
iptables -A INPUT -s 127.0.0.1 -p tcp -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -p udp -j ACCEPT
# Rtorrent
iptables -t filter -A OUTPUT -p tcp --dport 59764 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 59764 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 59764 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 59764 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 6899 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 6899 -j ACCEPTOn active ces règles :
Code :
/etc/init.d/iptablesrulesOn installe screen :
Code :
apt-get install screenOn crée un répertoire de configuration pour notre utilisateur de rutorrent :
Code :
mkdir /var/www/rutorrent/conf/users/user1On édite le fichier de configuration correspondant :
Code :
nano /var/www/rutorrent/conf/users/user1/config.phpet dedans vous mettez :
Code :
$pathToExternals['curl'] = '/usr/bin/curl';
$topDirectory = '/home/<username>';
$scgi_port = 500x;
$scgi_host = '127.0.0.1';
$XMLRPCMountPoint = '/<USERNAME>';On s'occupe maintenant des plugins :
Code :
touch /var/www/rutorrent/conf/users/user1/plugins.ini
nano /var/www/rutorrent/conf/users/user1/plugins.inidedans on met :
Code :
[default]
enabled = user-defined
canChangeToolbar = yes
canChangeMenu = yes
canChangeOptions = yes
canChangeTabs = yes
canChangeColumns = yes
canChangeStatusBar = yes
canChangeCategory = yes
canBeShutdowned = yes
[ipad]
enabled = no
[httprpc]
enabled = no
[retrackers]
enabled = no
[rpc]
enabled = no
[rutracker_check]
enabled = noOn met en place un démarrage automatique de rtorrent au reboot :
Code :
cd /etc/init.d/
wget --output-document=user1-rtorrent https://gist.githubusercontent.com/Magicalex/8850ac8539d89af2f21f/raw/923ee22f9300bd3a186704b17e3b88a7583756d9/gistfile1.sh
chmod +x user1-rtorrentOn édite ce script afin de le faire correspondre à notre utilisateur :
Code :
nano /etc/init.d/user1-rtorrentOn rend le script exécutable :
Code :
chmod +x /etc/init.d/user1-rtorrentOn met le lancement de ce script au démarrage de la machine :
Code :
update-rc.d user1-rtorrent defaultsOn vérifie les droits des fichiers :
Code :
chown -R www-data:www-data /var/www/rutorrentOn peut maintenant lancer rtorrent pour notre utilisateur :
Code :
service user1-rtorrent startAfin d'avoir le listing de nos téléchargements via rutorrent dans notre interface web, on va faire un lien symbolique vers le dossier de réception des fichiers :
Code :
ln -s /home/user1/torrents /var/www/nom_du_repertoire/fichiersPartie design page web listing fichiers :
Si vous souhaitez donner la possibilité aux gens de télécharger les dossiers ou plusieurs fichiers d'un coup, vous pouvez utiliser h5ai : https://larsjung.de/h5ai/
Il faut au préalable installe php5.5+ :
Code :
apt-get -y install php5 libapache2-mod-php5
service apache2 restartVérifiez que la dernière version de h5ai est la 0.28.1 sinon il faudra changer le lien en conséquence dans les lignes de code suivantes : http://larsjung.de/h5ai/ :
Code :
cd /var/www
wget http://release.larsjung.de/h5ai/h5ai-0.28.1.zip
apt-get install unzip
unzip ./h5ai-0.28.1.zip
rm ./h5ai-0.28.1.zipEnsuite on doit éditer le fichier suivant :
Code :
nano /etc/apache2/apache2.confVous allez à la portion suivante :
Code :
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>Et vous ajoutez ceci :
Code :
DirectoryIndex index.html index.php /_h5ai/public/index.phpCela devient donc :
Code :
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
DirectoryIndex index.html index.php /_h5ai/public/index.php
</Directory>Maintenant, vous allez sur https://domain.tld/_h5ai/public/index.php avec votre navigateur.
On vous dit qu'il n'y a pas de mot de passe, vous allez donc en créer un et le rentrer dans le fichier mentionné.
Le site suivant est utile dans ce cas : http://md5hashing.net/hashing/sha512
Code :
nano /var/www/_h5ai/private/conf/options.jsonVous rafraîchissez la page et vous ne voyez plus l'avertissement concernant le mot de passe. On le rentre dans le champ et hop.
On a besoin d'avoir le "Public Cache directory" d'activé, pour cela, rentrezla commande suivante :
Code :
chmod o+w /var/www/_h5ai/public/cache/Si vous rafraîchissez la page, vous voyez que c'est passé à "yes".
Les possibilités de configuration se retrouve dans le fichier : "_h5ai/private/conf/options.json"
Par exemple :
Code :
"download": {
"enabled": true,
"type": "php-tar",
"packageName": null,
"alwaysVisible": false
},qu'on peut passer avec "type": "shell-zip" pour que les gens aient du zip au lieu du tar quand ils téléchargent un dossier ou plusieurs fichiers.
Code :
"foldersize": {
"enabled": false,
"type": "php"
},Code :
"foldersize": {
"enabled": true,
"type": "shell-du"
},Il faut avoir au préalable installé le package zip :
Code :
apt-get install zipCode :
"l10n": {
"enabled": true,
"lang": "en",
"useBrowserLang": true
},Si vous changez les images dans "_h5ai/public/images/favicon" vous pouvez alors modifier votre favicon

Vous pouvez utiliser le site suivant pour vous aider : http://www.icoconverter.com/
Pour pouvoir mettre un accès restreint par mot de passe, vous modifier le fichier "/etc/apache2/apache2.conf" et dans la zone
Maintenant, en créant un fichier ".htaccess" avec les lignes suivantes dedans :
Code :
AuthType Basic
AuthName "Acces limité, rentrez le mot de passe."
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwords
Require valid-uservous allez pouvoir restreindre l’accès à certaines personnes.
Pour créer les comptes pouvant accéder à la zone comportant ce fichier htaccess, vous faîtes :
Code :
htpasswd -c /usr/local/apache/passwords nom_d'_utilisateurPour créer un nouveau compte en plus il faut faire :
Code :
htpasswd /usr/local/apache/passwords nouveau_comptePour en supprimer un, il faut juste supprimer la ligne correspondante dans le fichier "/usr/local/apache/passwords".
Partie logs visiteurs :
Si vous voulez pouvoir visualiser vos visiteurs vous pouvez utiliser goaccess (http://goaccess.io) qui a l'air pas mal du tout.
Pour la suite j'ai suivi la FAQ de goaccess : http://goaccess.io/faq
Pour un tuto plus détaillé : https://www.digitalocean.com/community/t...n-debian-7 [archive : https://archive.is/5qYHN ]
On l'intalle :
Code :
apt-get install goaccessOn configure le format de la date et de l'heure :
Code :
nano /etc/goaccess.confet vous décommentez vers le début :
Code :
#Any Apache log date format
date-format %d/%b/%Y
et
#Common Log Format (CLF)
log-format %h %^[%d:%^] "%r" %s %bOn peut maintenant générer notre premier rapport en html histoire de pouvoir le visualiser confortablement sur notre navigateur web, pour cela on fait :
Code :
mkdir /var/www/visiteursCode :
goaccess -f /var/log/apache2/access.log -a > /var/www/visiteurs/report.htmlAfin de mettre à jour le fichier :
Code :
cat /var/log/apache2/access.log | goaccess -a > /var/www/visiteurs/report.htmlDe mon côté, je n'avais pas les sites référants (là d'où la personne arrive), j'ai donc modifié quelques trucs :
Code :
nano /etc/apache2/apache2.confet j'ai modifié la ligne :
Code :
LogFormat "%h %l %u %t \"%r\" %>s %O" commonCode :
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" commonon redémarre apache :
Code :
service apache2 restartPuis :
Code :
nano /etc/goaccess.confEt j'ai recommenté la ligne :
Code :
#Common Log Format (CLF)
log-format %h %^[%d:%^] "%r" %s %bPour décommenter celle là :
Code :
#NCSA Combined Log Format
log-format %h %^[%d:%^] "%r" %s %b "%R" "%u"Des infos sur la rotation des logs d'apache : https://serversforhackers.com/managing-l...-logrotate [archive : https://archive.is/WqlZu ]
Afin de compléter les logs, vous pouvez soit ajouter la commande suivant dans le fichier "/etc/cron.daily/logrotate"
Code :
cat /var/log/apache2/access.log | goaccess -a > /var/www/visiteurs/report.htmldans
Code :
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/logrotate.d/httpd-prerotate; \
fi; \
cat /var/log/apache2/access.log | goaccess -a > /var/www/visiteurs/report.html
endscriptou alors vous modifier la durée du log en "weekly" et "rotate 52" pour garder des fichiers gzippés sur un an complet que goaccess peut lire avec la commande suivante :
Code :
zcat -f /var/log/apache2/access.log* | goaccess -a > /var/www/visiteurs/report.htmlPartie indexation par moteurs de recherche :
Maintenant, on va dire non à l'indexation du site :
Code :
nano /var/www/robot.txtet dedans vous rajoutez :
Code :
User-agent: *
Disallow: /Voilà, ce tuto est fini, si vous avez des questions, n'hésitez pas :)

![[Image: chat-moche-27c1d17.gif]](http://img62.xooimage.com/files/b/3/2/chat-moche-27c1d17.gif)
![[Image: 4yi3an10-3858b7.gif]](http://img7.xooimage.com/files/6/6/1/4yi3an10-3858b7.gif)










