نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
Ghost یک پلتفرم وبلاگ نویسی منبع باز است که از زمان انتشار 2013 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا کرده است. این تمرکز روی محتوا و وبلاگ نویسی است. جذاب ترین چیز در مورد Ghost ، طراحی ساده ، تمیز و پاسخگو است. می توانید پست های وبلاگ خود را از طریق تلفن همراه بنویسید. محتوای Ghost با استفاده از زبان Markdown نوشته شده است. شبح مناسب برای افراد یا گروه های کوچک نویسندگان است.
در این راهنما می خواهیم یک وبلاگ مطمئن Ghost v0.11.x LTS را در وبلاگ Ubuntu 16.04 LTS VPS با استفاده از Let Encrypt ، Certbot ، Node.js ، NPM ، NGINX و MySQL تنظیم و به کار بگیریم .
یک حساب کاربری غیر ریشه جدید ایجاد کنید:
adduser johndoe --gecos "John Doe"
با افزودن آن به sudo
گروه ، آن را superuser کنید :
usermod -aG sudo johndoe
تغییر به کاربر جدید:
su - johndoe
نرم افزار سیستم عامل خود را به روز کنید:
sudo apt update && sudo apt upgrade -y
منطقه زمانی را تنظیم کنید:
sudo dpkg-reconfigure tzdata
ابزارهای مورد نیاز را نصب کنید:
sudo apt install -y build-essential zip unzip vim nano openssl wget curl git apt-transport-https
در صورت لزوم راه اندازی مجدد سیستم:
sudo shutdown -r now
توجه : قبل از شروع این مرحله ، اطمینان حاصل کنید که رکوردهای DNS را برای دامنه خود تنظیم کرده اید.
ما قصد داریم از گواهی رمزگذاری CA و مشتری Certbot EFF استفاده کنیم تا گواهی SSL / TLS را برای وبلاگ Ghost ما بدست آوریم . فراموش نکنید که همه موارد را blog.domain.tld
با نام دامنه خود جایگزین کنید.
نرم افزار مدیریت صدور گواهینامه Certbot (که قبلاً بیایید رمزگذاری کنیم مشتری آن را رمزگذاری کنیم ) نصب شده با پایتون:
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:certbot/certbot
sudo apt update
sudo apt install -y certbot
نسخه Certbot را بررسی کنید:
certbot --version
# certbot 0.14.2
دریافت گواهینامه RSA با استفاده از روش تأیید اعتبار مستقل (افزونه):
sudo certbot certonly --standalone --domains blog.domain.tld --rsa-key-size 2048 --must-staple --email [email protected] --no-eff-email --agree-tos
# IMPORTANT NOTES:
# - Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/blog.domain.tld/fullchain.pem.
# Your cert will expire on YYYY-MM-DD. . . .
# . . .
بعد از طی کردن مراحل قبلی ، گواهینامه و کلید خصوصی شما در /etc/letsencrypt/live/blog.domain.tld
فهرست قرار می گیرند.
توجه : شبح در حال حاضر فقط از نسخه های Node.js 4.5 و 6.9+ پشتیبانی می کند .
Ghost در Node.js. ساخته شده است ما می خواهیم نسخه پیشنهادی برای Ghost را که v6 Boron LTS
در زمان این نوشتن است نصب کنیم.
Node.js v6 LTS را بارگیری و نصب کنید:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt install -y nodejs
Node.js و نسخه NPM را بررسی کنید:
node -v && npm -v
# v6.11.1
# 3.10.10
به طور پیش فرض ، Ghost برای استفاده از پایگاه داده SQLite تنظیم شده است ، که نیازی به پیکربندی ندارد.
همچنین Ghost را می توان با استفاده از پایگاه داده MySQL با تغییر پیکربندی پایگاه داده استفاده کرد. ابتدا باید یک بانک اطلاعاتی و کاربر ایجاد کنید ، سپس می توانید پیکربندی sqlite3 موجود را تغییر دهید.
MySQL را بارگیری و نصب کنید:
sudo apt install -y mysql-server
توجه : در حین نصب از شما می خواهید رمزعبور کاربر "root" MySQL را بزنید. شما باید یک رمز عبور ایمن را برای کاربر "root" MySQL تعیین کنید.
نسخه MySQL را بررسی کنید:
mysql --version
# mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper
بررسی کنید که Daemon MySQL چیست و در حال اجرا است:
sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service
mysql_secure_installation
اسکریپت را اجرا کنید تا کمی پایگاه داده خود را ایمن کنید:
sudo mysql_secure_installation
به عنوان کاربر اصلی وارد MySQL شوید:
mysql -u root -p
# Enter password:
ایجاد یک پایگاه داده و کاربر جدید MySQL:
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
خروج از MySQL:
exit
آخرین نسخه اصلی NGINX را از مخزن رسمی NGINX بارگیری و نصب کنید:
wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt nginx-nr-agent
با بررسی نسخه NGINX تأیید کنید که نصب شده است:
sudo nginx -v
# nginx version: nginx/1.13.3
بررسی وضعیت ، فعال سازی و شروع سرویس NGINX (Daemon):
sudo systemctl status nginx.service # inactive (dead)
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
/etc/nginx/ssl
دایرکتوری ایجاد کرده و یک گروه جدید Diffie-Hellman ( DH ) ایجاد کنید:
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
ایجاد فهرست راهنما برای blog.domain.tld
میزبان مجازی:
sudo mkdir -p /var/log/nginx/blog.domain.tld
NGINX را به عنوان سرور پروکسی معکوس HTTP ( S ) پیکربندی کنید:
sudo vim /etc/nginx/conf.d/ghost.conf
موارد زیر را در /etc/nginx/conf.d/ghost.conf
:
# domain: blog.domain.tld
# public: /var/www/ghost
upstream ghost_app {
server 127.0.0.1:2368;
keepalive 32;
}
server {
listen [::]:80 default_server;
listen 80 default_server;
listen [::]:443 ssl http2 default_server;
listen 443 ssl http2 default_server;
server_name blog.domain.tld;
root /var/www/ghost;
error_log /var/log/nginx/blog.domain.tld/error.log;
access_log /var/log/nginx/blog.domain.tld/access.log;
client_max_body_size 100M;
ssl_certificate /etc/letsencrypt/live/blog.domain.tld/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/blog.domain.tld/privkey.pem;
ssl_dhparam ssl/dhparams-2048.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_buffer_size 4K;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50M;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/blog.domain.tld/chain.pem;
resolver 8.8.8.8 8.8.4.4 valid=300s;
location / {
proxy_pass http://ghost_app;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_hide_header X-Powered-By;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
پیکربندی NGINX را برای خطاهای نحو ذخیره و آزمایش کنید:
sudo nginx -t
بارگیری مجدد پیکربندی NGINX:
sudo systemctl reload nginx.service
توجه : اگر می خواهید چندین وبلاگ Ghost را در همان VPS میزبان کنید ، هر نمونه Ghost باید در درگاه جداگانه اجرا شود.
ایجاد فهرست اصلی root:
sudo mkdir -p /var/www/
ایجاد یک ghost
کاربر جدید :
sudo adduser --shell /bin/bash --gecos 'Ghost application' --disabled-password ghost
دانلود Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.10/Ghost-0.11.10.zip -o ghost.zip
Ghost Ghost را درون /var/www/ghost
فهرست قرار دهید (مکان نصب توصیه می شود):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
انتقال به ghost
فهرست جدید :
cd /var/www/ghost
تغییر مالکیت /var/www/ghost
دایرکتوری:
sudo chown -R ghost:ghost .
تغییر به ghost
کاربر جدید :
sudo su - ghost
حرکت به ریشه سند /var/www/ghost
:
cd /var/www/ghost
Ghost را فقط با وابستگی های تولید نصب کنید. پس از اتمام این کار ، Ghost نصب می شود:
npm install --production
شبح پیکربندی با تغییر url
، mail
و database
اموال production
داخل هدف از config.js
پرونده:
cp config.example.js config.js
vim /var/www/ghost/config.js
var path = require('path'),
config;
config = {
// ### Production
// When running Ghost in the wild, use the production environment.
// Configure your URL and mail settings here
production: {
url: 'https://blog.domain.tld',
mail: {
transport: 'SMTP',
options: {
service: 'Mailgun',
auth: {
user: '',
pass: ''
}
}
},
database: {
client: 'mysql',
connection: {
host: '127.0.0.1',
user: 'your_database_user',
password: 'your_database_password',
database: 'your_database_name',
charset: 'utf8'
},
debug: false
},
// . . .
// . . .
توجه : شما همچنین باید
Ghost را در محیط تولید شروع کنید:
npm start --production
شبح اکنون در حال اجرا است. هر دو رابط جلویی و مدیر وبلاگ با HTTPS ایمن هستند و HTTP / 2 نیز کار می کند. می توانید مرورگر خود را باز کرده و از سایت بازدید کنید https://blog.domain.tld
. فراموش نکنید blog.domain.tld
که نام دامنه خود را جایگزین کنید.
خاموش کردن فرآیند Ghost با فشار دادن CTRL
+ C
و خروج از کاربر شبح به کاربر root:
exit
اگر جلسه ترمینال خود را با VPS خود ببندید ، وبلاگ شما نیز پایین خواهد آمد. این خوب نیست. برای جلوگیری از این امر ، ما قصد داریم از systemd استفاده کنیم. این وبلاگ ما را 24/7 نگه می دارد.
ghost.service
فایل واحد سیستمی ایجاد کنید. sudo vim /etc/systemd/system/ghost.service
محتوای زیر را اجرا و کپی / چسباندن کنید:
[Unit]
Description=Ghost - the professional publishing platform
Documentation=https://docs.ghost.org/v0.11.9
After=network.target
[Service]
Type=simple
# Edit WorkingDirectory, User and Group as needed
WorkingDirectory=/var/www/ghost
User=ghost
Group=ghost
ExecStart=/usr/bin/npm start --production
ExecStop=/usr/bin/npm stop --production
Restart=always
SyslogIdentifier=Ghost
[Install]
WantedBy=multi-user.target
فعال و شروع ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
بررسی ghost.service
وضعیت:
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
به https://blog.domain.tld/ghost/
یک کاربر سرپرست Ghost بروید و ایجاد کنید. این کار را در اسرع وقت انجام دهید!
خودشه. اکنون ما یک وبلاگ Ghost کاملاً کاربردی داریم. سرور شما وقتی از طرف مشتری پشتیبانی می شود ، محتوا را از طریق HTTP / 2 ارائه می دهد. اگر می خواهید موضوع پیش فرض Ghost به نام Casper را به صورت دلخواه تغییر دهید ، می توانید فقط موضوع را در /var/www/ghost/content/themes
پوشه بارگیری و از حالت فشرده خارج کرده و آن را از طریق رابط کاربری Ghost admin ، واقع در آن انتخاب کنید https://blog.domain.tld/ghost
.
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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد