Installation de PeerTube

Installation de PeerTube.

1/ Serveur Gandi.

Configuration physique

Cœur(s) : 2
Disques : 1
Mémoire : 2 Go
Interfaces : 1
Localisation: Bissen, Luxembourg (LU-BI1)
Coût: 366/h Soit 26,35 € / mois

Système

Système d'exploitation : Debian 9
Nom du disque système : sysdiskvid
Nom (Hostname) : servervid

2/ Modification de la zone DNS du nom de domaine.

Ajouter le sous-domaine : peertube.labak.xyz

3/ Connexion au serveur Debian.

➜  ~ ssh admin@213.167.242.136                                      
admin@213.167.242.136's password: 
Linux servervid 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64
...
admin@servervid:~$ 

4/ Passage à l’utilisateur ‘root‘.

admin@servervid:~$ su
Password: 
root@servervid:/home/admin# 

5/ Configuration des locales.

Ouvrir :

/etc/locale.gen

Chercher :

# fr_FR ISO-8859-1
# fr_FR.UTF-8 UTF-8

Remplacer par :

fr_FR ISO-8859-1
fr_FR.UTF-8 UTF-8

Action :

# locale-gen

6/ Initialisation des locales.

root@servervid:/home/admin# dpkg-reconfigure locales
root@servervid:/home/admin# export LANGUAGE="fr_FR.UTF-8"
root@servervid:/home/admin# export LC_ALL="fr_FR.UTF-8"
root@servervid:/home/admin# export LANG="fr_FR.UTF-8"

7/ Mise-à-jour du système d’exploitation.

root@servervid:/home/admin# apt-get update
root@servervid:/home/admin# apt-get upgrade

8/ Installation des paquets de base.

root@servervid:/home/admin# apt-get install screen mc vim htop curl sudo unzip

9/ Configuration de l’utilisateur de base ‘admin’.

root@servervid:/home/admin# visudo

Chercher :

# User privilege specification
root        ALL=(ALL:ALL) ALL

Ajouter après :

admin    ALL=(ALL:ALL) ALL

Lien :
https://www.digitalocean.com/community/tutorials/how-to-add-delete-and-grant-sudo-privileges-to-users-on-a-debian-vps

10/ Installation des paquets de base pour Peertube.

root@servervid:/home/admin# apt-get install nginx ffmpeg postgresql openssl g++ make redis-server git

11/ Vérification des versions des paquets.

root@servervid:/home/admin# ffmpeg -version
ffmpeg version 3.2.10-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers
...
root@servervid:/home/admin# g++ -v
...
gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) 
root@servervid:/home/admin# apt-cache policy postgresql
postgresql:
  Installé : 9.6+181+deb9u1
...

12/ Installation de Certbot.

root@servervid:/home/admin# apt-get install python-certbot-nginx

Lien :
https://certbot.eff.org/lets-encrypt/debianstretch-nginx

13/ Installation de NodeJS.

root@servervid:/home/admin# curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
root@servervid:/home/admin# apt-get install -y nodejs

Lien :
https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions

14/ Installation de Yarn.

root@servervid:/home/admin# curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
root@servervid:/home/admin# echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
root@servervid:/home/admin# apt-get update && apt-get install yarn

Lien :
https://yarnpkg.com/en/docs/install#linux-tab

15/ Quitter.

root@servervid:/home/admin# exit
exit
admin@servervid:~$ 

16/ Création de l’utilisateur ‘peertube‘.

admin@servervid:~$ sudo useradd -m -d /var/www/peertube -s /bin/bash -p peertube peertube
admin@servervid:~$ sudo passwd peertube

17/ Lancement du serveur de base de données PostgreSQL.

admin@servervid:~$ sudo pg_createcluster 9.6 main --start

18/ Configuration de la base de données.

admin@servervid:~$ sudo -u postgres createuser -P peertube
admin@servervid:~$ sudo -u postgres createdb -O peertube peertube_prod

19/ Initialisation de la dernière version de Peertube.

admin@servervid:~$ VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Latest Peertube version is $VERSION"
Latest Peertube version is v1.0.0-beta.1

20/ Création des répertoires.

admin@servervid:~$ cd /var/www/peertube && sudo -u peertube mkdir config storage versions && cd versions
admin@servervid:/var/www/peertube/versions$ 

21/ Téléchargement du client Peertube.

admin@servervid:/var/www/peertube/versions$ sudo -u peertube wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip"

22/ Vérification.

admin@servervid:/var/www/peertube/versions$ ls -l
total 6484
-rw-r--r-- 1 peertube peertube 6638628 mars  20 10:35 peertube-v1.0.0-beta.1.zip
admin@servervid:/var/www/peertube/versions$ 

23/ Installation.

admin@servervid:/var/www/peertube/versions$ sudo -u peertube unzip peertube-${VERSION}.zip && sudo -u peertube rm peertube-${VERSION}.zip

24/ Vérification.

admin@servervid:/var/www/peertube/versions$ ls
peertube-v1.0.0-beta.1

25/ Installation.

admin@servervid:/var/www/peertube/versions$ cd ../ && sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest

26/ Vérification.

admin@servervid:/var/www/peertube$ ls
config  peertube-latest  storage  versions

27/ Post-installation.

admin@servervid:/var/www/peertube$  cd ./peertube-latest && sudo -H -u peertube yarn install --production --pure-lockfile

28/ Fichier de configuration de Peertube.

admin@servervid:/var/www/peertube/peertube-latest$ cd /var/www/peertube && sudo -u peertube cp peertube-latest/config/production.yaml.example config/production.yaml
admin@servervid:/var/www/peertube$

29/ Mot de passe de la base de données.

Ouvrir :

/var/www/peertube/config/production.yaml

Chercher :

  password: 'peertube'

Remplacer par :

  password: '<Mot de passe initialiser en 18/>'

30/ Fichier de configuration de Nginx.

admin@servervid:/var/www/peertube$ sudo cp /var/www/peertube/peertube-latest/support/nginx/peertube /etc/nginx/sites-available/peertube

31/ Activation du fichier de configuration.

admin@servervid:/var/www/peertube$ sudo ln -s /etc/nginx/sites-available/peertube /etc/nginx/sites-enabled/peertube

32/ Pre-configuration.

admin@servervid:/var/www/peertube$ sudo systemctl stop nginx

33/ Configuration de Nginx.

Ouvrir :

/etc/nginx/sites-available/peertube

Chercher et commenter :

ssl_certificate
ssl_certificate_key lines

Chercher tout :

peertube.example.com

Remplacer par :

peertube.labak.xyz

34/ Génération du certification Let’s Encrypt.

admin@servervid:/var/www/peertube$ sudo certbot --authenticator standalone --installer nginx --post-hook "systemctl start nginx"
Saving debug log to /var/log/letsencrypt/letsencrypt.log

Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: peertube.labak.xyz
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):1

35/ Post-configuration.

Ouvrir :

/etc/nginx/sites-available/peertube

Chercher et commenter :

ssl_certificate
ssl_certificate_key lines

36/ Redémarrer le serveur Nginx.

admin@servervid:/var/www/peertube$ sudo systemctl reload nginx

37/ Configuration de ‘systemd‘.

admin@servervid:/var/www/peertube$ sudo cp /var/www/peertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/
admin@servervid:/var/www/peertube$ sudo systemctl daemon-reload

38/ Lancement de Peertube.

admin@servervid:/var/www/peertube$ sudo systemctl start peertube
admin@servervid:/var/www/peertube$ sudo journalctl -feu peertube
...
mars 27 20:29:46 servervid peertube[15220]: [peertube.labak.xyz:443] 2018-03-27 20:29:46.050 info: Username: root
mars 27 20:29:46 servervid peertube[15220]: [peertube.labak.xyz:443] 2018-03-27 20:29:46.050 info: User password: <Mot de passe>
...

39/ Page d’accueil.

https://peertube.labak.xyz

40/ Liens.

https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/dependencies.md
https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md

mars 27, 2018