WordPress را در OpenBSD 6.2 نصب کنید
مقدمه WordPress سیستم مدیریت محتوای غالب در اینترنت است. این قدرت همه چیز را از بلاگ ها گرفته تا وب سایت های پیچیده و دارای محتوای پویا انجام می دهد
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
.
مقدمه WordPress سیستم مدیریت محتوای غالب در اینترنت است. این قدرت همه چیز را از بلاگ ها گرفته تا وب سایت های پیچیده و دارای محتوای پویا انجام می دهد
Ghost یک پلتفرم انتشار مدرن و منبع باز است که در Node.js با یک مشتری مدیر Ember.js ، یک API JSON و یک API با مضمون ساخته شده توسط Handlebars.js ساخته شده است. غوس
با استفاده از یک سیستم متفاوت؟ Ghost یک پلتفرم وبلاگ نویسی منبع باز است که از زمان انتشار 2013 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا می کند. من
با استفاده از یک سیستم متفاوت؟ Dotclear یک موتور بلاگ نویسی بسیار ساده است. منبع باز و آسان برای استفاده است. این آموزش از طریق نصب ادامه خواهد یافت
با استفاده از یک سیستم متفاوت؟ Fork یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Forks در GitHub میزبانی شده است. این راهنما نحوه نصب Fork CM را به شما نشان می دهد
Typesetter یک CMS منبع باز است که به زبان PHP نوشته شده است و بر سهولت استفاده با ویرایش True WYSIWYG و ذخیره سازی فایل های مسطح متمرکز است. در این مقاله ، ما نصب خواهیم کرد
Ghost جدیدترین و بزرگترین راهپیمایی وردپرس برای رقیب است. توسعه موضوع سریع و آسان برای یادگیری است زیرا توسعه دهندگان Ghost تصمیم گرفتند از هر دو استفاده کنند
با استفاده از یک سیستم متفاوت؟ MODX Revolution یک سیستم مدیریت محتوای محتوای سریع و انعطاف پذیر ، مقیاس پذیر ، متن باز است که به زبان PHP نوشته شده است. من
با استفاده از یک سیستم متفاوت؟ MODX Revolution یک سیستم مدیریت محتوای محتوا (CMS) سریع ، انعطاف پذیر ، مقیاس پذیر ، آزاد و منبع آزاد است.
با استفاده از یک سیستم متفاوت؟ MODX Revolution یک سیستم مدیریت محتوای محتوا (CMS) سریع ، انعطاف پذیر ، مقیاس پذیر ، آزاد و منبع آزاد است.
با استفاده از یک سیستم متفاوت؟ جکیل جایگزین خوبی برای وردپرس است. به هیچ پایگاه داده ای احتیاج ندارد و با زبانی کار می کند که بسیاری از آنها با شوخ طبعی آشنا هستند
مقدمه هرچه OpenBSD را نصب خود را به طور پیش فرض و بدون بسیاری از بسته های اضافه شده نزدیک تر کنید ، امنیت بیشتری خواهد داشت. در حالی که بیشتر
با استفاده از یک سیستم متفاوت؟ Ghost یک پلتفرم وبلاگ نویسی منبع باز است که از سال 201 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا کرده است
با استفاده از یک سیستم متفاوت؟ Fork یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Forks در GitHub میزبانی شده است. این راهنما نحوه نصب Fork CM را به شما نشان می دهد
با استفاده از یک سیستم متفاوت؟ Ghost یک پلتفرم وبلاگ نویسی منبع باز است که از زمان انتشار 2013 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا می کند. من
Neos یک سیستم مدیریت محتوای منبع باز است که برای ایجاد و ویرایش محتوای آنلاین عالی است. نئو با توجه به نویسندگان و سردبیران
با استفاده از یک سیستم متفاوت؟ Fork یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Forks در GitHub میزبانی شده است. این راهنما نحوه نصب Fork CM را به شما نشان می دهد
با استفاده از یک سیستم متفاوت؟ Ghost یک پلتفرم وبلاگ نویسی منبع باز است که از سال 201 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا کرده است
با استفاده از یک سیستم متفاوت؟ MODX Revolution یک سیستم مدیریت محتوای محتوا (CMS) سریع ، انعطاف پذیر ، مقیاس پذیر ، آزاد و منبع آزاد است.
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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد