این فصل نحوه نصب نرمافزار nopCommerce روی سیستم لینوکس با مثال Xubuntu 22.04 را توضیح میدهد:
فهرست مطالب
- نصب و پیکربندی نرمافزار
- دریافت nopCommerce
- ایجاد سرویس nopCommerce
- فرآیند نصب
- رفع مشکلات
- همچنین ببینید
نصب و پیکربندی نرمافزار
.NET در مخزن بستههای بکپورت Ubuntu موجود است.
اضافه کردن مخزن .Net
یک ترمینال باز کنید و دستورات زیر را اجرا کنید:
sudo add-apt-repository ppa:dotnet/backports

نصب .NET Core Runtime
محصولات موجود برای نصب را بهروزرسانی کنید، سپس runtime .NET را نصب کنید:
sudo apt-get update
sudo apt-get install -y aspnetcore-runtime-9.0
اگر خطایی دریافت کردید، اطلاعات بیشتر را در صفحه نصب .NET SDK یا .NET Runtime روی Ubuntu ببینید.
میتوانید تمام runtimeهای نصبشده .Net Core را با دستور زیر مشاهده کنید:
dotnet --list-runtimes
نصب MySql Server
نسخه 8.0 سرور MySql را نصب کنید:
sudo apt-get install mysql-server-8.0

بهطور پیشفرض، رمز عبور root خالی است؛ بیایید آن را تنظیم کنیم. دستور زیر را برای دسترسی به prompt MySQL اجرا کنید:
sudo mysql
دستور ALTER USER زیر را برای تغییر روش احراز هویت کاربر root به mysql_native_password اجرا کنید که از رمز عبور استفاده میکند. 'password' را با رمز عبور جدید مورد نظر خود جایگزین کنید و مطمئن شوید که نقلقولهای تکی دور رمز عبور باقی بمانند:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
انتخاب یک رمز عبور قوی و منحصر به فرد برای کاربر root MySQL بسیار مهم است. یک رمز عبور قوی باید حداقل 12 کاراکتر طول داشته باشد، شامل ترکیبی از حروف بزرگ و کوچک، اعداد و کاراکترهای خاص باشد.
exit را تایپ کنید و Enter را بزنید تا از prompt MySQL خارج شوید.

اگر در تنظیم رمز عبور root روی سرور MySql خود مشکلی دارید، لطفاً مقالات زیر را بخوانید: نحوه بازنشانی رمز عبور Root و خطای MySQL: 'دسترسی برای کاربر 'root'@'localhost' رد شد'.
نصب nginx
بسته nginx را نصب کنید:
sudo apt-get install nginx

سرویس nginx را اجرا کنید:
sudo systemctl start nginx
و وضعیت آن را بررسی کنید:
sudo systemctl status nginx

برای پیکربندی nginx به عنوان یک پروکسی معکوس برای ارسال درخواستها به برنامه ASP.NET Core خود، فایل /etc/nginx/sites-available/default را تغییر دهید. آن را در یک ویرایشگر متن باز کنید و محتویات آن را با موارد زیر جایگزین کنید:
# پیکربندی پیشفرض سرور
#
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name nopCommerce.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;
}
# پیکربندی SSL
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# توجه: باید gzip را برای ترافیک SSL غیرفعال کنید.
# ببینید: https://bugs.debian.org/773332
#
# در مورد ssl_ciphers بخوانید تا یک پیکربندی ایمن داشته باشید.
# ببینید: https://bugs.debian.org/765782
#
# گواهیهای خودامضا تولید شده توسط بسته ssl-cert
# از آنها در یک سرور تولید استفاده نکنید!
#
# include snippets/snakeoil.conf;
}
دریافت nopCommerce
یک دایرکتوری ایجاد کنید:
sudo mkdir /var/www/nopCommerce
nopCommerce را دانلود و از حالت فشرده خارج کنید:
cd /var/www/nopCommerce
sudo wget https://github.com/nopSolutions/nopCommerce/releases/download/release-4.80.4/nopCommerce_4.80.4_NoSource_linux_x64.zip
sudo apt-get install unzip
sudo unzip nopCommerce_4.80.4_NoSource_linux_x64.zip
چند دایرکتوری برای اجرای nopCommerce ایجاد کنید:
sudo mkdir bin
sudo mkdir logs
مجوزهای فایل را تغییر دهید:
cd ..
sudo chgrp -R www-data nopCommerce/
sudo chown -R www-data nopCommerce/
ایجاد سرویس nopCommerce
فایل /etc/systemd/system/nopCommerce.service
را با محتویات زیر ایجاد کنید:
[Unit]
Description=Example nopCommerce app running on Xubuntu
[Service]
WorkingDirectory=/var/www/nopCommerce
ExecStart=/usr/bin/dotnet /var/www/nopCommerce/Nop.Web.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=nopCommerce-example
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
سرویس را شروع کنید:
sudo systemctl start nopCommerce.service
وضعیت سرویس nopCommerce را بررسی کنید:
sudo systemctl status nopCommerce.service

سرور nginx را مجدداً راهاندازی کنید:
sudo systemctl restart nginx
اکنون که همه چیز آماده است، میتوانید به نصب و پیکربندی فروشگاه ادامه دهید.
فرآیند نصب
فرآیند نصب بیشتر برای nopCommerce همانند فرآیند نصب روی ویندوز است؛ میتوانید دستورالعمل را با دنبال کردن این لینک مشاهده کنید.
رفع مشکلات
Gdip
اگر در بارگذاری تصاویر در RichText Box مشکلی دارید (The type initializer for 'Gdip' threw an exception)، فقط کتابخانه libgdiplus را نصب کنید:
sudo apt-get install libgdiplus
SSL
اگر میخواهید از SSL در سایت خود استفاده کنید، فراموش نکنید که تنظیم UseProxy
را در فایل appsettings.json روی true
تنظیم کنید.