Avant de commencer nous nous connectons sur la plateforme Linode sur notre VPS linux(Ubuntu).
Si vous voulez savoir comment accéder à un VPS sur Linode suivez cet article. Connectons-nous par SSH à notre machine Ubuntu sur linode. Rappelons que les prix sur Linode sont vraiment accessibles et abordables.
![](https://eroambahub.com/content/images/2022/10/image.png)
![](https://eroambahub.com/content/images/2022/10/image-1.png)
Configuration de base Linux sur Linode.
root@localhost:~# sudo apt update
Création d’un nouvel Utilisateur
root@localhost:~# adduser epa
![](https://eroambahub.com/content/images/2022/10/image-2.png)
Accordons les privilège à l’utilisateur
root@localhost:~# usermod -aG sudo epa
Spécifions les privilèges de l’utilisateur en ajoutant le nom de notre utilisateur et les accès ALL=(ALL: ALL) ALL dans le fichier qui s’ouvrira
root@localhost:~# visudo
![](https://eroambahub.com/content/images/2022/10/image-3.png)
Changeons d'utilisateur maintenant.
root@localhost:~# su - epa
Installons dotnet sur notre machine linux(Ubuntu 20.04).
epa@localhost:~# wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
epa@localhost:~# sudo dpkg -i packages-microsoft-prod.deb
epa@localhost:~# sudo apt update
epa@localhost:~# sudo apt install apt-transport-https
epa@localhost:~# sudo apt-get install -y dotnet-sdk-5.0
epa@localhost:~# dotnet --list-sdks
![](https://eroambahub.com/content/images/2022/10/image-4.png)
Recherchons l’adresse IP de notre machine afin de l’ajouter à notre projet .net .
![](https://eroambahub.com/content/images/2022/10/image-5.png)
Configuration de notre projet dotnet en environnement de développement
Dans le fichier Program.cs ajoutons l’adresse IP de notre machine Ubuntu en ligne
public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder =>{webBuilder.UseStartup<Startup>().UseUrls("http://178.79.168.173:5000;http://178.79.168.173:5002");// webBuilder.UseStartup<Startup>().UseUrls("http://localhost:5000");});
Après nous faisons un build du projet du projet .Net
D:\PROJET\BACK DOTNET\CHRETIEN 2\CHRETIEN2> dotnet build
Créons un dossier qui contiendra notre build du projet dotnet sur notre machine linux
epa@localhost:~$ mkdir chretien
Utilisons FileZilla pour récupérer notre projet sur notre serveur Linode Ubuntu en ligne. Utilisons la connexion FTP avec le port 22
![](https://eroambahub.com/content/images/2022/10/image-6.png)
Configuration notre serveur Nginx sur Linux (Ubuntu)
Installons Nginx sur Linux
epa@localhost:~$ sudo apt install nginx
Nous avons Nginx qui est bien installé super
![](https://eroambahub.com/content/images/2022/10/image-7.png)
Passons à la configuration de Nginx en production
Utilisons nano ou Vim pour configurer nginx
epa@localhost:~$ sudo vim /etc/nginx/sites-available/default
server {
listen 80;
location / {
proxy_pass http://178.79.168.173:5002;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Vérifions si notre configuration est ok.
epa@localhost:~$ sudo nginx -t
![](https://eroambahub.com/content/images/2022/10/image-8.png)
epa@localhost:~$ sudo systemctl restart nginx
Oups j’oublias activons nos ports avec UFW pour la gestion des pares-feux.
Si tu veux mieux comprendre UFW je t’explique dans ce lien
epa@localhost:~$ sudo ufw enable
epa@localhost:~$ sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 5000/tcp
sudo ufw allow 5002/tcp
epa@localhost:~$ cd chretien/
Lançons le projet et testons si ça fonctionne
epa@localhost:~/chretien$ dotnet CHRETIEN2.dll
![](https://eroambahub.com/content/images/2022/10/image-9.png)
Testons notre api avec ce endpoint : http://178.79.168.173/actualities ou http://178.79.168.173:5000/actualities ou http://178.79.168.173:5002/actualities dans notre navigateur
![](https://eroambahub.com/content/images/2022/10/image-10.png)
Super notre configuration marche bien essayons maintenant d’améliorer notre déploiement .net sur linux avec un nom de domaine tout en ajoutant un certificat SSL valide pour activer HTTPS.