WordPress را در OpenBSD 6.2 نصب کنید
مقدمه WordPress سیستم مدیریت محتوای غالب در اینترنت است. این قدرت همه چیز را از بلاگ ها گرفته تا وب سایت های پیچیده و دارای محتوای پویا انجام می دهد
Ghost یک پلتفرم وبلاگ نویسی منبع باز است که از زمان انتشار 2013 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا کرده است. این تمرکز روی محتوا و وبلاگ نویسی است. جذاب ترین چیز در مورد Ghost ، طراحی ساده ، تمیز و پاسخگو است. می توانید پست های وبلاگ خود را از طریق تلفن همراه بنویسید. محتوای Ghost با استفاده از زبان Markdown نوشته شده است. شبح مناسب برای افراد یا گروه های کوچک نویسندگان است.
در این راهنما می خواهیم یک وبلاگ ایمن Ghost v0.11.x LTS را با استفاده از Let's Encrypt ، Certbot ، Node.js ، NPM ، NGINX و MySQL یک وبلاگ امن Ghost v0.11.x LTS را تنظیم و به کار بگیریم .
نسخه CentOS را بررسی کنید:
cat /etc/centos-release
# CentOS Linux release 7.3.1611 (Core)
یک کاربر جدید غیر ریشه ایجاد کنید:
useradd -c "John Doe" johndoe && passwd johndoe
با افزودن آن به wheel
گروه ، آن را superuser کنید :
usermod -aG wheel johndoe
تغییر به کاربر جدید:
su - johndoe
نرم افزار سیستم عامل خود را به روز کنید:
sudo yum check-update || sudo yum update -y
منطقه زمانی را تنظیم کنید:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
ابزارهای توسعه را نصب کنید:
sudo yum groupinstall -y 'Development Tools'
ویرایشگر متن Vim را نصب کنید:
sudo yum install -y vim
در صورت لزوم راه اندازی مجدد سیستم:
sudo shutdown -r now
توجه : قبل از شروع این مرحله ، اطمینان حاصل کنید که رکوردهای DNS را برای دامنه خود تنظیم کرده اید.
ما قصد داریم از گواهی رمزگذاری CA و مشتری Certbot EFF استفاده کنیم تا گواهی SSL / TLS را برای وبلاگ Ghost ما بدست آوریم . فراموش نکنید که همه موارد را blog.domain.tld
با نام دامنه خود جایگزین کنید.
فعال کردن بسته های اضافی برای مخزن Enterprise Linux (EPEL):
# Certbot is packaged in Extra Packages for Enterprise Linux (EPEL) repository. To use Certbot, you must first enable the EPEL repository.
sudo yum install -y epel-release
نرم افزار مدیریت صدور گواهینامه Certbot (که قبلاً بیایید رمزگذاری کنیم مشتری آن را رمزگذاری کنیم ) نصب شده با پایتون:
sudo yum install -y certbot
نسخه Certbot را بررسی کنید:
certbot --version
# certbot 0.14.1
دریافت گواهینامه 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 را بارگیری و نصب کنید:
sudo curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum install -y nodejs
Node.js و نسخه NPM را بررسی کنید:
node -v && npm -v
# v6.11.2
# 3.10.10
به طور پیش فرض ، Ghost برای استفاده از پایگاه داده SQLite تنظیم شده است ، که نیازی به پیکربندی ندارد.
همچنین Ghost را می توان با استفاده از پایگاه داده MySQL با تغییر پیکربندی پایگاه داده استفاده کرد. ابتدا باید یک بانک اطلاعاتی و کاربر ایجاد کنید ، سپس می توانید پیکربندی sqlite3 موجود را تغییر دهید.
آخرین نسخه MySQL (در حال حاضر 5.7 ) را از مخزن رسمی MySQL Yum بارگیری و نصب کنید:
cd /tmp
# Adding the MySQL Yum Repository
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo yum localinstall -y mysql57-community-release-el7-11.noarch.rpm
# Installing MySQL
sudo yum install -y mysql-community-server
نسخه MySQL را بررسی کنید:
mysql --version
# mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
MySQL Server را شروع کرده و وضعیت آن را بررسی کنید:
sudo systemctl start mysqld.service
sudo systemctl status mysqld.service
MySQL نسخه 5.7 یا بالاتر root
پس از نصب و رمز عبور در پرونده ورود به سیستم خطا در MySQL ، یک رمز عبور تصادفی موقت برای کاربر MySQL ایجاد می کند /var/log/mysqld.log
. برای فاش کردن آن ، از دستور زیر استفاده کنید:
sudo grep 'temporary password' /var/log/mysqld.log
mysql_secure_installation
اسکریپت را اجرا کنید تا کمی پایگاه داده خود را ایمن کنید:
توجه : افزونه اعتبار سنجی رمز عبور نصب و فعال شده است ، بنابراین رمز جدید شما برای
root
کاربر باید قوی باشد ( یک حرف بزرگ ، یک حرف کوچک ، یک رقم و یک کاراکتر ویژه ، و طول کل رمز عبور حداقل 8 نویسه است ) اگر می خواهید این برنامه را آرام کنید یا پلاگین را به طور کامل غیرفعال کنید ( توصیه نمی شود ) برای نحوه انجام این کار با مستندات رسمی MySQL مشورت کنید.
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 بارگیری و نصب کنید:
# Add the NGINX Yum Repository
sudo vim /etc/yum.repos.d/nginx_mainline.repo
# Copy/paste the following into /etc/yum.repos.d/nginx_mainline.repo
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key
sudo yum 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/
یک کاربر شبح جدید ایجاد کنید:
sudo useradd -c 'Ghost application' ghost
دانلود Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.zip -o ghost.zip
Ghost Ghost را درون /var/www/ghost
فهرست قرار دهید (مکان نصب توصیه می شود):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
انتقال به فهرست جدید ارواح:
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
اموال تولید شی داخل 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
و خروج از کاربر شبح به کاربر غیر ریشه ای که در ابتدا ایجاد کرده اید:
exit
اگر جلسه ترمینال خود را با VPS خود ببندید ، وبلاگ شما نیز پایین خواهد آمد. این خوب نیست. برای جلوگیری از این امر ، ما قصد داریم از systemd استفاده کنیم. این وبلاگ ما را 24/7 نگه می دارد.
ghost.service
فایل واحد سیستمی ایجاد کنید. sudo را اجرا sudo vim /etc/systemd/system/ghost.service
کنید و محتوای زیر را کپی / چسباندن کنید:
[Unit]
Description=Ghost - the professional publishing platform
Documentation=https://docs.ghost.org/v0.11.11/docs
After=network.target
[Service]
Type=simple
# Edit WorkingDirectory, User and Group as needed
WorkingDirectory=/var/www/ghost
User=ghost
Group=ghost
ExecStart=/bin/npm start --production
ExecStop=/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 یک پلتفرم وبلاگ نویسی منبع باز است که از سال 201 خود محبوبیت زیادی بین توسعه دهندگان و کاربران عادی پیدا کرده است
با استفاده از یک سیستم متفاوت؟ 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 را به شما نشان می دهد
با استفاده از یک سیستم متفاوت؟ 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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد