Opsæt Cacti på Debian Jessie
Introduktion Cacti er et open source overvågnings- og grafværktøj, som er fuldt baseret på RRD-data. Gennem Cacti kan du overvåge næsten enhver type enhed
Wekan er et kanban-board bygget med Meteor JavaScript-rammeværket. Det betragtes som et open source og selvhostet alternativ til Trello, der giver næsten de samme funktioner. Det giver dig mulighed for at oprette kortbaserede "to-do"-styringslister. Wekan er meget nyttig til at øge produktiviteten, når du arbejder i et samarbejdsmiljø. Wekan har en fuldt responsiv webgrænseflade, og den er aktivt oversat til mange sprog.
Til denne vejledning vil vi bruge wekan.example.com
som domænenavnet pegede mod Vultr-forekomsten. Sørg for at erstatte alle forekomster af eksempeldomænenavnet med det faktiske.
Opdater dit basissystem ved hjælp af vejledningen Sådan opdaterer du Ubuntu 16.04 . Når dit system er blevet opdateret, skal du fortsætte med at installere afhængighederne.
Wekan understøtter kun Node.js LTS version 4.8
. For at installere Node.js, vil vi bruge node version manager. Installer nvm
ved at køre installationsscriptet.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
For straks at begynde at bruge nvm
, skal du køre dette.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Hvis den nvm
er installeret korrekt, bør du være i stand til at kontrollere dens version.
user@vultr:~$ nvm --version
0.33.4
Installer Node.js.
nvm install v4.8
Indstil standardversionen af Node.js.
nvm use node
Hvis Node.js er blevet installeret korrekt, bør du være i stand til at kontrollere dens version.
node -v
Du vil se dette output.
user@vultr:~$ node -v
v4.8.4
NVM installerer kun Node.js for den aktuelle bruger. For at Node.js skal være tilgængeligt globalt, skal du køre dette.
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr
Node.js er nu tilgængelig som /usr/bin/node
.
user@vultr:~$ sudo which node
/usr/bin/node
MongoDB er en gratis og open source NoSQL-databaseserver. I modsætning til traditionelle databaser, der bruger tabeller til at organisere deres data, er MongoDB dokumentorienteret og bruger JSON-lignende dokumenter uden skemaer. Wekan bruger MongoDB til at gemme sine data.
Wekan er kun kompatibel med MongoDB version 3.2
. Opret en ny depotfil.
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Importer MongoDB offentlige GPG-nøgle og opdater pakkelisten.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
sudo apt update
Installer MongoDB.
sudo apt install -y mongodb-org
Start MongoDB og aktiver den til at starte automatisk.
sudo systemctl start mongod
sudo systemctl enable mongod
Som standard er der ingen godkendelse aktiveret i en MongoDB-server. Enhver bruger, der har adgang til terminalen på serveren, vil have fulde privilegier på MongoDB-installationen. For at sikre databaseserveren og begrænse adgangen for en uprivilegeret bruger, skal vi konfigurere godkendelse på serveren.
MongoDB giver en mongo
shell, som bruges til at køre forespørgsler på MongoDB. Skift til mongo
skallen.
mongo
Opret en ny MongoDB-bruger med root-rettigheder. Du kan bruge et hvilket som helst brugernavn efter eget valg. Sørg for at erstatte adgangskoden .
db.createUser(
{
user: "admin",
pwd: "StrongAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Du bør se følgende output.
user@vultr:~$ mongo
MongoDB shell version: 3.2.17
connecting to: test
Welcome to the MongoDB shell.
...
2017-09-30T18:11:40.274+0000 I CONTROL [initandlisten]
> db.createUser(
... {
... user: "admin",
... pwd: "StrongAdminPassword",
... roles: [ { role: "root", db: "admin" } ]
... }
... )
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
Afslut MongoDB-kommandogrænsefladen til Linux-terminalen ved at trykke på " Ctrl+C
".
Rediger MongoDB-konfigurationsfilen.
sudo nano /etc/mongod.conf
Tilføj følgende linje i slutningen af filen.
security:
authorization: enabled
Genstart MongoDB, så konfigurationsændringen kan træde i kraft.
sudo systemctl restart mongod
Nu hvor sikkerheden er aktiveret, kan du teste om den virker ved at skifte til mongo-skallen igen ved hjælp af mongo
kommandoen. Denne gang, hvis du kører en forespørgsel, f.eks. for show dbs
at vise listen over databaser, vil du se en meddelelse om mislykket godkendelse. Afslut til sudo
brugeren igen efter at have testet log-in som den nye bruger, du lige har oprettet.
Log ind som den administrator
bruger, du lige har oprettet.
mongo -u admin -p
Angiv brugerens adgangskode for et vellykket login. Opret en ny bruger til wekan
databasen, som skal bruges til at gemme Wekan-data.
use wekan
db.createUser(
{
user: "wekan",
pwd: "StrongPassword",
roles: ["readWrite"]
}
)
Sørg for at erstatte StrongPassword
med en stærk adgangskode. Du vil se følgende output.
user@vultr:~$ mongo -u admin -p
MongoDB shell version: 3.2.17
Enter password:
connecting to: test
...
2017-09-30T18:13:26.007+0000 I CONTROL [initandlisten]
>
> use wekan
switched to db wekan
> db.createUser(
... {
... user: "wekan",
... pwd: "StrongPassword",
... roles: ["readWrite"]
... }
... )
Successfully added user: { "user" : "wekan", "roles" : [ "readWrite" ] }
Check for the latest link to the Wekan release on Github as new releases are very frequent. Download the latest version of Wekan from Github replacing the link to the installer package.
cd ~
wget https://github.com/wekan/wekan/releases/download/v0.44/wekan-0.44.tar.gz
Extract the downloaded archive into a new directory named wekan
.
mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan
Install the Node.js dependencies.
cd wekan/bundle/programs/server && npm install
The Wekan server reads configurations from the environment variables. Run the following commands to set the configurations as environment variables.
export MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
export ROOT_URL='http://wekan.example.com'
export MAIL_URL='smtp://user:[email protected]:25/'
export MAIL_FROM='[email protected]'
export PORT=4000
Make sure to replace the MongoDB password for the wekan
user you have created. Also, update the mail URL according to your SMTP server settings. If you do not have an email server ready, you can always change this configuration later.
To immediately start the application.
cd ~/wekan/bundle
node main.js
You can now access the application by going to http://wekan.example.com:4000
. You will see the interface to log-in into the Wekan kanban board.
For production use, it is recommended to set up a reverse proxy to serve the application on the standard HTTP
port and a systemd
service to manage the application process. In this tutorial, we will use the Nginx web server as a reverse proxy, secured with a Let's Encrypt free SSL.
Add the Certbot PPA
repository to the system.
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
Install Nginx and Certbot, which is the client application for Let's Encrypt CA.
sudo apt -y install certbot nginx
Note: The domain name which you are using to obtain the certificates from the Let's Encrypt CA must be pointed towards the server. The client verifies the domain authority before issuing the certificates.
Generer SSL-certifikaterne.
sudo certbot certonly --standalone -d wekan.example.com
De genererede certifikater vil sandsynligvis blive gemt i /etc/letsencrypt/live/wekan.example.com/
mappen. SSL-certifikatet vil blive gemt som fullchain.pem
, og privat nøgle vil blive gemt som privkey.pem
.
Lad os kryptere certifikater udløber om 90 dage, så det anbefales at konfigurere automatisk fornyelse af certifikaterne ved hjælp af Cronjob. Cron er en systemtjeneste, som bruges til at køre periodiske opgaver.
Åbn cron-jobfilen.
sudo crontab -e
Tilføj følgende linje i slutningen af filen.
30 5 * * * /usr/bin/certbot renew --quiet
Ovenstående cron-job kører hver dag kl. 5:30. Hvis certifikaterne udløber, fornys de automatisk.
Opret en ny virtuel vært.
sudo nano /etc/nginx/sites-available/wekan.example.com.conf
Udfyld filen med følgende.
upstream wekan {
server 127.0.0.1:4000;
}
server {
listen 80;
listen [::]:80;
server_name wekan.example.com;
location / {
if ($ssl_protocol = "") {
rewrite ^ https://$server_name$request_uri? permanent;
}
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name wekan.example.com;
add_header Strict-Transport-Security "max-age=15768000";
ssl_certificate /etc/letsencrypt/live/wekan.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wekan.example.com/privkey.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
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_stapling on;
ssl_stapling_verify on;
error_page 497 https://$host:$server_port$request_uri;
location / {
proxy_pass http://wekan;
proxy_http_version 1.1;
proxy_set_header Host $host:$server_port;
proxy_set_header Referer $http_referer;
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 https;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_send_timeout 86400;
proxy_read_timeout 86400;
}
}
Erstat wekan.example.com
med dit faktiske domænenavn i ovenstående konfiguration.
Aktiver det nyligt tilføjede websted.
sudo ln -s /etc/nginx/sites-available/wekan.example.com.conf /etc/nginx/sites-enabled/wekan.example.com.conf
Genstart Nginx, så ændringerne kan træde i kraft.
sudo systemctl restart nginx
Aktiver Nginx til automatisk at starte ved opstart.
sudo systemctl enable nginx
Opret en ny bruger, så processen kan køre.
sudo adduser wekan --shell /usr/sbin/nologin --home /opt/wekan
Flyt nu alle filerne til /opt/wekan
mappen.
sudo mv ~/wekan/* /opt/wekan/
Giv ejerskab af filerne til den nyoprettede bruger.
sudo chown -R wekan:wekan /opt/wekan
Wekan tager ikke data fra nogen konfigurationsfil. I stedet får den adgang til det fra miljøvariabler. Vi vil oprette en ny fil til at gemme miljøvariablerne. Filen, der indeholder miljøvariablerne, sendes gennem Systemd
tjenesten.
Opret en ny fil for at gemme miljøvariabler.
sudo nano /opt/wekan/config.env
Udfyld filen med følgende indhold.
MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.example.com'
MAIL_URL='smtp://user:[email protected]:25/'
MAIL_FROM='[email protected]'
PORT=4000
HTTP_FORWARDED_COUNT=1
Sørg for at udskifte username
og password
.
Giv ejerskabet til wekan
brugeren ved at køre.
sudo chown -R wekan:wekan /opt/wekan/config.env
Opret en ny servicefil til Wekan systemd-tjenesten.
sudo nano /etc/systemd/system/wekan.service
Udfyld filen med følgende.
[Unit]
Description=Wekan Server
After=syslog.target
After=network.target
[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/usr/bin/node /opt/wekan/bundle/main.js
EnvironmentFile=/opt/wekan/config.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/opt/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan
[Install]
WantedBy=multi-user.target
Gem filen og afslut editoren. Nu kan du nemt starte Wekan.
sudo systemctl start wekan
For at aktivere Wekan til automatisk at starte ved opstart.
sudo systemctl enable wekan
For at kontrollere status for Wekan-tjenesten.
sudo systemctl status wekan
Du kan nu få adgang til Wekan-instansen på https://wekan.example.com
. Start med at oprette en ny konto. Når du har oprettet kontoen, kan du aktivere administrativ adgang til den nyoprettede bruger. Log ind på MongoDB-skallen som den administrative bruger.
mongo -u wekan -p --authenticationDatabase "wekan"
Vælg nu wekan
databasen og opdater objektet for at forfremme brugeren til adminbrugeren.
use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})
Sørg for at erstatte admin_user
med det faktiske brugernavn på den bruger, du oprettede. Fra admin-grænsefladen vil du være i stand til at deaktivere selvregistrering og opdatere SMTP-indstillinger.
Tillykke, du har med succes installeret Wekan Kanban-kortet på din Vultr Ubuntu-instans.
Introduktion Cacti er et open source overvågnings- og grafværktøj, som er fuldt baseret på RRD-data. Gennem Cacti kan du overvåge næsten enhver type enhed
Introduktion Lets Encrypt er en certifikatmyndighedstjeneste, der tilbyder gratis TLS/SSL-certifikater. Installationsprocessen forenkles af Certbot,
Bruger du et andet system? Denne vejledning viser dig, hvordan du installerer groupware iRedMail på en ny installation af Debian Wheezy. Du bør bruge en serve
Introduktion Lighttpd er en forgrening af Apache, der sigter mod at være meget mindre ressourcekrævende. Den er let, deraf navnet, og den er ret enkel at bruge. Installer
1. Virtualmin/Webmin Virtualmin er et kraftfuldt og fleksibelt webhotel kontrolpanel til Linux og UNIX systemer baseret på den velkendte Open Source web-base
Yii er en PHP-ramme, der giver dig mulighed for at udvikle applikationer hurtigere og nemmere. Installation af Yii på Ubuntu er ligetil, da du vil lære nøjagtigt
Screen er et program, der tillader flere terminalsessioner inden for et vindue. Dette giver dig mulighed for at simulere flere terminalvinduer, hvor det ma
Introduktion Logrotate er et Linux-værktøj, der forenkler administrationen af logfiler. Det kører typisk en gang om dagen via et cron-job og administrerer logbasen
VULTR har for nylig foretaget ændringer i deres ende, og alt skulle nu fungere fint ud af boksen med NetworkManager aktiveret. Skulle du ønske at deaktivere
Icinga2 er et kraftfuldt overvågningssystem, og når det bruges i en master-klient-model, kan det erstatte behovet for NRPE-baserede overvågningstjek. Mester-klienten
I denne artikel vil vi se, hvordan du kompilerer og installerer Nginx mainline fra de officielle kilder til Nginx med PageSpeed-modulet, som giver dig mulighed for at
Bruger du et andet system? Apache Cassandra er et gratis og open source NoSQL-databasestyringssystem, der er designet til at give skalerbarhed, høj
Bruger du et andet system? Introduktion Kanboard er et gratis og open source projektstyringssoftwareprogram, som er designet til at lette og visualisere
Bruger du et andet system? Introduktion Kanboard er et gratis og open source projektstyringssoftwareprogram, som er designet til at lette og visualisere
Bruger du et andet system? Gitea er et alternativt open source, selvhostet versionskontrolsystem drevet af Git. Gitea er skrevet på Golang og er
Bruger du et andet system? Gitea er et alternativt open source, selv-hostet versionskontrolsystem drevet af git. Gitea er skrevet på Golang og er
Bruger du et andet system? Thelia er et open source-værktøj til at skabe e-business-websteder og administrere onlineindhold skrevet i PHP. Thelia kildekode i
Hvad er Dirty Cow (CVE-2016-5195)? Dirty Cow-sårbarheden udnyttes gennem, hvordan Linux behandler kode. Det giver en uprivilegeret bruger mulighed for at gai
Det kan være farligt at have kun én bruger, som er root. Så lad os ordne det. Vultr giver os friheden til at gøre som vi vil med vores brugere og vores servere
Adminer er et letvægtsalternativ til phpMyAdmin. Til sammenligning er dens samlede pakkestørrelse 400KB mod 4,2 MB phpMyAdmin. I modsætning til phpMyAdmin, som
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