Įdiekite „Plesk“ „CentOS 7“.
Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes
„Buildbot“ yra atvirojo kodo „Python“ pagrindu sukurtas nuolatinio integravimo įrankis, skirtas automatizuoti programinės įrangos kūrimą, testavimą ir diegimą. „Buildbot“ sudaro vienas ar keli „Buildbot“ meistrai ir keli darbuotojai. „Buildbot Master“ arba „Buildmaster“ turi centrinę sistemos valdymą. Ji yra atsakinga už statybos aplinkos, darbuotojų valdymą ir priima visus sprendimus dėl darbo vietų siuntimo darbuotojams. „Buildmaster“ aptinka pakeitimus kodo saugykloje ir siunčia komandas arba užduotis darbuotojams, kad jie juos vykdytų. Darbuotojai atlieka darbus ir grąžina rezultatą Buildmaster. Tada „Buildmaster“ praneša kūrėjams keliais palaikomais kanalais. Šioje mokymo programoje mes įdiegsime „Buildbot“ pagrindinį ir darbuotoją „CentOS 7“. Taip pat sukonfigūruosime autentifikavimą ir „Nginx“ kaip saugų atvirkštinį tarpinį serverį.
Šioje pamokoje naudosime 192.168.1.1
kaip viešąjį IP adresą ir ci.example.com
kaip domeno pavadinimą, nukreiptą į Vultr egzempliorių. Būtinai pakeiskite visus pavyzdinio domeno vardo ir IP adreso atvejus tikruoju.
Atnaujinkite bazinę sistemą naudodami vadovą Kaip atnaujinti CentOS 7 . Kai sistema bus atnaujinta, diegkite PostgreSQL.
Įdiekite „Pip“, kuri yra „Python“ paketų tvarkyklė.
sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip
„Buildbot“ palaiko kelių tipų duomenų bazių serverius, tokius kaip „MySQL“, „PostgreSQL“ ir „SQLite“. Šioje pamokoje naudosime PostgreSQL, kad priglobtume Buildbot duomenų bazės serverį.
PostgreSQL yra objektų santykių duomenų bazių sistema, žinoma dėl savo stabilumo ir greičio. Numatytoje yum
saugykloje yra sena PostgreSQL versija, todėl pridėkite PostgreSQL saugyklą.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Įdiekite PostgreSQL duomenų bazės serverį.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Inicijuoti duomenų bazę.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Paleiskite PostgreSQL serverį ir įgalinkite jį automatiškai paleisti įkrovos metu.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Pakeiskite numatytojo „PostgreSQL“ vartotojo slaptažodį.
sudo passwd postgres
Prisijunkite kaip PostgreSQL vartotojas.
sudo su - postgres
Sukurkite naują „Buildbot“ „PostgreSQL“ vartotoją.
createuser bb_user
Jei norite, vietoje , galite naudoti bet kokį vartotojo vardą bb_user
. PostgreSQL suteikia psql
apvalkalą duomenų bazėje užklausoms vykdyti. Perjunkite į PostgreSQL apvalkalą.
psql
Nustatykite naujai sukurto vartotojo slaptažodį.
ALTER USER bb_user WITH ENCRYPTED password 'DBPassword';
Pakeiskite DBPassword
saugiu slaptažodžiu.
Sukurkite naują „Buildbot“ diegimo duomenų bazę.
CREATE DATABASE buildbot OWNER bb_user;
Išeiti iš psql
apvalkalo.
\q
Perjungti į sudo
vartotoją.
exit
Redaguokite pg_hba.conf
failą, kad įgalintumėte MD5 pagrįstą autentifikavimą.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Ieškoti šias eilutes ir pakeisti vertybes peer
ir ident
, atsižvelgiant į METHOD
stulpelį, kad trust
ir md5
, atitinkamai.
# 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
Atnaujinus konfigūraciją, ji atrodys taip, kaip nurodyta toliau.
# 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
Išsaugokite failą ir išeikite iš redaktoriaus. Įdiekite PostgreSQL duomenų bazės adapterį, skirtą Python.
sudo pip install psycopg2
Iš naujo paleiskite PostgreSQL, kad pakeitimai įsigaliotų.
sudo systemctl restart postgresql-10
Įdiekite „Buildbot“ naudodami „Pip“.
sudo pip install 'buildbot[bundle]' pyopenssl service_identity
Aukščiau komanda bus įdiegti Buildbot kartu su buildbot-www
, buildbot-worker
ir keletas interneto įskiepių, pvz buildbot-waterfall-view
.
Norėdami įsitikinti, kad „Buildbot“ buvo sėkmingai įdiegtas, galite patikrinti patikrinę „Buildbot“ versiją.
buildbot --version
Išvestis turėtų būti panaši į šį tekstą.
[user@vultr ~]$ buildbot --version
Buildbot version: 0.9.15.post1
Twisted version: 17.9.0
Pakeiskite ugniasienės taisykles, kad leistumėte prievadą 8010
. „Buildbot“ naudoja šį prievadą žiniatinklio užklausoms klausyti.
sudo firewall-cmd --zone=public --add-port=8010/tcp --permanent
sudo firewall-cmd --reload
Sukurkite naują neprivilegijuotą vartotoją, kad paleistumėte „Buildbot“ pagrindinius ir darbinius procesus. Nerekomenduojama paleisti „Buildbot Master“ paslaugų kaip root
vartotojui.
sudo adduser buildbot
sudo passwd buildbot
Prisijunkite kaip naujai sukurtas buildbot
vartotojas.
sudo su - buildbot
/home/buildbot/master
Kataloge nustatykite pagrindinį pagrindinį „Buildbot“ . Šiame kataloge bus kiekvienos versijos konfigūracija, būsena ir žurnalo failai.
buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
Būtinai pakeiskite duomenų bazės vartotojo kredencialus aukščiau pateiktoje komandoje.
Pastaba: jei norite naudoti SQLite duomenų bazę, o ne PostgreSQL, tiesiog praleiskite šią --db 'postgresql://bb_user:DBpassword@localhost/buildbot'
parinktį. SQLite duomenų bazė bus sukurta tame pačiame kataloge.
Aukščiau pateikta komanda sukurs ~/master
katalogą, kuriame bus saugomi Buildmaster failai. Jis taip pat įrašys duomenis į PostgreSQL duomenų bazę. Gausite tokią išvestį.
[buildbot@vultr ~]$ buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
mkdir /home/buildbot/master
creating /home/buildbot/master/master.cfg.sample
creating database (postgresql://bb_user:DBPassword@localhost/buildbot)
buildmaster configured in /home/buildbot/master
Nukopijuokite pavyzdinį konfigūracijos failą į tiesioginį konfigūracijos failą.
cp ~/master/master.cfg.sample ~/master/master.cfg
Redaguokite konfigūracijos failą.
nano ~/master/master.cfg
Raskite šias eilutes.
c['workers'] = [worker.Worker("example-worker", "pass")]
...
c['builders'].append(
util.BuilderConfig(name="runtests",
workernames=["example-worker"],
factory=factory))
...
c['title'] = "Hello World CI"
c['titleURL'] = "https://buildbot.github.io/hello-world/"
...
c['buildbotURL'] = "http://localhost:8010/"
...
c['db'] = {
'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
Aukščiau pateiktoje konfigūracijoje yra pavyzdinio darbuotojo įrašas. Mes pakeisime pavyzdinį darbuotojo, su kuriuo dirbsime, įrašą localhost
. Pakeiskite example-worker
į bet kurį tinkamą localhost
darbuotojo vardą ir pakeiskite pass
slaptažodį į kitą. Užsirašykite darbuotojo vardą ir slaptažodį, nes to reikalausime vėliau mokymo programoje. Pakeiskite darbininko vardą statybininkų sąraše. Pakeiskite programos pavadinimą ir projekto URL pagal savo poreikius.
Pakeiskite Buildbot URL localhost
į tikrąjį domeno pavadinimą arba viešąjį IP adresą. Be to, patikrinkite, ar duomenų bazės informacija konfigūracijos faile atitinka jūsų tikrus duomenų bazės kredencialus.
Failo pabaigoje pridėkite c['buildbotNetUsageData'] = None
. Šis parametras neleidžia kūrėjams siųsti programinės įrangos versijos informacijos ir išsamios informacijos apie papildinio naudojimą. Tačiau norėdami įgalinti naudojimo informacijos siuntimą, pakeiskite parinktį į Full
.
Konfigūracija turėtų atrodyti taip, kaip šis tekstas.
c['workers'] = [worker.Worker("localhost-worker", "Password123")]
...
c['builders'].append(
util.BuilderConfig(name="runtests",
workernames=["localhost-worker"],
factory=factory))
...
c['title'] = "My Application CI"
c['titleURL'] = "https://example.com/my-app"
...
c['buildbotURL'] = "http://192.168.1.1:8010/"
...
c['db'] = {
'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
...
c['buildbotNetUsageData'] = None
Išsaugokite failą ir išeikite iš redaktoriaus. Patikrinkite, ar konfigūracijos faile nėra klaidų.
buildbot checkconfig ~/master
Jei konfigūracijos faile nėra klaidų, pamatysite šią išvestį.
[buildbot@vultr ~]$ buildbot checkconfig ~/master
Config file is good!
Dabar, kai viskas sukonfigūruota teisingai, galite paleisti pagrindinį „Buildbot“.
buildbot start ~/master
Pamatysite tokią išvestį.
[buildbot@vultr ~]$ buildbot start ~/master
Following twistd.log until startup finished..
The buildmaster appears to have (re)started correctly.
Now that the Buildbot master has started correctly, the web user interface is accessible at http://192.168.1.1:8010
. You should see the following Buildbot interface.
Since we have already modified the worker configuration in ~/master/master.cfg
, we can proceed to create a new worker.
buildbot-worker create-worker ~/worker localhost localhost-worker Password123
Make sure that you use the exact same worker name and password as mentioned in ~/master/master.cfg
file. If there's a mismatch in worker name or password, the worker will not be able to connect to the Buildbot master. You will see the following output upon successful execution.
[buildbot@vultr ~]$ buildbot-worker create-worker ~/worker localhost example-worker pass
mkdir /home/buildbot/worker
mkdir /home/buildbot/worker/info
Creating info/admin, you need to edit it appropriately.
Creating info/host, you need to edit it appropriately.
Not creating info/access_uri - add it if you wish
Please edit the files in /home/buildbot/worker/info appropriately.
worker configured in /home/buildbot/worker
Information about the worker is stored in the /info
directory. Edit the administrative information about the developer.
nano ~/worker/info/admin
Replace the example name with your actual name and email.
Your Name <[email protected]>
Now, open the file containing information about the host.
nano ~/worker/info/host
Replace the example instruction with the actual information about the host system.
Localhost, CentOS 7
The worker admin and host information is only used to tell the users about the system. You can also add additional information about the system such as Buildbot version and Twisted version.
Start the worker.
buildbot-worker start ~/worker
The output will look like the following text.
[buildbot@vultr ~]$ buildbot-worker start ~/worker
Following twistd.log until startup finished..
The buildbot-worker appears to have (re)started correctly.
To check if the worker is registered, head to the web interface of Buildbot and navigate to Builds >> Workers
from the left navigation. You should see that the worker is up and ready to build.
To run a sample build, to check if the Buildbot worker is running successfully, navigate to Builds >> Builders
. Click on the runtests
builder name to open the builder interface and click on the Force
button to force a build. Provide your name and click on the Start Build
button to start the build. Since it is a sample build test to check the Buildbot environment, it will finish in a couple of seconds. You will get a success message and the build result.
Although the Buildbot master and worker can be easily started using the commands above, it is recommended to use Systemd units to run and manage the Buildbot services. This will ensure that they are automatically started on system restart and failures.
Note: Switch to the sudo
user again by running either exit
or su <username>
. From now on all the commands need to be executed by the sudo
user.
Stop the running Buildbot worker and master service.
sudo su buildbot -c "buildbot stop /home/buildbot/master"
sudo su buildbot -c "buildbot-worker stop ~/worker"
Create a new Systemd unit file for the Buildbot master.
sudo nano /etc/systemd/system/buildbot.service
Populate the file.
[Unit]
Description=BuildBot master service
After=network.target
[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/master
ExecStart=/usr/bin/buildbot start
ExecStop=/usr/bin/buildbot stop
ExecReload=/usr/bin/buildbot restart
[Install]
WantedBy=multi-user.target
Start the Buildbot master and enable it to automatically start at boot time.
sudo systemctl start buildbot
sudo systemctl enable buildbot
Create a new Systemd unit file for the Buildbot worker.
sudo nano /etc/systemd/system/buildbot-worker.service
Populate the file.
[Unit]
Description=BuildBot worker service
After=network.target
[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/worker
ExecStart=/usr/bin/buildbot-worker start
ExecStop=/usr/bin/buildbot-worker stop
ExecReload=/usr/bin/buildbot-worker restart
[Install]
WantedBy=multi-user.target
Start the Buildbot worker and enable it to automatically start at boot time.
sudo systemctl start buildbot-worker
sudo systemctl enable buildbot-worker
You can check the status of the services.
sudo systemctl status buildbot buildbot-worker
If the services are running smoothly, you will see that in the output.
[user@vultr ~]$ sudo systemctl status buildbot buildbot-worker
● buildbot.service - BuildBot master service
...
Active: active (running) since Fri 2018-01-12 16:00:59 UTC; 1min 25s ago
...
Jan 12 16:00:59 vultr.guest systemd[1]: Started BuildBot master service.
● buildbot-worker.service - BuildBot worker service
...
Active: active (running) since Fri 2018-01-12 16:02:00 UTC; 24s ago
...
Jan 12 16:02:00 vultr.guest systemd[1]: Started BuildBot worker service.
Pagal numatytuosius nustatymus autentifikavimas neįjungtas Buildbot žiniatinklio sąsajoje. Interneto svetainėse primygtinai rekomenduojama nustatyti autentifikavimą, kad tik įgalioti vartotojai galėtų atlikti administravimo užduotis. Norėdami nustatyti autentifikavimą, iš naujo atidarykite pagrindinį „Buildbot“ konfigūracijos failą.
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
Pridėkite šias eilutes prie failo pabaigos.
c['www']['authz'] = util.Authz(
allowRules = [
util.AnyEndpointMatcher(role="admins")
],
roleMatchers = [
util.RolesFromUsername(roles=['admins'], usernames=['admin_user'])
]
)
c['www']['auth'] = util.UserPasswordAuth({'admin_user': 'AdminPassword'})
Pakeiskite abu atvejus admin_user
tikruoju naudotojo vardu, kurį norite naudoti, ir AdminPassword
tvirtu slaptažodžiu.
Patikrinkite, ar konfigūracijos faile nėra klaidų.
sudo su buildbot -c "buildbot checkconfig /home/buildbot/master"
Iš naujo paleiskite „Buildbot“ pagrindinę paslaugą, kad pakeitimai įsigaliotų.
sudo systemctl restart buildbot
Dar kartą naršykite žiniatinklio sąsają, kad įsitikintumėte, jog anoniminiai vartotojai gali peržiūrėti tik pagrindinę informaciją apie kūrimo serverį. Dabar prisijunkite naudodami master.cfg
faile nustatytus kredencialus ir pamatysite, kad visos kitos administracinės funkcijos yra prieinamos tik prisijungusiam administratoriui.
Pagal numatytuosius nustatymus „Buildbot“ klausosi 8010
neapsaugotų ryšių prievado . HTTPS
Rekomenduojama apsaugoti žiniatinklio sąsają siekiant užtikrinti, kad duomenys būtų saugūs gabenant iš naršyklės į serverį. Šioje pamokos dalyje įdiegsime ir apsaugome „Nginx“ naudodami „Let's Encrypt“ nemokamus SSL sertifikatus. „Nginx“ žiniatinklio serveris veiks kaip atvirkštinis tarpinis serveris, persiunčiantis gaunamas užklausas į „Buildbot“ HTTP galutinį tašką.
Įdiekite „Nginx“.
sudo yum -y install nginx
Paleiskite Nginx ir įgalinkite jį automatiškai paleisti įkrovos metu.
sudo systemctl start nginx
sudo systemctl enable nginx
Įdiekite „Certbot“, kuri yra „Let's Encrypt CA“ kliento programa.
sudo yum -y install certbot
Kad galėtumėte prašyti sertifikatų, per užkardą turėsite leisti prievadus 80
ir ( 443
arba) standartines HTTP
bei HTTPS
paslaugas. Taip pat pašalinkite prievadą 8010
, kuris klauso neapsaugotų jungčių.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8010/tcp --permanent
sudo firewall-cmd --reload
Pastaba: norint gauti sertifikatus iš Let's Encrypt CA, domenas, kuriam turi būti generuojami sertifikatai, turi būti nukreiptas į serverį. Jei ne, atlikite reikiamus domeno DNS įrašų pakeitimus ir palaukite, kol DNS išplis, prieš vėl pateikdami sertifikato užklausą. „Certbot“ patikrina domeno instituciją prieš pateikdamas sertifikatus.
Sukurkite SSL sertifikatus.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com
Sugeneruoti sertifikatai greičiausiai bus saugomi /etc/letsencrypt/live/ci.example.com/
kataloge. SSL sertifikatas bus saugomas kaip , fullchain.pem
o privatusis raktas bus saugomas kaip privkey.pem
.
„Encrypt“ sertifikatai baigiasi po 90 dienų, todėl rekomenduojama nustatyti automatinį sertifikatų atnaujinimą naudojant „Cron“ užduotis.
Atidarykite vartotojui skirtą cron darbo failą root
.
sudo crontab -e
Failo pabaigoje pridėkite šią eilutę.
30 5 * * * /usr/bin/certbot renew --quiet
Pirmiau nurodytas cron darbas bus vykdomas kiekvieną dieną 5:30 val. Jei baigiasi sertifikato galiojimo laikas, jis automatiškai atnaujinamas.
Dabar pakeiskite numatytąjį Nginx konfigūracijos failą, kad pašalintumėte default_server
eilutę.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Sukurkite naują „Buildbot“ žiniatinklio sąsajos konfigūracijos failą.
sudo nano /etc/nginx/conf.d/buildbot.conf
Užpildykite failą.
upstream buildbot {
server 127.0.0.1:8010;
}
server {
listen 80 default_server;
server_name ci.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2 default_server;
server_name ci.example.com;
root html;
index index.html index.htm;
ssl on;
ssl_certificate /etc/letsencrypt/live/ci.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ci.example.com/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1440m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
access_log /var/log/nginx/buildbot.access.log;
proxy_set_header HOST $host;
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 $scheme;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Host $host;
location / {
proxy_pass http://buildbot;
}
location /sse/ {
proxy_buffering off;
proxy_pass http://buildbot/sse/;
}
location /ws {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://buildbot/ws;
proxy_read_timeout 6000s;
}
}
Patikrinkite, ar naujame konfigūracijos faile nėra klaidų.
sudo nginx -t
Jei matote šią išvestį, konfigūracija yra be klaidų.
[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
Jei gavote kokią nors klaidą, būtinai dar kartą patikrinkite kelią į SSL sertifikatus. Iš naujo paleiskite „Nginx“ žiniatinklio serverį, kad pakeistumėte konfigūraciją.
sudo systemctl restart nginx
Atidarykite „Buildmaster“ konfigūracijos failą.
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
Raskite šią eilutę.
c['buildbotURL'] = "http://192.168.1.1:8010/"
Pakeiskite URL pagal naudojamą domeno pavadinimą.
c['buildbotURL'] = "https://ci.example.com/"
Iš naujo paleiskite „Buildbot Master“ paslaugą.
sudo systemctl restart buildbot
Dabar „Buildbot“ prietaisų skydelį galite pasiekti adresu https://ci.example.com
. Pamatysite, kad ryšiai su „Buildbot“ dabar yra apsaugoti SSL.
Prisijunkite naudodami administratoriaus kredencialus ir pridėkite pirmąjį dujotiekį, kad pradėtumėte kurti programą.
Naudojate kitą sistemą? Plesk yra patentuotas žiniatinklio prieglobos valdymo skydelis, leidžiantis vartotojams administruoti savo asmenines ir (arba) klientų svetaines, duomenų bazes
Squid yra populiari nemokama „Linux“ programa, leidžianti sukurti persiuntimo žiniatinklio tarpinį serverį. Šiame vadove pamatysite, kaip įdiegti „Squid“ „CentOS“, kad paverstumėte jus
Įvadas Lighttpd yra „Apache“ šakutė, skirta daug mažiau išteklių imti. Jis yra lengvas, todėl jo pavadinimas ir yra gana paprastas naudoti. Įdiegti
VULTR neseniai atliko pakeitimus, ir dabar viskas turėtų veikti gerai, kai įjungta „NetworkManager“. Jei norite išjungti
Icinga2 yra galinga stebėjimo sistema, o kai naudojama pagrindinio kliento modelyje, ji gali pakeisti NRPE pagrįstų stebėjimo patikrų poreikį. Meistras-klientas
Naudojate kitą sistemą? Apache Cassandra yra nemokama ir atviro kodo NoSQL duomenų bazių valdymo sistema, skirta užtikrinti mastelio keitimą, hig.
Naudojate kitą sistemą? Mattermost yra atvirojo kodo, savarankiškai priglobta alternatyva Slack SAAS pranešimų paslaugai. Kitaip tariant, naudodami Mattermost, jūs apytiksliai
„Plesk“ valdymo skydelyje yra labai graži „Lets Encrypt“ integracija. „Lets Encrypt“ yra vienas iš vienintelių SSL teikėjų, išduodančių visus sertifikatus
„Lets Encrypt“ yra sertifikatų institucija, skirta nemokamai teikti SSL sertifikatus. cPanel sukūrė tvarkingą integraciją, kad jūs ir jūsų klientas
Naudojate kitą sistemą? Concrete5 yra atvirojo kodo TVS, kuri siūlo daug išskirtinių ir naudingų funkcijų, padedančių redaktoriams lengvai sukurti turinį
Naudojate kitą sistemą? „Review Board“ yra nemokamas atvirojo kodo įrankis, skirtas šaltinio kodui, dokumentacijai, vaizdams ir daugeliui kitų peržiūrėti. Tai internetinė programinė įranga
Šiame vadove sužinosite, kaip nustatyti HTTP autentifikavimą Nginx žiniatinklio serveriui, kuriame veikia CentOS 7. Reikalavimai Norėdami pradėti, jums reikės
YOURLS (Your Own URL Shortener) yra atvirojo kodo URL sutrumpinimo ir duomenų analizės programa. Šiame straipsnyje apžvelgsime diegimo procesą
Naudojate kitą sistemą? Įvadas ArangoDB yra atvirojo kodo NoSQL duomenų bazė su lanksčiu duomenų modeliu dokumentams, grafikams ir raktų reikšmėms. tai yra
Įvadas Katalogas /etc/ vaidina lemiamą vaidmenį veikiant Linux sistemai. Taip yra todėl, kad beveik visos sistemos konfigūracijos
Daugelis sistemos administratorių valdo didelius serverių kiekius. Kai failus reikia pasiekti skirtinguose serveriuose, prisijungiant prie kiekvieno atskirai apytiksliai
Ši pamoka apims Half Life 2 žaidimų serverio diegimą CentOS 6 sistemoje. 1 veiksmas: būtinų sąlygų įdiegimas Norėdami nustatyti ou
Laravel GitScrum arba GitScrum yra atvirojo kodo produktyvumo įrankis, skirtas padėti kūrimo komandoms įgyvendinti Scrum metodiką panašiai
Įvadas Šiame „Vultr“ vadove sužinosite, kaip įdiegti „PowerDNS“. PowerDNS yra programa, skirta paleisti savo vardų serverius. Tai labai naudinga, kai
Galite nukopijuoti ir įklijuoti šį bash scenarijų į Vultr valdymo skydelio paleisties scenarijaus sritį. Jis įdiegs visus reikalingus paketus į ru
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį