Dépendances pour le client torrent
Si on veux transmission, j'ai recherché un peu, voici des liens
Mais on va mettre rtorrent avec l'interface rutorrent pour avoir des extensions et fonctionnalités rapidement dont le dl auto depuis un flux rss
Installation apache
Source : https://www.digitalocean.com/community/t...-debian-10 (archive : https://archive.vn/XIEkv)
On update la liste des paquets (et on maj en même temps)
On installe apache :
On ajoute des règles au parefeu
Et avant la dernière ligne, on ajoute :
On recharge iptables
On démarre le service
On peut vérifier que ça fonctionne en visitant la page avec firefox
Ajout du https
Si vous avez un nom de domaine : vous pouvez maintenant mettre en place un certificat pour le https en utilisant letsencrypt : https://letsencrypt.org/
Comme indiqué, vous pouvez utiliser CertBOT : https://certbot.eff.org/
Dans mon cas, n'ayant pas de nom de domaine je vais créer des certificats et il faudra accepter d'avoir une erreur de certificat pour le https car aucune autorité ne reconnaîtra ce certificat. Ce n'est pas un défaut de sécurité dans ce cas, car on crée nous même le certificat pour lequel on va faire confiance pour nos échanges. Cela permet d'avoir des échanges chiffrés et comme on va se connecter via l'ip, pas de soucis, ce sera bien la bonne machine. On pourra alors voir si le certificat est modifié lors de nos connexions.
Source : https://www.digitalocean.com/community/t...-debian-10
On génère les fichiers pour le certificat :
Les questions seront :
On a donc comme fichiers :
On crée un fichier de configuration pour apache afin qu'il utilise les bons paramètres https.
Source : https://cipherli.st/ (archive : https://archive.fo/pkpAV)
Note : On désactive HSTS et on autorise X-Frame-Options pour SAMEORIGIN.
et dedans on colle :
On édite un autre fichier de configuration d'apache après l'avoir sauvegardé :
Vous recherchez les lignes suivantes et modifiez pour :
Vous enregistrez les changements dans le fichier.
Tout cela est bien mais l'on peut encore visiter la page alors qu'on est pas en https, pour modifier ça automatiquement :
Dans la section de "VirtualHost *:80", après DocumentRoot par exemple, vous modifiez :
On active les modules qu'il faut pour apache :
Vous pouvez tester si tout est ok avec :
On redémarre apache pour que cela prenne en compte cette modification :
Voilà, maintenant vous devrez accepter le certificat sur la page d'avertissement de votre navigateur en cliquant sur "Avancé" et puis "Accepter le risque et poursuivre".
Installation php
Sources : https://geekmag.fr/blog/2020/01/25/insta...-debian-9/ (archive : https://archive.vn/ddJ9q)
https://computingforgeeks.com/install-ph...10-buster/ (archive : https://archive.vn/XIiME)
On met php
On peut vérifier la version installée :
On installe les extensions php
On active des trucs :
Faut encore installer quelques trucs
On active le module
J'ai eu l'erreur suivante
On fait
De même pour
Et
On redémarre apache
Et les dernières dépendances
Si on veux transmission, j'ai recherché un peu, voici des liens
- https://wiki.debian.org/Transmission
- https://github.com/transmission-remote-gui/transgui
- https://github.com/lupus78/feedtransmission
Mais on va mettre rtorrent avec l'interface rutorrent pour avoir des extensions et fonctionnalités rapidement dont le dl auto depuis un flux rss
- https://github.com/rakshasa/rtorrent
- https://rtorrent-docs.readthedocs.io/en/latest/
- https://github.com/Novik/ruTorrent
- https://terminal28.com/how-to-install-an...9-stretch/ (archive : https://archive.vn/J93bu)
Installation apache
Source : https://www.digitalocean.com/community/t...-debian-10 (archive : https://archive.vn/XIEkv)
On update la liste des paquets (et on maj en même temps)
Code :
sudo apt update
sudo apt upgrade
On installe apache :
Code :
sudo apt install apache2 apache2-utils
On ajoute des règles au parefeu
Code :
sudo nano /etc/init.d/iptablesrules
Et avant la dernière ligne, on ajoute :
#Autorisation apache
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
On recharge iptables
Code :
sudo /etc/init.d/iptablesrules
On démarre le service
Code :
sudo systemctl start apache2
On peut vérifier que ça fonctionne en visitant la page avec firefox
ip.de.la.machine
Ajout du https
Si vous avez un nom de domaine : vous pouvez maintenant mettre en place un certificat pour le https en utilisant letsencrypt : https://letsencrypt.org/
Comme indiqué, vous pouvez utiliser CertBOT : https://certbot.eff.org/
Dans mon cas, n'ayant pas de nom de domaine je vais créer des certificats et il faudra accepter d'avoir une erreur de certificat pour le https car aucune autorité ne reconnaîtra ce certificat. Ce n'est pas un défaut de sécurité dans ce cas, car on crée nous même le certificat pour lequel on va faire confiance pour nos échanges. Cela permet d'avoir des échanges chiffrés et comme on va se connecter via l'ip, pas de soucis, ce sera bien la bonne machine. On pourra alors voir si le certificat est modifié lors de nos connexions.
Source : https://www.digitalocean.com/community/t...-debian-10
On génère les fichiers pour le certificat :
Code :
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
- openssl: nom de la commande pour créer et gérer les certificats openssl, les clés et autres fichiers relatifs à cela.
- req: cette sous-commande spécifie que l'on veux utiliser X.509 comme méthode de certification des requêtes (CSR).
- -x509: cette option de commande dit que l'on va utiliser des certificats auto-signé et non pas générer une requête de signatures de certificat (cela aurait eu lieu si on utilisait une entités de certification).
- -nodes: cette option de commande va dire à openssl de sauter l'étape de sécurisation du certificat avec une phrase de passe. Il faut que apache puisse lire ce certificat tout seul comme un grand au démarrage de la machine.
- -days 365: cette option de commande donne la durée de la validité du certificat, ici 365 jours.
- -newkey rsa:2048: cette option de commande spécifie que l'on veut ausi générer une clef avec ce certificat et que cette clef doit être une clef RSA de 2048 bits.
- -keyout: cette option de commande donne à openssl l'emplacement de sauvegarde du fichier de la clef générée.
- -out: cette option de commande done à openssl l'emplacement de sauvegarde du fichier du certificat créé.
Les questions seront :
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:New York City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Bouncy Castles, Inc.
Organizational Unit Name (eg, section) []:Ministry of Water Slides
Common Name (e.g. server FQDN or YOUR name) []:server_IP_address
Email Address []:admin@your_domain.com
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:New York City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Bouncy Castles, Inc.
Organizational Unit Name (eg, section) []:Ministry of Water Slides
Common Name (e.g. server FQDN or YOUR name) []:server_IP_address
Email Address []:admin@your_domain.com
On a donc comme fichiers :
- /etc/ssl/private/apache-selfsigned.key : la clef générée
- /etc/ssl/certs/apache-selfsigned.crt : le certificat généré
On crée un fichier de configuration pour apache afin qu'il utilise les bons paramètres https.
Source : https://cipherli.st/ (archive : https://archive.fo/pkpAV)
Note : On désactive HSTS et on autorise X-Frame-Options pour SAMEORIGIN.
Code :
sudo nano /etc/apache2/conf-available/ssl-params.conf
et dedans on colle :
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
# Disable preloading HSTS for now. You can use the commented out header line that includes
# the "preload" directive if you understand the implications.
# Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options SAMEORIGIN
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
# Requires Apache >= 2.4.11
SSLSessionTickets Off
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder On
# Disable preloading HSTS for now. You can use the commented out header line that includes
# the "preload" directive if you understand the implications.
# Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options SAMEORIGIN
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
# Requires Apache >= 2.4.11
SSLSessionTickets Off
On édite un autre fichier de configuration d'apache après l'avoir sauvegardé :
Code :
sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak
sudo nano /etc/apache2/sites-available/default-ssl.conf
Vous recherchez les lignes suivantes et modifiez pour :
ServerAdmin webmaster@localhost
ServerName ip.de.la.machine
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
La première est séparée des suivantes mais juste au-dessus ;) Et vous remplacez les chemins des fichiers crt et key selon la commande un poil plus haut.ServerName ip.de.la.machine
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
Vous enregistrez les changements dans le fichier.
Tout cela est bien mais l'on peut encore visiter la page alors qu'on est pas en https, pour modifier ça automatiquement :
Code :
sudo nano /etc/apache2/sites-available/000-default.conf
DocumentRoot /var/www/html
Redirect "/" "https://ip.de.la.machine/"
Redirect "/" "https://ip.de.la.machine/"
On active les modules qu'il faut pour apache :
Code :
sudo a2enmod ssl
sudo a2enmod headers
sudo a2ensite default-ssl
sudo a2enconf ssl-params
Vous pouvez tester si tout est ok avec :
Code :
sudo apache2ctl configtest
On redémarre apache pour que cela prenne en compte cette modification :
Code :
sudo systemctl restart apache2
Voilà, maintenant vous devrez accepter le certificat sur la page d'avertissement de votre navigateur en cliquant sur "Avancé" et puis "Accepter le risque et poursuivre".
Installation php
Sources : https://geekmag.fr/blog/2020/01/25/insta...-debian-9/ (archive : https://archive.vn/ddJ9q)
https://computingforgeeks.com/install-ph...10-buster/ (archive : https://archive.vn/XIiME)
On met php
Code :
sudo apt install php php-common
On peut vérifier la version installée :
Code :
php -v
On installe les extensions php
Code :
sudo apt install php-geoip php-cli php-fpm php-json php-zip php-mbstring php-curl php-xml php-cgi
On active des trucs :
Code :
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.3-fpm
Faut encore installer quelques trucs
Code :
sudo apt install libapache2-mod-php
On active le module
Code :
sudo a2enmod php7.3
J'ai eu l'erreur suivante
sudo a2enmod php7.3
Considering dependency mpm_prefork for php7.3:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.3:
Module php7.3 already enabled
Considering dependency mpm_prefork for php7.3:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.3:
Module php7.3 already enabled
On fait
Code :
sudo a2dismod mpm_prefork
sudo a2dismod mpm_worker
sudo a2dismod mpm_event
De même pour
Code :
sudo apt install libapache2-mod-scgi
sudo a2enmod scgi
Et
Code :
sudo apt install libapache2-mod-xsendfile
sudo a2enmod xsendfile
On redémarre apache
Code :
sudo systemctl restart apache2
Et les dernières dépendances
Code :
sudo apt install unrar unzip ffmpeg mediainfo curl screen sqlite3 git net-tools sox