Kako instalirati Wekan (Open Source Kanban) na Ubuntu 16.04

Wekan je kanban ploča izgrađena s Meteor JavaScript okvirom. Smatra se alternativom Trellu otvorenog koda i samostalno hostiranom, pružajući gotovo iste značajke. Omogućuje vam stvaranje popisa upravljanja "to-do" na temelju kartica. Wekan je vrlo koristan za povećanje produktivnosti kada radite u suradničkom okruženju. Wekan ima potpuno responzivno web sučelje i aktivno se prevodi na mnoge jezike.

Preduvjeti

  • Instanca poslužitelja Vultr Ubuntu 16.04.
  • Korisnik sudoa .

Za ovaj vodič koristit ćemo wekan.example.comkao ime domene usmjereno na Vultr instancu. Svakako zamijenite sva pojavljivanja primjera naziva domene stvarnim.

Ažurirajte svoj osnovni sustav pomoću vodiča Kako ažurirati Ubuntu 16.04 . Nakon što se vaš sustav ažurira, nastavite s instalacijom ovisnosti.

Instalirajte Node.js

Wekan podržava samo Node.js LTS version 4.8. Da bismo instalirali Node.js, koristit ćemo upravitelj verzija čvora. Instalirajte nvmpokretanjem skripte za instalaciju.

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash

Da biste odmah počeli koristiti nvm, pokrenite ovo.

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

Ako nvmje instaliran uspješno, trebali biste moći provjeriti njegovu verziju.

user@vultr:~$ nvm --version
0.33.4

Instalirajte Node.js.

nvm install v4.8

Postavite zadanu verziju Node.js.

nvm use node

Ako je Node.js uspješno instaliran, trebali biste moći provjeriti njegovu verziju.

node -v

Vidjet ćete ovaj izlaz.

user@vultr:~$ node -v
v4.8.4

NVM instalira Node.js samo za trenutnog korisnika. Da bi Node.js bio dostupan globalno, pokrenite ovo.

n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr

Node.js je sada dostupan kao /usr/bin/node.

user@vultr:~$ sudo which node
/usr/bin/node

Instalirajte MongoDB

MongoDB je besplatni NoSQL poslužitelj baze podataka otvorenog koda. Za razliku od tradicionalnih baza podataka koje koriste tablice za organiziranje svojih podataka, MongoDB je orijentiran na dokumente i koristi dokumente slične JSON-u bez shema. Wekan koristi MongoDB za pohranu svojih podataka.

Wekan je kompatibilan samo s MongoDB version 3.2. Napravite novu datoteku spremišta.

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

Uvezite MongoDB javni GPG ključ i ažurirajte popis paketa.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
sudo apt update

Instalirajte MongoDB.

sudo apt install -y mongodb-org

Pokrenite MongoDB i omogućite njegovo automatsko pokretanje.

sudo systemctl start mongod
sudo systemctl enable mongod

Osiguravanje MongoDB instance

Prema zadanim postavkama, na MongoDB poslužitelju nije omogućena autentifikacija. Svaki korisnik koji ima pristup terminalu poslužitelja imat će pune privilegije na instalaciju MongoDB. Kako bismo osigurali poslužitelj baze podataka i ograničili pristup neprivilegiranom korisniku, morat ćemo postaviti autentifikaciju na poslužitelju.

MongoDB pruža mongoljusku koja se koristi za pokretanje upita na MongoDB. Prijeđite na mongoljusku.

mongo

Stvorite novog MongoDB korisnika s root privilegijama. Možete koristiti bilo koje korisničko ime po svom izboru. Obavezno zamijenite lozinku .

db.createUser(
  {
    user: "admin",
    pwd: "StrongAdminPassword",
    roles: [ { role: "root", db: "admin" } ]
  }
)

Trebali biste vidjeti sljedeći izlaz.

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"
                }
        ]
}

Izađite iz naredbenog sučelja MongoDB na Linux terminal pritiskom na " Ctrl+C".

Uredite konfiguracijsku datoteku MongoDB.

sudo nano /etc/mongod.conf

Dodajte sljedeći redak na kraj datoteke.

security:
 authorization: enabled

Ponovno pokrenite MongoDB kako bi promjena konfiguracije mogla stupiti na snagu.

sudo systemctl restart mongod

Sada kada je sigurnost omogućena, možete provjeriti radi li tako da se ponovno prebacite na mongo ljusku pomoću mongonaredbe. Ovaj put, ako pokrenete upit, kao što show dbsje prikaz popisa baza podataka, vidjet ćete poruku koja izvještava o neuspjelom autorizaciji. sudoPonovno izađite na korisnika nakon testiranja prijave kao novog korisnika kojeg ste upravo stvorili.

Prijavite se kao administratorkorisnik kojeg ste upravo stvorili.

mongo -u admin -p

Navedite lozinku korisnika za uspješnu prijavu. Napravite novog korisnika za wekanbazu podataka koja će se koristiti za pohranu Wekan podataka.

use wekan
db.createUser(
    {
      user: "wekan",
      pwd: "StrongPassword",
      roles: ["readWrite"]
    }
 ) 

Obavezno zamijenite StrongPasswordjakom lozinkom. Vidjet ćete sljedeći izlaz.

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" ] }

Instalirajte Wekan

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.

Setting up the Nginx Reverse Proxy

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.

Generirajte SSL certifikate.

sudo certbot certonly --standalone -d wekan.example.com

Generirani certifikati će vjerojatno biti pohranjeni u /etc/letsencrypt/live/wekan.example.com/imeniku. SSL certifikat će biti pohranjen kao fullchain.pem, a privatni ključ će biti pohranjen kao privkey.pem.

Certifikati Let's Encrypt istječu za 90 dana, stoga je preporučljivo postaviti automatsku obnovu certifikata pomoću Cronjoba. Cron je sistemska usluga koja se koristi za izvršavanje periodičnih zadataka.

Otvorite cron datoteku posla.

sudo crontab -e

Dodajte sljedeći redak na kraj datoteke.

30 5 * * * /usr/bin/certbot renew --quiet

Gornji cron posao će se izvoditi svaki dan u 5:30 ujutro. Ako potvrde dospijevaju do isteka, automatski će se obnoviti.

Napravite novi virtualni host.

sudo nano /etc/nginx/sites-available/wekan.example.com.conf

Popunite datoteku sljedećim.

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;
        }
}

Zamijenite wekan.example.comsvojim stvarnim imenom domene u gornjoj konfiguraciji.

Omogućite novo dodano mjesto.

sudo ln -s /etc/nginx/sites-available/wekan.example.com.conf /etc/nginx/sites-enabled/wekan.example.com.conf

Ponovno pokrenite Nginx kako bi promjene stupile na snagu.

sudo systemctl restart nginx

Omogućite Nginx da se automatski pokrene prilikom pokretanja.

sudo systemctl enable nginx

Postavite Systemd uslugu

Stvorite novog korisnika za pokretanje procesa.

sudo adduser wekan --shell /usr/sbin/nologin --home /opt/wekan

Sada premjestite sve datoteke u /opt/wekandirektorij.

sudo mv ~/wekan/* /opt/wekan/

Omogućite vlasništvo nad datotekama novostvorenom korisniku.

sudo chown -R wekan:wekan /opt/wekan

Wekan ne preuzima podatke ni iz jedne konfiguracijske datoteke. Umjesto toga, pristupa mu iz varijabli okruženja. Napravit ćemo novu datoteku za pohranu varijabli okruženja. Datoteka koja sadrži varijable okruženja bit će proslijeđena kroz Systemduslugu.

Napravite novu datoteku za pohranu varijabli okruženja.

 sudo nano /opt/wekan/config.env

Popunite datoteku sljedećim sadržajem.

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

Obavezno zamijenite usernamei password.

Omogućite vlasništvo wekankorisniku pokretanjem.

sudo chown -R wekan:wekan /opt/wekan/config.env

Izradite novu servisnu datoteku za Wekan systemd uslugu.

sudo nano /etc/systemd/system/wekan.service

Popunite datoteku sljedećim.

[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

Spremite datoteku i izađite iz uređivača. Sada možete jednostavno pokrenuti Wekan.

sudo systemctl start wekan

Da biste omogućili Wekan da se automatski pokrene prilikom pokretanja.

sudo systemctl enable wekan

Za provjeru statusa usluge Wekan.

sudo systemctl status wekan

Završavati

Sada možete pristupiti Wekan instanci na https://wekan.example.com. Započnite stvaranjem novog računa. Nakon što kreirate račun, možete omogućiti administrativni pristup novostvorenom korisniku. Prijavite se na ljusku MongoDB kao administrativni korisnik.

mongo -u wekan -p --authenticationDatabase "wekan"

Sada odaberite wekanbazu podataka i ažurirajte objekt kako biste korisnika promovirali u administratorskog korisnika.

use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})

Obavezno zamijenite admin_userstvarnim korisničkim imenom korisnika kojeg ste stvorili. S administratorskog sučelja moći ćete onemogućiti samoregistraciju i ažurirati SMTP postavke.

Čestitamo, uspješno ste instalirali Wekan Kanban ploču na svoju Vultr Ubuntu instancu.


Instalirajte Plesk na CentOS 7

Instalirajte Plesk na CentOS 7

Korištenje drugog sustava? Plesk je vlasnička upravljačka ploča web hosta koja omogućuje korisnicima da administriraju svoje osobne i/ili klijentske web stranice, baze podataka

Postavite Cacti na Debian Jessie

Postavite Cacti na Debian Jessie

Uvod Cacti je alat otvorenog koda za praćenje i crtanje koji se u potpunosti temelji na RRD podacima. Putem Cactusa možete pratiti gotovo sve vrste uređaja

Instalirajte Lets Encrypt SSL na WordPress aplikaciju jednim klikom

Instalirajte Lets Encrypt SSL na WordPress aplikaciju jednim klikom

Uvod Lets Encrypt je usluga za izdavanje certifikata koja nudi besplatne TLS/SSL certifikate. Certbot pojednostavljuje proces instalacije,

Kako postaviti Tekkit Classic Server na Ubuntu 16.10

Kako postaviti Tekkit Classic Server na Ubuntu 16.10

Korištenje drugog sustava? Što je Tekkit Classic? Tekkit Classic je modpack za igru ​​koju svi znaju i vole; Minecraft. Sadrži neke od ver

Postavite iRedMail na Debian Wheezy

Postavite iRedMail na Debian Wheezy

Korištenje drugog sustava? Ovaj vodič će vam pokazati kako instalirati grupni softver iRedMail na novu instalaciju Debian Wheezyja. Trebali biste koristiti servis

Izrada Jekyll bloga na Ubuntu 16.04

Izrada Jekyll bloga na Ubuntu 16.04

Korištenje drugog sustava? Jekyll je izvrsna alternativa WordPressu za bloganje ili dijeljenje sadržaja. Ne zahtijeva nikakve baze podataka i vrlo je jednostavan i

Kako postaviti nenadzirane nadogradnje na Debianu 9 (protežu)

Kako postaviti nenadzirane nadogradnje na Debianu 9 (protežu)

Korištenje drugog sustava? Ako kupite Debian poslužitelj, uvijek biste trebali imati najnovije sigurnosne zakrpe i ažuriranja, bez obzira spavate li ili ne

Kako instalirati i konfigurirati PHP 7.0 ili PHP 7.1 na Ubuntu 16.04

Kako instalirati i konfigurirati PHP 7.0 ili PHP 7.1 na Ubuntu 16.04

PHP i povezani paketi najčešće su korištene komponente prilikom postavljanja web poslužitelja. U ovom članku ćemo naučiti kako postaviti PHP 7.0 ili PHP 7.1 o

Kako instalirati Squid proxy na CentOS

Kako instalirati Squid proxy na CentOS

Squid je popularan besplatni program za Linux koji vam omogućuje stvaranje web proxyja za prosljeđivanje. U ovom vodiču vidjet ćete kako instalirati Squid na CentOS da vas preokrene

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je fork Apachea koji ima za cilj da bude puno manje intenzivan prema resursima. Lagan je, otuda mu i naziv, i prilično je jednostavan za korištenje. Instaliraj

Korištenje zaslona na Ubuntu 14.04

Korištenje zaslona na Ubuntu 14.04

Screen je aplikacija koja omogućuje višestruko korištenje terminalskih sesija unutar jednog prozora. To vam omogućuje da simulirate više prozora terminala gdje je ma

Postavite svoj vlastiti DNS poslužitelj na Debian/Ubuntu

Postavite svoj vlastiti DNS poslužitelj na Debian/Ubuntu

Ovaj vodič objašnjava kako postaviti DNS poslužitelj pomoću Bind9 na Debianu ili Ubuntu. U cijelom članku u skladu s tim zamijenite your-domain-name.com. Na th

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

VULTR je nedavno napravio promjene na svojoj strani i sada bi sve trebalo raditi dobro iz kutije s omogućenim NetworkManagerom. Želite li onemogućiti

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Icinga2 je moćan sustav nadzora, a kada se koristi u modelu master-client, može zamijeniti potrebu za provjerama praćenja na temelju NRPE. Glavni klijent

Postavite Red5 Media Server na Ubuntu 16.04

Postavite Red5 Media Server na Ubuntu 16.04

Korištenje drugog sustava? Red5 je medijski poslužitelj otvorenog koda implementiran u Javi koji vam omogućuje pokretanje Flash višekorisničkih aplikacija kao što je live streamin

Prevedite i instalirajte Nginx s modulom PageSpeed ​​na Debian 8

Prevedite i instalirajte Nginx s modulom PageSpeed ​​na Debian 8

U ovom članku ćemo vidjeti kako sastaviti i instalirati Nginx mainline iz službenih izvora Nginxa s modulom PageSpeed, koji vam omogućuje da

Kako instalirati Vanilla Forum na Ubuntu 16.04

Kako instalirati Vanilla Forum na Ubuntu 16.04

Korištenje drugog sustava? Vanilla forum je aplikacija otvorenog koda napisana u PHP-u. Potpuno je prilagodljiv, jednostavan za korištenje i podržava eksterne

Kako instalirati Kanboard na Ubuntu 18.04 LTS

Kako instalirati Kanboard na Ubuntu 18.04 LTS

Korištenje drugog sustava? Uvod Kanboard je besplatni softver za upravljanje projektima otvorenog koda koji je dizajniran za olakšavanje i vizualizaciju

Kako instalirati Kanboard na Debian 9

Kako instalirati Kanboard na Debian 9

Korištenje drugog sustava? Uvod Kanboard je besplatni softver za upravljanje projektima otvorenog koda koji je dizajniran za olakšavanje i vizualizaciju

Kako instalirati Giteu na Debian 9

Kako instalirati Giteu na Debian 9

Korištenje drugog sustava? Gitea je alternativni sustav za kontrolu verzija otvorenog koda s vlastitim hostom koji pokreće Git. Gitea je napisana na Golangu i jest

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više