Catégories
Tutos

Installer un serveur FTP sur debian

Easy commandes pour easy life. Voici comment créer rapidement un serveur ftp sur debian sans docker (héhé ca aurait été la solution la plus facile pourtant)..

Ici, on va utiliser pure-ftpd pour sa simplicité de configuration.

Installation

Bash
sudo apt-get install pure-ftpd pure-ftpd-common

Passez root pour la suite de la configuration, ou rajoutez sudo au début de chaque commande, vous connaissez la chanson :

Bash
sudo su

Ensuite on va sécuriser un ptit peu en créant un groupe isolé pour lancer pure-ftpd

Bash
groupadd ftpgroup
useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Désactivation de l’authentification par PAM

Bash
echo 'no' > /etc/pure-ftpd/conf/PAMAuthentication
echo 'yes' > /etc/pure-ftpd/conf/DontResolve
cd /etc/pure-ftpd/auth/ && ln -s ../conf/PureDB 50puredb

Création de notre premier user FTP

Pour la suite de l’exercice, on va créer un user nommé « painteau », dont le repertoire ftp racine sera « /home/painteau/ftp/ ». Adaptez au besoin.

On va créer le repertoire racine ftp de l’user, donner les droits au groupe ftp (et oui sinon ca va être dur d’y avoir accès) et enfin ajouter cet user dans la base de données de pure-ftpd

Bash
mkdir /home/painteau/ftp/
chown -R ftpuser:ftpgroup /home/painteau/ftp/
pure-pw useradd painteau -u ftpuser -g ftpgroup -d /home/painteau/ftp/

Vous serez alors invités à renseigner un mot de passe de votre choix pour l’accès ftp.

Pour vérifier que tout s’est bien passé :

Bash
cat /etc/pure-ftpd/pureftpd.passwd

Vous devriez alors voir votre user suivi du hash de votre mot de passe choisi.

C’est ok ? Plus qu’à finaliser la création de l’user en l’intégrant maintenant à la base de données pure-ftpd

Bash
pure-pw mkdb

Une fois terminé, on restart le deamon ftp pour prendre en compte tout notre bazar :

Bash
/etc/init.d/pure-ftpd restart

Et voilà c’est terminé !

On peut aller un peu plus loin, avec quelques commandes intéressantes, comme par exemple check la liste des user avec :

Bash
pure-pw list

changer le mot de passe d’un user existant avec :

Bash
pure-pw passwd painteau

ou simplement le delete :

Bash
pure-pw userdel painteau
Catégories
Tutos

Installer un serveur Jamulus sur Debian 10

Des semaines de confinement ne vous empêcherons plus de jammer avec vos collègues musiciens. Jamulus est un petit soft vous permettant de jouer avec eux (ou d’autre musiciens inconnus) avec une latence faible, tel un discord optimisé latence. Beaucoup de serveurs sont publics, mais peut-être voulez vous garder votre intimité ?

Alors même si un petit serveur Jamulus est rapide à lancer sous Windows (il est inclus dans le setup), peut-être certains d’entre vous souhaitent un serveur tournant 24h/24 sur un Linux, ou tout simplement ne pas utiliser la connexion, squattée par 2 enfants en mal de Disney+.

Voici donc un petit tuto pour vous expliquer comment installer un serveur sur une Debian 10

Préparatifs

Alors il va falloir vous connecter en root pour installer des packages, puis créer un utilisateur, le rajouter au groupe des sudoers, puis vous loger avec. Si vous avez un autre utilisateur, n’hésitez pas à l’utiliser et modifier le tuto en conséquence 🙂

Bash
apt-get update
apt-get upgrade
apt-get install build-essential gcc libssl-dev 
apt-get install make libpcre3-dev git 
apt-get install jackd qjackctl openjdk-8-jdk fakeroot

adduser jamjam
sudo adduser jamjam sudo
su - jamjam
sudo whoami

Setup

Jusque là, rien de nouveau et de très compliqué. Lançons donc maintenant le cœur du sujet. Toujours log avec cet utilisateur :

Bash
mkdir /home/jamjam/jam && cd /home/jamjam/jam
git clone https://github.com/corrados/jamulus
cd jamulus/distributions/ && ./build-debian-package.sh
cd /home/jamjam/jam/ && ls

Il faut à ce moment check votre version de Jamulus. La mienne est une 3.4.7 à l’heure où j’écris ces mots. Du coup installons le fichier .deb :

Bash
sudo dpkg --install jamulus_3.4.7_amd64.deb
sudo apt-get install -f
sudo dpkg --install jamulus_3.4.7_amd64.deb

Alors ici j’ai TOUJOURS du le faire 2 fois car la première il me mettait certains paquets en erreur. N’hésitez donc pas à le refaire après le apt-get install -f si il a généré une erreur.

Maintenant on veut lancer le service au démarrage, puis lancer le dit service. Repassez root, puis :

Bash
sudo cp /home/jamjam/jam/jamulus/distributions/jamulus-server.service /usr/lib/systemd/system/jamulus-server.service
systemctl enable jamulus-server.service
systemctl start jamulus-server.service

Voilà ! Le serveur doit être opérationnel ! Il vous suffit d’ouvrir le port 22124 UDP vers votre serveur si vous êtes derrière une box ou un routeur, ou a rajouter ca dans vos iptables.

Vous pouvez delete l’user que on a créé, et les dossiers téléchargés. Enjoy !

MAJ :

Pour les plus fenéants (ou les plus malins), il y aussi un docker pour ça :

Bash
docker run -d --name jamulus \
-e TZ="Europe/Paris" \
-p 22124:22124/udp \
-v /home/jam:/jam \
grundic/jamulus -n -s -p 22124 -l /jam/jamulus.log -w "Welcome to Jamulus server."
Catégories
Tutos

Ajouter la prise en charge du RTMPS à un serveur NGINX RTMP

Depuis l’abandon par Facebook Live du RTMP pour son homologue sécurisé RTMPS, le module RTMP de NGINX ne fonctionne plus pour renvoyer son flux vidéo sur Facebook. Et Twitter va peut-être suivre la même voie….

Il existe un moyen très simple de créer un proxy sécurisé sur son serveur Debian ou Windows afin d’encapsuler les données dans le protocole sécurisé, puis de le renvoyer vers les serveurs Facebook ou Twitter. Et voici comment faire.

L’idée est d’installer stunnel (https://www.stunnel.org/downloads.html sur Windows):

Bash
apt-get install stunnel4 -y

Sur linux, il va falloir l’activer en modifiant le fichier « /etc/default/stunnel4 » :

Bash
nano /etc/default/stunnel4

Ajoutez ou modifier la ligne :

Bash
ENABLE=1

Ensuite, créez / modifiez le fichier stunnel.conf (sur Windows il se trouve dans le dossier C:\Program Files (x86)\stunnel\config)

Bash
nano /etc/stunnel/stunnel.conf

Ajoutez y cela :

Bash
pid = /var/run/stunnel4/stunnel.pid
output = /var/log/stunnel4/stunnel.log

setuid = stunnel4
setgid = stunnel4

socket = r:TCP_NODELAY=1
socket = l:TCP_NODELAY=1

debug = 4

[fb-live]
client = yes
accept = 1936
connect = live-api-s.facebook.com:443
verifyChain = no

[twitter]
client = yes
accept = 1937
connect = fr.pscp.tv:443
verifyChain = no

Pour Windows, il suffit juste de rajouter cela :

Bash
[fb-live]
client = yes
accept = 1936
connect = live-api-s.facebook.com:443
verifyChain = no

[twitter]
client = yes
accept = 1937
connect = fr.pscp.tv:443
verifyChain = no

Enregistrez puis faites en sorte de démarrer stunnel au démarrage puis redémarrez le service :

Bash
systemctl enable stunnel4.service
systemctl restart stunnel4.service

Pour Windows, dans le dossier « stunnel » du menu Démarrage, cliquez sur « Service Install ». Le service Windows se chargera alors au démarrage.

Voilà ! Il n’y a plus qu’à changer votre fichier de configuration de NGINX ! Voici quelques exemples d’applications :

Bash
application live_facebook {
live on;
record off;
push rtmp://127.0.0.1:1936/rtmp/VOTRE_KEY_FACEBOOK;
}
Bash
application live_twitter {
live on;
record off;
push rtmp://127.0.0.1:1937/x/VOTRE_KEY_TWITTER;
}
Catégories
Tutos

Mettre à jour automatiquement votre serveur Debian 10

Allez, aujourd’hui petit tuto pour mettre à jour ULTRA simplement les programmes de votre serveur Debian 10.

A n’utiliser QUE sur les serveur hors production, car qui dit mise à jour dit : GROSSE MERDE QUI PEUT ARRIVER AU MAUVAIS MOMENT !

La commande est simple :

Bash
apt-get install cron-apt

Vous pouvez passer en mode full-update, avec la commande :

Bash
echo "upgrade -y -o APT::Get::Show-Upgraded=true" > /etc/cron-apt/action.d/4-YesUpgrade
Catégories
Tutos

Utiliser le compte root en SSH sous Debian 10 Buster

L’utilisation du SSH en root est déconseillée. Mais si comme moi vous avez un serveur à la maison pour votre usage perso, rien en vous empêche de vous simplifier la tâche en activant l’accès SSH pour l’utilisateur root.

Pour cela rien de plus simple. Ouvrez le fichier sshd_config :

vim /etc/ssh/sshd_config

Puis décommentez la ligne :

#PermitRootLogin XXXXXXXXX

pour pouvoir la remplacer par :

PermitRootLogin yes

Sauvez, quittez puis redémarrez le service SSH :

/etc/init.d/ssh restart

A noter : cette astuce fonctionne pour Debian 9 aussi 🙂