nopCommerce est une application Web de commerce électronique open source gratuite construite avec ASP.NET. Il s'agit d'une application hautes performances multi-magasins, multi-fournisseurs et dotée d'une interface Web conviviale.
Dans ce guide, vous allez apprendre à installer nopCommerce dans Ubuntu 20.04 avec MySQL, Nginx et à sécuriser la configuration avec Let'sEncrypt SSL.
Prérequis
- Un serveur et un utilisateur Ubuntu 20.04 avec des privilèges sudo.
1. Configuration initiale
Mettez à jour tous les packages vers la dernière version disponible.
sudo apt update sudo apt dist-upgrade -y
Installez le package de décompression pour extraire le code source de nopCommerce.
sudo apt install unzip
2. Installer MySQL
Installez le serveur MySQL pour votre base de données. Nous allons installer MySQL 8.
sudo apt install mysql-server mysql-client
Serveur MySQL sécurisé.
sudo mysql_secure_installation
Suivez les invites une par une et configurez un nouveau mot de passe pour votre utilisateur root.
Connectez-vous à MySQL.
sudo mysql -u root -p
Entrez le mot de passe que vous avez configuré précédemment pour vous connecter.
3. Créer une base de données pour nopCommerce
Créez une nouvelle base de données et un utilisateur pour l'application nopCommerce.
CREATE DATABASE nopcommerce_db /*\!40100 DEFAULT CHARACTER SET utf8mb4 */;
Créer un nouvel utilisateur.
CREATE USER 'nopcommerce_user'@'localhost' IDENTIFIED BY 'secure_password'; GRANT ALL PRIVILEGES ON nopcommerce_db.* TO 'nopcommerce_user'@'localhost'; FLUSH PRIVILEGES;
Maintenant, MySQL est installé et vous avez une nouvelle base de données avec l'utilisateur.
4. Installer ASP.NET
Téléchargez la clé de signature de package Microsoft et ajoutez-la au référentiel de packages.
Exécutez les commandes suivantes.
sudo wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo rm packages-microsoft-prod.deb
Installez le runtime ASP.NET.
sudo apt update sudo apt install apt-transport-https sudo apt install aspnetcore-runtime-6.0
Vérifiez l'installation.
dotnet --list-runtimes Output Microsoft.AspNetCore.App 6.0.3 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 6.0.3 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
5. Installer Nginx
Nous allons maintenant installer Nginx et le configurer.
sudo apt install nginx
Une fois l'installation terminée, nous supprimerons les blocs de serveur par défaut et en configurerons un nouveau pour nopCommerce.
sudo rm -rf /etc/nginx/sites-available/default sudo rm -rf /etc/nginx/sites-enabled/default
Configurez Nginx pour nopCommerce.
Créez un nouveau fichier de configuration.
sudo nano /etc/nginx/sites-available/nopcommerce.conf
Collez ce qui suit dans le fichier. Nous utilisons une configuration proxy pour le port 5000 sur lequel nopCommerce s'exécute.
server { listen 80; listen [::]:80; server_name domain.com www.domain.com; location / { proxy_pass http://localhost:5000; 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; } }
Appuyez sur CTRL+X
suivi de Y
et ENTER
pour enregistrer et quitter le fichier.
Activez la configuration en créant un lien symbolique vers sites-enabled
répertoire.
sudo ln -s /etc/nginx/sites-available/nopcommerce.conf /etc/nginx/sites-enabled/nopcommerce.conf
Redémarrez Nginx pour que la configuration prenne effet.
sudo service nginx restart
6. Installez nopCommerce
Accédez à votre répertoire préféré pour télécharger le dernier code source nopCommerce pour Linux à partir de leur référentiel Git officiel.
cd /var/www/html
sudo wget https://github.com/nopSolutions/nopCommerce/releases/download/release-4.50.1/nopCommerce_4.50.1_NoSource_linux_x64.zip
Extrayez le fichier téléchargé.
sudo unzip nopCommerce_4.50.1_NoSource_linux_x64.zip
Supprimez le fichier zip.
sudo rm -rf nopCommerce_4.50.1_NoSource_linux_x64.zip
Configurez les autorisations.
sudo chmod -R 755 /var/www/html sudo chown -R www-data:www-data /var/www/html
7. Configurer nopCommerce en tant que service
Configurez nopCommerce en tant que service afin qu'il s'exécute en tant que service système. Ce sera plus facile à gérer.
Créez un nouveau fichier de service.
sudo nano /etc/systemd/system/nopcommerce.service
Collez le contenu suivant.
Unit] Description=NopCommerce eCommerce application [Service] WorkingDirectory=/var/www/html/ ExecStart=/usr/bin/dotnet /var/www/html/Nop.Web.dll Restart=always # Auto restart nopCommerce in 10 seconds if .NET crashes RestartSec=10 KillSignal=SIGINT SyslogIdentifier=nopcommerce User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target
Redémarrez le démon système.
sudo systemctl daemon-reload
Activez nopCommerce pour qu'il démarre au démarrage du système.
sudo systemctl enable nopcommerce
Démarrez nopCommerce.
sudo systemctl start nopcommerce
Vérifiez l'état à l'aide de la commande suivante.
sudo systemctl status nopcommerce
● nopcommerce.service - NopCommerce Ecommerce Application Loaded: loaded (/etc/systemd/system/nopcommerce.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-04-06 06:22:05 UTC; 2min 36s ago Main PID: 5149 (dotnet) Tasks: 20 (limit: 1151) Memory: 449.6M CGroup: /system.slice/nopcommerce.service └─5149 /usr/bin/dotnet /var/www/html/Nop.Web.dll
Vous avez maintenant nopCommerce, MySQL, Nginx en cours d'exécution.
8. Installer Let'sEncrypt SSL
Nous pouvons utiliser Certbot pour installer un certificat SSL Let's Encrypt gratuit pour votre domaine.
sudo apt install python3-certbot-nginx
Exécutez la commande suivante pour installer le certificat et configurer automatiquement la redirection vers HTTPS.
sudo certbot --nginx --redirect --agree-tos --no-eff-email -m [email protected] -d domain.com -d www.domain.com
Vous devriez maintenant recevoir le certificat SSL et il sera configuré automatiquement.
Configurer le renouvellement automatique.
sudo certbot renew --dry-run
Nous avons maintenant tout configuré.
Vérifiez votre domaine sur votre navigateur, vous verrez la page du guide d'installation.
Pour Nom du serveur sous Informations sur la base de données utilisez localhost .
Remplissez toutes les autres valeurs appropriées et cliquez sur Installer .
Cela prendra un certain temps, puis votre service nopCommerce démarrera.
Une fois l'installation terminée, vous verrez votre page d'accueil par défaut.
Vous avez maintenant une installation réussie de nopCommerce avec ASP.NET, MySQL, Nginx, Let'sEncrypt SSL.
Conclusion
Vous avez maintenant appris à installer nopCommerce sur Ubuntu 20.04 avec Nginx, MySQL et SSL.
Merci pour votre temps. Si vous rencontrez un problème ou si vous avez des commentaires, veuillez laisser un commentaire ci-dessous.