Code-Server facile à installer sur Ubuntu 20.04
Bien vous guider pour installer Code-Server sur Ubuntu 20.04. La dernière version de Code-server v3.11.0 sert le code VS sur n'importe quelle machine n'importe où et y accède dans le navigateur.
Dans cet article, nous vous guiderons pour installer Code-Server sur Ubuntu 20.04.
Code-server est une application serveur open source qui sert VS Code sur n'importe quelle machine n'importe où et y accède dans le navigateur. Il permet de tirer parti de puissants serveurs cloud pour accélérer les compilations et les tests, et pour économiser la batterie lors de vos déplacements.
Conditions préalables
Installer Code-Server sur Ubuntu 20.04
1. Mettre à jour le serveur
Gardez le serveur à jour.
# apt update -y
# apt upgrade -y
2. Installer le serveur de code
Téléchargez code-server à partir du référentiel officiel à l'aide de la commande suivante :
# cd /home
# wget https://github.com/cdr/code-server/releases/download/v3.11.0/code-server-3.11.0-linux-amd64.tar.gz
Extrayez le fichier tar et renommez-le avec le serveur de code à l' aide de la commande suivante :
# tar xzf code-server-3.11.0-linux-amd64.tar.gz && rm code-server-3.11.0-linux-amd64.tar.gz
# mv code-server-3.11.0-linux-amd64 code-server
Rendez le binaire du serveur de code exécutable.
# cd code-server
Exécutez code-server.
./code-server --port 8000
Ouvrez le navigateur de votre ordinateur et accédez à http://YOUR_IP_ADDRESS:8000. Un mot de passe vous sera demandé. Utilisez le mot de passe affiché dans le terminal SSH. L'interface Visual Studio Code s'ouvrira. Pour arrêter le serveur, appuyez sur CTRL + C dans le terminal SSH.
3. Créer un service de démarrage du système
Nous pouvons créer un service à l'aide du gestionnaire de services systemd de Linux . Suivez ces étapes:
Créez un nouveau fichier par le nom code-server.service à l' aide de la commande suivante :
# vi /lib/systemd/system/code-server.service
Copiez et collez le contenu suivant et remplacez-le par le mot de passe que vous souhaitez définir. Ce sera le mot de passe que vous utiliserez pour vous connecter au serveur de code.
[Unit]
Description=Code Server Service
After=network.target[Service]
Type=simple
Restart=on-failure
RestartSec=10
WorkingDirectory=/home/code-server
Environment='PASSWORD='
ExecStart=/home/code-server/code-server --port 8000
StandardOutput=file:/var/log/code-server-output.log
StandardError=file:/var/log/code-server-error.log[Install]
WantedBy=multi-user.target
Enregistrez et fermez le fichier.
Maintenant, démarrez et activez le code-server.service à l' aide des commandes suivantes :
# systemctl daemon-reload
# systemctl start code-server
# systemctl enable code-server
Ouvrez le navigateur de votre ordinateur et accédez à http://YOUR_IP_ADDRESS:8000. Un mot de passe vous sera demandé. Utilisez le mot de passe que vous avez mentionné dans le fichier code-server.service .
4. Installer et configurer Nginx
Afin d'accéder à l'installation sur un nom de domaine et d'ajouter un certificat SSL, il est recommandé de mettre en place un reverse proxy. À cette fin de démonstration, nous utilisons le serveur Web Nginx comme proxy inverse.
Pour installer Nginx, utilisez la commande suivante :
# apt-get install nginx -y
Désactivez le fichier de configuration du site Nginx par défaut.
# rm /etc/nginx/sites-enabled/default
Créez un nouveau fichier de configuration de site Nginx pour code-server.
# vi /etc/nginx/sites-available/code-server
Collez l'extrait suivant dans le fichier, en remplaçant example.com par votre propre nom de domaine.
server {
listen 80;
listen [::]:80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8000/;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Activez la configuration et redémarrez le serveur Web Nginx.
# ln -s /etc/nginx/sites-available/code-server /etc/nginx/sites-enabled/
Testez le fichier de configuration Nginx.
# nginx -t
Si aucune erreur ne se produit, redémarrez le service nginx .
# systemctl restart nginx
Si vous utilisez UFW comme pare-feu, autorisez les connexions SSH et Nginx à travers le pare-feu et activez le pare-feu. Cela garantira que l'installation du serveur de code n'est accessible que via le proxy inverse Nginx.
# ufw allow ssh
# ufw allow 'Nginx Full'
# ufw enable
Accédez à votre nom de domaine pour tester l'installation.
5. Installez Let's Encrypt SSL
Gardez la connexion sécurisée entre le serveur et l'utilisateur final, il est fortement recommandé d'installer un certificat SSL. Let's Encrypt est un certificat SSL gratuit qui a une validité de 90 jours et qui sera renouvelé tous les 90 jours. Nous utilisons certbot pour installer le certificat SSL.
Téléchargez et installez Certbot.
# apt-get install python3-certbot-nginx
Exécutez la commande suivante pour lancer le programme d'installation en ligne de commande de Certbot, en remplaçant example.com par votre propre nom de domaine.
# certbot --nginx -d example.com
Passez par le programme d'installation interactif. Lorsqu'on lui a demandé s'il fallait ou non rediriger le trafic HTTP vers HTTPS, choisissez de rediriger.
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you’re confident your site works on HTTPS. You can undo this
change by editing your web server’s configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/code-server
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/code-server
6. Installez fail2ban (recommandé)
Fail2ban est une application qui analyse les journaux pour détecter et atténuer les attaques automatisées sur un serveur. Lorsqu'un nombre prédéfini de tentatives de connexion infructueuses est détecté, fail2ban modifiera les iptables du serveur pour bloquer l'attaquant pendant une durée prédéfinie.
Installez setuptools. Ceci est nécessaire pour installer fail2ban.
# apt-get install python3-setuptools -y
Téléchargez et installez fail2ban.
git clone https://github.com/fail2ban/fail2ban.git
cd fail2ban
sudo python3 setup.py install
cp build/fail2ban.service /lib/systemd/system/fail2ban.service
cd .. && rm -rf fail2ban
Copiez le fichier de configuration par défaut jails.conf dans jails.local et ouvrez le fichier copié dans un éditeur de texte.
# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# vi /etc/fail2ban/jail.local
Collez l'extrait suivant au bas du fichier. Vous pouvez modifier les paramètres maxretry, findtime et bantime.
[code-server]
enabled = true
logpath = /var/log/code-server-output.log
# maxretry: The amount of unsuccessful login attempts after which a ban is issued.
maxretry = 5
# findtime: The amount of time within which the login attempts must occur.
findtime = 10m
# bantime: The amount of time for which an IP is banned from accessing the server.
bantime = 10m
Créez un nouveau fichier de configuration de filtre pour définir le modèle de filtre afin de rechercher les tentatives de connexion infructueuses dans le journal du serveur de code.
# vi /etc/fail2ban/filter.d/code-server.conf
Collez l'extrait suivant dans le fichier.
[Definition]
failregex = Failed login attempt {\'xForwardedFor\':\'\'.*
ignoreregex =
datepattern = "timestamp':{EPOCH}}$
Redémarrez le service rsyslog et activez et démarrez le service fail2ban.
# systemctl restart rsyslog.service
# systemctl start fail2ban.service
# systemctl enable fail2ban.service
C'est ça. L'installation s'est terminée avec succès.
Dans cet article, nous vous avons expliqué comment installer Code-Server sur Ubuntu 20.04