Masinate tõus: AI tegelikud rakendused
Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.
Wekan on kanbani tahvel, mis on ehitatud Meteor JavaScripti raamistikuga. Seda peetakse Trellole avatud lähtekoodiga ja isehostitavaks alternatiiviks, mis pakub peaaegu samu funktsioone. See võimaldab teil luua kaardipõhiseid "ülesannete" haldusloendeid. Wekan on koostöökeskkonnas töötades suureks abiks tootlikkuse tõstmisel. Wekanil on täielikult reageeriv veebiliides ja seda tõlgitakse aktiivselt paljudesse keeltesse.
Selle õpetuse jaoks kasutame wekan.example.comdomeeninimena, mis on suunatud Vultri eksemplarile. Asendage kindlasti kõik näidisdomeeninime esinemised tegeliku nimega.
Värskendage oma baassüsteemi, kasutades juhendit CentOS 7 värskendamine . Kui teie süsteem on värskendatud, jätkake sõltuvuste installimisega.
Wekan toetab ainult Node.js LTS version 4.8. Node.js installimiseks kasutame sõlme versioonihaldurit. Installige installiskripti nvmkäivitamisega.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
Kohe kasutamise alustamiseks nvmkäivitage see.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
Kui nvminstallimine õnnestus, peaksite saama selle versiooni kontrollida.
[user@vultr ~]$ nvm --version
0.33.4
Installige Node.js.
nvm install v4.8
Määrake Node.js vaikeversioon.
nvm use node
Kui Node.js on installitud edukalt, peaksite saama selle versiooni kontrollida.
node -v
Näete seda väljundit.
[user@vultr ~]$ node -v
v4.8.4
NVM installib faili Node.js ainult praegusele kasutajale. Selleks, et Node.js oleks globaalselt juurdepääsetav, käivitage see.
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr
Node.js on nüüd saadaval nime all /bin/node.
[user@vultr ~]$ sudo which node
/bin/node
MongoDB on tasuta ja avatud lähtekoodiga NoSQL-i andmebaasiserver. Erinevalt traditsioonilistest andmebaasidest, mis kasutavad andmete korraldamiseks tabeleid, on MongoDB dokumendile orienteeritud ja kasutab JSON-i sarnaseid dokumente ilma skeemideta. Wekan kasutab oma andmete salvestamiseks MongoDB-d.
Wekan ühildub ainult MongoDB version 3.2. MongoDB pole vaikehoidlas saadaval YUM, seega peate looma uue hoidlafaili.
sudo nano /etc/yum.repos.d/mongodb-org-3.2.repo
Täitke fail järgmise sisuga.
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
Installige MongoDB.
sudo yum install -y mongodb-org
Käivitage MongoDB server ja lubage see automaatselt käivituda.
sudo systemctl start mongod
sudo systemctl enable mongod
Vaikimisi pole MongoDB serveris autentimine lubatud. Igal kasutajal, kellel on juurdepääs serveri terminalile, on MongoDB installimisel täielikud õigused. Andmebaasiserveri kaitsmiseks ja privilegeerimata kasutaja juurdepääsu piiramiseks peame seadistama serveris autentimise.
MongoDB pakub mongokesta, mida kasutatakse päringute käitamiseks MongoDB-s. Lülituge mongokestale tippides.
mongo
Looge uus MongoDB kasutaja juurõigustega. Võite kasutada mis tahes enda valitud kasutajanime. Palun asenda kindlasti parool .
db.createUser(
{
user: "admin",
pwd: "StrongAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Peaksite nägema järgmist väljundit.
[user@vultr ~]$ mongo
MongoDB shell version: 3.2.17
connecting to: test
Welcome to the MongoDB shell.
...
2017-09-29T20:42:29.042+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"
}
]
}
Väljuge MongoDB käsuliidesest Linuxi terminali, vajutades nuppu " Ctrl+C".
Redigeerige MongoDB konfiguratsioonifaili.
sudo nano /etc/mongod.conf
Lisage faili lõppu järgmine rida.
security:
authorization: enabled
Taaskäivitage MongoDB, et konfiguratsioonimuudatus jõustuks.
sudo systemctl restart mongod
Nüüd, kui turvalisus on lubatud, saate kontrollida, kas see töötab, lülitudes mongokäsuga uuesti mongo kestale . Seekord, kui käivitate päringu, näiteks show dbsandmebaaside loendi kuvamiseks, näete teadet, mis teatab ebaõnnestunud autoriseerimisest. Väljuge sudouuesti kasutaja juurde pärast sisselogimise testimist äsja loodud uue kasutajana.
Logige sisse administratoräsja loodud kasutajana.
mongo -u admin -p
Edukaks sisselogimiseks sisestage kasutaja parool. Looge Wekanandmebaasi jaoks uus kasutaja, mida kasutatakse Wekani andmete salvestamiseks.
use wekan
db.createUser(
{
user: "wekan",
pwd: "StrongPassword",
roles: ["readWrite"]
}
)
Muutke kindlasti StrongPasswordtugeva parooliga. Näete järgmist väljundit.
[user@vultr ~]$ mongo -u admin -p
MongoDB shell version: 3.2.17
Enter password:
connecting to: test
...
2017-09-29T20:52:32.450+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.41/wekan-0.41.tar.gz
Extract the downloaded archive into a new directory named wekan.
mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan
Install Bzip2, which is required to extract the Node.js dependencies.
sudo yum -y install bzip2
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:StrongPassword@127.0.0.1:27017/wekan?authSource=wekan'
export ROOT_URL='http://wekan.example.com'
export MAIL_URL='smtp://user:pass@mail.example.com:25/'
export MAIL_FROM='wekan@example.com'
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 mail server ready, you can always change this configuration later. Open the firewall to allow port 4000 through the firewall.
sudo firewall-cmd --zone=public --add-port=4000/tcp --permanent
sudo firewall-cmd --reload
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 to 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.
Install the Nginx web server and Certbot, which is the client application for Let's Encrypt CA.
sudo yum -y install certbot nginx
Before you can request the SSL certificates, you will need to allow port 80 and 443 through the firewall. Certbot will check the domain authority before issuing certificates.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
Now that we are running Wekan on a standard HTTPS port, we do not need to allow port 4000 through the firewall. Adjust the firewall to remove port 4000.
sudo firewall-cmd --zone=public --remove-port=4000/tcp --permanent
sudo firewall-cmd --reload
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.
Generate the SSL certificates.
sudo certbot certonly --standalone -d wekan.example.com
Loodud sertifikaadid salvestatakse tõenäoliselt /etc/letsencrypt/live/wekan.example.com/kataloogi. SSL-sertifikaat salvestatakse kui fullchain.pemja privaatvõti kui privkey.pem.
Let's Encrypt sertifikaadid aeguvad 90 päeva pärast, seega on soovitatav seadistada sertifikaatide automaatne uuendamine Cronjobi abil. Cron on süsteemiteenus, mida kasutatakse perioodiliste toimingute käitamiseks.
Avage cron tööfail.
sudo crontab -e
Lisage faili lõppu järgmine rida.
30 5 * * * /usr/bin/certbot renew --quiet
Ülaltoodud cron-töö käivitub iga päev kell 5.30. Kui sertifikaatide kehtivusaeg hakkab lõppema, uuendab see neid automaatselt.
Looge uus virtuaalne host.
sudo nano /etc/nginx/conf.d/wekan.example.com.conf
Täitke fail järgmisega.
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;
}
}
Asendage wekan.example.comülaltoodud konfiguratsioonis oma tegeliku domeeninimega.
Taaskäivitage Nginx, et muudatused jõustuksid.
sudo systemctl restart nginx
Lubage Nginxi automaatne käivitumine alglaadimise ajal.
sudo systemctl enable nginx
Looge protsessi jaoks uus kasutaja.
sudo adduser wekan -s /usr/sbin/nologin -d /opt/wekan
Nüüd teisaldage kõik failid /opt/wekankataloogi.
sudo mv ~/wekan/* /opt/wekan/
Andke failide omandiõigus vastloodud kasutajale.
sudo chown -R wekan:wekan /opt/wekan
Wekan ei võta andmeid ühestki konfiguratsioonifailist. Selle asemel pääseb see sellele juurde keskkonnamuutujate kaudu. Loome keskkonnamuutujate salvestamiseks uue faili. Keskkonnamuutujaid sisaldav fail edastatakse Systemdteenuse kaudu .
Looge keskkonnamuutujate salvestamiseks uus fail.
sudo nano /opt/wekan/config.env
Täitke fail järgmise sisuga.
MONGO_URL='mongodb://wekan:StrongPassword@127.0.0.1:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.example.com'
MAIL_URL='smtp://user:pass@mail.example.com:25/'
MAIL_FROM='wekan@example.com'
PORT=4000
HTTP_FORWARDED_COUNT=1
Palun asendage usernameja password.
Andke wekankasutajale omandiõigus .
sudo chown -R wekan:wekan /opt/wekan/config.env
Looge Wekan systemd teenuse jaoks uus teenusefail.
sudo nano /etc/systemd/system/wekan.service
Täitke fail järgmisega.
[Unit]
Description=Wekan Server
After=syslog.target
After=network.target
[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/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
Salvestage fail ja väljuge redaktorist. Nüüd saate Wekani hõlpsalt käivitada.
sudo systemctl start wekan
Et võimaldada Wekanil käivitumisel automaatselt käivituda.
sudo systemctl enable wekan
Wekani teenuse oleku kontrollimiseks.
sudo systemctl status wekan
Nüüd pääsete Wekani eksemplarile juurde saidil https://wekan.example.com. Alustage uue konto loomisega. Kui olete konto loonud, saate lubada vastloodud kasutajale administraatorijuurdepääsu. Logige sisse MongoDB kesta administraatori kasutajana.
mongo -u wekan -p --authenticationDatabase "wekan"
Nüüd valige wekanandmebaas ja värskendage objekti, et ülendada kasutaja administraatoriks.
use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})
Asendage kindlasti admin_userloodud kasutaja tegeliku kasutajanimega. Administraatoriliidese kaudu saate keelata eneseregistreerimise ja värskendada SMTP sätteid.
Õnnitleme, olete Wekan Kanbani tahvli oma Vultr CentOS-i eksemplari edukalt installinud.
Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.
Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.
Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.
Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.
Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…
Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.
Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.
Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.
Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.
Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit