Hoe Blacklistd op FreeBSD 11.1 te installeren
Inleiding Elke service die is verbonden met internet is een potentieel doelwit voor brute-force-aanvallen of ongerechtvaardigde toegang. Er zijn tools zoals fail2ba
NodeBB is een op Node.js gebaseerde forumsoftware. Het maakt gebruik van webaansluitingen voor directe interacties en realtime meldingen. De NodeBB-broncode wordt openbaar gehost op Github . Deze gids leidt u door het installatieproces van NodeBB op een nieuwe FreeBSD 12 Vultr-instantie door Node.js, MongoDB als database, Nginx als reverse proxy en Acme.sh voor SSL-certificaten te gebruiken.
NodeBB vereist dat de volgende software wordt geïnstalleerd:
A
/ AAAA
records ingesteldControleer de FreeBSD-versie.
uname -ro
# FreeBSD 12.0-RELEASE
Zorg ervoor dat uw FreeBSD-systeem up-to-date is.
freebsd-update fetch install
pkg update && pkg upgrade -y
Installeer de benodigde pakketten als ze niet aanwezig zijn op uw systeem.
pkg install -y sudo vim unzip wget git bash socat gcc8 pkgconf vips
Maak een nieuw gebruikersaccount aan met uw favoriete gebruikersnaam (we zullen gebruiken 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!
Voer de visudo
opdracht uit en maak een commentaar op de %wheel ALL=(ALL) ALL
regel, zodat leden van de wheel
groep elke opdracht kunnen uitvoeren.
visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL
Schakel nu over naar uw nieuw aangemaakte gebruiker met su
.
su - johndoe
OPMERKING: vervang johndoe
door uw gebruikersnaam.
Stel de tijdzone in.
sudo tzsetup
NodeBB wordt aangestuurd door Node.js en moet dus worden geïnstalleerd. De installatie van de huidige LTS-versie van Node.js wordt aanbevolen.
Installeer Node.js en npm.
sudo pkg install -y node10 npm-node10
Controleer de versies.
node -v && npm -v
# v10.15.3
# 6.9.0
MongoDB is de standaarddatabase voor NodeBB.
Installeer MongoDB.
sudo pkg install -y mongodb40
Controleer de versie.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v4.0.6
# db version v4.0.6
Schakel MongoDB in en start het.
sudo sysrc mongod_enable=yes
sudo service mongod start
Maak een database en gebruiker voor NodeBB.
Maak eerst verbinding met MongoDB.
mongo
Schakel over naar de ingebouwde admin
database.
> use admin
Maak een administratieve gebruiker.
> db.createUser( { user: "admin", pwd: "<Enter a secure password>", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
OPMERKING: vervang de tijdelijke aanduiding <Enter a secure password>
door uw eigen geselecteerde wachtwoord.
Voeg een nieuwe database toe met de naam nodebb
.
> use nodebb
De database wordt gemaakt en de context wordt gewijzigd nodebb
. Maak vervolgens de nodebb
gebruiker met de juiste rechten.
> db.createUser( { user: "nodebb", pwd: "<Enter a secure password>", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )
OPMERKING: Vervang nogmaals de tijdelijke aanduiding <Enter a secure password>
door uw eigen geselecteerde wachtwoord.
Verlaat de Mongo-shell.
> quit()
Start MongoDB opnieuw op en zorg ervoor dat de eerder gemaakte administratieve gebruiker verbinding kan maken.
sudo service mongod restart
mongo -u admin -p your_password --authenticationDatabase=admin
Installeer Nginx.
sudo pkg install -y nginx
Controleer de versie.
nginx -v
# nginx version: nginx/1.14.2
Schakel Nginx in en start het.
sudo sysrc nginx_enable=yes
sudo service nginx start
NodeBB draait standaard op poort 4567
. Om typen te voorkomen http://example.com:4567
, zullen we Nginx configureren als een reverse proxy voor de NodeBB-applicatie. Elk verzoek over poort 80
of 443
, als SSL wordt gebruikt, wordt doorgestuurd naar poort 4567
.
Voer het uit sudo vim /usr/local/etc/nginx/nodebb.conf
en vul het in met de basis omgekeerde proxyconfiguratie hieronder.
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";
}
}
Werk in de bovenstaande configuratie de server_name
richtlijn bij met uw domein / hostnaam.
Sla het bestand op en sluit af met :+ W+ Q.
Nu moeten we opnemen nodebb.conf
in het hoofdbestand nginx.conf
.
Ren sudo vim /usr/local/etc/nginx/nginx.conf
en voeg de volgende regel toe aan het http {}
blok.
include nodebb.conf;
Controleer de configuratie.
sudo nginx -t
Herlaad Nginx.
sudo service nginx reload
Het beveiligen van uw forum met HTTPS is niet nodig, maar het beveiligt het verkeer van uw site. Acme.sh is pure unix shell-software voor het verkrijgen van SSL-certificaten van Let's Encrypt zonder afhankelijkheden.
Download en installeer 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 ~
Controleer de versie.
/etc/letsencrypt/acme.sh --version
# v2.8.1
Verkrijgen van RSA- en ECDSA-certificaten voor 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
Na het uitvoeren van de bovenstaande opdrachten, bevinden uw certificaten en sleutels zich in:
/etc/letsencrypt/forum.example.com
./etc/letsencrypt/forum.example.com_ecc
.Na het verkrijgen van certificaten van Let's Encrypt, moeten we Nginx configureren om ze te gebruiken.
Voer sudo vim /usr/local/etc/nginx/nodebb.conf
opnieuw uit en configureer Nginx als een HTTPS-omgekeerde proxy.
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";
}
}
Controleer de configuratie.
sudo nginx -t
Herlaad Nginx.
sudo service nginx reload
Maak een documenthoofdmap.
sudo mkdir -p /usr/local/www/nodebb
Verander het eigendom van de /usr/local/www/nodebb
directory in johndoe
.
sudo chown -R johndoe:johndoe /usr/local/www/nodebb
Navigeer naar de hoofdmap van het document.
cd /usr/local/www/nodebb
Kloon de nieuwste NodeBB in de documenthoofdmap.
git clone -b v1.11.x https://github.com/NodeBB/NodeBB.git .
Voer de NodeBB-installatieopdracht uit en beantwoord elke vraag wanneer daarom wordt gevraagd.
./nodebb setup
Nadat de installatie van NodeBB is voltooid, voert ./nodebb start
u uit om uw NodeBB-server handmatig te starten.
./nodebb start
Na deze opdracht krijgt u toegang tot uw NodeBB-foruminstantie in een webbrowser.
Wanneer gestart via ./nodebb start
, zal NodeBB niet automatisch opnieuw opstarten wanneer het systeem opnieuw opstart. Om dat te voorkomen, moeten we NodeBB instellen als systeemservice.
Stop NodeBB als het draait.
./nodebb stop
Installeer PM2 wereldwijd.
sudo npm install pm2 -g
Controleer de versie.
pm2 -v
# 3.5.0
Navigeer naar de NodeBB-documentroot.
cd /usr/local/www/nodebb
Start NodeBB via PM2.
pm2 start app.js
Maak een lijst van het NodeBB-proces.
pm2 ls
Detecteer het beschikbare init-systeem.
pm2 startup
Kopieer en plak de uitvoer van deze opdracht in de CLI om uw opstarthaak in te stellen.
Sla uw proceslijst op.
pm2 save
Dat is het. Uw NodeBB-instantie is nu actief.
Inleiding Elke service die is verbonden met internet is een potentieel doelwit voor brute-force-aanvallen of ongerechtvaardigde toegang. Er zijn tools zoals fail2ba
Gebruikt u een ander systeem? Neos is een Content Application Platform met een CMS en een applicatieframework als kern. Deze gids laat u zien hoe u kunt installeren
Deze tutorial laat je zien hoe je OpenBSD 5.6 instelt met een volledig gecodeerde schijf op je Vultr VPS. Een opmerking over het versleutelingsgedeelte: de meeste datacenters rond th
Het gebruik van een sudo-gebruiker om toegang te krijgen tot een server en opdrachten uit te voeren op rootniveau is een veel voorkomende praktijk onder Linux en Unix-systeembeheerder. Het gebruik van een sud
Gebruikt u een ander systeem? osTicket is een open source ticketingsysteem voor klantenondersteuning. De broncode van osTicket wordt openbaar gehost op Github. In deze tutorial
Varnish is een open source cacheserver die inhoud van een webserver opslaat. Het wordt geïnstalleerd voor een webserver zoals Apache of Nginx. De cachin
Gebruikt u een ander systeem? Osclass is een open source-project waarmee u eenvoudig een geclassificeerde site kunt maken zonder enige technische kennis. Het is sourc
Gebruikt u een ander systeem? X-Cart is een uiterst flexibel open-source e-commerceplatform met tal van functies en integraties. X-Cart broncode is hoste
Gebruikt u een ander systeem? Omeka Classic 2.4 CMS is een gratis en open source digitaal publicatieplatform en Content Management System (CMS) voor het delen van digita
Gebruikt u een ander systeem? Wiki.js is een gratis en open source, moderne wiki-app gebouwd op Node.js, MongoDB, Git en Markdown. De broncode van Wiki.js is openbaar
Gebruikt u een ander systeem? Directus 6.4 CMS is een krachtig en flexibel, gratis en open source Headless Content Management System (CMS) dat ontwikkelaars voorziet
Deze tutorial laat je zien hoe je een eenvoudige mailserver op FreeBSD 10 kunt krijgen, met Postfix als MTA, Dovecot als MDA en Sieve voor het sorteren van mail - over een hele
Het runnen van uw eigen e-mailserver kan behoorlijk lonend zijn. U bent de baas over uw gegevens. Het geeft u ook meer flexibiliteit met uw bezorgopties. Echter
Standaard zijn Vultr FreeBSD-servers niet geconfigureerd om swapruimte op te nemen. Als u van plan bent een wegwerp-cloudinstantie te gebruiken, hoeft u dat waarschijnlijk niet te doen
Het FreeBSD-besturingssysteem gebruikt UFS (Unix File System) als bestandssysteem voor rootpartities; ook wel bekend als freebsd-ufs in het geval van een upgrade
Gebruikt u een ander systeem? Flarum is een gratis en open source forumsoftware van de volgende generatie die online discussies leuk maakt. De broncode van Flarum wordt gehost o
In dit artikel laat Ill zien hoe je MariaDB op OpenBSD 6 installeert en configureert om toegankelijk te zijn voor een gechrooted webserver (Apache of Nginx). Je zult ook
Gebruikt u een ander systeem? Introductie Craft CMS is een open source CMS geschreven in PHP. De broncode van Craft CMS wordt gehost op GitHub. Deze gids zal je laten zien
Inleiding Het doel van deze gids is om u te laten zien hoe gemakkelijk het is om een homepage voor uw website op Vultr te maken met OpenBSD en httpd. Th creëren
Bij het upgraden van een VPS-exemplaar op Vultr wordt het formaat van een Linux-bestandssysteem automatisch aangepast. Bij het uitvoeren van FreeBSD met het geavanceerde ZFS-bestandssysteem, enige handmatige wor
Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek
ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.
WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+
Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.
Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie
13 Commerciële data-extractietools voor big data
Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true
Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.
Een inzicht in 26 Big Data-analysetechnieken: deel 1
AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.