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 menggunakan blog Ghost v0.11.x LTS aman pada 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 non-root baru :
useradd -c "John Doe" johndoe && passwd johndoe
Jadikan superuser dengan menambahkannya ke wheel
grup:
usermod -aG wheel johndoe
Beralih ke pengguna baru:
su - johndoe
Perbarui perangkat lunak sistem operasi Anda:
sudo yum check-update || sudo yum update -y
Siapkan zona waktu:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Instal alat pengembangan:
sudo yum groupinstall -y 'Development Tools'
Instal editor teks Vim:
sudo yum install -y vim
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.
Mengaktifkan repositori Paket Ekstra untuk Perusahaan 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
Instal perangkat lunak manajemen sertifikat Certbot (sebelumnya Let's Encrypt client ) yang dibuat dengan Python:
sudo yum install -y certbot
Periksa versi Certbot:
certbot --version
# certbot 0.14.1
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:
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 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 instal versi terbaru MySQL (saat ini 5.7 ) dari repositori resmi 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
Periksa versi MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.19, for Linux (x86_64) using EditLine wrapper
Mulai MySQL Server dan periksa statusnya:
sudo systemctl start mysqld.service
sudo systemctl status mysqld.service
MySQL versi 5.7 atau lebih tinggi menghasilkan kata sandi acak sementara untuk root
pengguna MySQL setelah instalasi dan kata sandi disimpan dalam file log kesalahan MySQL, yang terletak di /var/log/mysqld.log
. Untuk mengungkapkannya, gunakan perintah berikut:
sudo grep 'temporary password' /var/log/mysqld.log
Jalankan mysql_secure_installation
skrip untuk sedikit mengamankan basis data Anda:
CATATAN : Plugin Validasi Kata Sandi dipasang dan diaktifkan, jadi kata sandi baru Anda untuk
root
pengguna harus kuat ( satu huruf besar, satu huruf kecil, satu digit, dan satu karakter khusus, dan panjang total kata sandi minimal 8 karakter) ). Jika Anda ingin mengendurkannya atau menonaktifkan plugin sepenuhnya ( tidak disarankan ), bacalah dokumentasi resmi MySQL untuk cara melakukannya.
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:
# 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
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 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
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 pengguna hantu baru:
sudo useradd -c 'Ghost application' ghost
Unduh Ghost:
curl -L https://github.com/TryGhost/Ghost/releases/download/0.11.11/Ghost-0.11.11.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 direktori hantu 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 objek produksi 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 non-root yang telah Anda buat di awal:
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 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.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
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 telah mendapatkan popularitas di kalangan pengembang dan pengguna biasa sejak 201 nya
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