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

Εισαγωγή

Η συνεχής ενσωμάτωση είναι μια πρακτική ανάπτυξης λογισμικού DevOps που επιτρέπει στους προγραμματιστές να συγχωνεύουν συχνά τον τροποποιημένο κώδικα στο κοινόχρηστο αποθετήριο πολλές φορές την ημέρα. Μετά από κάθε συγχώνευση, εκτελούνται αυτόματες εκδόσεις και δοκιμές για τον εντοπισμό προβλημάτων στον κώδικα. Επιτρέπει στους προγραμματιστές να βρίσκουν και να επιλύουν γρήγορα τα σφάλματα για να βελτιώσουν την ποιότητα του λογισμικού και να παρέχουν συνεχή παράδοση του λογισμικού. Η εναλλαγή από το Concourse είναι πολύ εύκολη, καθώς διατηρεί όλες τις παραμέτρους του σε δηλωτικά αρχεία που μπορούν να ελεγχθούν στον έλεγχο έκδοσης. Παρέχει επίσης μια διεπαφή χρήστη Ιστού που εμφανίζει τις πληροφορίες κατασκευής διαδραστικά.

Συστατικά Συνεδρίου.
  • Το ATC είναι το κύριο συστατικό του Concourse. Είναι υπεύθυνο για την εκτέλεση της διεπαφής χρήστη και του API Ιστού. Φροντίζει επίσης για όλο τον προγραμματισμό των αγωγών.
  • Το TSA είναι ένας προσαρμοσμένος διακομιστής SSH. Είναι υπεύθυνο για την ασφαλή εγγραφή ενός εργαζομένου στο ATC.
  • Οι εργαζόμενοι εκτελούν περαιτέρω δύο διαφορετικές υπηρεσίες:
    1. Το Garden είναι ένας χρόνος εκτέλεσης κοντέινερ και μια διεπαφή για την ενορχήστρωση κοντέινερ εξ αποστάσεως σε έναν εργαζόμενο.
    2. Το Baggageclaim είναι ένας διακομιστής διαχείρισης κρυφής μνήμης και τεχνουργημάτων.
  • Το Fly είναι μια διεπαφή γραμμής εντολών που χρησιμοποιείται για την αλληλεπίδραση με το ATC για τη διαμόρφωση των αγωγών Concourse.

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

Φροντίστε να αντικαταστήσετε όλες τις εμφανίσεις 192.0.2.1και ci.example.comμε την πραγματική δημόσια διεύθυνση IP του Vultr και το πραγματικό όνομα τομέα σας.

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

Εγκαταστήστε και διαμορφώστε τη βάση δεδομένων PostgreSQL

Το PostgreSQL είναι ένα σύστημα σχεσιακής βάσης δεδομένων αντικειμένων. Το Concourse αποθηκεύει τα δεδομένα διοχέτευσης σε μια βάση δεδομένων PostgreSQL. Προσθέστε το αποθετήριο PostgreSQL.

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Εγκαταστήστε τον διακομιστή βάσης δεδομένων PostgreSQL.

sudo yum -y install postgresql96-server postgresql96-contrib

Αρχικοποιήστε τη βάση δεδομένων.

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

initdbδημιουργεί ένα νέο σύμπλεγμα βάσεων δεδομένων PostgreSQL, το οποίο είναι μια συλλογή βάσεων δεδομένων που διαχειρίζονται από μία μόνο παρουσία διακομιστή. Επεξεργαστείτε το pg_hba.confαρχείο για να ενεργοποιήσετε τον έλεγχο ταυτότητας βάσει MD5.

sudo nano /var/lib/pgsql/9.6/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 και ενεργοποιήστε τον να ξεκινά αυτόματα κατά την εκκίνηση.

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

Αλλάξτε τον κωδικό πρόσβασης για τον προεπιλεγμένο χρήστη PostgreSQL.

sudo passwd postgres

Είσοδος ως χρήστης PostgreSQL:

sudo su - postgres

Δημιουργήστε έναν νέο χρήστη PostgreSQL για το Concourse CI.

createuser concourse

Σημείωση : Ο προεπιλεγμένος χρήστης PostgreSQL μπορεί να χρησιμοποιηθεί για τον έλεγχο ταυτότητας της βάσης δεδομένων, αλλά συνιστάται η χρήση αποκλειστικού χρήστη για τον έλεγχο ταυτότητας της βάσης δεδομένων Concourse σε μια εγκατάσταση παραγωγής.

Η PostgreSQL παρέχει ένα κέλυφος για την εκτέλεση ερωτημάτων στη βάση δεδομένων. Μεταβείτε στο κέλυφος PostgreSQL εκτελώντας:

psql

Ορίστε έναν κωδικό πρόσβασης για τον νέο χρήστη της βάσης δεδομένων Concourse.

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

Σημαντικό : Αντικαταστήστε DBPasswordμε έναν ισχυρό κωδικό πρόσβασης. Σημειώστε τον κωδικό πρόσβασης, καθώς θα απαιτηθεί αργότερα στο σεμινάριο.

Δημιουργήστε μια νέα βάση δεδομένων για το Concourse.

CREATE DATABASE concourse OWNER concourse;

Βγείτε από το psqlκέλυφος.

\q

Μετάβαση στον χρήστη sudo από τον τρέχοντα χρήστη postgres.

exit

Λήψη και εγκατάσταση του Concourse CI

Πραγματοποιήστε λήψη της πιο πρόσφατης έκδοσης του εκτελέσιμου Concourse και αποθηκεύστε το /usr/binέτσι ώστε να μπορεί να εκτελεστεί απευθείας. Η πιο πρόσφατη έκδοση των δυαδικών αρχείων Concourse και Fly βρίσκεται στη σελίδα λήψης Concourse . Οι νέες κυκλοφορίες είναι πολύ συχνές. Αντικαταστήστε τον παρακάτω σύνδεσμο με τον νέο σύνδεσμο για την πιο πρόσφατη έκδοση.

sudo wget https://github.com/concourse/concourse/releases/download/v3.4.1/concourse_linux_amd64 -O /usr/bin/concourse

Ομοίως, πραγματοποιήστε λήψη της πιο πρόσφατης έκδοσης του εκτελέσιμου αρχείου fly και αποθηκεύστε το στο /usr/bin.

sudo wget https://github.com/concourse/concourse/releases/download/v3.4.1/fly_linux_amd64 -O /usr/bin/fly

Το Fly είναι η διεπαφή της γραμμής εντολών για σύνδεση στο ATC API του Concourse CI. Το Fly είναι διαθέσιμο για πολλές πλατφόρμες όπως Linux, Windows και MacOS.

Εκχωρήστε άδεια εκτέλεσης στα ληφθέντα concourseκαι flyδυαδικά αρχεία.

sudo chmod +x /usr/bin/concourse /usr/bin/fly

Ελέγξτε εάν τα Concourse and Fly λειτουργούν σωστά ελέγχοντας την έκδοσή τους.

concourse -version
fly -version

Δημιουργία και ρύθμιση κλειδιών RSA

Τα ζεύγη κλειδιών RSA παρέχουν έναν τρόπο κρυπτογράφησης της επικοινωνίας μεταξύ των στοιχείων του Concourse.

Για να λειτουργήσει το Concourse, πρέπει να δημιουργηθούν τουλάχιστον τρία ζεύγη κλειδιών. Για την κρυπτογράφηση των δεδομένων περιόδου λειτουργίας, δημιουργήστε ένα session_signing_key. Αυτό το κλειδί θα χρησιμοποιηθεί επίσης από την TSA για την υπογραφή των αιτημάτων που υποβάλλει στο ATC. Για να ασφαλίσετε τον διακομιστή TSA SSH, δημιουργήστε ένα tsa_host_key. Τέλος, δημιουργήστε ένα worker_keyγια κάθε εργαζόμενο.

Δημιουργήστε έναν νέο κατάλογο για να αποθηκεύσετε τα κλειδιά και τις ρυθμίσεις παραμέτρων που σχετίζονται με το Concourse CI.

sudo mkdir /opt/concourse

Δημιουργήστε τα απαιτούμενα κλειδιά.

sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/session_signing_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/tsa_host_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/worker_key

Εξουσιοδοτήστε το δημόσιο κλειδί των εργαζομένων αντιγράφοντας τα περιεχόμενά του στο authorized_worker_keysαρχείο:

sudo cp /opt/concourse/worker_key.pub /opt/concourse/authorized_worker_keys

Έναρξη Concourse

Το Concourse παρέχει δύο ξεχωριστά στοιχεία που πρέπει να ξεκινήσουν, τον ιστό και τον εργαζόμενο. Ξεκινήστε τον ιστό του Concourse.

sudo concourse web \
  --basic-auth-username admin \
  --basic-auth-password StrongPass \
  --session-signing-key /opt/concourse/session_signing_key \
  --tsa-host-key /opt/concourse/tsa_host_key \
  --tsa-authorized-keys /opt/concourse/authorized_worker_keys \
  --postgres-user=concourse \
  --postgres-password=DBPassword \
  --postgres-database=concourse \
  --external-url http://192.0.2.1:8080

Αλλάξτε το όνομα χρήστη και τον κωδικό πρόσβασης του, basic-authεάν θέλετε. Βεβαιωθείτε ότι η διαδρομή προς τα βασικά αρχεία είναι σωστή και βεβαιωθείτε ότι παρέχεται η σωστή τιμή για το όνομα χρήστη και τον κωδικό πρόσβασης στη διαμόρφωση της βάσης δεδομένων PostgreSQL.

Σημείωση : Το ATC θα ακούσει την προεπιλεγμένη θύρα 8080και το TSA θα ακούσει τη θύρα 2222. Εάν δεν είναι επιθυμητός έλεγχος ταυτότητας, περάστε την --no-really-i-dont-want-any-authεπιλογή αφού αφαιρέσετε τις βασικές επιλογές ελέγχου ταυτότητας.

Μόλις ξεκινήσει ο διακομιστής web, θα πρέπει να εμφανιστεί η ακόλουθη έξοδος.

{"timestamp":"1503657859.661247969","source":"tsa","message":"tsa.listening","log_level":1,"data":{}}
{"timestamp":"1503657859.666907549","source":"atc","message":"atc.listening","log_level":1,"data":{"debug":"127.0.0.1:8079","http":"0.0.0.0:8080"}}

Διακόψτε τον διακομιστή προς το παρόν, καθώς πρέπει να ρυθμίσετε μερικά ακόμη πράγματα.

Ξεκινήστε το Concourse CI Worker.

sudo concourse worker \
  --work-dir /opt/concourse/worker \
  --tsa-host 127.0.0.1 \
  --tsa-public-key /opt/concourse/tsa_host_key.pub \
  --tsa-worker-private-key /opt/concourse/worker_key

Η παραπάνω εντολή θα υποθέσει ότι το TSA εκτελείται σε localhost και ακούει την προεπιλεγμένη θύρα 2222.

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

Διαμόρφωση υπηρεσίας περιβάλλοντος και συστήματος

Using Systemd service for managing the application ensures that the application is automatically started on failures and at boot time. The Concourse server does not take data from any configuration file, but it can access the data from environment variables. Instead of setting global environment variables, create a new file to store the environment variables and then pass the variables to the Concourse CI using the Systemd service.

Create a new environment file for Concourse web.

sudo nano /opt/concourse/web.env

Populate the file.

CONCOURSE_SESSION_SIGNING_KEY=/opt/concourse/session_signing_key
CONCOURSE_TSA_HOST_KEY=/opt/concourse/tsa_host_key
CONCOURSE_TSA_AUTHORIZED_KEYS=/opt/concourse/authorized_worker_keys

CONCOURSE_POSTGRES_USER=concourse
CONCOURSE_POSTGRES_PASSWORD=DBPassword
CONCOURSE_POSTGRES_DATABASE=concourse

CONCOURSE_BASIC_AUTH_USERNAME=admin
CONCOURSE_BASIC_AUTH_PASSWORD=StrongPass
CONCOURSE_EXTERNAL_URL=http://192.0.2.1:8080

Change the username and password of the BASIC_AUTH if desired. Make sure that the path to the key files are correct and make sure that the correct value for username and password in the PostgreSQL database configuration is provided.

Similarly, create an environment file for the worker.

sudo nano /opt/concourse/worker.env

Populate the file.

CONCOURSE_WORK_DIR=/opt/concourse/worker
CONCOURSE_TSA_WORKER_PRIVATE_KEY=/opt/concourse/worker_key
CONCOURSE_TSA_PUBLIC_KEY=/opt/concourse/tsa_host_key.pub
CONCOURSE_TSA_HOST=127.0.0.1

As the environment files contain username and passwords, change its permissions so that it cannot be accessed by other users.

sudo chmod 600 /opt/concourse/*.env

Now create a new user for Concourse to run the web environment. This will ensure that the web server is running in an isolated environment.

sudo adduser --system concourse

Give the concourse user ownership over Concourse CI file's directory.

sudo chown -R concourse:concourse /opt/concourse

Create a new systemd service file for the Concourse web service.

sudo nano /etc/systemd/system/concourse-web.service

Populate the file.

[Unit]
Description=Concourse CI web server
After=postgresql-9.6.service

[Service]
Type=simple
User=concourse
Group=concourse
Restart=on-failure
EnvironmentFile=/opt/concourse/web.env
ExecStart=/usr/bin/concourse web
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_web

[Install]
WantedBy=multi-user.target

Save and close the file. Create a new service file for the Concourse worker service.

sudo nano /etc/systemd/system/concourse-worker.service

Populate the file.

[Unit]
Description=Concourse CI worker process
After=concourse-web.service

[Service]
Type=simple
User=root
Group=root
Restart=on-failure
EnvironmentFile=/opt/concourse/worker.env
ExecStart=/usr/bin/concourse worker
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_worker

[Install]
WantedBy=multi-user.target

The web and worker service can now be started directly by running:

sudo systemctl start concourse-web concourse-worker

To enable the worker and web process to automatically start at boot time, run:

sudo systemctl enable concourse-worker concourse-web

To check the status of services, run:

sudo systemctl status concourse-worker concourse-web

If the service is not started, or in the FAILED state, remove the cache from the /tmp directory.

sudo rm -rf /tmp/*

Restart the services.

sudo systemctl restart concourse-worker concourse-web

Notice that this time the services have started correctly. The output upon verifying the status of the services should be simil.

[user@vultr ~]$ sudo systemctl status concourse-worker concourse-web
● concourse-worker.service - Concourse CI worker process
   Loaded: loaded (/etc/systemd/system/concourse-worker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
 Main PID: 3037 (concourse)
   CGroup: /system.slice/concourse-worker.service
           └─3037 /usr/bin/concourse worker

Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.934722900","source":"tsa","message":"t...""}}
Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.941227913","source":"guardian","messag...0"}}
...

● concourse-web.service - Concourse CI web server
   Loaded: loaded (/etc/systemd/system/concourse-web.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
 Main PID: 3036 (concourse)
   CGroup: /system.slice/concourse-web.service
           └─3036 /usr/bin/concourse web

Aug 26 07:27:57 vultr.guest concourse_web[3036]: {"timestamp":"1503732477.925554752","source":"tsa","message":"tsa...ve"}}
Aug 26 07:28:02 vultr.guest concourse_web[3036]: {"timestamp":"1503732482.925430775","source":"tsa","message":"tsa...ve"}}
...
Hint: Some lines were ellipsized, use -l to show in full.

Adjust your firewall to allow port 8080, on which ATS is running and port 2222, on which TSA is running.

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

Connecting to the Server

Once the server is started, the web interface of the Concourse CI can be accessed by going to http://192.0.2.1:8080 in any browser. Log in using the username and password provided in the environment file.

To connect to the server using Fly, run:

fly -t my-ci login -c http://192.0.2.1:8080

The above command is used for initial login to the server. -t is used to provide a target name. replace my-ci with any desired target name. The above command will log in to the default team main. It will ask for the username and password provided in the environment file.

The output will look like the following.

[user@vultr ~]$ fly -t my-ci login -c http://192.0.2.1:8080
logging in to team 'main'

username: admin
password:

target saved

The target login will be saved for a day. After that, it will expire.

To log out immediately.

fly -t my-ci logout

fly can be used to login to the server outside of the network, but only if the server has a public IP address and it is accessible from outside the network. The Windows or MacOS binary can be downloaded from the download site or from the web UI of the server.

Setting Up Nginx Reverse Proxy

Logins, and other information sent through the web UI to the Concourse server is not secured. The connection is not encrypted. An Nginx reverse proxy can be set up with a Let's Encrypt free SSL.

Install the Nginx web server and Certbot, which is the client application for the Let's Encrypt CA.

sudo yum -y install certbot-nginx nginx

Start and enable Nginx to automatically start at boot time:

sudo systemctl start nginx
sudo systemctl enable nginx

Before a request can be made for the certificates, port 80 and 443, or standard HTTP and HTTPS services, must be enabled through the firewall. Certbot will check the domain authority before issuing certificates.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent

Port 8080 no longer needs to be allowed through the firewall anymore because Concourse will now be run on the standard HTTPS port. Remove the firewall entry to allow port 8080.

sudo firewall-cmd --zone=public --remove-port=8080/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

The generated certificates are likely to be stored in the /etc/letsencrypt/live/ci.example.com/ directory. The SSL certificate will be stored as fullchain.pem and the private key will be stored as privkey.pem.

Let's Encrypt certificates expire in 90 days, so it is recommended auto renewal for the certificates is set up using cronjobs. Cron is a system service which is used to run periodic tasks.

Open the cron job file.

sudo crontab -e

Add the following line at the end of the file.

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

The above cron job will run every Monday at 5:30 AM. If the certificate is due for expiry, it will automatically be renewed.

Create a new virtual host.

sudo nano /etc/nginx/conf.d/concourse-ssl.conf

Populate the file.

server {
    listen 80;
    server_name ci.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name ci.example.com;

    ssl_certificate           /etc/letsencrypt/live/ci.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/ci.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log    /var/log/nginx/concourse.access.log;

    location / {

      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_pass          http://localhost:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:8080 https://ci.example.com;
    }
  }

Note: Replace ci.example.com with the actual domain.

Edit the Environment file created for concourse Web.

sudo nano /opt/concourse/web.env

Change the value of CONCOURSE_EXTERNAL_URL and also add two more lines at the end of the file.

CONCOURSE_EXTERNAL_URL=https://ci.example.com
CONCOURSE_BIND_IP=127.0.0.1
CONCOURSE_BIND_PORT=8080

Save the file and restart Concourse Web, Worker and Nginx web server:

sudo systemctl restart concourse-worker concourse-web nginx

All the data sent to and from the browser is now secured with SSL encryptions.


Διαμόρφωση στατικής δικτύωσης και IPv6 στο CentOS 7

Διαμόρφωση στατικής δικτύωσης και IPv6 στο CentOS 7

Το VULTR έκανε πρόσφατα αλλαγές στο τέλος του και όλα θα πρέπει τώρα να λειτουργούν σωστά με το NetworkManager ενεργοποιημένο. Εάν θέλετε να απενεργοποιήσετε

Δημιουργία δικτύου διακομιστών Minecraft με το BungeeCord σε Debian 8, Debian 9 ή CentOS 7

Δημιουργία δικτύου διακομιστών Minecraft με το BungeeCord σε Debian 8, Debian 9 ή CentOS 7

Τι χρειάζεστε Ένα Vultr VPS με τουλάχιστον 1 GB μνήμης RAM. Πρόσβαση SSH (με δικαιώματα root/διαχειριστή). Βήμα 1: Εγκατάσταση του BungeeCord Πρώτα πράγματα

Ενισχύστε την παραγωγικότητα με τα Z και Zsh στο CentOS

Ενισχύστε την παραγωγικότητα με τα Z και Zsh στο CentOS

Εισαγωγή Η εργασία σε συστήματα Linux σημαίνει ότι κάποιος χρησιμοποιεί τη γραμμή εντολών πιο συχνά. Πρέπει επίσης να πληκτρολογήσετε μεγάλα ονόματα καταλόγου ξανά και ξανά

Ρύθμιση του RethinkDB Cluster στο CentOS 7

Ρύθμιση του RethinkDB Cluster στο CentOS 7

Εισαγωγή Το RethinkDB είναι μια βάση δεδομένων NoSQL που αποθηκεύει δεδομένα ως έγγραφα JSON. Διαθέτει μια εξαιρετικά διαισθητική γλώσσα ερωτημάτων και διαθέτει χαρακτηριστικά που είναι κοινά διαθέσιμα i

Εγκαταστήστε το DirectAdmin στο CentOS 6 ή 7

Εγκαταστήστε το DirectAdmin στο CentOS 6 ή 7

Το DirectAdmin είναι ένας ιδιόκτητος πίνακας ελέγχου που βασίζεται στο web που μπορείτε να εγκαταστήσετε στον διακομιστή σας, ο οποίος προσφέρει μια ποικιλία λειτουργιών διαχείρισης συστήματος. Σε αυτό

Επισκόπηση και αντιμετώπιση προβλημάτων διαδικασίας εκκίνησης CentOS 7 και RHEL 7

Επισκόπηση και αντιμετώπιση προβλημάτων διαδικασίας εκκίνησης CentOS 7 και RHEL 7

Αυτό το άρθρο περιγράφει τη διαδικασία εκκίνησης για συστήματα CentOS/RHEL 7.x. Αν και μπορεί να παραμείνει παρόμοιο με τις προηγούμενες εκδόσεις, με το RHEL 7, το systemd είναι

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

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

Εισαγωγή Το PostgreSQL είναι το πιο προηγμένο σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων ανοιχτού κώδικα στον κόσμο (RDBMS). Είναι συμβατό με τα πρότυπα ANSI SQL:2008 και

Βασικά στοιχεία διαχείρισης χρηστών σε συστήματα CentOS

Βασικά στοιχεία διαχείρισης χρηστών σε συστήματα CentOS

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

Εγκατάσταση του Docker CE στο CentOS 7

Εγκατάσταση του Docker CE στο CentOS 7

Η τεχνολογία Docker container σάς επιτρέπει να εκτελείτε εφαρμογές σε ένα συγκεκριμένο και απομονωμένο περιβάλλον. Το Docker Community Edition (CE) είναι το νέο όνομα για το fre

Αρχική εγκατάσταση ενός διακομιστή CentOS 7

Αρχική εγκατάσταση ενός διακομιστή CentOS 7

Εισαγωγή Ένας πρόσφατα ενεργοποιημένος διακομιστής CentOS 7 πρέπει να προσαρμοστεί για να μπορέσει να χρησιμοποιηθεί ως σύστημα παραγωγής. Σε αυτό το άρθρο, το πιο σημαντικό

Ελέγξτε την ταχύτητα Διαδικτύου με το Speedtest-cli στο CentOS

Ελέγξτε την ταχύτητα Διαδικτύου με το Speedtest-cli στο CentOS

Εισαγωγή Σε αυτό το σεμινάριο, καλό είναι να εγκαταστήσετε το Speedtest-cli για να ελέγξετε την ταχύτητα δικτύου του διακομιστή σας. Το Speedtest-cli είναι μια διεπαφή γραμμής εντολών για το th

Εγκαταστήστε το περιβάλλον GUI στο CentOS 6

Εγκαταστήστε το περιβάλλον GUI στο CentOS 6

Η διαχείριση του διακομιστή σας μόνο με SSH μπορεί να είναι εκφοβιστική. Το καλό για εμάς είναι ότι το Vultr έχει μια επιλογή View Console. Για να χρησιμοποιήσετε πλήρως την κονσόλα Vultrs VNC

Ρυθμίστε τη ζώνη ώρας και το NTP στο CentOS 6

Ρυθμίστε τη ζώνη ώρας και το NTP στο CentOS 6

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

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

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

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Foreman είναι ένα δωρεάν και ανοιχτού κώδικα εργαλείο που σας βοηθά με τη διαμόρφωση και τη διαχείριση φυσικών και εικονικών διακομιστών. Forema

Ασφάλιση και σκλήρυνση του πυρήνα CentOS 7 με το Sysctl

Ασφάλιση και σκλήρυνση του πυρήνα CentOS 7 με το Sysctl

Εισαγωγή Το Sysctl επιτρέπει στο χρήστη να ρυθμίσει με ακρίβεια τον πυρήνα χωρίς να χρειάζεται να ξαναχτίσει τον πυρήνα. Θα εφαρμόσει επίσης τις αλλαγές αμέσως, έτσι ο διακομιστής κέρδισε

Χρησιμοποιήστε το Nethogs για την παρακολούθηση της χρήσης εύρους ζώνης δικτύου

Χρησιμοποιήστε το Nethogs για την παρακολούθηση της χρήσης εύρους ζώνης δικτύου

Σε αυτό το σεμινάριο, θα καλύψουμε τη διαδικασία εγκατάστασης και χρήσης nethogs στο CentOS 6x x64. Το nethogs είναι ένα εργαλείο παρακολούθησης δικτύου που επιτρέπει στο Networ

Εγκαταστήστε το CentOS Web Panel (CWP) στο CentOS 6

Εγκαταστήστε το CentOS Web Panel (CWP) στο CentOS 6

Το CentOS Web Panel ή CWP είναι ένας πίνακας ελέγχου φιλοξενίας ανοιχτού κώδικα που έχει σχεδιαστεί για γρήγορη και εύκολη διαχείριση ενός διακομιστή. Περιλαμβάνει όλα τα χαρακτηριστικά o

Ρυθμίστε τα Zarafa και Yaffas στο CentOS 6

Ρυθμίστε τα Zarafa και Yaffas στο CentOS 6

Υπάρχουν πολλές λύσεις εκεί έξω που αντικαθιστούν το Microsoft Exchange με μια λύση Linux, αλλά όλες είχαν ένα πρόβλημα που δεν μου άρεσε πολύ. Όταν λαμβάνω

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

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

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Η συνεχής ενοποίηση είναι μια πρακτική ανάπτυξης λογισμικού DevOps που επιτρέπει στους προγραμματιστές να συγχωνεύουν συχνά

Ανάπτυξη ενός Glowing Bear Backend Server στο CentOS 7

Ανάπτυξη ενός Glowing Bear Backend Server στο CentOS 7

Το Glowing Bear είναι μια διεπαφή ιστού για τον πελάτη WeeChat IRC και προσπαθεί να είναι μια σύγχρονη διεπαφή. Με τα χαρακτηριστικά του, όπως κλικ για αναφορά, αντικατάσταση emoji

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. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα