Instaloni Plesk në CentOS 7
Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave
Matrica është një protokoll komunikimi standard i hapur për komunikim të decentralizuar në kohë reale. Matrica është implementuar si serverë shtëpiak të cilët shpërndahen në internet; prandaj nuk ka asnjë pikë të vetme kontrolli apo dështimi. Matrix ofron një API RESTful HTTP për krijimin dhe menaxhimin e serverëve të bisedave të shpërndara që përfshin dërgimin dhe marrjen e mesazheve, ftesën dhe menaxhimin e anëtarëve të dhomës së bisedës, mirëmbajtjen e llogarive të përdoruesve dhe ofrimin e veçorive të avancuara të bisedës, si thirrjet VoIP dhe video, etj. Matrix gjithashtu krijon një sinkronizimi i sigurt midis serverëve të shtëpisë të cilët janë të shpërndarë në të gjithë globin.
Synapse është zbatimi i serverit shtëpiak Matrix i shkruar nga ekipi i Matrix. Ekosistemi Matrix përbëhet nga rrjeti i shumë serverëve shtëpiak të federuar të shpërndarë në të gjithë globin. Një përdorues Matrix përdor një klient chat për t'u lidhur me serverin e shtëpisë, i cili nga ana tjetër lidhet me rrjetin Matrix. Homeserver ruan historinë e bisedës dhe informacionin e hyrjes së atij përdoruesi të veçantë.
Në këtë tutorial, ne do të përdorim matrix.example.com
si emër domaini të përdorur për Matrix Synapse. Zëvendësoni të gjitha dukuritë matrix.example.com
me emrin tuaj aktual të domenit që dëshironi të përdorni për serverin tuaj të shtëpisë Synapse.
Përditësoni sistemin tuaj bazë duke përdorur udhëzuesin Si të përditësoni CentOS 7 . Pasi sistemi juaj të përditësohet, vazhdoni të instaloni Python.
Matrix Synapse ka nevojë për Python 2.7 për të punuar. Python 2.7 vjen i parainstaluar në të gjitha rastet e serverit CentOS. Ju mund të kontrolloni versionin e instaluar të Python.
python -V
Ju duhet të merrni një rezultat të ngjashëm.
[user@vultr ~]$ python -V
Python 2.7.5
Ndryshimi i versionit të parazgjedhur të Python mund të prishë menaxherin e depove YUM. Sidoqoftë, nëse dëshironi versionin më të fundit të Python, mund të bëni një instalim alternativ, pa zëvendësuar Python-in e paracaktuar.
Instaloni paketat në Development tools
grupin që kërkohen për përpilimin e skedarëve të instaluesit.
sudo yum groupinstall -y "Development tools"
Instaloni disa varësi të tjera të kërkuara.
sudo yum -y install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel redhat-rpm-config python-virtualenv libffi-devel openssl-devel
Instaloni Python pip. Pip është menaxheri i varësisë për paketat Python.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Krijoni një mjedis virtual për aplikacionin tuaj Synapse. Mjedisi virtual Python përdoret për të krijuar një mjedis virtual të izoluar për një projekt Python. Një mjedis virtual përmban drejtoritë e veta të instalimit dhe nuk i ndan bibliotekat me mjedise globale dhe mjedise të tjera virtuale.
sudo virtualenv -p python2.7 /opt/synapse
Jepni pronësinë e drejtorisë përdoruesit aktual.
sudo chown -R $USER:$USER /opt/synapse/
Tani aktivizoni mjedisin virtual.
source /opt/synapse/bin/activate
Sigurohuni që keni versionin më të fundit të pip
dhe setuptools
.
pip install --upgrade pip
pip install --upgrade setuptools
Instaloni versionin më të fundit të Synapse duke përdorur pip.
pip install https://github.com/matrix-org/synapse/tarball/master
Komanda e mësipërme do të marrë pak kohë për t'u ekzekutuar ndërsa tërheq dhe instalon versionin më të fundit të Synapse dhe të gjitha varësitë nga depoja Github.
Synapse përdor SQLite si bazën e të dhënave të paracaktuar. SQLite ruan të dhënat në një bazë të dhënash e cila mbahet si një skedar i sheshtë në disk. Përdorimi i SQLite është shumë i thjeshtë, por nuk rekomandohet për prodhim pasi është shumë i ngadaltë në krahasim me PostgreSQL.
PostgreSQL është një sistem bazë të dhënash relacionale objektesh. Do t'ju duhet të shtoni depon e PostgreSQL në sistemin tuaj, pasi aplikacioni nuk është i disponueshëm në depon e paracaktuar YUM.
sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
Instaloni serverin e bazës së të dhënave PostgreSQL.
sudo yum -y install postgresql96-server postgresql96-contrib
Inicializoni bazën e të dhënave.
sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
Ndryshoni /var/lib/pgsql/9.6/data/pg_hba.conf
për të aktivizuar vërtetimin e bazuar në MD5.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Gjeni rreshtat e mëposhtëm dhe ndryshoni peer
në trust
dhe idnet
në 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 idnet
# IPv6 local connections:
host all all ::1/128 idnet
Pasi të përditësohet, konfigurimi duhet të duket kështu.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Nisni serverin PostgreSQL dhe aktivizoni që të fillojë automatikisht në nisje.
sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6
Ndryshoni fjalëkalimin për përdoruesin e paracaktuar të PostgreSQL.
sudo passwd postgres
Identifikohu.
sudo su - postgres
Krijo një përdorues të ri PostgreSQL për Synapse.
createuser synapse
PostgreSQL siguron psql
shell për të ekzekutuar pyetje në bazën e të dhënave. Kaloni në guaskën PostgreSQL duke ekzekutuar.
psql
Vendosni një fjalëkalim për përdoruesin e sapokrijuar për bazën e të dhënave Synapse.
ALTER USER synapse WITH ENCRYPTED password 'DBPassword';
Zëvendësojeni DBPassword
me një fjalëkalim të fortë dhe mbajeni shënim pasi fjalëkalimin do ta përdorim më vonë. Krijo një bazë të dhënash të re për bazën e të dhënave PostgreSQL.
CREATE DATABASE synapse ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER synapse;
Dalje nga psql
guaska.
\q
Kalo te sudo
përdoruesi nga postgres
përdoruesi aktual .
exit
Do t'ju duhet gjithashtu të instaloni paketat e kërkuara që Synapse të komunikojë me serverin e bazës së të dhënave PostgreSQL.
sudo yum -y install postgresql-devel libpqxx-devel.x86_64
source /opt/synapse/bin/activate
pip install psycopg2
Synapse kërkon një skedar konfigurimi përpara se të mund të niset. Skedari i konfigurimit ruan cilësimet e serverit. Kaloni në mjedisin virtual dhe krijoni konfigurimin për Synapse.
source /opt/synapse/bin/activate
cd /opt/synapse
python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes
Replace matrix.example.com
with your actual domain name and make sure that the server name is resolvable to the IP address of your Vultr instance. Provide --report-stats=yes
if you want the servers to generate the reports, provide --report-stats=no
to disable the generation of reports and statistics.
You should see a similar output.
(synapse)[user@vultr synapse]$ python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes
A config file has been generated in 'homeserver.yaml' for server name 'matrix.example.com' with corresponding SSL keys and self-signed certificates. Please review this file and customise it to your needs.
If this server name is incorrect, you will need to regenerate the SSL certificates
By default, the homeserver.yaml
is configured to use a SQLite database. We need to modify it to use the PostgreSQL database we have created earlier.
Edit the newly created homeserver.yaml
.
nano homeserver.yaml
Find the existing database configuration which uses SQLite3. Comment out the lines as shown below. Also, add the new database configuration for PostgreSQL. Make sure that you use the correct database credentials.
# Database configuration
#database:
# The database engine name
#name: "sqlite3"
# Arguments to pass to the engine
#args:
# Path to the database
#database: "/opt/synapse/homeserver.db"
database:
name: psycopg2
args:
user: synapse
password: DBPassword
database: synapse
host: localhost
cp_min: 5
cp_max: 10
Registration of a new user from a web interface is disabled by default. To enable registration, you can set enable_registration
to True
. You can also set a secret registration key, which allows anyone to register who has the secret key, even if registration is disabled.
enable_registration: False
registration_shared_secret: "YPPqCPYqCQ-Rj,ws~FfeLS@maRV9vz5MnnV^r8~pP.Q6yNBDG;"
Save the file and exit from the editor. Now you will need to register your first user. Before you can register a new user, though, you will need to start the application first.
source /opt/synapse/bin/activate && cd /opt/synapse
synctl start
You should see the following lines.
2017-09-05 11:10:41,921 - twisted - 131 - INFO - - SynapseSite starting on 8008
2017-09-05 11:10:41,921 - twisted - 131 - INFO - - Starting factory <synapse.http.site.SynapseSite instance at 0x44bbc68>
2017-09-05 11:10:41,921 - synapse.app.homeserver - 201 - INFO - - Synapse now listening on port 8008
2017-09-05 11:10:41,922 - synapse.app.homeserver - 442 - INFO - - Scheduling stats reporting for 3 hour intervals
started synapse.app.homeserver('homeserver.yaml')
Register a new Matrix user.
register_new_matrix_user -c homeserver.yaml https://localhost:8448
You should see the following.
(synapse)[user@vultr synapse]$ register_new_matrix_user -c homeserver.yaml https://localhost:8448
New user localpart [user]: admin
Password:
Confirm password:
Make admin [no]: yes
Sending registration request...
Success.
Finally, before you can use the Homeserver, you will need to allow port 8448 through the Firewall. Port 8448
is used as the secured federation port. Homeservers use this port to communicate with each other securely. You can also use the built-in Matrix web chat client through this port.
sudo firewall-cmd --permanent --zone=public --add-port=8448/tcp
sudo firewall-cmd --reload
You can now log in to the Matrix web chat client by going to https://matrix.example.com:8448
through your favorite browser. You will see a warning about the SSL certificate as the certificates used are self-signed. We will not use this web chat client as it is outdated and not maintained anymore. Just try to check if you can log in using the user account you just created.
Instead of using a self-signed certificate for securing federation port, we can use Let's Encrypt free SSL. Let's Encrypt free SSL can be obtained through the official Let's Encrypt client called Certbot.
Install Certbot.
sudo yum -y install certbot
Adjust your firewall setting to allow the standard HTTP
and HTTPS
ports through the firewall. Certbot needs to make an HTTP
connection to verify the domain authority.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
To obtain certificates from Let's Encrypt CA, you must ensure that the domain for which you wish to generate the certificates is pointed towards the server. If it is not, then make the necessary changes to the DNS records of your domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.
Now use the built-in web server in Certbot to generate the certificates for your domain.
sudo certbot certonly --standalone -d matrix.example.com
The generated certificates are likely to be stored in /etc/letsencrypt/live/matrix.example.com/
. The SSL certificate will be stored as fullchain.pem
and the private key will be stored as privkey.pem
.
Copy the certificates.
sudo cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem
sudo cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem
You will need to change the path to the certificates and keys from the homeserver.yaml
file. Edit the configuration.
nano /opt/synapse/homeserver.yaml
Find the following lines and modify the path.
tls_certificate_path: "/opt/synapse/letsencrypt-fullchain.pem"
# PEM encoded private key for TLS
tls_private_key_path: "/opt/synapse/letsencrypt-privkey.pem"
Save the file and exit from the editor. Restart the Synapse server so that the changes can take effect.
source /opt/synapse/bin/activate && cd /opt/synapse
synctl restart
Let's Encrypt certificates are due to expire in 90 days, so it is recommended that you setup auto renewal for the certificates using cron jobs. Cron is a system service which is used to run periodic tasks.
Create a new script to renew certificates and copy the renewed certificates to the Synapse directory.
sudo nano /opt/renew-letsencypt.sh
Populate the file.
#!/bin/sh
/usr/bin/certbot renew --quiet --nginx
cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem
cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem
Provide the execution permission.
sudo chmod +x /opt/renew-letsencypt.sh
Open the cron job file.
sudo crontab -e
Add the following line at the end of the file.
30 5 * * 1 /opt/renew-letsencypt.sh
The above cron job will run every Monday at 5:30 AM. If the certificate is due to expire, it will automatically renew them.
Now you can visit https://matrix.example.com:8448
. You will see that there is no SSL warning before connection.
Apart from the secured federation port 8448
, Synapse also listens to the unsecured client port 8008
. We will now configure Nginx as a reverse proxy to the Synapse application.
sudo yum -y install nginx
Create a new configuration file.
sudo nano /etc/nginx/conf.d/synapse.conf
Populate the file with the following content.
server {
listen 80;
server_name matrix.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name matrix.example.com;
ssl_certificate /etc/letsencrypt/live/matrix.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/matrix.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/synapse.access.log;
location /_matrix {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Restart and enable Nginx to automatically start at boot time.
sudo systemctl restart nginx
sudo systemctl enable nginx
Finally, you can verify if Synapse can be accessed through the reverse proxy.
curl https://matrix.example.com/_matrix/key/v2/server/auto
You should get similar output.
[user@vultr ~]$ curl https://matrix.example.com/_matrix/key/v2/server/auto
{"old_verify_keys":{},"server_name":"matrix.example.com","signatures":{"matrix.example.com":{"ed25519:a_ffMf":"T/Uq/UN5vyc4w7v0azALjPIJeZx1vQ+HC6ohUGkTSqiFI4WI/ojGpb2763arwSSQLr/tP/2diCi1KLU2DEnOCQ"}},"tls_fingerprints":[{"sha256":"eorhQj/kubI2PEQZyBZvGV7K1x3EcQ7j/AO2MtZMplw"}],"valid_until_ts":1504876080512,"verify_keys":{"ed25519:a_ffMf":{"key":"Gc1hxkpPmQv71Cvjyk+uzR5UtrpmgV/UwlsLtosawEs"}}}
It is recommended to use the Systemd service to manage the Synapse server process. Using Systemd will ensure that the server is automatically started on system startup and failures.
Create a new Systemd service file.
sudo nano /etc/systemd/system/matrix-synapse.service
Populate the file.
[Unit]
Description=Matrix Synapse service
After=network.target
[Service]
Type=forking
WorkingDirectory=/opt/synapse/
ExecStart=/opt/synapse/bin/synctl start
ExecStop=/opt/synapse/bin/synctl stop
ExecReload=/opt/synapse/bin/synctl restart
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=synapse
[Install]
WantedBy=multi-user.target
Now you can quickly start the Synapse server.
sudo systemctl start matrix-synapse
To stop or restart the server using following commands.
sudo systemctl stop matrix-synapse
sudo systemctl restart matrix-synapse
You can check the status of service.
sudo systemctl status matrix-synapse
Matrix Synapse server is now installed and configured on your server. As the built-in web client for Matrix is outdated, you can choose from the variety of the client applications available for chat. Riot is the most popular chat client, which is available on almost all platforms. You can use the hosted version of Riot's web chat client, or you can also host a copy of it on your own server. Apart from this, you can also use Riot's desktop and mobile chat clients, which are available for Windows, Mac, Linux, IOS and Android.
If you wish to host your own copy of Riot web client, you can read further for the instructions to install Riot on your server. For hosted, desktop and mobile client, you can use your username and password to login directly to your homeserver. Just choose my Matrix ID
from the dropdown menu of the Sign In
option and provide the username and password you have created during the registration of a new user. Click on the Custom server
and use the domain name of your Synapse instance. As we have already configured Nginx, we can just use https://matrix.example.com
as the Home server and https://matrix.org
as Identity server URL.
Riot is also open source and free to host on your own server. It does not require any database or dependencies. As we already have an Nginx server running, we can host it on the same server.
The domain or subdomain you are using for Synapse and Riot must be different to avoid cross-site scripting. However, you can use two subdomains of the same domain. In this tutorial, we will be using
riot.example.com
as the domain for the Riot application. Replace all occurrence ofriot.example.com
with your actual domain or subdomain for the Riot application.
Shkarkoni Riot në serverin tuaj.
cd /opt/
sudo wget https://github.com/vector-im/riot-web/releases/download/v0.12.3/riot-v0.12.3.tar.gz
Mund ta gjeni gjithmonë lidhjen për versionin më të fundit në Riot's Github .
Ekstraktoni arkivin.
sudo tar -xzf riot-v*.tar.gz
Riemërtoni drejtorinë për lehtësinë e trajtimit.
sudo mv riot-v*/ riot/
Për shkak se ne kemi instaluar tashmë Certbot, ne mund t'i gjenerojmë certifikatat drejtpërdrejt. Sigurohuni që domeni ose nëndomeni që po përdorni të jetë i drejtuar drejt serverit.
sudo systemctl stop nginx
sudo certbot certonly --standalone -d riot.example.com
Certifikatat e krijuara ka të ngjarë të ruhen në /etc/letsencrypt/live/riot.example.com/
drejtori.
Krijo një host virtual për aplikacionin Riot.
sudo nano /etc/nginx/conf.d/riot.conf
Plotësoni skedarin.
server {
listen 80;
server_name riot.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name riot.example.com;
ssl_certificate /etc/letsencrypt/live/riot.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/riot.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;
root /opt/riot;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
access_log /var/log/nginx/riot.access.log;
}
Kopjoni skedarin e konfigurimit të mostrës.
sudo cp /opt/riot/config.sample.json /opt/riot/config.json
Tani modifikoni skedarin e konfigurimit për të bërë disa ndryshime.
sudo nano /opt/riot/config.json
Gjeni rreshtat e mëposhtëm.
"default_hs_url": "https://matrix.org",
"default_is_url": "https://vector.im",
Zëvendësoni vlerën e URL-së së paracaktuar të serverit të shtëpisë me URL-në e serverit tuaj Matrix. Për URL-në e serverit të identitetit, mund të përdorni opsionin e paracaktuar, ose gjithashtu mund t'i jepni vlerën e tij serverit të identitetit Matrix, i cili është https://matrix.org
.
"default_hs_url": "https://matrix.example.com",
"default_is_url": "https://matrix.org",
Ruani skedarin dhe dilni. Jepni pronësinë e skedarëve përdoruesit Nginx.
sudo chown -R nginx:nginx /opt/riot/
Rinisni Nginx.
sudo systemctl restart nginx
Mund të hyni në Riot në https://riot.example.com
. Tani mund të identifikoheni duke përdorur emrin e përdoruesit dhe fjalëkalimin që keni krijuar më parë. Mund të lidheni duke përdorur serverin e paracaktuar pasi ne kemi ndryshuar tashmë serverin e paracaktuar të Matricës për aplikacionin tonë.
Tani keni një server shtëpiak Matrix Synapse në funksion dhe funksionim. Ju gjithashtu keni një kopje të organizuar të Riot, të cilën mund ta përdorni për t'u dërguar një mesazh njerëzve të tjerë duke përdorur ID-në e tyre Matrix, emailin ose numrin celular. Filloni duke krijuar një dhomë bisede në serverin tuaj dhe ftoni miqtë tuaj në Matrix që t'i bashkohen dhomës së bisedës që keni krijuar.
Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave
Squid është një program i popullarizuar, falas Linux që ju lejon të krijoni një përfaqësues në ueb përcjellës. Në këtë udhëzues, do të shihni se si të instaloni Squid në CentOS për t'ju kthyer
Hyrje Lighttpd është një fork i Apache që synon të jetë shumë më pak intensiv me burime. Është i lehtë, prandaj emri i tij, dhe është mjaft i thjeshtë për t'u përdorur. Instaloni
VULTR kohët e fundit ka bërë ndryshime në fund të tyre dhe gjithçka duhet të funksionojë mirë tani me NetworkManager të aktivizuar. Nëse dëshironi të çaktivizoni
Icinga2 është një sistem i fuqishëm monitorimi dhe kur përdoret në një model master-klient, ai mund të zëvendësojë nevojën për kontrolle monitorimi të bazuara në NRPE. Master-klien
Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë
Përdorimi i një sistemi të ndryshëm? Microweber është një CMS me burim të hapur drag and drop dhe dyqan online. Kodi burimor Microweber është pritur në GitHub. Ky udhëzues do t'ju tregojë
Përdorimi i një sistemi të ndryshëm? Mattermost është një alternativë me burim të hapur, të vetë-strehuar për shërbimin e mesazheve Slack SAAS. Me fjalë të tjera, me Mattermost, ju rreth
Paneli i kontrollit Plesk përmban një integrim shumë të bukur për Lets Encrypt. Lets Encrypt është një nga ofruesit e vetëm SSL që jep plotësisht certifikata
Lets Encrypt është një autoritet certifikimi i dedikuar për të ofruar certifikata SSL pa pagesë. cPanel ka ndërtuar një integrim të pastër në mënyrë që ju dhe klienti juaj
Përdorimi i një sistemi të ndryshëm? Concrete5 është një CMS me burim të hapur që ofron shumë veçori dalluese dhe të dobishme për të ndihmuar redaktorët në prodhimin e përmbajtjes me lehtësi dhe
Using a Different System? Review Board is a free and open source tool for reviewing source code, documentation, images and many more. It is web-based softwar
Në këtë udhëzues, do të mësoni se si të konfiguroni vërtetimin HTTP për një server ueb Nginx që funksionon në CentOS 7. Kërkesat Për të filluar, do t'ju duhet
YOURLS (Shkurtësi juaj i URL-së) është një aplikacion për shkurtimin e URL-ve me burim të hapur dhe analitikë të të dhënave. Në këtë artikull, ne do të mbulojmë procesin e instalimit
Përdorimi i një sistemi të ndryshëm? Hyrje ArangoDB është një bazë të dhënash NoSQL me burim të hapur me një model fleksibël të dhënash për dokumente, grafikë dhe vlera-kyçe. Eshte
Hyrje Drejtoria /etc/ luan një rol kritik në mënyrën se si funksionon një sistem Linux. Arsyeja për këtë është sepse pothuajse çdo konfigurim i sistemit
Shumë administratorë të sistemit menaxhojnë sasi të mëdha serverash. Kur skedarët duhet të aksesohen nëpër serverë të ndryshëm, hyni në secilin individualisht rreth
Ky tutorial do të mbulojë procesin e instalimit të një serveri lojërash Half Life 2 në Sistemin CentOS 6. Hapi 1: Instalimi i parakushteve Për të vendosur ou
Laravel GitScrum, ose GitScrum është një mjet produktiviteti me burim të hapur i krijuar për të ndihmuar ekipet e zhvillimit të zbatojnë metodologjinë Scrum në një mënyrë të ngjashme.
Hyrje Në këtë tutorial të Vultr, do të mësoni se si të instaloni PowerDNS. PowerDNS është një program për ekzekutimin e serverëve tuaj të emrave. Është shumë e dobishme kur
Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.
A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.
Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.
Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.
Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…
Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.
Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.
Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.
Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.
Së fundmi Apple lëshoi macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë