Cum se instalează forumul NodeBB pe FreeBSD 12
Folosind un sistem diferit? NodeBB este un software de forum bazat pe Node.js. Utilizează prize web pentru interacțiuni instantanee și notificări în timp real. Nodul B
Wiki.js este o aplicație wiki modernă, gratuită și deschisă, construită pe Node.js, MongoDB, Git și Markdown. Codul sursă Wiki.js este găzduit public pe Github . Acest ghid vă va arăta cum instalați Wiki.js pe o nouă instanță FreeBSD 11 Vultr folosind Node.js, MongoDB, PM2, Nginx, Git și Acme.sh.
Cerințele pentru a rula Wiki.js sunt următoarele:
A
/ AAAA
înregistrări configurate. În acest ghid vom folosi wiki.example.com
ca domeniu de exemplu.Verificați versiunea FreeBSD.
uname -ro
# FreeBSD 11.2-RELEASE
Asigurați-vă că sistemul dvs. FreeBSD este actualizat.
freebsd-update fetch install
pkg update && pkg upgrade -y
Instalați sudo
, vim
, unzip
, wget
, git
, bash
și socat
pachete în cazul în care nu sunt prezente pe sistemul dumneavoastră.
pkg install -y sudo vim unzip wget git bash socat
Creați un cont de utilizator nou cu numele de utilizator preferat (vom folosi 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!
Rulați visudo
comanda și dezarhivați %wheel ALL=(ALL) ALL
linia, pentru a permite membrilor wheel
grupului să execute orice comandă.
# Uncomment by removing the hash (#) sign
%wheel ALL=(ALL) ALL
Acum, treceți la utilizatorul dvs. recent creat.
su - johndoe
NOTĂ: Înlocuiți johndoe
cu numele de utilizator.
Setați fusul orar.
sudo tzsetup
Wiki.js necesită Node.js 6.11.1 sau o versiune ulterioară, deci va trebui mai întâi să instalăm versiunea corespunzătoare a Node.js.
Instalați Node.js și NPM.
sudo pkg install -y node8 npm-node8
Verificați versiunile.
node -v && npm -v
# v8.12.0
# 6.4.1
Wiki.js folosește MongoDB ca motor de bază de date.
Instalați MongoDB.
sudo pkg install -y mongodb36
Verificați versiunea.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.6
# db version v3.6.6
Activați și porniți MongoDB.
sudo sysrc mongod_enable=yes
sudo service mongod start
Securizarea wiki-ului dvs. cu HTTPS nu este necesară, dar este o practică bună pentru a vă asigura traficul site-ului. Pentru a obține un certificat SSL de la Let's Encrypt, vom folosi clientul Acme.sh. Acme.sh este un software pur shell unix pentru obținerea certificatelor SSL de la Let's Encrypt cu zero dependențe. Acest lucru îl face foarte ușor în comparație cu alți clienți ai protocolului Acme care necesită multe dependențe pentru a rula cu succes.
Descărcați și instalați 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 ~
Verificați acme.sh
versiunea.
/etc/letsencrypt/acme.sh --version
# v2.8.0
Obțineți certificate RSA și ECDSA pentru wiki.example.com
.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d wiki.example.com --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d wiki.example.com --ocsp-must-staple --keylength ec-256
După executarea comenzilor de mai sus, certificatele și cheile dvs. vor fi în următoarele directoare:
/etc/letsencrypt/wiki.example.com
/etc/letsencrypt/wiki.example.com_ecc
NOTĂ: Nu uitați să înlocuiți wiki.example.com
cu numele dvs. de domeniu.
După obținerea certificatelor de la Let's Encrypt, trebuie să configuram Nginx pentru a profita de ele.
Wiki.js poate rula fără niciun server web propriu-zis, însă este foarte recomandat să puneți un server web standard în fața acestuia. Acest lucru vă asigură că puteți utiliza funcții precum SSL, mai multe site-uri web, memorie în cache și altele. Vom folosi Nginx în acest tutorial, dar orice alt server o va face, trebuie doar să îl configurați corect.
Instalați Nginx.
sudo pkg install -y nginx
Verificați versiunea.
nginx -v
# nginx version: nginx/1.14.0
Activați și porniți Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx start
Configurați Nginx ca un HTTPS (dacă utilizați SSL) proxy invers pentru aplicația Wiki.js.
Rulați sudo vim /usr/local/etc/nginx/wiki.js.conf
și populați-l cu configurația de bază a proxy-ului invers de mai jos.
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name wiki.example.com;
charset utf-8;
client_max_body_size 50M;
# RSA
ssl_certificate /etc/letsencrypt/wiki.example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/wiki.example.com/wiki.example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/wiki.example.com.key;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_next_upstream error timeout http_502 http_503 http_504;
}
}
Singurul lucru pe care trebuie să îl schimbați în configurația de mai sus este server_name
directiva și, eventual, proxy_pass
directiva dacă decideți să configurați un alt port decât 3000
. Wiki.js utilizează 3000
implicit portul . Salvați fișierul și ieșiți cu :+ W+Q
Acum trebuie să includem wiki.js.conf
fișierul în nginx.conf
fișierul principal .
Rulați sudo vim /usr/local/etc/nginx/nginx.conf
și adăugați următoarea linie la http {}
bloc.
include wiki.js.conf;
Verificați configurația.
sudo nginx -t
Reîncărcați Nginx.
sudo service nginx reload
Creați un folder rădăcină document gol unde va fi instalat Wiki.js.
sudo mkdir -p /usr/local/www/wiki.example.com
Navigați la folderul rădăcină al documentului.
cd /usr/local/www/wiki.example.com
Schimbați proprietatea /usr/local/www/wiki.example.com
folderului în utilizator johndoe
.
sudo chown -R johndoe:johndoe /usr/local/www/wiki.example.com
Din /usr/local/www/wiki.example.com
folder, executați următoarele comenzi pentru a descărca și instala Wiki.js.
curl -sSo- https://wiki.js.org/install.sh | bash
VERSION=$(curl -L -s -S https://beta.requarks.io/api/version/stable)
curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/wiki-js.tar.gz | tar -f - -xz -C .
curl -L -s -S https://github.com/Requarks/wiki/releases/download/v$VERSION/node_modules.tar.gz | tar -f - -xz -C .
cp -n config.sample.yml config.yml
Puteți rula următoarea comandă pentru a vizualiza versiunea actuală instalată de Wiki.js.
node wiki --version
# 1.0.102
După terminarea instalării, vi se va solicita să executați asistentul de configurare.
Porniți asistentul de configurare rulând.
node wiki configure
Acest lucru vă va notifica să navigați pentru http://localhost:3000
a configura Wiki.js. Dacă aveți Nginx în fața Wiki.js, atunci înseamnă că puteți deschide numele de domeniu (de exemplu http://wiki.example.com
) în loc să mergeți la localhost.
Utilizând browserul dvs. web, navigați la http://wiki.example.com
și urmați instrucțiunile de pe ecran. Toate setările introduse în timpul asistentului de configurare sunt salvate în config.yml
fișier. Expertul de configurare va porni automat Wiki.js pentru dvs.
În mod implicit, Wiki.js nu va porni automat după repornirea sistemului. Pentru a porni la pornire, trebuie să instalăm și să instalăm managerul de proces PM2.
Instalați PM2 la nivel global prin intermediul npm
.
sudo npm install -g pm2
Verificați versiunea.
pm2 -v
# 3.2.2
Navigați în folderul rădăcină al documentului dacă nu sunteți deja acolo și opriți Wiki.js.
cd /usr/local/www/wiki.example.com
node wiki stop
Porniți Wiki.js prin PM2.
pm2 start server/index.js --name "Wiki.js"
Listă proces gestionat de PM2.
pm2 list
Spuneți PM2 să se configureze ca serviciu de pornire rulând:
pm2 startup
În cele din urmă, salvați configurația curentă PM2 rulând comanda:
pm2 save
Instanta dvs. Wiki.js rulează acum ca proces de fundal, folosind PM2 ca manager de proces.
Folosind un sistem diferit? NodeBB este un software de forum bazat pe Node.js. Utilizează prize web pentru interacțiuni instantanee și notificări în timp real. Nodul B
Dacă executați propriul dvs. rezolvator sau doriți să utilizați unul de la un furnizor terț, puteți constata că fișierul dvs. /etc/resolv.conf este suprascris de DHCP
Folosind un sistem diferit? Automad este un sistem open source de conținut bazat pe fișiere (CMS) și motor de șabloane, scris în PHP. Codul sursă Automad i
Folosind un sistem diferit? X-Cart este o platformă eCommerce open-source extrem de flexibilă, cu tone de funcții și integrări. Codul sursă X-Cart este gazdă
Introducere WordPress este sistemul dominant de gestionare a conținutului pe internet. Acesta alimentează totul, de la bloguri la site-uri web complexe, cu conținut dinamic
Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis
Murmur este software-ul de server oficial pentru protocolul de comunicare vocală Mumble. Această implementare oficială este stabilă și eficientă. Acest ghid va fi
Folosind un sistem diferit? WonderCMS este un CMS cu fișier plat, de tip open source, rapid și mic, scris în PHP. Codul sursă WonderCMS este găzduit pe Github. Acest ghid va fi
Folosind un sistem diferit? Pagekit 1.0 CMS este un sistem frumos de gestionare a conținutului (CMS), modular, extensibil și ușor, gratuit și deschis, cu
Folosind un sistem diferit? TLS 1.3 este o versiune a protocolului Transport Layer Security (TLS) care a fost publicat în 2018 ca standard propus în RFC 8446
Acest tutorial vă va arăta cum să instalați iRedMail de grup în o nouă instalare a FreeBSD 10. Ar trebui să folosiți un server cu cel puțin o gigabyte o
Folosind un sistem diferit? Dolibarr este un plan de resurse pentru întreprinderi open source (ERP) și managementul relațiilor cu clienții (CRM) pentru companii. Dolibarr
Folosind un sistem diferit? TaskWarrior este un instrument de gestionare a timpului open source care este o îmbunătățire a aplicației Todo.txt și a clonelor sale. Datorită th
Folosind un sistem diferit? DokuWiki este un program wiki open source scris în PHP care nu necesită o bază de date. Stochează date în fișiere text. DokuWik
Ghost este cel mai recent și cel mai mare upstart pentru a rivaliza cu WordPress. Dezvoltarea tematică este rapidă și ușor de învățat, deoarece dezvoltatorii Ghost au decis să utilizeze ambele aplicații
Introducere Cu cât vă mențineți mai aproape instalarea OpenBSD la valoarea implicită și fără tot atâtea pachete adăugate, cu atât va fi mai sigur. În timp ce mai comun
La actualizarea unei instanțe VPS pe Vultr, un sistem de fișiere Linux este redimensionat automat. Când executați FreeBSD cu sistemul avansat de fișiere ZFS, unele manuale sunt uzate
Acest tutorial vă va arăta cum să obțineți un server de mail simplu pe FreeBSD 10, cu Postfix ca MTA, Dovecot ca MDA și Sieve pentru sortarea poștelor - peste un
Folosind un sistem diferit? ESpeak poate genera fișiere audio text-to-speech (TTS). Acestea pot fi utile din mai multe motive, cum ar fi crearea propriului dvs. Torino
Folosind un sistem diferit? MODX Revolution este un sistem de administrare a conținutului (CMS) rapid, flexibil, scalabil, open source, de calitate a întreprinderii, scris în PHP. Este
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe