نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
TLS 1.3 نسخه ای از پروتکل Transport Layer Security (TLS) است که در سال 2018 به عنوان یک استاندارد پیشنهادی در RFC 8446 منتشر شده است . این سیستم امنیت و عملکرد را نسبت به پیشینیان خود بهبود می بخشد.
در این راهنما نحوه فعال سازی TLS 1.3 با استفاده از سرور وب Nginx در Debian 9 توضیح داده شده است.
1.13.0
یا بیشتر.1.1.1
یا بیشتر.A
/ AAAA
/ CNAME
DNS به درستی پیکربندی شده برای دامنه شما.نسخه Debian را بررسی کنید.
lsb_release -ds
# Debian GNU/Linux 9.9 (stretch)
اطمینان حاصل کنید که سیستم شما به روز است.
apt update && apt upgrade -y
بسته های لازم را نصب کنید.
apt install -y git unzip curl sudo socat build-essential
با sudo
دسترسی یک حساب کاربری غیر ریشه ایجاد کنید و به آن تغییر دهید.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
توجه: با نام کاربری خود جایگزین johndoe
کنید.
منطقه زمانی را تنظیم کنید.
sudo dpkg-reconfigure tzdata
Acme.sh را بارگیری و نصب کنید .
sudo mkdir /etc/letsencrypt
sudo git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
source ~/.bashrc
نسخه را بررسی کنید.
/etc/letsencrypt/acme.sh --version
# v2.8.2
گواهینامه های RSA و ECDSA را برای دامنه خود بدست آورید.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength ec-256
توجه: با نام دامنه خود جایگزین example.com
کنید.
بعد از اجرای دستورات قبلی ، گواهینامه ها و کلیدهای شما در مکانهای زیر قابل دسترسی هستند:
/etc/letsencrypt/example.com
/etc/letsencrypt/example.com_ecc
Nginx پشتیبانی از TLS 1.3 را در نسخه 1.13.0 اضافه کرد. در اکثر توزیع های لینوکس ، از جمله Debian 9 ، Nginx با نسخه قدیمی OpenSSL ساخته شده است ، که از TLS 1.3 پشتیبانی نمی کند. در نتیجه ، ما به ساخت Nginx دلخواه خود وابسته به نسخه OpenSSL 1.1.1 نیاز داریم ، که شامل پشتیبانی از TLS 1.3 است.
آخرین نسخه اصلی کد منبع Nginx را بارگیری کرده و آن را استخراج کنید.
wget https://nginx.org/download/nginx-1.17.0.tar.gz && tar zxvf nginx-1.17.0.tar.gz
کد منبع OpenSSL 1.1.1c را بارگیری کرده و آن را استخراج کنید.
# OpenSSL version 1.1.1c
wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz && tar xzvf openssl-1.1.1c.tar.gz
همه .tar.gz
پرونده ها را حذف کنید ، زیرا دیگر لازم نیست.
rm -rf *.tar.gz
وارد فهرست منبع Nginx شوید.
cd ~/nginx-1.17.0
Nginx را پیکربندی ، کامپایل و نصب کنید. به خاطر سادگی ، ما فقط ماژول های اساسی را که برای کار TLS 1.3 لازم است ، کامپایل می کنیم. اگر به ساخت کامل Nginx احتیاج دارید ، می توانید این راهنمای Vultr را در مورد تلفیق Nginx بخوانید .
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib/nginx/modules \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--user=nginx \
--group=nginx \
--build=Debian \
--builddir=nginx-1.17.0 \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--with-compat \
--with-http_ssl_module \
--with-http_v2_module \
--with-openssl=../openssl-1.1.1c \
--with-openssl-opt=no-nextprotoneg \
--without-http_rewrite_module \
--without-http_gzip_module
make
sudo make install
یک گروه و کاربر سیستم Nginx ایجاد کنید.
sudo adduser --system --home /nonexistent --shell /bin/false --no-create-home --disabled-login --disabled-password --gecos "nginx user" --group nginx
پیوند نمادین /usr/lib/nginx/modules
به /etc/nginx/modules
. مورد دوم مکانی استاندارد برای ماژول های Nginx است.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
دایرکتوری کش Nginx ایجاد کرده و مجوزهای مناسب را تنظیم کنید.
sudo mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/fastcgi_temp /var/cache/nginx/proxy_temp /var/cache/nginx/scgi_temp /var/cache/nginx/uwsgi_temp
sudo chmod 700 /var/cache/nginx/*
sudo chown nginx:root /var/cache/nginx/*
نسخه Nginx را بررسی کنید.
sudo nginx -V
# nginx version: nginx/1.17.0 (Debian)
# built by gcc 6.3.0 20170516 (Debian 6.3.0-18+deb9u1)
# built with OpenSSL 1.1.1c 28 May 2019
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx . . .
# . . .
یک فایل واحد سیستم Nginx ایجاد کنید.
sudo vim /etc/systemd/system/nginx.service
پرونده را با پیکربندی زیر جمع کنید.
[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
Nginx را شروع و فعال کنید.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
درست conf.d
، sites-available
و sites-enabled
دایرکتوری ها در /etc/nginx
.
sudo mkdir /etc/nginx/{conf.d,sites-available,sites-enabled}
اجرا sudo vim /etc/nginx/nginx.conf
و اضافه کردن دو دستورالعمل زیر را به انتهای فایل، درست قبل از بسته شدن }
.
. . .
. . .
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*.conf;
}
پرونده و خروج با صرفه جویی در :+ W+ Q.
اکنون که Nginx را با موفقیت ساختیم ، آماده هستیم تا آن را پیکربندی کنیم تا شروع به استفاده از TLS 1.3 در سرور خود کنیم.
sudo vim /etc/nginx/conf.d/example.com.conf
پرونده را با پیکربندی زیر اجرا و جمع کنید.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
}
پرونده و خروج با صرفه جویی در :+ W+ Q.
به TLSv1.3
پارامتر جدید این ssl_protocols
بخشنامه توجه کنید. این پارامتر برای فعال کردن TLS 1.3 ضروری است.
پیکربندی را بررسی کنید.
sudo nginx -t
بارگیری مجدد Nginx
sudo systemctl reload nginx.service
برای تأیید TLS 1.3 ، می توانید از ابزار dev مرورگر یا سرویس آزمایشگاه SSL استفاده کنید. تصاویر زیر برگه امنیتی Chrome را نشان می دهد که نشان می دهد TLS 1.3 در حال کار است.
تبریک می گویم! شما با موفقیت TLS 1.3 را در سرور Debian 9 خود فعال کرده اید.
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد