Asenna Plesk CentOS 7:ään
Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ja/tai asiakkaidensa verkkosivustoja, tietokantoja
Buildbot on avoimen lähdekoodin Python-pohjainen jatkuva integrointityökalu ohjelmistojen rakentamisen, testauksen ja käyttöönoton automatisoimiseksi. Buildbot koostuu yhdestä tai useammasta Buildbot-päälliköstä ja useista työntekijöistä. Buildbot master tai Buildmaster hallitsee järjestelmää keskitetysti. Se vastaa rakennusympäristön, työntekijöiden hallinnasta ja tekee kaikki päätökset työpaikkojen lähettämisestä työntekijöille. Buildmaster havaitsee muutokset koodivarastossa ja lähettää komennot tai työt työntekijöille suoritettaviksi. Työntekijät suorittavat työt ja palauttavat tuloksen Buildmasterille. Buildmaster ilmoittaa sitten kehittäjille useiden tuettujen kanavien kautta. Tässä opetusohjelmassa asennamme Buildbot masterin ja workerin CentOS 7:ään. Määritämme myös todennuksen ja Nginxin suojatuksi käänteiseksi välityspalvelimeksi.
Tässä opetusohjelmassa käytämme 192.168.1.1
julkisena IP-osoitteena ja ci.example.com
Vultr-instanssiin osoittavana toimialueen nimenä. Muista korvata kaikki esimerkin verkkotunnuksen nimen ja IP-osoitteen esiintymät todellisella.
Päivitä perusjärjestelmäsi CentOS 7:n päivittäminen -oppaan avulla . Kun järjestelmäsi on päivitetty, jatka PostgreSQL:n asentamista.
Asenna Pip, joka on Pythonin paketinhallinta.
sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip
Buildbot tukee useita tietokantapalvelimia, kuten MySQL, PostgreSQL ja SQLite. Tässä opetusohjelmassa käytämme PostgreSQL:ää Buildbot-tietokantapalvelimen isännöimiseen.
PostgreSQL on oliorelaatiotietokantajärjestelmä, joka tunnetaan vakaudestaan ja nopeudestaan. Oletusarkisto yum
sisältää vanhan PostgreSQL-version, joten lisää PostgreSQL-arkisto.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Asenna PostgreSQL-tietokantapalvelin.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Alusta tietokanta.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Käynnistä PostgreSQL-palvelin ja ota se käyttöön automaattisesti käynnistyksen yhteydessä.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Vaihda PostgreSQL-oletuskäyttäjän salasana.
sudo passwd postgres
Kirjaudu sisään PostgreSQL-käyttäjänä.
sudo su - postgres
Luo uusi PostgreSQL-käyttäjä Buildbotille.
createuser bb_user
Voit halutessasi käyttää mitä tahansa käyttäjätunnusta bb_user
. PostgreSQL tarjoaa psql
komentotulkin kyselyjen suorittamiseen tietokannassa. Vaihda PostgreSQL-kuoreen.
psql
Aseta salasana äskettäin luodulle käyttäjälle.
ALTER USER bb_user WITH ENCRYPTED password 'DBPassword';
Vaihda DBPassword
suojatulla salasanalla.
Luo uusi tietokanta Buildbot-asennusta varten.
CREATE DATABASE buildbot OWNER bb_user;
Poistu psql
kuoresta.
\q
Vaihda sudo
käyttäjäksi.
exit
Muokkaa pg_hba.conf
tiedostoa ottaaksesi MD5-pohjaisen todennuksen käyttöön.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Etsi seuraavat rivit ja muuttaa arvoja peer
ja ident
siinä METHOD
sarakkeessa, jotta trust
ja md5
vastaavasti.
# 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
Päivityksen jälkeen kokoonpano näyttää seuraavalta tekstiltä.
# 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
Tallenna tiedosto ja poistu editorista. Asenna PostgreSQL-tietokantasovitin Pythonille.
sudo pip install psycopg2
Käynnistä PostgreSQL uudelleen, jotta muutokset tulevat voimaan.
sudo systemctl restart postgresql-10
Asenna Buildbot käyttämällä Pip.
sudo pip install 'buildbot[bundle]' pyopenssl service_identity
Yllä oleva komento asentaa Buildbotin buildbot-www
, buildbot-worker
, ja useiden verkkolaajennusten, kuten buildbot-waterfall-view
.
Varmistaaksesi, että Buildbot on asennettu onnistuneesti, voit varmistaa tarkistamalla Buildbotin version.
buildbot --version
Tulosteen tulee muistuttaa seuraavaa tekstiä.
[user@vultr ~]$ buildbot --version
Buildbot version: 0.9.15.post1
Twisted version: 17.9.0
Muokkaa palomuurisääntöjä sallimaan portti 8010
. Buildbot käyttää tätä porttia web-pyyntöjen kuuntelemiseen.
sudo firewall-cmd --zone=public --add-port=8010/tcp --permanent
sudo firewall-cmd --reload
Luo uusi etuoikeutettu käyttäjä suorittamaan Buildbotin pää- ja työprosesseja. Buildbot-pääpalveluiden käyttämistä root
käyttäjänä ei suositella .
sudo adduser buildbot
sudo passwd buildbot
Kirjaudu sisään äskettäin luotuna buildbot
käyttäjänä.
sudo su - buildbot
Aseta Buildbot-master /home/buildbot/master
hakemistoon. Tämä hakemisto sisältää kunkin koontiversion kokoonpano-, tila- ja lokitiedostot.
buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
Muista korvata tietokannan käyttäjän tunnistetiedot yllä olevassa komennossa.
Huomautus: Jos haluat käyttää SQLite-tietokantaa PostgreSQL:n sijaan, jätä --db 'postgresql://bb_user:DBpassword@localhost/buildbot'
vaihtoehto pois . SQLite-tietokanta luodaan samaan hakemistoon.
Yllä oleva komento luo ~/master
hakemiston Buildmaster-tiedostoille. Se myös kirjoittaa tiedot PostgreSQL-tietokantaan. Saat seuraavan tulosteen.
[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
Kopioi mallimääritystiedosto elävään asetustiedostoon.
cp ~/master/master.cfg.sample ~/master/master.cfg
Muokkaa asetustiedostoa.
nano ~/master/master.cfg
Etsi seuraavat rivit.
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",
}
Yllä olevassa kokoonpanossa on merkintä esimerkkityöntekijälle. Muutamme näytemerkintää työntekijälle, jolla työskentelemme localhost
. Muuta työntekijälle example-worker
sopiva nimi localhost
ja vaihda pass
salasana johonkin muuhun. Kirjoita työntekijän nimi ja salasana muistiin, koska vaadimme niitä myöhemmin opetusohjelmassa. Muuta työntekijän nimi rakentajaluettelossa. Muuta hakemuksen nimeä ja projektin URL-osoitetta tarpeidesi mukaan.
Change the Buildbot URL from localhost
to your actual domain name or public IP address. Also, verify that the database information in the configuration file matches your actual database credentials.
At the end of the file, add c['buildbotNetUsageData'] = None
. This parameter will disable sending the software version information and plugin usage details to the developers. However, to enable sending the uses information, change the option to Full
.
The configuration should look like the following text.
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
Save the file and exit the editor. Check the configuration file for errors.
buildbot checkconfig ~/master
If the configuration file has no errors, you will see following output.
[buildbot@vultr ~]$ buildbot checkconfig ~/master
Config file is good!
Now that everything is configured correctly, you can start the Buildbot master.
buildbot start ~/master
You will see the following output.
[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.
By default, authentication is not enabled in the Buildbot web interface. For internet facing sites, it is strongly recommended to setup authentication so that only the authorized users can have the ability to perform administrative tasks. To set up authentication, reopen the Buildbot master configuration file.
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
Add the following lines to the end of the file.
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'})
Replace both occurrences of admin_user
with the actual username you want to use and AdminPassword
with a strong password.
Check for errors in the configuration file.
sudo su buildbot -c "buildbot checkconfig /home/buildbot/master"
Restart Buildbot master service so that the changes can take effect.
sudo systemctl restart buildbot
Browse the web interface again to see that the anonymous users can only view the basic details about the build server. Now, log in using the credentials set in the master.cfg
file and you will see that all other administrative functions are only available to the logged in admin user.
By default, Buildbot listens to the port 8010
on unsecured connections. Securing the web interface with HTTPS
is recommended to ensure that the data is safe during transportation from the browser to the server. In this section of the tutorial, we will install and secure Nginx with Let's Encrypt free SSL certificates. The Nginx web server will work as a reverse proxy to forward the incoming requests to Buildbot's HTTP endpoint.
Install Nginx.
sudo yum -y install nginx
Start Nginx and enable it to automatically start at boot time.
sudo systemctl start nginx
sudo systemctl enable nginx
Install Certbot, which is the client application for Let's Encrypt CA.
sudo yum -y install certbot
Before you can request the certificates, you will need to allow ports 80
and 443
or standard HTTP
and HTTPS
services through the firewall. Also, remove port 8010
, which listens to the unsecured connections.
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
Note: To obtain certificates from Let's Encrypt CA, the domain for which the certificates are to be generated must be pointed towards the server. If not, make the necessary changes to the DNS records of the domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.
Generate the SSL certificates.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com
Luodut varmenteet tallennetaan todennäköisesti /etc/letsencrypt/live/ci.example.com/
hakemistoon. SSL-varmenne tallennetaan nimellä fullchain.pem
ja yksityinen avain muodossa privkey.pem
.
Let's Encrypt -sertifikaatit vanhenevat 90 päivässä, joten on suositeltavaa määrittää varmenteiden automaattinen uusiminen Cron-töiden avulla.
Avaa käyttäjän cron-työtiedosto root
.
sudo crontab -e
Lisää seuraava rivi tiedoston loppuun.
30 5 * * * /usr/bin/certbot renew --quiet
Yllä oleva cron-työ suoritetaan joka päivä klo 5.30. Jos varmenteen voimassaolo päättyy, se uusii ne automaattisesti.
Muuta nyt Nginx-oletusasetustiedosto poistaaksesi default_server
rivin.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Luo uusi määritystiedosto Buildbot-verkkoliittymälle.
sudo nano /etc/nginx/conf.d/buildbot.conf
Täytä tiedosto.
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;
}
}
Tarkista, onko uudessa asetustiedostossa virheitä.
sudo nginx -t
Jos näet seuraavan lähdön, kokoonpano on virheetön.
[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
Jos olet saanut jonkinlaisen virheilmoituksen, muista tarkistaa SSL-varmenteiden polku. Käynnistä Nginx-verkkopalvelin uudelleen konfiguraatiomuutoksen toteuttamiseksi.
sudo systemctl restart nginx
Avaa Buildmaster-määritystiedosto.
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
Etsi seuraava rivi.
c['buildbotURL'] = "http://192.168.1.1:8010/"
Muuta URL-osoite käyttämäsi verkkotunnuksen mukaan.
c['buildbotURL'] = "https://ci.example.com/"
Käynnistä Buildbot-pääpalvelu uudelleen.
sudo systemctl restart buildbot
Nyt voit käyttää Buildbot-hallintapaneelia osoitteessa https://ci.example.com
. Näet, että yhteydet Buildbotiin on nyt suojattu SSL:llä.
Kirjaudu sisään järjestelmänvalvojan tunnuksilla ja aloita sovelluksesi rakentaminen lisäämällä ensimmäinen putki.
Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ja/tai asiakkaidensa verkkosivustoja, tietokantoja
Squid on suosittu, ilmainen Linux-ohjelma, jonka avulla voit luoda edelleenlähetysverkkovälityspalvelimen. Tässä oppaassa näet, kuinka Squid asennetaan CentOS:ään kääntääksesi sinut
Johdanto Lighttpd on Apachen haarukka, jonka tarkoituksena on olla paljon vähemmän resurssiintensiivinen. Se on kevyt, tästä syystä sen nimi, ja on melko yksinkertainen käyttää. Asenna
VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä
Icinga2 on tehokas valvontajärjestelmä, ja master-client-mallissa käytettynä se voi korvata NRPE-pohjaisten valvontatarkastusten tarpeen. Pääasiakas
Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.
Käytätkö erilaista järjestelmää? Microweber on avoimen lähdekoodin vedä ja pudota sisällönhallintajärjestelmä ja verkkokauppa. Microweber-lähdekoodia isännöidään GitHubissa. Tämä opas näyttää sinulle
Käytätkö erilaista järjestelmää? Mattermost on avoimen lähdekoodin itseisännöity vaihtoehto Slack SAAS -viestipalvelulle. Toisin sanoen Mattermostin avulla voit noin
Mitä tarvitset Vultr VPS:n, jossa on vähintään 1 Gt RAM-muistia. SSH-käyttö (pääkäyttäjän/järjestelmänvalvojan oikeuksilla). Vaihe 1: BungeeCordin asentaminen Ensimmäiset asiat ensin
Plesk-ohjauspaneelissa on erittäin mukava integraatio Lets Encryptille. Lets Encrypt on yksi ainoista SSL-palveluntarjoajista, jotka myöntävät varmenteita täydellisesti
Lets Encrypt on varmenneviranomainen, joka on omistautunut tarjoamaan SSL-varmenteita ilmaiseksi. cPanel on rakentanut siistin integraation sinulle ja asiakkaallesi
Käytätkö erilaista järjestelmää? Concrete5 on avoimen lähdekoodin sisällönhallintajärjestelmä, joka tarjoaa monia ainutlaatuisia ja hyödyllisiä ominaisuuksia, jotka auttavat toimittajia tuottamaan sisältöä helposti ja helposti.
Käytätkö erilaista järjestelmää? Review Board on ilmainen ja avoimen lähdekoodin työkalu lähdekoodin, dokumentaation, kuvien ja monien muiden tarkistamiseen. Se on web-pohjainen ohjelmisto
Tässä oppaassa opit määrittämään HTTP-todennuksen Nginx-verkkopalvelimelle, joka toimii CentOS 7:ssä. Vaatimukset Aloitaksesi tarvitset
YOURLS (Your Own URL Shortener) on avoimen lähdekoodin URL-osoitteiden lyhennys- ja data-analytiikkasovellus. Tässä artikkelissa käsittelemme asennusprosessia
Käytätkö erilaista järjestelmää? Johdanto ArangoDB on avoimen lähdekoodin NoSQL-tietokanta, jossa on joustava tietomalli asiakirjoille, kaavioille ja avainarvoille. se on
Johdanto /etc/-hakemistolla on tärkeä rooli Linux-järjestelmän toiminnassa. Syynä tähän on se, että lähes kaikki järjestelmäkokoonpanot
Monet järjestelmänvalvojat hallitsevat suuria määriä palvelimia. Kun tiedostoja on käytettävä eri palvelimien kautta, kirjaudu jokaiseen erikseen n
Tämä opetusohjelma kattaa Half Life 2 -pelipalvelimen asennuksen CentOS 6 -järjestelmään. Vaihe 1: Edellytysten asentaminen Voit määrittää ou
Laravel GitScrum tai GitScrum on avoimen lähdekoodin tuottavuustyökalu, joka on suunniteltu auttamaan kehitysryhmiä ottamaan käyttöön Scrum-metodologian samalla tavalla.
Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.
Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.
Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.
Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.
Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…
Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.
Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.
Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.
Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.
Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja