Cara Menyebarkan Ghost v0.11 LTS di Fedora 25
Menggunakan Sistem Berbeza? Ghost adalah platform blog sumber terbuka yang telah mendapat populariti di kalangan pembangun dan pengguna biasa sejak tahun 201
Ghost adalah platform blog sumber terbuka yang telah mendapat populariti di kalangan pembangun dan pengguna biasa sejak dilancarkan pada tahun 2013. Ia memberi tumpuan kepada kandungan dan blogging. Perkara yang paling menarik mengenai Ghost adalah reka bentuknya yang ringkas, bersih, dan responsif. Anda boleh menulis catatan blog anda dari telefon bimbit. Kandungan untuk Ghost ditulis menggunakan bahasa Markdown. Ghost sangat sesuai untuk individu atau kumpulan penulis kecil.
Dalam panduan ini kita akan menyediakan dan menyebarkan blog LTS Ghost v0.11.x yang selamat di CentOS 7.3 VPS menggunakan Let's Encrypt , Certbot , Node.js , NPM , NGINX dan MySQL .
Periksa versi CentOS:
cat /etc/centos-release
# CentOS Linux release 7.3.1611 (Core)
Buat pengguna bukan root baru :
useradd -c "John Doe" johndoe && passwd johndoe
Jadikannya superuser dengan menambahkannya ke wheel
kumpulan:
usermod -aG wheel johndoe
Tukar ke pengguna baru:
su - johndoe
Kemas kini perisian sistem operasi anda:
sudo yum check-update || sudo yum update -y
Sediakan zon waktu:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Pasang alat pembangunan:
sudo yum groupinstall -y 'Development Tools'
Pasang editor teks Vim:
sudo yum install -y vim
Reboot sistem jika diperlukan:
sudo shutdown -r now
CATATAN : Sebelum memulakan langkah ini, pastikan anda telah menetapkan rekod DNS untuk domain anda.
Kami akan menggunakan Let's Encrypt CA dan EFF 's Certbot untuk mendapatkan sijil SSL / TLS untuk blog Ghost kami. Jangan lupa ganti semua contoh blog.domain.tld
dengan nama domain anda.
Dayakan repositori Pakej Tambahan untuk Linux 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
Pasang perisian pengurusan sijil Certbot (dahulunya Let's Encrypt client ) yang dibuat dengan Python:
sudo yum install -y certbot
Periksa versi Certbot:
certbot --version
# certbot 0.14.1
Dapatkan sijil RSA dengan menggunakan kaedah pengesahan mandiri (pemalam):
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. . . .
# . . .
Setelah melalui langkah sebelumnya, sijil dan kunci peribadi anda akan berada di dalam /etc/letsencrypt/live/blog.domain.tld
direktori.
CATATAN : Ghost pada masa ini hanya menyokong versi Node.js 4.5+ dan 6.9+.
Hantu dibina di Node.js. Kami akan memasang versi yang disyorkan untuk Ghost yang ada v6 Boron LTS
pada saat penulisan ini.
Muat turun dan pasang Node.js v6 LTS:
sudo curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum install -y nodejs
Periksa versi Node.js dan NPM:
node -v && npm -v
# v6.11.2
# 3.10.10
Secara lalai, Ghost datang dikonfigurasi untuk menggunakan pangkalan data SQLite, yang tidak memerlukan konfigurasi.
Sebagai alternatif Ghost juga boleh digunakan dengan pangkalan data MySQL dengan mengubah konfigurasi pangkalan data. Anda mesti membuat pangkalan data dan pengguna terlebih dahulu, anda kemudian boleh mengubah konfigurasi sqlite3 yang ada.
Muat turun dan pasang versi terbaru MySQL (kini 5.7 ) dari repositori MySQL Yum rasmi:
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
Periksa versi MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
Mulakan MySQL Server dan periksa statusnya:
sudo systemctl start mysqld.service
sudo systemctl status mysqld.service
MySQL versi 5.7 atau lebih tinggi menghasilkan kata laluan rawak sementara untuk root
pengguna MySQL setelah pemasangan dan kata laluan disimpan dalam fail log ralat MySQL, yang terletak di /var/log/mysqld.log
. Untuk mendedahkannya, gunakan arahan berikut:
sudo grep 'temporary password' /var/log/mysqld.log
Jalankan mysql_secure_installation
skrip untuk mengamankan pangkalan data anda sedikit:
CATATAN : Plugin Pengesahan Kata Laluan dipasang dan diaktifkan, jadi kata laluan baru anda untuk
root
pengguna harus kuat ( satu huruf besar, satu huruf kecil, satu digit, dan satu watak khas, dan panjang keseluruhan kata laluan sekurang-kurangnya 8 aksara ). Sekiranya anda ingin melonggarkannya atau mematikan pemalam sepenuhnya ( tidak digalakkan ), rujuk dokumentasi MySQL rasmi untuk bagaimana melakukannya.
sudo mysql_secure_installation
Log masuk ke MySQL sebagai pengguna root:
mysql -u root -p
# Enter password:
Buat pangkalan data dan pengguna MySQL baru:
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
Keluar dari MySQL:
exit
Muat turun dan pasang versi utama terbaru NGINX dari repositori NGINX rasmi:
# 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
Sahkan bahawa ia dipasang dengan memeriksa versi NGINX:
sudo nginx -v
# nginx version: nginx/1.13.3
Periksa status, aktifkan dan mulakan perkhidmatan NGINX (daemon):
sudo systemctl status nginx.service # inactive (dead)
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Buat /etc/nginx/ssl
direktori dan hasilkan parameter Diffie-Hellman ( DH ) baru:
sudo mkdir -p /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparams-2048.pem 2048
Buat direktori log untuk blog.domain.tld
hos maya:
sudo mkdir -p /var/log/nginx/blog.domain.tld
Konfigurasikan NGINX sebagai pelayan proksi terbalik HTTP ( S ):
sudo vim /etc/nginx/conf.d/ghost.conf
Tampalkan perkara berikut di /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 "";
}
}
Simpan dan uji konfigurasi NGINX untuk ralat sintaks:
sudo nginx -t
Muat semula konfigurasi NGINX:
sudo systemctl reload nginx.service
CATATAN : Sekiranya anda ingin mengehoskan banyak blog Ghost pada VPS yang sama, setiap instance Ghost mesti dijalankan pada port yang berasingan.
Buat direktori root dokumen:
sudo mkdir -p /var/www/
Buat pengguna hantu baru:
sudo useradd -c 'Ghost application' ghost
Muat turun Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.zip -o ghost.zip
Unzip Ghost ke dalam /var/www/ghost
direktori (lokasi pemasangan yang disyorkan):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
Pindah ke direktori hantu baru:
cd /var/www/ghost
Tukar pemilikan /var/www/ghost
direktori:
sudo chown -R ghost:ghost .
Tukar ke ghost
pengguna baru :
sudo su - ghost
Navigasi ke root dokumen /var/www/ghost
:
cd /var/www/ghost
Pasang Ghost dengan pergantungan pengeluaran sahaja. Apabila ini selesai, Ghost dipasang:
npm install --production
Konfigurasikan Ghost dengan mengubah url
, mail
dan database
harta benda produksi di dalam config.js
fail:
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
},
// . . .
// . . .
CATATAN : Anda juga harus mengkonfigurasi
Mulakan Ghost di persekitaran pengeluaran:
npm start --production
Ghost kini akan berjalan. Kedua-dua muka depan blog dan antara muka admin dijamin dengan HTTPS dan HTTP / 2 juga berfungsi. Anda boleh membuka penyemak imbas anda dan melayari laman web di https://blog.domain.tld
. Jangan lupa ganti blog.domain.tld
dengan nama domain anda.
Matikan proses Ghost dengan menekan CTRL
+ C
dan keluar dari pengguna hantu kembali ke pengguna bukan root yang telah anda buat pada awal:
exit
Sekiranya anda menutup sesi terminal dengan VPS anda, blog anda juga akan hilang. Itu tidak baik. Untuk mengelakkan ini, kita akan menggunakan systemd. Ini akan menjadikan blog kita sentiasa meningkat 24/7.
Buat ghost.service
fail unit systemd. Jalankan sudo sudo vim /etc/systemd/system/ghost.service
dan salin / tampal kandungan di bawah:
[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
Dayakan dan mulakan ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
Semak ghost.service
status:
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
Navigasi ke https://blog.domain.tld/ghost/
dan buat pengguna pentadbir Ghost. Lakukan ini secepat mungkin!
Itu sahaja. Kami kini mempunyai blog Ghost yang berfungsi sepenuhnya. Pelayan anda menyampaikan kandungan melalui HTTP / 2 apabila disokong oleh klien. Sekiranya anda ingin menukar tema Ghost lalai yang disebut Casper ke tema khusus, anda hanya boleh memuat turun dan membuka zip tema ke dalam /var/www/ghost/content/themes
folder dan memilihnya melalui antara muka pentadbir Ghost, yang terletak di https://blog.domain.tld/ghost
.
Menggunakan Sistem Berbeza? Ghost adalah platform blog sumber terbuka yang telah mendapat populariti di kalangan pembangun dan pengguna biasa sejak tahun 201
Pengenalan WordPress adalah sistem pengurusan kandungan yang dominan di internet. Ini memberi kuasa kepada semua dari blog ke laman web yang kompleks dengan kandungan dinamik
Menggunakan Sistem Berbeza? MODX Revolution adalah Sistem Pengurusan Kandungan (CMS) bertaraf perusahaan yang cepat, fleksibel, berskala, terbuka, yang ditulis dalam PHP. Ia i
Neos adalah sistem pengurusan kandungan sumber terbuka yang inovatif yang bagus untuk membuat dan menyunting kandungan dalam talian. Dengan pemikiran pengarang dan editor, Neo
Menggunakan Sistem Berbeza? Fork adalah CMS sumber terbuka yang ditulis dalam PHP. Kod sumber garpu dihoskan pada GitHub. Panduan ini akan menunjukkan cara memasang Fork CM
Menggunakan Sistem Berbeza? MODX Revolution adalah Sistem Pengurusan Kandungan (CMS) bertaraf perusahaan yang pantas, fleksibel, berskala, bebas dan terbuka, bertulis i
Menggunakan Sistem Berbeza? Ghost adalah platform blog sumber terbuka yang semakin popular di kalangan pembangun dan pengguna biasa sejak dilancarkan pada tahun 2013. Saya
Penggunaan biasa pelayan maya Vultr adalah untuk menghoskan laman web Wordpress. Panduan ini menunjukkan kepada anda bagaimana mengautomasikan konfigurasi pelayan maya dari scratc
Contoh Vultr adalah cara terbaik untuk menjalankan blog WordPress anda, tetapi peluasan yang lebih ketara untuk WordPress ialah WooCommerce, plugin eCommerce yang meluas
Menggunakan Sistem Berbeza? Fork adalah CMS sumber terbuka yang ditulis dalam PHP. Kod sumber garpu dihoskan pada GitHub. Panduan ini akan menunjukkan cara memasang Fork CM
Menggunakan Sistem Berbeza? Ghost adalah platform blog sumber terbuka yang telah mendapat populariti di kalangan pembangun dan pengguna biasa sejak tahun 201
Menggunakan Sistem yang berbeza? Ghost adalah platform blog sumber terbuka yang semakin popular di kalangan pembangun dan pengguna biasa sejak dilancarkan pada tahun 2013. Saya
Menggunakan Sistem Berbeza? Dotclear adalah mesin blog yang sangat mudah. Ia adalah sumber terbuka dan mudah digunakan. Tutorial ini akan melalui pemasangan pada
Menggunakan Sistem Berbeza? MODX Revolution adalah Sistem Pengurusan Kandungan (CMS) bertaraf perusahaan yang pantas, fleksibel, berskala, bebas dan terbuka, bertulis i
Menggunakan Sistem Berbeza? Fork adalah CMS sumber terbuka yang ditulis dalam PHP. Kod sumber garpu dihoskan pada GitHub. Panduan ini akan menunjukkan cara memasang Fork CM
Typesetter adalah CMS sumber terbuka yang ditulis dalam PHP yang difokuskan pada kemudahan penggunaan dengan penyuntingan True WYSIWYG dan penyimpanan fail rata. Dalam artikel ini, kita akan installin
Ghost adalah yang terbaru dan hebat untuk menyaingi WordPress. Pengembangan tema cepat dan mudah dipelajari kerana pembangun Ghost memutuskan untuk menggunakan kedua
Menggunakan Sistem yang berbeza? Jekyll adalah alternatif yang baik untuk WordPress. Ia tidak memerlukan pangkalan data dan berfungsi dengan bahasa yang tidak asing lagi
Pengenalan Semakin dekat anda memasang OpenBSD anda ke lalai dan tanpa banyak pakej tambahan, semakin selamat. Walaupun semakin banyak koma
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut