Installation
Connexion avec l’utilisateur root.
su -l
sudo.Installation de la commande sudo:
apt install sudo
aoutouriser un utilisateur à sudo:
adduser <userid> sudo
Installation:
apt install ufw
Activation du Firewall:
ufw enable
Edition du fichier de configuration du Firewall.
nano /etc/default/ufw
Désactivation de l'option IPV6 dans le fichier de configuration
IPV6=no
Relance du service
ufw reload
Création d'un fichier de configuration du service SSH.
nano /etc/ssh/sshd_config.d/1000-port.conf
Définition du port de communication
port 12345
Ajout du port au firewall
ufw allow from any to any proto tcp port <ssh_port>
Rechargement du firewall
ufw reload
Relance du service ssh
systemctl restart ssh
Installation du logiciel
apt install apache2
Ajout des ports 80 et 443 au Firewall
ufw allow 'Apache Full'
Rechargement du firewall
ufw reload
Activation du SSL
sudo a2enmod ssl
sudo a2ensite default-ssl.conf
sudo systemctl restart apache2.service
Création du certificat auto signé.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
Country Name (2 letter code) [XX]:FR
State or Province Name (full name) []:IDF
Locality Name (eg, city) [Default City]:Paris
Organization Name (eg, company) [Default Company Ltd]:Arkama
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:<my.web.site>
Email Address []:contact@arkama.fr
Création du site virtuel
nano /etc/apache2/sites-available/<my.web.site>.conf
Définition du site virtuel.
<VirtualHost *:443>
ServerName <my.web.site>
DocumentRoot /var/www/<my.web.site>/
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/<my.web.site>/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/<my.web.site>/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
<VirtualHost *:80>
ServerName <my.web.site>
Redirect / https://<my.web.site>/
</VirtualHost>
Création du répertoire du site.
mkdir /var/www/<my.web.site>/
Création du fichier de test.
sudo nano /var/www/<my.web.site>/index.html
<h1>it worked!</h1>
Installation de snap
apt install snapd
Installation de snapd avec snap
snap install snapd
Installation de cerbot.
snap install --classic certbot
Ajout de cerbot aux commandes exécutables.
ln -s /snap/bin/certbot /usr/bin/certbot
Installation du certificat signé avec Cerbot pour Apache.
certbot --apache
Faire un test renouvellement du certificat.
certbot renew --dry-run
Création du groupe d'utilisateurs
addgroup <mygroup>
Création des utilisateurs
adduser <myuser>
Assignation des utilisateurs au groupe
usermod -a -G <mygroup> <myuser>
Installation du logiciel
apt install transmission-daemon
Arrêt du service
systemctl stop transmission-daemon.service
Ajout d'un fichier de configuration du service.
mkdir -p /etc/systemd/system/transmission-daemon.service.d
nano /etc/systemd/system/transmission-daemon.service.d/run-as-user.conf
[Service]
User=<myuser>
Group=<mygroup>
Création des répertoires
mkdir -p /srv/p2p/downloads
mkdir -p /srv/p2p/incompletes
mkdir -p /home/<myuser>/.config/transmission-daemon/
Création du fichier de configuration
cp /var/lib/transmission-daemon/info/settings.json /home/<myuser>/.config/transmission-daemon/settings.json
nano /home/<myuser>/.config/transmission-daemon/settings.json
...
"download-dir": "/srv/p2p/downloads",
...
"incomplete-dir": "/srv/p2p/incompletes",
"incomplete-dir-enabled": true,
...
"rpc-password": "Ihave1user",
...
"rpc-url": "/p2p/",
"rpc-username": "<myuser>",
...
chown -R <myuser>:<mygroup> /srv/p2p/
chown -R <myuser>:<mygroup> /home/<myuser>/
Démarrage des services
systemctl daemon-reload
systemctl start transmission-daemon.service
Installation du logiciel
apt install nfs-kernel-server
Arrêt du service
systemctl stop nfs-kernel-server
Création du point d'entrée.
mkdir -p /srv/nfs/p2p
Montage du point d'entrée NFS vers le répertoire à partager.
mount --bind /srv/p2p/downloads/ /srv/nfs/p2p
Ajout du point de montage au démarrage.
nano /etc/fstab
...
/srv/p2p/downloads /srv/nfs/p2p none defaults,bind 0 0
Configuration du point d'entrée NFS.
nano /etc/exports
/srv/nfs/p2p 91.167.197.117/24(ro,sync,no_subtree_check,no_root_squash,insecure)
Exportation de la configuration.
exportfs -ra
Redémarrage du service.
systemctl restart nfs-kernel-server.service
Autorisation de l'accès NFS dans le Firewall.
ufw allow from 91.167.197.117 to any port nfs
Installation du logiciel
apt install vsftpd
Arrêt du service
systemctl stop vsftpd
Configuration du service
nano /etc/vsftpd.conf
...
ssl_enable=YES
rsa_cert_file=/etc/letsencrypt/live/<my.web.site>/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/<my.web.site>/privkey.pem
...
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
user_config_dir=/etc/vsftpd_user_conf
chroot_local_user=YES
allow_writeable_chroot=YES
listen_port=<ftp_port>
pasv_enable=YES
pasv_min_port=<ftp_min_passv_port>
pasv_max_port=<ftp_max_passv_port>
Définition de la liste des utilisateurs.
nano /etc/vsftpd.userlist
<myuser>
Création du répertoire de configuration des utilisateurs.
mkdir vsftpd_user_conf/
Configuration des utilisateurs.
nano /etc/vsftpd_user_conf/<myuser>
local_root=/srv/p2p/downloads
Ajout du port ftp au Firewall.
ufw allow from any to any proto tcp port <ftp_port>
Ajout des ports ftp passifs au Firewall.
ufw allow from any to any proto tcp port <ftp_min_passv_port>:<ftp_max_passv_port>
Démarrage du service
systemctl start vsftpd