Як встановити та налаштувати Buildbot на CentOS 7

Buildbot — це інструмент безперервної інтеграції з відкритим вихідним кодом на основі Python для автоматизації створення, тестування та розгортання програмного забезпечення. Buildbot складається з одного або кількох майстрів Buildbot і кількох працівників. Майстер Buildbot або Buildmaster має центральне управління системою. Він відповідає за керування середовищем будівництва, робітниками та приймає всі рішення щодо надсилання робочих місць працівникам. Buildmaster виявляє зміни в репозиторії коду і надсилає команди або завдання працівникам для виконання. Робітники виконують завдання і повертають результат до Buildmaster. Потім Buildmaster сповіщає розробників через кілька підтримуваних каналів. У цьому посібнику ми встановимо Buildbot master і worker на CentOS 7. Ми також налаштуємо автентифікацію та Nginx як захищений зворотний проксі-сервер.

Передумови

  • Примірник сервера Vultr CentOS 7 із принаймні 1 Гб оперативної пам’яті.
  • Користувач sudo .
  • Зареєстроване доменне ім’я спрямоване на сервер.

У цьому підручнику ми будемо використовувати 192.168.1.1як загальнодоступну IP-адресу та ci.example.comяк доменне ім’я, спрямоване на екземпляр Vultr. Будь ласка, не забудьте замінити всі приклади доменного імені та IP-адреси фактичними.

Оновіть свою базову систему за допомогою посібника Як оновити CentOS 7 . Після оновлення системи перейдіть до встановлення PostgreSQL.

Встановіть залежності Python

Встановіть Pip, який є менеджером пакетів для Python.

sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip

Встановіть PostgreSQL

Buildbot підтримує кілька типів серверів баз даних, таких як MySQL, PostgreSQL і SQLite. У цьому підручнику ми будемо використовувати PostgreSQL для розміщення сервера бази даних Buildbot.

PostgreSQL — це об'єктно-реляційна система баз даних, відома своєю стабільністю та швидкістю. yumСховище за замовчуванням містить стару версію PostgreSQL, тому додайте репозиторій PostgreSQL.

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

Встановіть сервер бази даних PostgreSQL.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Ініціалізуйте базу даних.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

Запустіть сервер PostgreSQL і ввімкніть його автоматичний запуск під час завантаження.

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Змініть пароль для користувача PostgreSQL за замовчуванням.

sudo passwd postgres

Увійдіть як користувач PostgreSQL.

sudo su - postgres

Створіть нового користувача PostgreSQL для Buildbot.

createuser bb_user

Ви можете використовувати будь-яке ім’я користувача замість bb_user, якщо хочете. PostgreSQL надає psqlоболонку для виконання запитів до бази даних. Перейдіть до оболонки PostgreSQL.

psql

Встановіть пароль для новоствореного користувача.

ALTER USER bb_user WITH ENCRYPTED password 'DBPassword';

Замінити DBPasswordнадійним паролем.

Створіть нову базу даних для встановлення Buildbot.

CREATE DATABASE buildbot OWNER bb_user;

Вихід з psqlоболонки.

\q

Перейти до sudoкористувача.

exit

Відредагуйте pg_hba.confфайл, щоб увімкнути автентифікацію на основі MD5.

sudo nano /var/lib/pgsql/10/data/pg_hba.conf

Знайдіть наступні рядки та змініть значення peerта ident, у METHODстовпці, на trustта 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

Після оновлення конфігурація матиме вигляд наступного тексту.

# 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

Збережіть файл і вийдіть з редактора. Встановіть адаптер бази даних PostgreSQL для Python.

sudo pip install psycopg2

Перезапустіть PostgreSQL, щоб зміни вступили в силу.

sudo systemctl restart postgresql-10

Встановіть Buildbot

Встановіть Buildbot за допомогою Pip.

sudo pip install 'buildbot[bundle]' pyopenssl service_identity

Наведена вище команда встановить Buildbot разом із buildbot-www, buildbot-worker, та кількома веб-плагінами, такими як buildbot-waterfall-view.

Щоб переконатися, що Buildbot було успішно встановлено, ви можете перевірити версію Buildbot.

buildbot --version

Результат повинен нагадувати наступний текст.

[user@vultr ~]$ buildbot --version
Buildbot version: 0.9.15.post1
Twisted version: 17.9.0

Змініть правила брандмауера, щоб дозволити порт 8010. Buildbot використовує цей порт для прослуховування веб-запитів.

sudo firewall-cmd --zone=public --add-port=8010/tcp --permanent
sudo firewall-cmd --reload

Налаштуйте Buildbot Master

Створіть нового непривілейованого користувача для запуску головних і робочих процесів Buildbot. Не рекомендується запускати головні служби Buildbot як rootкористувач.

sudo adduser buildbot
sudo passwd buildbot

Увійдіть як новостворений buildbotкористувач.

sudo su - buildbot

Налаштуйте майстер Buildbot в /home/buildbot/masterкаталозі. Цей каталог міститиме файли конфігурації, стану та журналів кожної збірки.

buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master

Обов’язково замініть облікові дані користувача бази даних у наведеній вище команді.

Примітка. Якщо ви хочете використовувати базу даних SQLite замість PostgreSQL, просто пропустіть цей --db 'postgresql://bb_user:DBpassword@localhost/buildbot'параметр. База даних SQLite буде створена в тому ж каталозі.

Наведена вище команда створить ~/masterкаталог для зберігання файлів Buildmaster. Він також запише дані в базу даних PostgreSQL. Ви отримаєте наступний результат.

[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

Скопіюйте зразок файлу конфігурації в живий файл конфігурації.

cp ~/master/master.cfg.sample ~/master/master.cfg

Відредагуйте файл конфігурації.

nano ~/master/master.cfg

Знайдіть наступні рядки.

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

У наведеній вище конфігурації є запис для зразка робітника. Ми змінимо зразок запису для воркера, на якому ми будемо працювати localhost. Змініть його example-workerна будь-яке відповідне ім’я для localhostпрацівника та змініть його passна інший пароль. Запишіть ім’я та пароль працівника, оскільки вони знадобляться пізніше в підручнику. Змініть прізвище робітника в списку будівельників. Змініть назву програми та URL-адресу проекту відповідно до ваших потреб.

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.

Як встановити та налаштувати Buildbot на CentOS 7

Configure Buildbot Worker

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.

Як встановити та налаштувати Buildbot на CentOS 7

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.

Як встановити та налаштувати Buildbot на CentOS 7

Setting up Systemd Service

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.

Enabling Authentication

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.

Securing Buildbot with Let's Encrypt SSL

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

Згенеровані сертифікати, ймовірно, будуть збережені в /etc/letsencrypt/live/ci.example.com/каталозі. Сертифікат SSL буде збережено як, fullchain.pemа закритий ключ – як privkey.pem.

Термін дії сертифікатів Let's Encrypt закінчується через 90 днів, тому рекомендується налаштувати автоматичне оновлення сертифікатів за допомогою завдань Cron.

Відкрийте файл завдання cron для rootкористувача.

sudo crontab -e

Додайте наступний рядок у кінці файлу.

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

Вищезазначене завдання cron виконуватиметься щодня о 5:30 ранку. Якщо термін дії сертифіката закінчився, він автоматично поновить його.

Тепер змініть файл конфігурації Nginx за замовчуванням, щоб видалити default_serverрядок.

sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf

Створіть новий файл конфігурації для веб-інтерфейсу Buildbot.

sudo nano /etc/nginx/conf.d/buildbot.conf

Заповніть файл.

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

Перевірте, чи немає помилок у новому файлі конфігурації.

sudo nginx -t

Якщо ви бачите наведений нижче вихід, конфігурація безпомилкова.

[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

Якщо ви отримали якусь помилку, обов’язково перевірте шлях до сертифікатів SSL. Перезапустіть веб-сервер Nginx, щоб змінити конфігурацію.

sudo systemctl restart nginx

Відкрийте файл конфігурації Buildmaster.

sudo su buildbot -c "nano /home/buildbot/master/master.cfg"

Знайдіть наступний рядок.

c['buildbotURL'] = "http://192.168.1.1:8010/"

Змініть URL-адресу відповідно до доменного імені, яке ви використовуєте.

c['buildbotURL'] = "https://ci.example.com/"

Перезапустіть головну службу Buildbot.

sudo systemctl restart buildbot

Тепер ви можете отримати доступ до інформаційної панелі Buildbot за адресою https://ci.example.com. Ви побачите, що підключення до Buildbot тепер захищені за допомогою SSL.

Як встановити та налаштувати Buildbot на CentOS 7

Увійдіть, використовуючи облікові дані адміністратора, і додайте свій перший конвеєр, щоб почати створювати програму.


Leave a Comment

Встановіть Plesk на CentOS 7

Встановіть Plesk на CentOS 7

Використання іншої системи? Plesk — це власна панель керування веб-хостом, яка дозволяє користувачам адмініструвати свої персональні та/або клієнтські веб-сайти, бази даних

Як встановити Squid Proxy на CentOS

Як встановити Squid Proxy на CentOS

Squid — популярна безкоштовна програма для Linux, яка дозволяє створювати веб-проксі для переадресації. У цьому посібнику ви дізнаєтеся, як встановити Squid на CentOS, щоб перетворити вас

Як встановити Lighttpd (LLMP Stack) на CentOS 6

Як встановити Lighttpd (LLMP Stack) на CentOS 6

Вступ Lighttpd — це форк Apache, який має набагато меншу ресурсомісткість. Він легкий, звідси його назва, і досить простий у використанні. Встановити

Налаштування статичної мережі та IPv6 на CentOS 7

Налаштування статичної мережі та IPv6 на CentOS 7

VULTR нещодавно вніс зміни на свою сторону, і тепер усе має працювати нормально з коробки з увімкненим NetworkManager. Якщо ви бажаєте вимкнути

Змінення Icinga2 для використання моделі Master/Client на CentOS 6 або CentOS 7

Змінення Icinga2 для використання моделі Master/Client на CentOS 6 або CentOS 7

Icinga2 — це потужна система моніторингу, і при використанні в моделі «майстер-клієнт» вона може замінити потребу в перевірках моніторингу на основі NRPE. Майстер-клієнт

Як встановити Apache Cassandra 3.11.x на CentOS 7

Як встановити Apache Cassandra 3.11.x на CentOS 7

Використання іншої системи? Apache Cassandra — це безкоштовна система керування базами даних NoSQL з відкритим вихідним кодом, яка розроблена для забезпечення масштабованості, високої

Як встановити Microweber на CentOS 7

Як встановити Microweber на CentOS 7

Використання іншої системи? Microweber — це CMS та інтернет-магазин із відкритим вихідним кодом. Вихідний код Microweber розміщено на GitHub. Цей посібник покаже вам

Як встановити Vanilla Forum на CentOS 7

Як встановити Vanilla Forum на CentOS 7

Використання іншої системи? Vanilla forum — це програма з відкритим вихідним кодом, написана на PHP. Це повністю настроюваний, простий у використанні та підтримує зовнішній вигляд

Як встановити Mattermost 4.1 на CentOS 7

Як встановити Mattermost 4.1 на CentOS 7

Використання іншої системи? Mattermost — це автономна альтернатива службі обміну повідомленнями Slack SAAS з відкритим кодом. Іншими словами, з Mattermost ви бл

Lets Encrypt на Plesk

Lets Encrypt на Plesk

Панель керування Plesk має дуже гарну інтеграцію для Lets Encrypt. Lets Encrypt є одним із єдиних постачальників SSL, які надають сертифікати повністю

Дозволяє шифрувати на cPanel

Дозволяє шифрувати на cPanel

Lets Encrypt — це центр сертифікації, який надає безкоштовні сертифікати SSL. cPanel створив чітку інтеграцію, щоб ви і ваш клієнт

Як встановити Concrete5 на CentOS 7

Як встановити Concrete5 на CentOS 7

Використання іншої системи? Concrete5 — це CMS з відкритим вихідним кодом, яка пропонує багато відмінних і корисних функцій, які допомагають редакторам легко створювати вміст.

Як встановити Review Board на CentOS 7

Як встановити Review Board на CentOS 7

Використання іншої системи? Review Board — це безкоштовний інструмент з відкритим кодом для перегляду вихідного коду, документації, зображень та багато іншого. Це веб-програмне забезпечення

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

Налаштуйте автентифікацію HTTP за допомогою Nginx на CentOS 7

У цьому посібнику ви дізнаєтеся, як налаштувати автентифікацію HTTP для веб-сервера Nginx, що працює на CentOS 7. Вимоги Щоб почати, вам знадобиться

Як встановити GoAccess на CentOS 7

Як встановити GoAccess на CentOS 7

Використання іншої системи? GoAccess — це аналізатор веб-журналів з відкритим вихідним кодом. Ви можете використовувати його для аналізу журналів у режимі реального часу в терміналі або

Як встановити YOURLS на CentOS 7

Як встановити YOURLS на CentOS 7

YOURLS (Your Own URL Shortener) — програма для скорочення URL-адрес і аналізу даних із відкритим вихідним кодом. У цій статті ми розглянемо процес встановлення

Як встановити та налаштувати ArangoDB на CentOS 7

Як встановити та налаштувати ArangoDB на CentOS 7

Використання іншої системи? Вступ ArangoDB — це відкрита база даних NoSQL з гнучкою моделлю даних для документів, графіків і ключів-значень. це є

Використання Etckeeper для контролю версій /etc

Використання Etckeeper для контролю версій /etc

Вступ Каталог /etc/ відіграє важливу роль у функціонуванні системи Linux. Причина цього в тому, що майже кожна конфігурація системи

Чому ви повинні використовувати SSHFS? Як підключити віддалену файлову систему з SSHFS на CentOS 6

Чому ви повинні використовувати SSHFS? Як підключити віддалену файлову систему з SSHFS на CentOS 6

Багато системних адміністраторів керують великою кількістю серверів. Якщо потрібно отримати доступ до файлів на різних серверах, увійти на кожен окремо бл

Налаштування сервера Half Life 2 на CentOS 6

Налаштування сервера Half Life 2 на CentOS 6

У цьому посібнику буде описано процес встановлення ігрового сервера Half Life 2 на систему CentOS 6. Крок 1: Встановлення необхідних умов Щоб налаштувати ou

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Ви коли-небудь замислювалися, як хакери заробляють гроші?

Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Технологічна сингулярність: віддалене майбутнє людської цивілізації?

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше