Cum se instalează X-Cart 5 pe FreeBSD 12
Folosind un sistem diferit? X-Cart este o platformă eCommerce open-source extrem de flexibilă, cu tone de funcții și integrări. Codul sursă X-Cart este gazdă
Apache OpenMeetings este o aplicație de conferință web open source. Este scris în Java și acceptă mai multe servere de baze de date. Acesta oferă multe funcții, precum conferințe audio și video, partajarea ecranului, exploratorul de fișiere, un sistem de moderare a utilizatorului, mesaje private și contacte, un calendar integrat pentru planurile de întâlnire și multe altele. De asemenea, puteți înregistra o sesiune de conferințe. Oferă API SOAP / REST și multiple plugin-uri pentru a se integra ușor cu Moodle, Jira, Joomla, Confluence și multe altele.
Pentru acest tutorial, vom folosi 192.168.1.1
ca adresă IP publică și meetings.example.com
ca nume de domeniu indicat spre instanța Vultr. Vă rugăm să vă asigurați că înlocuiți toate aparițiile adresei IP de exemplu și numele de domeniu cu una reală.
Actualizați-vă sistemul de bază utilizând ghidul Cum actualizați CentOS 7 . După ce sistemul dvs. a fost actualizat, continuați să instalați Java.
OpenMeetings este scris în Java, astfel necesită Java Runtime Environment (JRE) să funcționeze. Descărcați cel mai recent pachet disponibil Oracle SE JDK 8 RPM, care include atât JRE, cât și JDK.
wget --header 'Cookie: oraclelicense=a' http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm
Instalați pachetul descărcat.
sudo rpm -Uvh jdk-8u161-linux-x64.rpm
Dacă Java s-a instalat cu succes, atunci veți putea verifica versiunea sa.
java -version
Veți vedea următoarea ieșire.
[user@vultr ~]$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
Înainte de a putea merge mai departe, va trebui să stabilim variabilele JAVA_HOME
și JRE_HOME
mediul. Găsiți calea absolută a executării JAVA în sistemul dvs.
readlink -f $(which java)
Veți vedea o ieșire similară.
[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_161/jre/bin/java
Acum, setați variabilele JAVA_HOME
și JRE_HOME
mediul în funcție de calea directorului Java.
echo "export JAVA_HOME=/usr/java/jdk1.8.0_161" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_161/jre" >> ~/.bash_profile
Executați bash_profile
fișierul.
source ~/.bash_profile
Acum puteți rula echo $JAVA_HOME
comanda pentru a vă asigura că variabila de mediu este setată.
[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_161
Instalați bibliotecile ImageMagick și GhostScript.
sudo yum -y install epel-release
sudo yum -y install ImageMagick ghostscript
ImageMagick oferă asistență pentru a încărca imagini și a le importa pe tablă. GhostScript vă permite să încărcați PDF-uri pe tablă.
Verificați versiunea ImageMagick și GhostScript pentru a vă asigura că sunt instalate cu succes.
[user@vultr ~]$ identify -version
Version: ImageMagick 6.7.8-9 2016-06-16 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
[user@vultr ~]$ ghostscript -v
GPL Ghostscript 9.07 (2013-02-14)
Copyright (C) 2012 Artifex Software, Inc. All rights reserved.
În plus, va trebui să instalăm și Apache OpenOffice sau LibreOffice pe sistem. Instalarea oricare dintre acestea vor permite OpenMeetings să importe fișiere în formate de documente de birou , cum ar fi .doc
, .docx
, .ppt
, .pptx
sau .xlx
. În acest tutorial, vom instala Apache OpenOffice.
Treceți la directorul temporar și descărcați RPM Apache OpenOffice.
cd /tmp
wget https://downloads.sourceforge.net/project/openofficeorg.mirror/4.1.5/binaries/en-US/Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz
Extrageți arhiva și instalați toate pachetele RPM.
tar xf Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_en-US.tar.gz
cd en-US/RPMS
sudo rpm -Uvh *.rpm
sudo rpm -Uvh desktop-integration/openoffice4.1.5-redhat-menus-*.rpm
Pentru a verifica dacă OpenOffice este instalat corect și funcționează, tastați openoffice4 -h
linia de comandă. Acesta va tipări versiunea sa și un ajutor scurt.
[user@vultr ~]$ openoffice4 -h
OpenOffice 4.1.5 415m1(Build:9789)
Usage: soffice [options] [documents...]
Options:
-minimized keep startup bitmap minimized.
...
Instalați depozitul RPMFusion în sistemul dvs. deoarece oferă pachete pre-construite pentru FFmpeg și Sound eXchange (SoX).
sudo rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
Instalați FFmpeg și SoX.
sudo yum -y install ffmpeg sox
FFmpeg și SoX vor permite înregistrarea întâlnirii. Ei vor ajuta în mass - media importă de asemenea , fișiere , cum ar fi .avi
, .flv
, .mov
și .mp4
în tablă. Verificați instalarea verificând versiunile atât FFmpeg cât și SoX.
[user@vultr ~]$ sox --version
sox: SoX v14.4.1
[user@vultr ~]$ ffmpeg -version
ffmpeg version 2.8.13 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11)
OpenMeetings acceptă mai multe tipuri de servere de baze de date, cum ar fi MySQL, PostgreSQL, Apache, Derby și Oracle. În acest tutorial, vom folosi serverul PostgreSQL pentru a găzdui baza de date OpenMeeting.
PostgreSQL este un sistem de baze de date relațional cu obiecte și cunoscut pentru stabilitatea și viteza sa. Depozitul implicit yum
conține o versiune veche a PostgreSQL, așadar adăugați depozitul PostgreSQL pentru cea mai recentă versiune a aplicației în sistem.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Instalați serverul de baze de date PostgreSQL.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Inițializează baza de date.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Porniți serverul PostgreSQL și permiteți-l să pornească automat la momentul de pornire.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Modificați parola pentru utilizatorul implicit PostgreSQL.
sudo passwd postgres
Conectați-vă ca utilizator PostgreSQL.
sudo su - postgres
Creați un nou utilizator PostgreSQL pentru utilizatorul OpenMeetings.
createuser openmeetings
Puteți utiliza orice nume de utilizator în loc de openmeetings
. Comutați la shell-ul PostgreSQL.
psql
Setați o parolă pentru utilizatorul nou creat pentru baza de date OpenMeetings.
ALTER USER openmeetings WITH ENCRYPTED password 'DBPassword';
Înlocuiți DBPassword
cu o parolă sigură. Creați o nouă bază de date pentru instalarea OpenMeetings.
CREATE DATABASE openmeetings OWNER openmeetings;
Ieșiți din psql
coajă.
\q
Comutați la sudo
utilizator.
exit
Editați pg_hba.conf
fișierul pentru a activa autentificarea bazată pe MD5.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Găsiți următoarele linii și modificați valorile din METHOD
coloană de ident
la md5
.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Odată actualizată, configurația va arăta astfel.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Salvați fișierul și ieșiți din editor. Reporniți PostgreSQL pentru ca modificările să aibă efect.
sudo systemctl restart postgresql-10
Deoarece sunt instalate toate dependențele necesare. Creați un utilizator nou pentru OpenMeetings. Utilizarea unui utilizator non-root pentru a rula OpenMeetings este recomandată pentru securitatea serverului.
sudo adduser -b /var -s /sbin/nologin openmeetings
Comanda de mai sus va crea, de asemenea, directorul principal al openmeetings
utilizatorului din /var/openmeetings
.
Verificați pagina de descărcare Apache OpenMeetings pentru a obține linkul la cea mai recentă versiune disponibilă. Descărcați arhiva OpenMeetings.
cd /tmp
wget http://www-us.apache.org/dist/openmeetings/4.0.1/bin/apache-openmeetings-4.0.1.tar.gz
Extrageți arhiva în /var/openmeetings
director.
sudo tar xf apache-openmeetings-4.0.1.tar.gz -C /var/openmeetings
Oferiți proprietatea fișierelor utilizatorului OpenMeetings pe care l-am creat anterior.
sudo chown -R openmeetings:openmeetings /var/openmeetings
Înainte de a începe aplicația, va trebui să modificăm firewallul pentru a permite porturile 5080
și 1935
.
sudo firewall-cmd --zone=public --permanent --add-port=5080/tcp
sudo firewall-cmd --zone=public --permanent --add-port=1935/tcp
sudo firewall-cmd --reload
Acum puteți porni aplicația.
sudo su -s /bin/bash -c 'cd /var/openmeetings/ && sh red5.sh' openmeetings
Acum puteți accesa http://192.168.1.1:5080/openmeetings
în browserul dvs. preferat. Veți vedea ecranul de întâmpinare cu instrucțiuni pentru instalarea GhostScript.
Deoarece am instalat deja GhostScript, continuați mai departe. Pe următoarea interfață, vi se va solicita să furnizați detalii despre serverul de baze de date. Selectați tipul bazei de date " PostgreSql
" și oferiți-vă detaliile serverului dvs. de baze de date configurate în timpul instalării PostgreSQL.
Faceți clic pe butonul " Check
" și ar trebui să primiți mesajul: " Database check was successful
". Furnizați detaliile contului dvs. de administrator și un nume de grup în următoarea interfață.
Configurați setările de bază ale instalării dvs.; cum ar fi posibilitatea de a permite auto-înregistrarea, verificarea e-mailului și limba implicită. De asemenea, furnizați detaliile serverului dvs. SMTP. Dacă nu aveți un server SMTP pregătit decât puteți furniza detaliile SMTP ulterior în tabloul de bord al administratorului.
Acesta vă va solicita calea către binarii diferitelor aplicații. Oferiți /usr/bin
calea pentru ImageMagick, FFmpeg și SoX. Dacă aplicația furnizează erori pentru calea introdusă, atunci puteți utiliza which <binary_name>
pentru a găsi calea absolută către binar. De exemplu, which ffmpeg
ar trebui să vă ofere /usr/bin/ffmpeg
ca rezultat. Folosiți /opt/openoffice4
ca calea către binarele OpenOffice.
Puteți sări configurația pe următoarea interfață, deoarece vom folosi valorile implicite. În final, faceți clic pe Finish
butonul " " pentru a instala aplicația și a scrie baza de date.
OpenMeetings este acum instalat pe serverul dvs. Pentru a face o producție mai prietenoasă, vom configura Systemd pentru a gestiona serverul OpenMeetings. De asemenea, vom configura Nginx cu Let's Encrypt SSL ca proxy invers securizat pentru a servi aplicația.
Deși putem porni și opri cu ușurință aplicația folosind comanda de mai sus, este recomandat să configurați o unitate de service Systemd pentru a gestiona aplicația. Acest lucru va asigura, de asemenea, că serviciul este pornit automat la timpul de pornire și la eșecurile.
Opriți serverul OpenMeetings fie apăsând " Ctrl+C
" sau ucigând shell-ul openmeetings
utilizatorului.
sudo pkill -KILL -u openmeetings
Creați un nou fișier de sistem Systemd pentru OpenMeetings Server.
sudo nano /etc/systemd/system/openmeetings.service
Populați fișierul.
[Unit]
Description=OpenMeeting Service
After=network.target
[Service]
Type=simple
User=openmeetings
WorkingDirectory=/var/openmeetings
ExecStart=/var/openmeetings/red5.sh
Restart=always
[Install]
WantedBy=multi-user.target
Porniți serverul OpenMeetings și permiteți-l să pornească automat la momentul de pornire.
sudo systemctl start openmeetings
sudo systemctl enable openmeetings
Pentru a verifica starea serviciului, puteți rula următoarele.
sudo systemctl status openmeetings
Veți vedea o ieșire similară.
[root@vultr openmeetings]# sudo systemctl status openmeetings
● openmeetings.service - OpenMeeting Service
Loaded: loaded (/etc/systemd/system/openmeetings.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-01-31 15:40:56 UTC; 38s ago
Main PID: 10522 (java)
CGroup: /system.slice/openmeetings.service
└─10522 /bin/java -Dred5.root=/var/openmeetings -Djava.security.debug=failure -Xms256m...
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: [INFO] [Loader:/openmeetings] org.red5.server.Serv...ngs
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.431 16603 343 o.a.o.c.r.Scope...se]
Jan 31 15:41:29 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:29.531 16703 124 o.a.o.c.r.Scope...ngs
Jan 31 15:41:34 vultr.guest red5.sh[10522]: DEBUG 01-31 15:41:34.421 21593 82 o.a.o.u.Version ...] -
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # Openmeetings is up ... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # 4.0.1 3795f14 2017-12-05T16... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: # and ready to use ... #
Jan 31 15:41:34 vultr.guest red5.sh[10522]: ##################################################...###
Hint: Some lines were ellipsized, use -l to show in full.
În mod implicit, OpenMeetings ascultă portul 5080
. Dacă conexiunea dintre browser și server nu este criptată cu SSL, atunci conectările și alte informații vor fi trimise folosind text simplu. Aceasta ar putea fi o amenințare potențială, deoarece cineva poate da informații pe rețea. Pentru a atenua această problemă, vom configura Nginx ca proxy invers, care va asculta portul HTTPS implicit și va proxy toate solicitările către serverul OpenMeetings.
Instalați Nginx.
sudo yum -y install nginx
Porniți Nginx și permiteți-l să pornească automat la momentul de pornire.
sudo systemctl start nginx
sudo systemctl enable nginx
Instalați Certbot, care este aplicația client pentru Let's Encrypt CA.
sudo yum -y install certbot
Înainte de a putea solicita certificatele, va trebui să permită porturilor 80
și 443
sau a unui standard HTTP
și HTTPS
servicii prin intermediul firewall.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
Notă: Pentru a obține certificate de la Let's Encrypt CA, domeniul pentru care se vor genera certificatele trebuie îndreptat către server. Dacă nu, faceți modificările necesare în înregistrările DNS ale domeniului și așteptați propagarea DNS înainte de a face din nou cererea de certificare. Certbot verifică autoritatea domeniului înainte de furnizarea certificatelor.
Generați certificatele SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d meetings.example.com
Este posibil ca certificatele generate să fie stocate în /etc/letsencrypt/live/meetings.example.com/
. Certificatul SSL va fi stocate ca fullchain.pem
și cheia privată vor fi stocate ca privkey.pem
.
Să criptăm certificatele să expire în 90 de zile, de aceea este recomandat să configurați reînnoirea automată a certificatelor folosind joburi Cron.
Deschideți fișierul de job cron.
sudo crontab -e
Adăugați următoarea linie la sfârșitul fișierului.
30 5 * * * /usr/bin/certbot renew --quiet
Slujba cron de mai sus va rula în fiecare zi la 5:30 AM. În cazul în care certificatul expiră, acesta va fi reînnoit automat.
Acum, schimbați fișierul de configurare implicit Nginx pentru a scoate default_server
linia.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Creați un nou fișier de configurare pentru OpenMeetings Server.
sudo nano /etc/nginx/conf.d/meetings.example.com.conf
Populați fișierul.
server {
listen 80;
server_name meetings.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name meetings.example.com;
ssl_certificate /etc/letsencrypt/live/meetings.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/meetings.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/openmeetings.access.log;
location / {
proxy_pass http://localhost:5080;
proxy_set_header host $host;
proxy_http_version 1.1;
proxy_set_header upgrade $http_upgrade;
proxy_set_header connection "upgrade";
}
}
Verificați dacă există erori în noul fișier de configurare.
sudo nginx -t
Dacă vedeți următoarea ieșire, configurația este fără erori.
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Dacă ați primit un fel de eroare, asigurați-vă că verificați de două ori calea către certificatele SSL. Reporniți serverul web Nginx pentru a implementa modificarea configurației.
sudo systemctl restart nginx
Înainte de a putea începe utilizarea aplicației pe site-ul securizat SSL, va trebui să faceți o modificare de configurare în OpenMeetings. Conectați-vă la tabloul de bord administrativ OpenMeetings și navigați la " Administration >> Configuration
". În tabelul ID, cheie și valoare; găsi application.base.url
. Schimbă-i valoarea în https://meetings.example.com
funcție de numele domeniului tău. Salvați configurația făcând clic pe pictograma de salvare de mai sus.
Reporniți serviciul OpenMeetings.
sudo systemctl restart openmeetings
Acum, puteți naviga pentru a https://meetings.example.com
utiliza browserul web preferat și vă autentificați pentru a utiliza aplicația.
Felicitări, Apache OpenMeetings este acum instalat pe serverul dvs. Vă puteți invita prietenii și puteți începe să utilizați OpenMeetings pentru conferințe online.
Folosind un sistem diferit? X-Cart este o platformă eCommerce open-source extrem de flexibilă, cu tone de funcții și integrări. Codul sursă X-Cart este gazdă
Folosind un sistem diferit? InvoicePlane este o aplicație gratuită și deschisă de facturare a sursei. Codul sursă al acestuia poate fi găsit în acest depozit Github. Acest ghid
Folosind un sistem diferit? Dolibarr este un plan de resurse pentru întreprinderi open source (ERP) și managementul relațiilor cu clienții (CRM) pentru Business. Dolibar
Folosind un sistem diferit? Zammad este un sistem de asistență / sistem de ticketing open source conceput pentru echipele de asistență pentru clienți. Cu Zammad, serviciu pentru clienți
Folosind un sistem diferit? Akaunting este un software gratuit, open source și contabilitate online conceput pentru întreprinderile mici și freelanceri. Este construit înțelept
Folosind un sistem diferit? Taiga este o aplicație gratuită și open source pentru managementul de proiect. Spre deosebire de alte instrumente de gestionare a proiectelor, Taiga folosește un incrementa
Folosind un sistem diferit? Sylius este o platformă modernă de e-commerce pentru PHP, bazată pe Symfony Framework. Sursa Sylius este pe GitHub. Acest ghid va merge
PBX In A Flash 5 (PIAF5) este un sistem de operare bazat pe Debian 8, care transformă Vultr VPS-ul dvs. într-un PBX complet. Acesta posedă următoarele caracteristici și multe altele.
Folosind un sistem diferit? Dolibarr este un plan de resurse pentru întreprinderi open source (ERP) și managementul relațiilor cu clienții (CRM) pentru companii. Dolibarr
Folosind un sistem diferit? Dolibarr este un plan de resurse pentru întreprinderi open source (ERP) și managementul relațiilor cu clienții (CRM) pentru companii. Dolibarr
Folosind un sistem diferit? osTicket este un sistem open-source de ticketing pentru asistență pentru clienți. Codul sursă osTicket este găzduit public pe Github. În acest tutorial
Folosind un sistem diferit? Sentrifugo HRM este o aplicație gratuită și deschisă a resurselor umane, (HRM), pentru aplicații. Este bogat în funcții și ușor configurabil
Folosind un sistem diferit? Akaunting este un software gratuit, open source și contabilitate online conceput pentru întreprinderile mici și freelanceri. Este construit înțelept
Folosind un sistem diferit? X-Cart este o platformă eCommerce open-source extrem de flexibilă, cu tone de funcții și integrări. Codul sursă X-Cart este gazdă
Cezerin este o aplicație web progresivă eCommerce open source construită folosind React și Node.js. În acest tutorial, veți învăța cum să implementați un Cezerin pentru productio
Introducere Acest tutorial demonstrează OpenBSD ca soluție de comerț electronic folosind PrestaShop și Apache. Apache este necesar deoarece PrestaShop are UR complexă
Folosind un sistem diferit? Microweber este un CMS și un magazin online de drag and drop open source. Codul sursă Microweber este găzduit pe GitHub. Acest ghid vă va arăta
Folosind un sistem diferit? Osclass este un proiect open source care vă permite să creați cu ușurință un site clasificat fără cunoștințe tehnice. Salec
Folosind un sistem diferit? X-Cart este o platformă eCommerce open-source extrem de flexibilă, cu tone de funcții și integrări. Codul sursă X-Cart este gazdă
Folosind un sistem diferit? Open Web Analytics (OWA) este un program de analiză web open-source care poate fi utilizat pentru a urmări și analiza modul în care oamenii folosesc site-ul dvs. web
O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1
Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.
CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?
Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.
Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!
Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.
Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe