Πώς να εγκαταστήσετε και να ρυθμίσετε το Buildbot στο CentOS 7

Το Buildbot είναι ένα ανοιχτού κώδικα, βασισμένο στην Python, εργαλείο συνεχούς ενοποίησης για την αυτοματοποίηση της δημιουργίας, δοκιμών και ανάπτυξης λογισμικού. Το Buildbot αποτελείται από έναν ή περισσότερους κύριους του Buildbot και έναν αριθμό εργαζομένων. Το Buildbot master ή το Buildmaster έχει τον κεντρικό έλεγχο του συστήματος. Είναι υπεύθυνος για τη διαχείριση του περιβάλλοντος κατασκευής, των εργαζομένων και λαμβάνει όλες τις αποφάσεις σχετικά με την αποστολή θέσεων εργασίας στους εργαζόμενους. Το Buildmaster εντοπίζει αλλαγές στο αποθετήριο κώδικα και στέλνει τις εντολές ή τις εργασίες στους εργαζόμενους για εκτέλεση. Οι εργαζόμενοι εκτελούν τις εργασίες και επιστρέφουν το αποτέλεσμα στον Buildmaster. Στη συνέχεια, το Buildmaster ειδοποιεί τους προγραμματιστές μέσω πολλαπλών υποστηριζόμενων καναλιών. Σε αυτό το σεμινάριο, θα εγκαταστήσουμε το Buildbot Master and Worker στο CentOS 7. Θα διαμορφώσουμε επίσης τον έλεγχο ταυτότητας και το Nginx ως ασφαλή αντίστροφο διακομιστή μεσολάβησης.

Προαπαιτούμενα

  • Μια παρουσία διακομιστή Vultr CentOS 7 με τουλάχιστον 1 GB RAM.
  • Ένας χρήστης sudo .
  • Ένα καταχωρημένο όνομα τομέα στραμμένο προς τον διακομιστή.

Για αυτό το σεμινάριο, θα χρησιμοποιήσουμε 192.168.1.1ως δημόσια διεύθυνση IP και ci.example.comως όνομα τομέα που δείχνει προς την παρουσία του Vultr. Βεβαιωθείτε ότι έχετε αντικαταστήσει όλες τις εμφανίσεις του παραδείγματος ονόματος τομέα και διεύθυνσης IP με την πραγματική.

Ενημερώστε το βασικό σας σύστημα χρησιμοποιώντας τον οδηγό Πώς να ενημερώσετε το CentOS 7 . Αφού ενημερωθεί το σύστημά σας, προχωρήστε στην εγκατάσταση της PostgreSQL.

Εγκαταστήστε Python Dependencies

Εγκαταστήστε το 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και πολλά web plugins όπως 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

Δημιουργήστε έναν νέο μη προνομιούχο χρήστη για την εκτέλεση διεργασιών Master και Worker του 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.

Ας κρυπτογραφήσουμε τα πιστοποιητικά λήγουν σε 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

Συνδεθείτε χρησιμοποιώντας τα διαπιστευτήρια διαχειριστή και προσθέστε την πρώτη σας διοχέτευση για να ξεκινήσετε τη δημιουργία της εφαρμογής σας.


Εγκαταστήστε το Plesk στο CentOS 7

Εγκαταστήστε το Plesk στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων

Πώς να εγκαταστήσετε το Squid Proxy στο CentOS

Πώς να εγκαταστήσετε το Squid Proxy στο CentOS

Το Squid είναι ένα δημοφιλές, δωρεάν πρόγραμμα Linux που σας επιτρέπει να δημιουργήσετε έναν διακομιστή μεσολάβησης web προώθησης. Σε αυτόν τον οδηγό, θα δείτε πώς να εγκαταστήσετε το Squid στο CentOS για να σας μετατρέψει

Πώς να εγκαταστήσετε το Lighttpd (Στοίβα LLMP) στο CentOS 6

Πώς να εγκαταστήσετε το Lighttpd (Στοίβα LLMP) στο CentOS 6

Εισαγωγή Το Lighttpd είναι ένα πιρούνι του Apache που έχει ως στόχο να είναι πολύ λιγότερο εντάσεως πόρων. Είναι ελαφρύ, εξ ου και το όνομά του, και είναι αρκετά απλό στη χρήση. Εγκατάσταση

Τροποποίηση Icinga2 για χρήση Μοντέλου Master/Client σε CentOS 6 ή CentOS 7

Τροποποίηση Icinga2 για χρήση Μοντέλου Master/Client σε CentOS 6 ή CentOS 7

Το Icinga2 είναι ένα ισχυρό σύστημα παρακολούθησης και όταν χρησιμοποιείται σε μοντέλο master-client, μπορεί να αντικαταστήσει την ανάγκη για ελέγχους παρακολούθησης που βασίζονται σε 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, μπορείτε περίπου

Ας κρυπτογραφήσουμε στο Plesk

Ας κρυπτογραφήσουμε στο 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 είναι ένα δωρεάν και ανοιχτού κώδικα εργαλείο για την ανασκόπηση του πηγαίου κώδικα, της τεκμηρίωσης, των εικόνων και πολλών άλλων. Είναι λογισμικό που βασίζεται στο web

Ρύθμιση ελέγχου ταυτότητας HTTP με Nginx στο CentOS 7

Ρύθμιση ελέγχου ταυτότητας HTTP με Nginx στο CentOS 7

Σε αυτόν τον οδηγό, θα μάθετε πώς να ρυθμίζετε τον έλεγχο ταυτότητας HTTP για έναν διακομιστή web Nginx που εκτελείται σε CentOS 7. Απαιτήσεις Για να ξεκινήσετε, θα χρειαστείτε

Πώς να εγκαταστήσετε το 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

Πώς να εγκαταστήσετε το Laravel GitScrum στο CentOS 7

Πώς να εγκαταστήσετε το Laravel GitScrum στο CentOS 7

Το Laravel GitScrum ή GitScrum είναι ένα εργαλείο παραγωγικότητας ανοιχτού κώδικα που έχει σχεδιαστεί για να βοηθά τις ομάδες ανάπτυξης να εφαρμόσουν τη μεθοδολογία Scrum με παρόμοιο τρόπο

Πώς να εγκαταστήσετε το PowerDNS στο CentOS

Πώς να εγκαταστήσετε το PowerDNS στο CentOS

Εισαγωγή Σε αυτό το σεμινάριο Vultr, θα μάθετε πώς να εγκαταστήσετε το PowerDNS. Το PowerDNS είναι ένα πρόγραμμα για την εκτέλεση των δικών σας διακομιστών ονομάτων. Είναι πολύ χρήσιμο όταν

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα