Installation de Dotnet Core sur un serveur dédié
fr:Installation de Dotnet Core sur un serveur dédié he:הליבה Dotnet התקנה על שרת ייעודי ro:DotNet Core instalare pe un server dedicat ru:Установка DotNet Core на выделенном сервере pl:Dotnet Core instalacji na serwerze dedykowanym ja:専用サーバーの Dotnet のコア インストール ar:تثبيت Dotnet الأساسية على خادم مخصص zh:Dotnet 核心安装在专用服务器上 de:Dotnet-Core-Installation auf einem dedizierten server nl:DotNet Core-installatie op een dedicated server it:Installazione di DotNet Core su un server dedicato pt:Instalação de núcleo do dotnet em um servidor dedicado es:Instalación de dotnet Core en un servidor dedicado en:Dotnet Core installation on a dedicated server
Introduction
Depuis désormais quelques mois Microsoft a rendu libre son environnement de développement .NET, permettant à chacun de l'installer librement ; en addition de cela s'ajoute désormais la possibilité d'installer et utiliser le framework .NET directement sur Linux, sans utiliser de machine virtuelle. Nous verrons dans ce tutoriel comment installer et utiliser le logiciel .NET Core sur Linux, puis sous Windows.
Déroulé
Installation sur Linux
En brut
Cette partie est rédigée en prenant comme base une machine tournant sur Debian 8 ; il vous faudra adapter les différentes commandes si vous utilisez une distribution différente. En outre, les commande Debian et Ubuntu étant similaires a bien des égards, les utilisateurs de cet OS devraient théoriquement pouvoir utiliser les commandes listées dans cette partie.
Installation du framework
L'installation sous Linux n'est pas compliquée en soi : une fiche du site officiel de Microsoft décrit les quelques opérations à effectuer.
# téléchargement des dépendances minimales
sudo apt-get install curl libunwind8 gettext
# acquisition de dotnet par curl
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835021
# Extraction et placement de dotnet dans /opt/dotnet
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
# Lien symbolique afin d'utiliser la commande "dotnet" directement
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
L'installation est à ce point normalement terminée ; afin de vérifier, nous allons effectuer la commande "dotnet new" ; si cela crée un projet, tout fonctionne. Si des erreurs apparaissent, c'est qu'une bibliothèque essentielle n'est pas installée sur votre machine.
Gérer les dépendances
Selon vos précédentes installation, dotnet peut refuser de fonctionner suite à des dépendances manquantes. Pour vérifier quelles sont-elles en précisant si elles sont trouvables ou non sur le système, effectuez la commande suite :
find /opt/dotnet -name '*.so' -type f -print | xargs ldd | grep 'not found'
La plupart des dépendances manquantes peuvent être installées avec la bibliothèque "libicu52" ; cette dernière n'étant pas disponible sous Ubuntu 16.04, nous ajouterons le dépôt main de Trusty. Cette étape n'est théoriquement pas obligatoire pour les autres OS.
# Modification du fichier de sources
nano /etc/apt/sources.list
# Ajouter le dépôt main de Trusty à la fin du fichier
deb http://security.ubuntu.com/ubuntu trusty-security main
# Sauvegarder (CTRL+O puis X sur nano), puis rafraîchir la liste des packets disponibles.
apt-get update
# Installer la bibliothèque
apt-get install libicu52
Vérifier l'installation
Une fois que la commande find /opt/dotnet -name '*.so' -type f -print | xargs ldd | grep 'not found' ne donne plus aucune bibliothèque manquante, le système est théoriquement prêt à lancer Dotnet. Pour tester son fonctionnement, nous allons utiliser le test officiellement recommandé sur le site officiel de Microsoft, avec la création d'un HelloWorld! comme base. Pour effectuer cela, suivez ces quelques commandes :
mkdir dotnet && cd dotnet # création d'un dossier pour tester.
dotnet new # création du projet
dotnet restore # restauration des fichiers spécifiés dans le fichier project.json
dotnet run # lancement de l'application
#output de la commande run
Project dotnet (.NETCoreApp,Version=v1.1) was previously compiled. Skipping compilation.
Hello World!
# tout semble fonctionner.
Pour les projets web ?
Dans le cas d'un site internet, le projet pourra se créer avec Kestrel, le serveur web intégré à Dotnet.Pour créer un projet web, il suffit de remplacer la commande "dotnet new" par "dotnet new -t web" qui se chargera d'intégrer le serveur web et de créer un répertoire www dans le dossier de création. La configuration d'un projet web sous Dotnet étant plus complexe qu'un simple HelloWorld! à créer, nous n'irons pas plus loin : en outre, vous trouvez comme pour le HelloWorld! un fichier de configuration "packages.json" et le fichier principal de l'application, "Program.cs".
Conclusion de partie
Vous avez désormais une installation fonctionne de Dotnet sur votre machine sous Linux ; l'avantage de Dotnet est son fonctionnement sur différents OS en n'ayant rien à modifier. Nous vous invitons néanmoins à consulter la documentation de Dotnet afin d'en apprendre plus sur l'environnement de développement qu'il propose, notamment pour les OS Unix.
Avec Docker
Introduction
Docker est un logiciel permettant le déploiement automatique d'applications dans des conteneurs logiciel fermés, évitant ainsi de corrompre le système. Ce système de conteneurs permet également d'exporter et d'importer rapidement des "images", de sauvegarder l'environnement ou de faire fonctionner un outils développé sur un OS sur un autre OS. Tout ce dont a besoin l'application pour fonctionner se trouve dans le conteneur.
Installation avec Docker
Ce tutoriel commence après l'installation de Docker ; si ce logiciel n'est pas encore installé sur votre machine, nous vous renvoyons vers la documentation officielle de Docke et notamment ce tutoriel qui concerne directement Debian 8.
Une fois Docker fonctionnel, on télécharge l'image mise à disposition par Microsoft :
docker run -it -d --name dotnet microsoft/dotnet:latest
Une fois téléchargée, on rentre dans le bash de l'image :
docker exec -it dotnet bash
Dans l'environnement, on crée désormais un fichier d'appel :
nano dotnet.sh
# une fois dans l'éditeur, rentrer ces informations
#!/bin/bash
cd dotnet
dotnet run
On sauvegarde le fichier et on crée un dossier "dotnet" à la racine, puis on crée le projet.
mkdir dotnet && cd dotnet
dotnet new -t web # pour un service web, sans "-t web" pour un logiciel simple.
dotnet restore
Configuration du projet
Nous devons également modifier l'adresse du site en éditant le fichier "Program.cs" du dossier dotnet ; Docker offrant une gestion des ports, nous pouvons faire pointer n'importe quel port interne vers un port externe défini lors de la création du conteneur.
nano Program.cs
# une fois dans le fichier, rajouter la ligne suivante en dessous de .UseKrestel()
.UseUrls("http://*:80")
# On sauvegarde et on quitte le fichier
La configuration étant faite, nous pouvons quitter le conteneur : CTRL+P puis CTRL+Q nous permet de retourner au root du serveur.
Sauvegarde et lancement
Il est désormais temps de lancer le service. Pour cela, nous devons appliquer les modifications effectuées sur l'image et démarrer la nouvelle image en la configurant.
docker commit dotnet dotnetimage
docker stop dotnet
docker rm dotnet
docker run -it -d -p 80:80 --name dotnetapp01 dotnetimage bash dotnet.sh
Conclusion de partie
L'installation de Dotnet dans un conteneur Docker est désormais fonctionnelle ; si vous tapez désormais l'adresse ip de votre serveur dans votre navigateur web, vous devriez constater votre projet (dans le cas d'un projet web).
Installation sur Windows Server
Introduction
L'avantage de Dotnet est sa portabilité entre différent OS. Nous avons précédemment vu comment installer Dotnet sur un serveur Linux, nous allons désormais nous occuper de l'installer sur un serveur Windows 2012.
Installation du framework
L'installation se fait comme sur n'importe quel ordinateur, mais à distance : on commence d'abord par se connecter en RDP ("Remote Desktop Protocol"), c'est-à-dire en connexion "Bureau à distance". Un logiciel est de base fourni avec votre ordinateur sous Windows, ou vous pouvez directement passer par un logiciel externe, comme mRemoteNG par exemple.
Une fois connecté au serveur, on ouvre le navigateur web présent dessus, quasiment toujours "Internet Explorer". On navigue jusqu'à l'adresse "http://www.microsoft.com/net/core#windowscmd". On clique sur le gros bouton "Download .NET Core 1.1 SDK" et on autorise le téléchargement.
Une fois téléchargé, on exécute le fichier et on installe Dotnet.
Enfin, une fois téléchargé et installé, on peut vérifier son installation.
Vérification
On ouvre le menu démarré et on recherche "cmd". On valide et l'invite de commande noire s'ouvre.
On navigue jusqu'au dossier de Dotnet :
cd "C:\Program Files\dotnet"
dir
Si la commande dir renvoie une liste de fichier et que "dotnet.exe" est présent dans cette liste, on peut tester le fonctionnement du logiciel.
mkdir "C:\Program Files\dotnet\test"
cd "C:\Program Files\dotnet\test"
"C:\Program Files\dotnet\dotnet.exe" new -t web
"C:\Program Files\dotnet\dotnet.exe" restore
C:\Program Files\dotnet\dotnet.exe" run
Il ne nous reste plus qu'à regarder si le projet web (-t web) renvoie un résultat sur le localhost : on ouvre le navigateur web et on tape l'adresse "http://localhost:5000".
Conclusion de partie
Dotnet est désormais fonctionnel sur votre serveur Windows.
Conclusion
Vous savez désormais installer Dotnet pour une utilisation sous Linux, dans un container Docker ou sur un serveur Windows.
Cet article vous a semblé utile ?
Activer l'actualisation automatique des commentaires