Cara Pasang Neos CMS pada FreeBSD 12
Menggunakan Sistem Berbeza? Neos adalah Platform Aplikasi Kandungan dengan CMS dan kerangka aplikasi di terasnya. Panduan ini akan menunjukkan cara pemasangan
NodeBB adalah perisian forum berasaskan Node.js. Ia menggunakan soket web untuk interaksi segera dan pemberitahuan masa nyata. Kod sumber NodeBB dihoskan secara umum di Github . Panduan ini akan membimbing anda melalui proses pemasangan NodeBB pada contoh FreeBSD 12 Vultr segar, dengan menggunakan Node.js, MongoDB sebagai pangkalan data, Nginx sebagai proksi terbalik, dan Acme.sh untuk sijil SSL.
NodeBB memerlukan perisian berikut dipasang:
A
/ AAAA
rekod disediakanSemak versi FreeBSD.
uname -ro
# FreeBSD 12.0-RELEASE
Pastikan sistem FreeBSD anda terkini.
freebsd-update fetch install
pkg update && pkg upgrade -y
Pasang pakej yang diperlukan sekiranya tidak terdapat di sistem anda.
pkg install -y sudo vim unzip wget git bash socat gcc8 pkgconf vips
Buat akaun pengguna baru dengan nama pengguna pilihan anda (kami akan gunakan johndoe
).
adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!
Jalankan visudo
arahan dan unmentasikan %wheel ALL=(ALL) ALL
baris, untuk membolehkan ahli wheel
kumpulan melaksanakan sebarang arahan.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Kini, beralih kepada pengguna yang baru anda buat dengan su
.
su - johndoe
CATATAN: Ganti johndoe
dengan nama pengguna anda.
Sediakan zon waktu.
sudo tzsetup
NodeBB didorong oleh Node.js, dan oleh itu ia perlu dipasang. Disarankan pemasangan Node.js versi LTS semasa.
Pasang Node.js dan npm.
sudo pkg install -y node10 npm-node10
Semak versi.
node -v && npm -v
# v10.15.3
# 6.9.0
MongoDB adalah pangkalan data lalai untuk NodeBB.
Pasang MongoDB.
sudo pkg install -y mongodb40
Semak versi.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v4.0.6
# db version v4.0.6
Dayakan dan mulakan MongoDB.
sudo sysrc mongod_enable=yes
sudo service mongod start
Buat pangkalan data dan pengguna untuk NodeBB.
Sambungkan ke MongoDB terlebih dahulu.
mongo
Beralih ke admin
pangkalan data terbina dalam .
> use admin
Buat pengguna pentadbiran.
> db.createUser( { user: "admin", pwd: "<Enter a secure password>", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
CATATAN: Ganti tempat letak <Enter a secure password>
dengan kata laluan pilihan anda sendiri.
Tambah pangkalan data baru yang dipanggil nodebb
.
> use nodebb
Pangkalan data akan dicipta dan konteks dihidupkan nodebb
. Seterusnya buat nodebb
pengguna dengan keistimewaan yang sesuai.
> db.createUser( { user: "nodebb", pwd: "<Enter a secure password>", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
CATATAN: Sekali lagi, ganti ruang letak <Enter a secure password>
dengan kata laluan yang anda pilih sendiri.
Keluar dari shell Mongo.
> quit()
Restart MongoDB dan pastikan pengguna pentadbiran yang dibuat lebih awal dapat menyambung.
sudo service mongod restart
mongo -u admin -p your_password --authenticationDatabase=admin
Pasang Nginx.
sudo pkg install -y nginx
Semak versi.
nginx -v
# nginx version: nginx/1.14.2
Dayakan dan mulailah Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx start
NodeBB secara lalai berjalan di port 4567
. Untuk mengelakkan menaip http://example.com:4567
, kami akan mengkonfigurasi Nginx sebagai proksi terbalik untuk aplikasi NodeBB. Setiap permintaan pada port 80
atau 443
, jika SSL digunakan, akan dikemukakan kepada pelabuhan 4567
.
Jalankan sudo vim /usr/local/etc/nginx/nodebb.conf
dan isi dengan konfigurasi proksi terbalik asas di bawah.
server {
listen [::]:80;
listen 80;
server_name forum.example.com;
root /usr/share/nginx/html;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_hide_header X-Powered-By;
proxy_set_header X-Nginx-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Dalam konfigurasi di atas, kemas kini server_name
arahan dengan nama domain / host anda.
Simpan fail dan keluar dengan :+ W+ Q.
Sekarang kita perlu memasukkan nodebb.conf
dalam nginx.conf
fail utama .
Jalankan sudo vim /usr/local/etc/nginx/nginx.conf
dan tambah baris berikut ke http {}
blok.
include nodebb.conf;
Periksa konfigurasi.
sudo nginx -t
Muat semula Nginx.
sudo service nginx reload
Tidak menjamin keselamatan forum anda dengan HTTPS, tetapi ia akan menjamin lalu lintas laman web anda. Acme.sh adalah perisian shell unix murni untuk mendapatkan sijil SSL dari Let's Encrypt dengan kebergantungan sifar.
Muat turun dan pasang Acme.sh.
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
Semak versi.
/etc/letsencrypt/acme.sh --version
# v2.8.1
Dapatkan sijil RSA dan ECDSA untuk forum.example.com
.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo service nginx reload" --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d forum.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo service nginx reload" --keylength ec-256
Setelah menjalankan perintah di atas, sijil dan kunci anda akan berada di:
/etc/letsencrypt/forum.example.com
./etc/letsencrypt/forum.example.com_ecc
.Selepas mendapatkan sijil dari Let's Encrypt, kita perlu mengkonfigurasi Nginx untuk menggunakannya.
Jalankan sudo vim /usr/local/etc/nginx/nodebb.conf
lagi dan konfigurasikan Nginx sebagai proksi terbalik HTTPS.
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name forum.example.com;
root /usr/share/nginx/html;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
# RSA
ssl_certificate /etc/letsencrypt/forum.example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/forum.example.com/forum.example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/forum.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/forum.example.com_ecc/forum.example.com.key;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:4567;
proxy_redirect off;
# Socket.IO Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Periksa konfigurasi.
sudo nginx -t
Muat semula Nginx.
sudo service nginx reload
Buat direktori root dokumen.
sudo mkdir -p /usr/local/www/nodebb
Tukar pemilikan /usr/local/www/nodebb
direktori ke johndoe
.
sudo chown -R johndoe:johndoe /usr/local/www/nodebb
Navigasi ke folder root dokumen.
cd /usr/local/www/nodebb
Klon NodeBB terkini ke folder root dokumen.
git clone -b v1.11.x https://github.com/NodeBB/NodeBB.git .
Jalankan arahan persediaan NodeBB dan jawab setiap soalan apabila diminta.
./nodebb setup
Setelah persediaan NodeBB selesai, jalankan ./nodebb start
untuk memulakan pelayan NodeBB anda secara manual.
./nodebb start
Selepas arahan ini, anda dapat mengakses contoh forum NodeBB anda dalam penyemak imbas web.
Apabila dimulakan melalui ./nodebb start
, NodeBB tidak akan dimulakan semula secara automatik semasa sistem dihidupkan semula. Untuk mengelakkannya, kita perlu menyediakan NodeBB sebagai perkhidmatan sistem.
Sekiranya berjalan, hentikan NodeBB.
./nodebb stop
Pasang PM2 secara global.
sudo npm install pm2 -g
Semak versi.
pm2 -v
# 3.5.0
Navigasi ke akar dokumen NodeBB.
cd /usr/local/www/nodebb
Mulakan NodeBB melalui PM2.
pm2 start app.js
Senaraikan proses NodeBB.
pm2 ls
Kesan sistem init yang ada.
pm2 startup
Salin dan tampal isi perintah ini di CLI untuk menyiapkan cangkuk permulaan anda.
Simpan senarai proses anda.
pm2 save
Itu sahaja. Instance NodeBB anda kini dan berjalan.
Menggunakan Sistem Berbeza? Neos adalah Platform Aplikasi Kandungan dengan CMS dan kerangka aplikasi di terasnya. Panduan ini akan menunjukkan cara pemasangan
Menggunakan Sistem Berbeza? Monica adalah sistem pengurusan hubungan peribadi sumber terbuka. Fikirkannya sebagai CRM (alat popular yang digunakan oleh pasukan jualan di th
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? ProcessWire CMS 3.0 adalah Sistem Pengurusan Kandungan (CMS) yang mudah, fleksibel dan berkuasa, bebas dan terbuka. ProcessWire CMS 3.
Menggunakan Sistem Berbeza? MODX Revolution adalah Sistem Pengurusan Kandungan (CMS) bertaraf perusahaan yang cepat, fleksibel, berskala, terbuka, yang ditulis dalam PHP. Ia i
Pengenalan Tutorial ini menunjukkan OpenBSD sebagai penyelesaian e-dagang menggunakan PrestaShop dan Apache. Apache diperlukan kerana PrestaShop mempunyai UR yang kompleks
Menggunakan Sistem Berbeza? WonderCMS adalah sumber terbuka, cepat dan kecil fail CMS rata yang ditulis dalam PHP. Kod sumber WonderCMS dihoskan pada Github. Panduan ini wil
Menggunakan Sistem Berbeza? TLS 1.3 adalah versi protokol Keselamatan Layer Pengangkutan (TLS) yang diterbitkan pada 2018 sebagai piawaian yang dicadangkan dalam RFC 8446
Menggunakan Sistem Berbeza? Selfoss RSS Reader adalah sumber terbuka dan terbuka sumber berasaskan web pelbagai guna, live stream, mashup, berita berita (RSS / Atom)
Di luar kotak, pelayan FreeBSD Vultr tidak dikonfigurasi untuk memasukkan ruang pertukaran. Sekiranya niat anda adalah untuk contoh awan sekali pakai, anda mungkin tidak perlu
Menggunakan Sistem Berbeza? BlogoText CMS adalah Sistem Pengurusan Kandungan (CMS) yang mudah dan ringan, percuma dan terbuka dan enjin blog minimalis
Dalam artikel ini, Saya akan menunjukkan kepada anda cara memasang MariaDB pada OpenBSD 6 dan mengkonfigurasinya agar dapat diakses oleh pelayan web chroot (Apache atau Nginx). Anda juga akan
Menggunakan Sistem Berbeza? Subrion 4.1 CMS adalah Sistem Pengurusan Kandungan sumber terbuka (CMS) yang kuat dan fleksibel yang membawa kandungan intuitif dan jelas
Menggunakan Sistem Berbeza? DokuWiki adalah program wiki sumber terbuka yang ditulis dalam PHP yang tidak memerlukan pangkalan data. Ia menyimpan data dalam fail teks. DokuWik
Semasa menaik taraf instance VPS pada Vultr, sistem fail Linux akan diubah ukurannya secara automatik. Semasa menjalankan FreeBSD dengan sistem fail ZFS canggih, beberapa manual wor
Menggunakan Sistem Berbeza? ESpeak boleh menjana fail audio teks-ke-ucapan (TTS). Ini berguna untuk banyak sebab, seperti membuat Turin sendiri
Artikel ini memberikan sinopsis ringkas mengenai sistem operasi pelayan yang ditawarkan sebagai templat di Vultr. CentOS CentOS adalah versi sumber terbuka RHEL (Re
Menggunakan Sistem Berbeza? Pengenalan Akaunting adalah perisian perakaunan sumber terbuka dan percuma yang direka untuk perniagaan kecil dan freelancer. Ia i
Menggunakan Sistem Berbeza? Cachet adalah sistem halaman status sumber terbuka yang ditulis dalam PHP. Kod sumber untuk Cachet dihoskan di GitHub. Dalam panduan ini, anda akan
Tidak perlu lagi ada orang yang perlu membuat Sijil SSL mereka sendiri kerana sekarang anda boleh mendapatkan sijil SSL yang sah dan percuma dari Let
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