Διαμόρφωση στατικής δικτύωσης και IPv6 στο CentOS 7
Το VULTR έκανε πρόσφατα αλλαγές στο τέλος του και όλα θα πρέπει τώρα να λειτουργούν σωστά με το NetworkManager ενεργοποιημένο. Εάν θέλετε να απενεργοποιήσετε
Η συνεχής ενσωμάτωση είναι μια πρακτική ανάπτυξης λογισμικού DevOps που επιτρέπει στους προγραμματιστές να συγχωνεύουν συχνά τον τροποποιημένο κώδικα στο κοινόχρηστο αποθετήριο πολλές φορές την ημέρα. Μετά από κάθε συγχώνευση, εκτελούνται αυτόματες εκδόσεις και δοκιμές για τον εντοπισμό προβλημάτων στον κώδικα. Επιτρέπει στους προγραμματιστές να βρίσκουν και να επιλύουν γρήγορα τα σφάλματα για να βελτιώσουν την ποιότητα του λογισμικού και να παρέχουν συνεχή παράδοση του λογισμικού. Η εναλλαγή από το Concourse είναι πολύ εύκολη, καθώς διατηρεί όλες τις παραμέτρους του σε δηλωτικά αρχεία που μπορούν να ελεγχθούν στον έλεγχο έκδοσης. Παρέχει επίσης μια διεπαφή χρήστη Ιστού που εμφανίζει τις πληροφορίες κατασκευής διαδραστικά.
Φροντίστε να αντικαταστήσετε όλες τις εμφανίσεις 192.0.2.1
και ci.example.com
με την πραγματική δημόσια διεύθυνση IP του Vultr και το πραγματικό όνομα τομέα σας.
Ενημερώστε το βασικό σας σύστημα χρησιμοποιώντας τον οδηγό Πώς να ενημερώσετε το CentOS 7 . Αφού ενημερωθεί το σύστημά σας, προχωρήστε στην εγκατάσταση της 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 και αποθηκεύστε το /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 παρέχουν έναν τρόπο κρυπτογράφησης της επικοινωνίας μεταξύ των στοιχείων του 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.
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
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.
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.
Το VULTR έκανε πρόσφατα αλλαγές στο τέλος του και όλα θα πρέπει τώρα να λειτουργούν σωστά με το NetworkManager ενεργοποιημένο. Εάν θέλετε να απενεργοποιήσετε
Τι χρειάζεστε Ένα Vultr VPS με τουλάχιστον 1 GB μνήμης RAM. Πρόσβαση SSH (με δικαιώματα root/διαχειριστή). Βήμα 1: Εγκατάσταση του BungeeCord Πρώτα πράγματα
Εισαγωγή Η εργασία σε συστήματα Linux σημαίνει ότι κάποιος χρησιμοποιεί τη γραμμή εντολών πιο συχνά. Πρέπει επίσης να πληκτρολογήσετε μεγάλα ονόματα καταλόγου ξανά και ξανά
Εισαγωγή Το RethinkDB είναι μια βάση δεδομένων NoSQL που αποθηκεύει δεδομένα ως έγγραφα JSON. Διαθέτει μια εξαιρετικά διαισθητική γλώσσα ερωτημάτων και διαθέτει χαρακτηριστικά που είναι κοινά διαθέσιμα i
Το DirectAdmin είναι ένας ιδιόκτητος πίνακας ελέγχου που βασίζεται στο web που μπορείτε να εγκαταστήσετε στον διακομιστή σας, ο οποίος προσφέρει μια ποικιλία λειτουργιών διαχείρισης συστήματος. Σε αυτό
Αυτό το άρθρο περιγράφει τη διαδικασία εκκίνησης για συστήματα CentOS/RHEL 7.x. Αν και μπορεί να παραμείνει παρόμοιο με τις προηγούμενες εκδόσεις, με το RHEL 7, το systemd είναι
Εισαγωγή Το PostgreSQL είναι το πιο προηγμένο σύστημα διαχείρισης σχεσιακών βάσεων δεδομένων ανοιχτού κώδικα στον κόσμο (RDBMS). Είναι συμβατό με τα πρότυπα ANSI SQL:2008 και
Η διαχείριση των χρηστών μπορεί να είναι μια τρομακτική εργασία: από την καθημερινή συντήρηση, τους κινδύνους ασφαλείας και την έλλειψη ενδελεχούς ηλεκτρονικής τεκμηρίωσης. Αυτό το άρθρο θα σας βοηθήσει να ξεκινήσετε
Η τεχνολογία Docker container σάς επιτρέπει να εκτελείτε εφαρμογές σε ένα συγκεκριμένο και απομονωμένο περιβάλλον. Το Docker Community Edition (CE) είναι το νέο όνομα για το fre
Εισαγωγή Ένας πρόσφατα ενεργοποιημένος διακομιστής CentOS 7 πρέπει να προσαρμοστεί για να μπορέσει να χρησιμοποιηθεί ως σύστημα παραγωγής. Σε αυτό το άρθρο, το πιο σημαντικό
Εισαγωγή Σε αυτό το σεμινάριο, καλό είναι να εγκαταστήσετε το Speedtest-cli για να ελέγξετε την ταχύτητα δικτύου του διακομιστή σας. Το Speedtest-cli είναι μια διεπαφή γραμμής εντολών για το th
Η διαχείριση του διακομιστή σας μόνο με SSH μπορεί να είναι εκφοβιστική. Το καλό για εμάς είναι ότι το Vultr έχει μια επιλογή View Console. Για να χρησιμοποιήσετε πλήρως την κονσόλα Vultrs VNC
Εισαγωγή Για τους διαχειριστές διακομιστών, είναι σημαντικό να ρυθμίζουν και να διατηρούν σωστά την ώρα στους διακομιστές. Ο εσφαλμένα ρυθμισμένος χρόνος θα προκαλέσει χάος εντός του ου
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Foreman είναι ένα δωρεάν και ανοιχτού κώδικα εργαλείο που σας βοηθά με τη διαμόρφωση και τη διαχείριση φυσικών και εικονικών διακομιστών. Forema
Εισαγωγή Το Sysctl επιτρέπει στο χρήστη να ρυθμίσει με ακρίβεια τον πυρήνα χωρίς να χρειάζεται να ξαναχτίσει τον πυρήνα. Θα εφαρμόσει επίσης τις αλλαγές αμέσως, έτσι ο διακομιστής κέρδισε
Σε αυτό το σεμινάριο, θα καλύψουμε τη διαδικασία εγκατάστασης και χρήσης nethogs στο CentOS 6x x64. Το nethogs είναι ένα εργαλείο παρακολούθησης δικτύου που επιτρέπει στο Networ
Το CentOS Web Panel ή CWP είναι ένας πίνακας ελέγχου φιλοξενίας ανοιχτού κώδικα που έχει σχεδιαστεί για γρήγορη και εύκολη διαχείριση ενός διακομιστή. Περιλαμβάνει όλα τα χαρακτηριστικά o
Υπάρχουν πολλές λύσεις εκεί έξω που αντικαθιστούν το Microsoft Exchange με μια λύση Linux, αλλά όλες είχαν ένα πρόβλημα που δεν μου άρεσε πολύ. Όταν λαμβάνω
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Η συνεχής ενοποίηση είναι μια πρακτική ανάπτυξης λογισμικού DevOps που επιτρέπει στους προγραμματιστές να συγχωνεύουν συχνά
Το Glowing Bear είναι μια διεπαφή ιστού για τον πελάτη WeeChat IRC και προσπαθεί να είναι μια σύγχρονη διεπαφή. Με τα χαρακτηριστικά του, όπως κλικ για αναφορά, αντικατάσταση emoji
Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.
Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.
Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.
Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.
Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…
Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.
Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.
Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.
Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.
Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα