Sådan installeres Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS
Bruger du et andet system? Tiny Tiny RSS Reader er en gratis og open source selv-hostet webbaseret nyhedsfeed (RSS/Atom) læser og aggregator, designet til at allo
Wiki.js is a free and open source, modern wiki app built on Node.js, MongoDB, Git and Markdown. Wiki.js source code is publicly hosted on Github. This guide will show you how to install Wiki.js on a fresh FreeBSD 11 Vultr instance by using Node.js, MongoDB, PM2, Nginx, Git and Acme.sh.
Requirements to run Wiki.js are as follows:
A
/AAAA
records set up. In this guide we will use wiki.example.com
as an example domain.Tjek FreeBSD-versionen.
uname -ro
# FreeBSD 11.2-RELEASE
Sørg for, at dit FreeBSD-system er opdateret.
freebsd-update fetch install
pkg update && pkg upgrade -y
Installer sudo
, vim
, unzip
, wget
, git
, bash
og socat
pakker, hvis de ikke er til stede på dit system.
pkg install -y sudo vim unzip wget git bash socat
Opret en ny brugerkonto med dit foretrukne brugernavn (vi bruger 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!
Kør visudo
kommandoen, og fjern kommentering af %wheel ALL=(ALL) ALL
linjen, for at tillade medlemmer af wheel
gruppen at udføre enhver kommando.
# Uncomment by removing the hash (#) sign
%wheel ALL=(ALL) ALL
Skift nu til din nyoprettede bruger.
su - johndoe
BEMÆRK: Erstat johndoe
med dit brugernavn.
Indstil tidszonen.
sudo tzsetup
Wiki.js kræver Node.js 6.11.1 eller nyere, så vi skal først installere den relevante version af Node.js.
Installer Node.js og NPM.
sudo pkg install -y node8 npm-node8
Tjek versionerne.
node -v && npm -v
# v8.12.0
# 6.4.1
Wiki.js bruger MongoDB som en databasemotor.
Installer MongoDB.
sudo pkg install -y mongodb36
Tjek versionen.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.6
# db version v3.6.6
Aktiver og start MongoDB.
sudo sysrc mongod_enable=yes
sudo service mongod start
Det er ikke nødvendigt at sikre din wiki med HTTPS, men det er en god praksis at sikre trafikken på dit websted. For at opnå et SSL-certifikat fra Let's Encrypt vil vi bruge Acme.sh klient. Acme.sh er en ren unix shell-software til at opnå SSL-certifikater fra Let's Encrypt med nul afhængigheder. Det gør det meget let i forhold til nogle andre Acme-protokolklienter, der kræver mange afhængigheder for at køre med succes.
Download og installer 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 ~
Tjek acme.sh
versionen.
/etc/letsencrypt/acme.sh --version
# v2.8.0
Få RSA- og ECDSA-certifikater for 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
Efter at have kørt kommandoerne ovenfor, vil dine certifikater og nøgler være i følgende mapper:
/etc/letsencrypt/wiki.example.com
/etc/letsencrypt/wiki.example.com_ecc
NOTE: Don't forget to replace wiki.example.com
with your domain name.
After obtaining certificates from Let's Encrypt, we need to configure Nginx to take advantage of them.
Wiki.js can run without any actual web server, however it is highly recommended to put a standard web server in front of it. This ensures you can use features like SSL, multiple websites, caching and others. We will use Nginx in this tutorial, but any other server will do, you just need to configure it properly.
Install Nginx.
sudo pkg install -y nginx
Check the version.
nginx -v
# nginx version: nginx/1.14.0
Enable and start Nginx.
sudo sysrc nginx_enable=yes
sudo service nginx start
Configure Nginx as a HTTPS (if you use SSL) reverse proxy for the Wiki.js application.
Run sudo vim /usr/local/etc/nginx/wiki.js.conf
and populate it with the basic reverse proxy configuration below.
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;
}
}
The only thing you need to change in the config above is the server_name
directive, and potentially the proxy_pass
directive if you decide to configure some port other than 3000
. Wiki.js uses port 3000
by default. Save the file and exit with : + W + Q
Now we need to include the wiki.js.conf
file in the main nginx.conf
file.
Run sudo vim /usr/local/etc/nginx/nginx.conf
and add the following line to the http {}
block.
include wiki.js.conf;
Check the configuration.
sudo nginx -t
Reload Nginx.
sudo service nginx reload
Create an empty document root folder where Wiki.js will be installed.
sudo mkdir -p /usr/local/www/wiki.example.com
Navigate to the document root folder.
cd /usr/local/www/wiki.example.com
Change ownership of /usr/local/www/wiki.example.com
folder to user johndoe
.
sudo chown -R johndoe:johndoe /usr/local/www/wiki.example.com
From the /usr/local/www/wiki.example.com
folder, run the following commands to download and install 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
You can run the following command in order to view the currently installed version of Wiki.js.
node wiki --version
# 1.0.102
Once the installation is completed, you'll be prompted to run the configuration wizard.
Start the configuration wizard by running.
node wiki configure
This will notify you to navigate to http://localhost:3000
to configure Wiki.js. If you have Nginx in front of Wiki.js, then it means you can open your domain name (e.g. http://wiki.example.com
) instead of going to localhost.
Using your web browser, navigate to http://wiki.example.com
and follow the on-screen instructions. All the settings entered during the configuration wizard are saved in the config.yml
file. The configuration wizard will automatically start Wiki.js for you.
By default, Wiki.js will not start automatically after a system reboot. In order to make it start on boot, we need to install and setup PM2 process manager.
Install PM2 globally via npm
.
sudo npm install -g pm2
Check the version.
pm2 -v
# 3.2.2
Navigate to your document root folder if you are not already there and stop Wiki.js.
cd /usr/local/www/wiki.example.com
node wiki stop
Start Wiki.js via PM2.
pm2 start server/index.js --name "Wiki.js"
List process managed by PM2.
pm2 list
Tell PM2 to configure itself as a startup service by running:
pm2 startup
Finally, save the current PM2 configuration by running the command:
pm2 save
Your Wiki.js instance now runs as a background process, using PM2 as its process manager.
Bruger du et andet system? Tiny Tiny RSS Reader er en gratis og open source selv-hostet webbaseret nyhedsfeed (RSS/Atom) læser og aggregator, designet til at allo
Using a Different System? Wiki.js is a free and open source, modern wiki app built on Node.js, MongoDB, Git and Markdown. Wiki.js source code is publicl
Bruger du et andet system? Pagekit 1.0 CMS er et smukt, modulært, udvideligt og let, gratis og open source Content Management System (CMS) med
Bruger du et andet system? MODX Revolution er et hurtigt, fleksibelt, skalerbart, open source, enterprise-grade Content Management System (CMS) skrevet i PHP. Det jeg
Denne artikel guider dig gennem opsætning af OpenBSD 5.5 (64-bit) på KVM med en Vultr VPS. Trin 1. Log ind på Vultr kontrolpanelet. Trin 2. Klik på DEPLAY
Bruger du et andet system? osTicket er et open source kundesupport billetsystem. osTicket-kildekoden er offentligt hostet på Github. I denne tutorial
Bruger du et andet system? Flarum er en gratis og open source næste generations forumsoftware, der gør online diskussion sjov. Flarum kildekode er hostet o
Bruger du et andet system? TLS 1.3 er en version af Transport Layer Security (TLS) protokollen, der blev offentliggjort i 2018 som en foreslået standard i RFC 8446
Introduktion WordPress er det dominerende content management system på internettet. Det driver alt fra blogs til komplekse websteder med dynamisk indhold
Bruger du et andet system? Subrion 4.1 CMS er et kraftfuldt og fleksibelt open source Content Management System (CMS), der bringer et intuitivt og klart indhold
Denne vejledning viser dig, hvordan du konfigurerer en DNS-tjeneste, der er nem at vedligeholde, nem at konfigurere, og som generelt er mere sikker end den klassiske BIN
En FEMP-stak, som kan sammenlignes med en LEMP-stak på Linux, er en samling open source-software, der typisk installeres sammen for at aktivere en FreeBS
MongoDB er en NoSQL-database i verdensklasse, der ofte bruges i nyere webapplikationer. Det giver højtydende forespørgsler, sharding og replikering
Bruger du et andet system? Monica er et open source system til styring af personlige relationer. Tænk på det som et CRM (et populært værktøj, der bruges af salgsteams i th
Introduktion Denne tutorial demonstrerer OpenBSD som en e-handelsløsning, der bruger PrestaShop og Apache. Apache er påkrævet, fordi PrestaShop har kompleks UR
Bruger du et andet system? Fork er et open source CMS skrevet i PHP. Forks kildekode er hostet på GitHub. Denne vejledning viser dig, hvordan du installerer Fork CM
Bruger du et andet system? Directus 6.4 CMS er et kraftfuldt og fleksibelt, gratis og open source Headless Content Management System (CMS), der giver udviklere
VPS-servere er ofte målrettet af ubudne gæster. En almindelig type angreb dukker op i systemlogfiler som hundredvis af uautoriserede ssh-loginforsøg. Sætte op
Introduktion OpenBSD 5.6 introducerede en ny dæmon kaldet httpd, som understøtter CGI (via FastCGI) og TLS. Der kræves ikke yderligere arbejde for at installere den nye http
Denne vejledning viser dig, hvordan du installerer groupware iRedMail på en ny installation af FreeBSD 10. Du bør bruge en server med mindst én gigabyte o
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.
Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.
Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.
Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...
Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.
Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af dataene. Denne blog dækker udviklingen af datalagring på basis af en infografik.
Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.
I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.
For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af mac-maskiner. Læs denne artikel for at lære mere