Instal WordPress di OpenBSD 6.2
Pendahuluan WordPress adalah sistem manajemen konten yang dominan di internet. Ini memberdayakan semuanya, mulai dari blog hingga situs web kompleks dengan konten dinamis
Ghost adalah platform blogging sumber terbuka yang telah mendapatkan popularitas di kalangan pengembang dan pengguna biasa sejak dirilis pada 2013. Ini menempatkan fokus pada konten dan blogging. Yang paling menarik tentang Ghost adalah desainnya yang sederhana, bersih, dan responsif. Anda dapat menulis posting blog Anda dari ponsel. Konten untuk Hantu ditulis menggunakan bahasa Penurunan harga. Hantu sangat cocok untuk individu atau kelompok kecil penulis.
Dalam panduan ini kita akan mengatur dan menyebarkan blog Ghost v0.11.x LTS aman di Ubuntu 16.04 LTS VPS menggunakan Let's Encrypt , Certbot , Node.js , NPM , NGINX dan MySQL .
Buat akun pengguna non-root baru :
adduser johndoe --gecos "John Doe"
Jadikan superuser dengan menambahkannya ke sudo
grup:
usermod -aG sudo johndoe
Beralih ke pengguna baru:
su - johndoe
Perbarui perangkat lunak sistem operasi Anda:
sudo apt update && sudo apt upgrade -y
Siapkan zona waktu:
sudo dpkg-reconfigure tzdata
Instal alat yang diperlukan:
sudo apt install -y build-essential zip unzip vim nano openssl wget curl git apt-transport-https
Reboot sistem jika diperlukan:
sudo shutdown -r now
CATATAN : Sebelum memulai langkah ini, pastikan Anda telah menetapkan catatan DNS untuk domain Anda.
Kita akan menggunakan Let's Encrypt CA dan klien EFF 's Certbot untuk mendapatkan sertifikat SSL / TLS untuk blog Ghost kami. Jangan lupa ganti semua instance blog.domain.tld
dengan nama domain Anda.
Instal perangkat lunak manajemen sertifikat Certbot (sebelumnya Let's Encrypt client ) yang dibuat dengan Python:
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
Periksa versi Certbot:
certbot --version
# certbot 0.14.2
Dapatkan sertifikat RSA dengan menggunakan metode otentikasi mandiri (plugin):
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-langkah sebelumnya, sertifikat dan kunci pribadi Anda akan ada di /etc/letsencrypt/live/blog.domain.tld
direktori.
CATATAN : Ghost saat ini hanya mendukung versi Node.js 4.5+ dan 6.9+ .
Hantu dibangun di atas Node.js. Kami akan menginstal versi yang direkomendasikan untuk Ghost yang v6 Boron LTS
saat ini ditulis.
Unduh dan instal Node.js v6 LTS:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt install -y nodejs
Periksa versi Node.js dan NPM:
node -v && npm -v
# v6.11.1
# 3.10.10
Secara default, Ghost dikonfigurasikan untuk menggunakan database SQLite, yang tidak memerlukan konfigurasi.
Atau Ghost juga dapat digunakan dengan database MySQL dengan mengubah konfigurasi database. Anda harus membuat database dan pengguna terlebih dahulu, Anda kemudian dapat mengubah konfigurasi sqlite3 yang ada.
Unduh dan pasang MySQL:
sudo apt install -y mysql-server
CATATAN : Selama instalasi, Anda akan dimintai kata sandi pengguna "root" MySQL. Anda harus menetapkan kata sandi aman untuk pengguna "root" MySQL.
Periksa versi MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.18, for Linux (x86_64) using EditLine wrapper
Periksa apakah daemon MySQL sudah mulai dan sedang berjalan:
sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service
Jalankan mysql_secure_installation
skrip untuk sedikit mengamankan basis data Anda:
sudo mysql_secure_installation
Masuk ke MySQL sebagai pengguna root:
mysql -u root -p
# Enter password:
Buat database dan pengguna MySQL baru:
create database dbname;
grant all on dbname.* to 'user' identified by 'password';
Keluar dari MySQL:
exit
Unduh dan pasang versi arus utama NGINX terbaru dari repositori NGINX resmi:
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
Pastikan sudah diinstal dengan memeriksa versi NGINX:
sudo nginx -v
# nginx version: nginx/1.13.3
Periksa status, aktifkan dan mulai layanan 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 grup 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
virtual host:
sudo mkdir -p /var/log/nginx/blog.domain.tld
Konfigurasikan NGINX sebagai server proxy terbalik HTTP ( S ):
sudo vim /etc/nginx/conf.d/ghost.conf
Rekatkan yang berikut ini 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 kesalahan sintaks:
sudo nginx -t
Muat ulang konfigurasi NGINX:
sudo systemctl reload nginx.service
CATATAN : Jika Anda ingin meng-host beberapa blog Ghost pada VPS yang sama, setiap instance Ghost harus dijalankan pada port terpisah.
Buat direktori root dokumen:
sudo mkdir -p /var/www/
Buat ghost
pengguna baru :
sudo adduser --shell /bin/bash --gecos 'Ghost application' --disabled-password ghost
Unduh Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.10/Ghost-0.11.10.zip -o ghost.zip
Unzip Ghost ke /var/www/ghost
direktori (lokasi pemasangan yang disarankan):
sudo unzip -uo ghost.zip -d /var/www/ghost
rm ghost.zip
Pindah ke ghost
direktori baru :
cd /var/www/ghost
Ubah kepemilikan /var/www/ghost
direktori:
sudo chown -R ghost:ghost .
Beralih ke ghost
pengguna baru :
sudo su - ghost
Arahkan ke dokumen root /var/www/ghost
:
cd /var/www/ghost
Instal Ghost hanya dengan dependensi produksi. Ketika ini selesai, Ghost diinstal:
npm install --production
Konfigurasikan Hantu dengan mengubah url
, mail
dan database
properti production
objek di dalam config.js
file:
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 mengonfigurasi
Mulai Ghost di lingkungan produksi:
npm start --production
Hantu sekarang akan berjalan. Baik front-end blog dan antarmuka admin diamankan dengan HTTPS dan HTTP / 2 juga berfungsi. Anda dapat membuka browser dan mengunjungi situs 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 root:
exit
Jika Anda menutup sesi terminal Anda dengan VPS Anda, blog Anda juga akan turun. Itu tidak baik. Untuk menghindari ini, kita akan menggunakan systemd. Ini akan membuat blog kita aktif 24/7.
Buat ghost.service
file unit systemd. Jalankan sudo vim /etc/systemd/system/ghost.service
dan salin / tempel konten di bawah ini:
[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
Aktifkan dan mulai ghost.service
:
sudo systemctl enable ghost.service && sudo systemctl start ghost.service
Periksa ghost.service
status:
sudo systemctl status ghost.service && sudo systemctl is-enabled ghost.service
Arahkan ke https://blog.domain.tld/ghost/
dan buat pengguna admin Ghost. Lakukan ini sesegera mungkin!
Itu dia. Kami sekarang memiliki blog Ghost yang berfungsi penuh. Server Anda mengirimkan konten melalui HTTP / 2 saat didukung oleh klien. Jika Anda ingin mengubah tema Hantu default yang disebut Casper menjadi tema khusus, Anda bisa mengunduh dan meng-unzip tema ke dalam /var/www/ghost/content/themes
folder dan memilihnya melalui antarmuka admin Ghost, yang terletak di https://blog.domain.tld/ghost
.
Pendahuluan WordPress adalah sistem manajemen konten yang dominan di internet. Ini memberdayakan semuanya, mulai dari blog hingga situs web kompleks dengan konten dinamis
Ghost adalah platform penerbitan sumber terbuka modern yang dibangun di atas Node.js dengan klien admin Ember.js, API JSON, dan API tema yang ditenagai oleh Handlebars.js. Ghos
Menggunakan Sistem yang Berbeda? Ghost adalah platform blogging sumber terbuka yang mulai populer di kalangan pengembang dan pengguna biasa sejak dirilis pada 2013. saya
Menggunakan Sistem yang Berbeda? Dotclear adalah mesin blog yang sangat sederhana. Ini adalah open-source dan mudah digunakan. Tutorial ini akan melalui instalasi pada
Ghost adalah pemula baru dan terbaik untuk menyaingi WordPress. Pengembangan tema cepat dan mudah dipelajari karena pengembang Ghost memutuskan untuk menggunakan keduanya
Pendahuluan Semakin dekat Anda memasang OpenBSD ke default dan tanpa banyak paket tambahan, semakin aman. Sementara yang lebih umum
Menggunakan Sistem yang Berbeda? MODX Revolution adalah Sistem Manajemen Konten (CMS) yang cepat, fleksibel, dapat diskalakan, gratis, dan sumber terbuka.
Menggunakan Sistem yang Berbeda? Fork adalah CMS open source yang ditulis dalam PHP. Kode sumber Forks di-host di GitHub. Panduan ini akan menunjukkan cara menginstal Fork CM
Typesetter adalah CMS open source yang ditulis dalam PHP yang berfokus pada kemudahan penggunaan dengan pengeditan True WYSIWYG dan penyimpanan file-datar. Pada artikel ini, kita akan menginstalin
Menggunakan Sistem yang Berbeda? MODX Revolution adalah Sistem Manajemen Konten (CMS) yang cepat, fleksibel, dapat diskalakan, gratis, dan sumber terbuka.
Menggunakan Sistem yang Berbeda? Dotclear adalah mesin blog yang sangat sederhana yang telah dibangun di atas PHP. Dalam tutorial ini, kita akan menginstal Dotclear di Ubunt
Neos adalah sistem manajemen konten sumber terbuka inovatif yang bagus untuk membuat dan mengedit konten online. Dengan mengingat penulis dan editor, Neo
Menggunakan Sistem yang Berbeda? Jekyll adalah alternatif yang bagus untuk WordPress. Itu tidak memerlukan basis data apa pun dan berfungsi dengan bahasa yang banyak dikenalnya
Menggunakan Sistem yang Berbeda? Fork adalah CMS open source yang ditulis dalam PHP. Kode sumber Forks di-host di GitHub. Panduan ini akan menunjukkan cara menginstal Fork CM
Menggunakan Sistem yang Berbeda? Jekyll adalah alternatif yang bagus untuk WordPress untuk blogging atau berbagi konten. Itu tidak memerlukan database apa pun dan sangat mudah saya
Contoh Vultr adalah cara yang bagus untuk menjalankan blog WordPress Anda, tetapi ekstensi yang lebih penting untuk WordPress adalah WooCommerce, sebuah plugin eCommerce yang memperluas
Menggunakan Sistem yang Berbeda? Fork adalah CMS open source yang ditulis dalam PHP. Kode sumber Forks di-host di GitHub. Panduan ini akan menunjukkan cara menginstal Fork CM
Menggunakan Sistem yang Berbeda? Ghost adalah platform blogging sumber terbuka yang mulai populer di kalangan pengembang dan pengguna biasa sejak dirilis pada 2013. saya
Menggunakan Sistem yang Berbeda? Fork adalah CMS open source yang ditulis dalam PHP. Kode sumber Forks di-host di GitHub. Panduan ini akan menunjukkan cara menginstal Fork CM
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut