Kan AI vechten met toenemend aantal ransomware-aanvallen?
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
Wekan is een kanban-bord gebouwd met het Meteor JavaScript-framework. Het wordt beschouwd als een open source en zelf-gehost alternatief voor Trello, dat bijna dezelfde functies biedt. Hiermee kunt u op kaarten gebaseerde "to-do" -beheerslijsten maken. Wekan is erg nuttig om de productiviteit te verhogen wanneer u in een samenwerkingsomgeving werkt. Wekan heeft een volledig responsieve webinterface en wordt actief vertaald in vele talen.
Voor deze zelfstudie gebruiken we wekan.example.com
de domeinnaam die naar de Vultr-instantie verwijst. Zorg ervoor dat u alle exemplaren van de voorbeelddomeinnaam vervangt door de werkelijke.
Update uw basissysteem met behulp van de handleiding Ubuntu 16.04 bijwerken . Zodra uw systeem is bijgewerkt, gaat u verder met het installeren van de afhankelijkheden.
Wekan ondersteunt alleen Node.js LTS version 4.8
. Om Node.js te installeren, gebruiken we de node-versiebeheerder. Installeer nvm
door het installatiescript uit te voeren.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
nvm
Voer dit uit om onmiddellijk aan de slag te gaan.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Als het nvm
met succes is geïnstalleerd, moet u de versie ervan kunnen controleren.
user@vultr:~$ nvm --version
0.33.4
Installeer Node.js.
nvm install v4.8
Stel de standaardversie van Node.js.
nvm use node
Als Node.js met succes is geïnstalleerd, moet u de versie ervan kunnen controleren.
node -v
Je zult deze output zien.
user@vultr:~$ node -v
v4.8.4
NVM installeert Node.js alleen voor de huidige gebruiker. Voer Node.js uit om wereldwijd toegankelijk te zijn.
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr
Node.js is nu beschikbaar als /usr/bin/node
.
user@vultr:~$ sudo which node
/usr/bin/node
MongoDB is een gratis en open source NoSQL-databaseserver. In tegenstelling tot traditionele databases die tabellen gebruiken om hun gegevens te ordenen, is MongoDB documentgericht en gebruikt het JSON-achtige documenten zonder schema's. Wekan gebruikt MongoDB om zijn gegevens op te slaan.
Wekan is alleen compatibel met MongoDB version 3.2
. Maak een nieuw repository-bestand.
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
Importeer de openbare GPG-sleutel van MongoDB en werk de pakketlijst bij.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
sudo apt update
Installeer MongoDB.
sudo apt install -y mongodb-org
Start MongoDB en schakel het automatisch in.
sudo systemctl start mongod
sudo systemctl enable mongod
Standaard is er geen verificatie ingeschakeld op een MongoDB-server. Elke gebruiker die toegang heeft tot de terminal van de server heeft volledige rechten op de MongoDB-installatie. Om de databaseserver te beveiligen en de toegang van een onbevoegde gebruiker te beperken, moeten we verificatie op de server instellen.
MongoDB biedt een mongo
shell die wordt gebruikt om query's uit te voeren op MongoDB. Schakel over naar de mongo
shell.
mongo
Maak een nieuwe MongoDB-gebruiker met rootprivileges. U kunt elke gebruikersnaam van uw keuze gebruiken. Zorg ervoor dat u het wachtwoord vervangt .
db.createUser(
{
user: "admin",
pwd: "StrongAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Je zou de volgende output moeten zien.
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"
}
]
}
Sluit de MongoDB-opdrachtinterface af naar de Linux-terminal door op " Ctrl+C
" te drukken .
Bewerk het MongoDB-configuratiebestand.
sudo nano /etc/mongod.conf
Voeg de volgende regel toe aan het einde van het bestand.
security:
authorization: enabled
Start MongoDB opnieuw op, zodat de configuratiewijziging van kracht kan worden.
sudo systemctl restart mongod
Nu de beveiliging is ingeschakeld, kunt u testen of het werkt door opnieuw naar de mongo-shell te schakelen met behulp van de mongo
opdracht. Als u deze keer een query uitvoert, bijvoorbeeld show dbs
om de lijst met databases weer te geven, ziet u een bericht dat de autorisatie is mislukt. Sluit de sudo
gebruiker opnieuw af nadat u de login hebt getest als de nieuwe gebruiker die u zojuist hebt gemaakt.
Log in als de administrator
gebruiker die u zojuist hebt gemaakt.
mongo -u admin -p
Geef het wachtwoord van de gebruiker op voor een succesvolle login. Maak een nieuwe gebruiker voor de wekan
database die zal worden gebruikt om Wekan-gegevens op te slaan.
use wekan
db.createUser(
{
user: "wekan",
pwd: "StrongPassword",
roles: ["readWrite"]
}
)
Zorg ervoor dat u de vervangt StrongPassword
door een sterk wachtwoord. Je ziet de volgende 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" ] }
Controleer op de laatste link naar de Wekan-release op Github, aangezien nieuwe releases zeer frequent zijn. Download de nieuwste versie van Wekan van Github en vervang de link naar het installatiepakket.
cd ~
wget https://github.com/wekan/wekan/releases/download/v0.44/wekan-0.44.tar.gz
Pak het gedownloade archief uit in een nieuwe map met de naam wekan
.
mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan
Installeer de afhankelijkheden van Node.js.
cd wekan/bundle/programs/server && npm install
De Wekan-server leest configuraties van de omgevingsvariabelen. Voer de volgende opdrachten uit om de configuraties in te stellen als omgevingsvariabelen.
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
Zorg ervoor dat u het MongoDB-wachtwoord vervangt voor de wekan
gebruiker die u hebt gemaakt. Werk ook de e-mail-URL bij volgens uw SMTP-serverinstellingen. Als u geen e-mailserver bij de hand heeft, kunt u deze configuratie later altijd wijzigen.
Om de applicatie onmiddellijk te starten.
cd ~/wekan/bundle
node main.js
U kunt de applicatie nu openen door naar te gaan http://wekan.example.com:4000
. Je ziet de interface om in te loggen op het Wekan kanban-bord.
Voor productiegebruik wordt aanbevolen om een reverse proxy in te stellen om de applicatie op de standaardpoort te bedienen HTTP
en een systemd
service om het applicatieproces te beheren. In deze tutorial gebruiken we de Nginx-webserver als een reverse proxy, beveiligd met een Let's Encrypt gratis SSL.
Voeg de Certbot PPA
repository toe aan het systeem.
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
Installeer Nginx en Certbot, de clienttoepassing voor Let's Encrypt CA.
sudo apt -y install certbot nginx
Opmerking: de domeinnaam die u gebruikt om de certificaten van de Let's Encrypt CA te verkrijgen, moet naar de server worden gericht. De client verifieert de domeinautoriteit voordat de certificaten worden uitgegeven .
Genereer de SSL-certificaten.
sudo certbot certonly --standalone -d wekan.example.com
De gegenereerde certificaten worden waarschijnlijk in de /etc/letsencrypt/live/wekan.example.com/
directory opgeslagen . Het SSL-certificaat wordt opgeslagen als fullchain.pem
en de privésleutel wordt opgeslagen als privkey.pem
.
Let's Encrypt-certificaten verlopen over 90 dagen, dus het wordt aanbevolen om automatische verlenging van de certificaten in te stellen met Cronjob. Cron is een systeemservice die wordt gebruikt om periodieke taken uit te voeren.
Open het cron-taakbestand.
sudo crontab -e
Voeg de volgende regel toe aan het einde van het bestand.
30 5 * * * /usr/bin/certbot renew --quiet
De bovenstaande cron-taak wordt elke dag om 05.30 uur uitgevoerd. Als de certificaten vervallen, worden ze automatisch verlengd.
Maak een nieuwe virtuele host.
sudo nano /etc/nginx/sites-available/wekan.example.com.conf
Vul het bestand in met het volgende.
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;
}
}
Vervang wekan.example.com
door uw werkelijke domeinnaam in de bovenstaande configuratie.
Schakel de nieuw toegevoegde site in.
sudo ln -s /etc/nginx/sites-available/wekan.example.com.conf /etc/nginx/sites-enabled/wekan.example.com.conf
Start Nginx opnieuw op zodat de wijzigingen van kracht kunnen worden.
sudo systemctl restart nginx
Schakel Nginx in om automatisch te starten tijdens het opstarten.
sudo systemctl enable nginx
Maak een nieuwe gebruiker aan om het proces uit te voeren.
sudo adduser wekan --shell /usr/sbin/nologin --home /opt/wekan
Verplaats nu alle bestanden naar de /opt/wekan
map.
sudo mv ~/wekan/* /opt/wekan/
Geef de nieuw aangemaakte gebruiker het eigendom van de bestanden.
sudo chown -R wekan:wekan /opt/wekan
Wekan neemt geen gegevens van enig configuratiebestand. In plaats daarvan krijgt het toegang via omgevingsvariabelen. We zullen een nieuw bestand maken om de omgevingsvariabelen op te slaan. Het bestand met de omgevingsvariabelen wordt via de Systemd
service doorgegeven .
Maak een nieuw bestand om omgevingsvariabelen op te slaan.
sudo nano /opt/wekan/config.env
Vul het bestand met de volgende inhoud.
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
Zorg ervoor dat u de username
en vervangt password
.
Geef de wekan
gebruiker het eigendom door te rennen.
sudo chown -R wekan:wekan /opt/wekan/config.env
Maak een nieuw servicebestand voor de Wekan systemd-service.
sudo nano /etc/systemd/system/wekan.service
Vul het bestand in met het volgende.
[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
Sla het bestand op en verlaat de editor. Nu kunt u Wekan eenvoudig starten.
sudo systemctl start wekan
Om Wekan in staat te stellen automatisch te starten tijdens het opstarten.
sudo systemctl enable wekan
Om de status van de Wekan-service te controleren.
sudo systemctl status wekan
U hebt nu toegang tot de Wekan-instantie op https://wekan.example.com
. Begin met het aanmaken van een nieuw account. Nadat u het account heeft aangemaakt, kunt u beheerderstoegang voor de nieuw aangemaakte gebruiker inschakelen. Log in op de MongoDB-shell als de administratieve gebruiker.
mongo -u wekan -p --authenticationDatabase "wekan"
Selecteer nu de wekan
database en werk het object bij om de gebruiker te promoten bij de admin-gebruiker.
use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})
Zorg ervoor dat u deze vervangt admin_user
door de daadwerkelijke gebruikersnaam van de gebruiker die u heeft gemaakt. Vanuit de admin-interface kunt u zelfregistratie uitschakelen en SMTP-instellingen bijwerken.
Gefeliciteerd, je hebt met succes het Wekan Kanban-bord op je Vultr Ubuntu-instantie geïnstalleerd.
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.