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 -l
On choisit le bon disque sur lequel il n'y a pas de partition:
Code :
fdisk /dev/sdb
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 :
Code :
mkfs.ext4 -b 4096 /dev/sdb
On 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/disqueb
A 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/fstab
et dedans, vous ajoutez à la fin :
Code :
# Partitions montees en plus
/dev/sdb /home/disqueb ext4 defaults 0 2
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 :
Code :
passwd
On met à jour le système :
Code :
apt-get update && apt-get upgrade -yy
Je préfère l'éditeur nano car j'ai débuté avec lui donc on l'installe :
Code :
apt-get install nano
On installe de quoi avoir son serveur à la bonne heure :
Code :
apt-get install ntp
/etc/init.d/ntp start
On reconfigure la zone pour l'heure :
Code :
sudo dpkg-reconfigure tzdata
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 :
Code :
cd /
apt-get install apache2 apache2-doc apache2-utils
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 :
Code :
cd /var/www
mkdir nom_du_repertoire
Puis pour tester le listing des fichiers, on crée un fichier texte de test :
Code :
nano nom_du_repertoire/test.txt
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" :
Code :
nano /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 :
Code :
service apache2 restart
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 :
Code :
apt-get install bind9 dnsutils
On modifie les paramètres de bind :
Code :
cd /
nano /etc/bind/named.conf.options
Et 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.com
Code :
ping -c 1 nssec.online.net
Cela 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.net
On édite maintenant un autre fichier :
Code :
nano /etc/bind/named.conf.local
Dedans 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.tld
Et 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 hostname
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
Code :
nano /etc/resolv.conf
Code :
nameserver 127.0.0.1
Pour vérifier que c'est bien paramétré, on lance un petit test :
Code :
cd /etc/bind/
named-checkconf -z
Code :
named-checkzone domaine.tld db.domaine.tld
Et si c'est "OK" alors tout roule et on relance bind :
Code :
service bind9 reload
Code :
service bind9 restart
On va autoriser les requêtes DNS dans iptables :
Code :
nano /etc/init.d/iptablesrules
Et 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 ACCEPT
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 :
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 ACCEPT
Vous mettez ces nouvelles règles en place :
Code :
/etc/init.d/iptablesrules
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 :
Code :
nano /etc/bind/db.domaine.tld
Et à la fin du fichier, vous mettez :
Code :
ownercheck IN TXT "64gt23gt25"
On enregistre et vous redémarrez bind :
Code :
service bind9 restart
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 :
Code :
a2enmod rewrite
puis comme spécifié, on redémarre apache :
Code :
service apache2 restart
Ensuite on doit éditer le fichier suivant :
Code :
nano /etc/apache2/apache2.conf
Vous 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 restart
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 :
Code :
# DISABLE DIRECTORY VIEWS
Options -Indexes
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 :
Code :
# DISABLE DIRECTORY VIEWS
Options +Indexes
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 :
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 update
On installe git :
Code :
apt-get install git
On copie le dépôt de letsecrypt dans le dossier opt :
Code :
git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
On va dans le dossier créé :
Code :
cd /opt/letsencrypt
On crée des certificats pour notre domaine et le sous-domaine www :
Code :
./letsencrypt-auto --apache -d example.com -d www.example.com
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 :
Code :
./letsencrypt-auto certonly --apache --renew-by-default -d example.com -d www.example.com
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 :
Code :
nano /etc/apache2/sites-enabled/000-default.conf
Et 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-xsendfile
On 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 restart
On 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 install
On 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 install
Note : 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 install
On actualise les liens symboliques pour rtorrent :
Code :
ldconfig
On installe rutorrent :
Code :
cd /var/www
git clone https://github.com/Novik/ruTorrent.git rutorrent
On installe le plugin pausewebui :
Code :
cd /var/www/rutorrent/plugins/
svn checkout http://rutorrent-pausewebui.googlecode.com/svn/trunk/ pausewebui
On met les bons droits aux fichiers :
Code :
chown -R www-data:www-data /var/www/rutorrent
On configure le plugin create :
Code :
nano /var/www/rutorrent/plugins/create/conf.php
on 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.rc
Dedans 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/user1
On 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 username
On édite le htaccess pour prendre en compte cela :
Code :
nano /var/www/rutorrent/.htaccess
et 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.conf
dedans 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.conf
On active deux modules d'apache :
Code :
a2enmod auth_digest
a2enmod authn_file
On redémarre apache pour prendre en compte les modifs :
Code :
/etc/init.d/apache2 restart
On 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.conf
et on rentre les informations suivantes dans ce fichier de conf :
Code :
nano /etc/apache2/sites-available/rtorrentscgi.conf
Code :
#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.conf
On redémarre apache :
Code :
/etc/init.d/apache2 restart
On va ajouter des règles dans iptables pour que rtorrent puisse communiquer :
Code :
nano /etc/init.d/iptablesrules
et 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 ACCEPT
On active ces règles :
Code :
/etc/init.d/iptablesrules
On installe screen :
Code :
apt-get install screen
On crée un répertoire de configuration pour notre utilisateur de rutorrent :
Code :
mkdir /var/www/rutorrent/conf/users/user1
On édite le fichier de configuration correspondant :
Code :
nano /var/www/rutorrent/conf/users/user1/config.php
et 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.ini
dedans 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 = no
On 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-rtorrent
On édite ce script afin de le faire correspondre à notre utilisateur :
Code :
nano /etc/init.d/user1-rtorrent
On rend le script exécutable :
Code :
chmod +x /etc/init.d/user1-rtorrent
On met le lancement de ce script au démarrage de la machine :
Code :
update-rc.d user1-rtorrent defaults
On vérifie les droits des fichiers :
Code :
chown -R www-data:www-data /var/www/rutorrent
On peut maintenant lancer rtorrent pour notre utilisateur :
Code :
service user1-rtorrent start
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 :
Code :
ln -s /home/user1/torrents /var/www/nom_du_repertoire/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+ :
Code :
apt-get -y install php5 libapache2-mod-php5
service apache2 restart
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/ :
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.zip
Ensuite on doit éditer le fichier suivant :
Code :
nano /etc/apache2/apache2.conf
Vous 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.php
Cela 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.json
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 :
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 zip
Code :
"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-user
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 :
Code :
htpasswd -c /usr/local/apache/passwords nom_d'_utilisateur
Pour créer un nouveau compte en plus il faut faire :
Code :
htpasswd /usr/local/apache/passwords nouveau_compte
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 :
Code :
apt-get install goaccess
On configure le format de la date et de l'heure :
Code :
nano /etc/goaccess.conf
et 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 %b
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 :
Code :
mkdir /var/www/visiteurs
Code :
goaccess -f /var/log/apache2/access.log -a > /var/www/visiteurs/report.html
Afin de mettre à jour le fichier :
Code :
cat /var/log/apache2/access.log | goaccess -a > /var/www/visiteurs/report.html
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 :
Code :
nano /etc/apache2/apache2.conf
et j'ai modifié la ligne :
Code :
LogFormat "%h %l %u %t \"%r\" %>s %O" common
Code :
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" common
on redémarre apache :
Code :
service apache2 restart
Puis :
Code :
nano /etc/goaccess.conf
Et j'ai recommenté la ligne :
Code :
#Common Log Format (CLF)
log-format %h %^[%d:%^] "%r" %s %b
Pour 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.html
dans
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
endscript
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 :
Code :
zcat -f /var/log/apache2/access.log* | goaccess -a > /var/www/visiteurs/report.html
Partie indexation par moteurs de recherche :
Maintenant, on va dire non à l'indexation du site :
Code :
nano /var/www/robot.txt
et dedans vous rajoutez :
Code :
User-agent: *
Disallow: /
Voilà, ce tuto est fini, si vous avez des questions, n'hésitez pas :)