Εγκαταστήστε το Plesk στο CentOS 7
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων
Το Buildbot είναι ένα ανοιχτού κώδικα, βασισμένο στην Python, εργαλείο συνεχούς ενοποίησης για την αυτοματοποίηση της δημιουργίας, δοκιμών και ανάπτυξης λογισμικού. Το Buildbot αποτελείται από έναν ή περισσότερους κύριους του Buildbot και έναν αριθμό εργαζομένων. Το Buildbot master ή το Buildmaster έχει τον κεντρικό έλεγχο του συστήματος. Είναι υπεύθυνος για τη διαχείριση του περιβάλλοντος κατασκευής, των εργαζομένων και λαμβάνει όλες τις αποφάσεις σχετικά με την αποστολή θέσεων εργασίας στους εργαζόμενους. Το Buildmaster εντοπίζει αλλαγές στο αποθετήριο κώδικα και στέλνει τις εντολές ή τις εργασίες στους εργαζόμενους για εκτέλεση. Οι εργαζόμενοι εκτελούν τις εργασίες και επιστρέφουν το αποτέλεσμα στον Buildmaster. Στη συνέχεια, το Buildmaster ειδοποιεί τους προγραμματιστές μέσω πολλαπλών υποστηριζόμενων καναλιών. Σε αυτό το σεμινάριο, θα εγκαταστήσουμε το Buildbot Master and Worker στο CentOS 7. Θα διαμορφώσουμε επίσης τον έλεγχο ταυτότητας και το Nginx ως ασφαλή αντίστροφο διακομιστή μεσολάβησης.
Για αυτό το σεμινάριο, θα χρησιμοποιήσουμε 192.168.1.1
ως δημόσια διεύθυνση IP και ci.example.com
ως όνομα τομέα που δείχνει προς την παρουσία του Vultr. Βεβαιωθείτε ότι έχετε αντικαταστήσει όλες τις εμφανίσεις του παραδείγματος ονόματος τομέα και διεύθυνσης IP με την πραγματική.
Ενημερώστε το βασικό σας σύστημα χρησιμοποιώντας τον οδηγό Πώς να ενημερώσετε το CentOS 7 . Αφού ενημερωθεί το σύστημά σας, προχωρήστε στην εγκατάσταση της PostgreSQL.
Εγκαταστήστε το Pip, το οποίο είναι ένας διαχειριστής πακέτων για την Python.
sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip
Το 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 χρησιμοποιώντας το 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
Δημιουργήστε έναν νέο μη προνομιούχο χρήστη για την εκτέλεση διεργασιών 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.
Since we have already modified the worker configuration in ~/master/master.cfg
, we can proceed to create a new worker.
buildbot-worker create-worker ~/worker localhost localhost-worker Password123
Make sure that you use the exact same worker name and password as mentioned in ~/master/master.cfg
file. If there's a mismatch in worker name or password, the worker will not be able to connect to the Buildbot master. You will see the following output upon successful execution.
[buildbot@vultr ~]$ buildbot-worker create-worker ~/worker localhost example-worker pass
mkdir /home/buildbot/worker
mkdir /home/buildbot/worker/info
Creating info/admin, you need to edit it appropriately.
Creating info/host, you need to edit it appropriately.
Not creating info/access_uri - add it if you wish
Please edit the files in /home/buildbot/worker/info appropriately.
worker configured in /home/buildbot/worker
Information about the worker is stored in the /info
directory. Edit the administrative information about the developer.
nano ~/worker/info/admin
Replace the example name with your actual name and email.
Your Name <[email protected]>
Now, open the file containing information about the host.
nano ~/worker/info/host
Replace the example instruction with the actual information about the host system.
Localhost, CentOS 7
The worker admin and host information is only used to tell the users about the system. You can also add additional information about the system such as Buildbot version and Twisted version.
Start the worker.
buildbot-worker start ~/worker
The output will look like the following text.
[buildbot@vultr ~]$ buildbot-worker start ~/worker
Following twistd.log until startup finished..
The buildbot-worker appears to have (re)started correctly.
To check if the worker is registered, head to the web interface of Buildbot and navigate to Builds >> Workers
from the left navigation. You should see that the worker is up and ready to build.
To run a sample build, to check if the Buildbot worker is running successfully, navigate to Builds >> Builders
. Click on the runtests
builder name to open the builder interface and click on the Force
button to force a build. Provide your name and click on the Start Build
button to start the build. Since it is a sample build test to check the Buildbot environment, it will finish in a couple of seconds. You will get a success message and the build result.
Although the Buildbot master and worker can be easily started using the commands above, it is recommended to use Systemd units to run and manage the Buildbot services. This will ensure that they are automatically started on system restart and failures.
Note: Switch to the sudo
user again by running either exit
or su <username>
. From now on all the commands need to be executed by the sudo
user.
Stop the running Buildbot worker and master service.
sudo su buildbot -c "buildbot stop /home/buildbot/master"
sudo su buildbot -c "buildbot-worker stop ~/worker"
Create a new Systemd unit file for the Buildbot master.
sudo nano /etc/systemd/system/buildbot.service
Populate the file.
[Unit]
Description=BuildBot master service
After=network.target
[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/master
ExecStart=/usr/bin/buildbot start
ExecStop=/usr/bin/buildbot stop
ExecReload=/usr/bin/buildbot restart
[Install]
WantedBy=multi-user.target
Start the Buildbot master and enable it to automatically start at boot time.
sudo systemctl start buildbot
sudo systemctl enable buildbot
Create a new Systemd unit file for the Buildbot worker.
sudo nano /etc/systemd/system/buildbot-worker.service
Populate the file.
[Unit]
Description=BuildBot worker service
After=network.target
[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/worker
ExecStart=/usr/bin/buildbot-worker start
ExecStop=/usr/bin/buildbot-worker stop
ExecReload=/usr/bin/buildbot-worker restart
[Install]
WantedBy=multi-user.target
Start the Buildbot worker and enable it to automatically start at boot time.
sudo systemctl start buildbot-worker
sudo systemctl enable buildbot-worker
You can check the status of the services.
sudo systemctl status buildbot buildbot-worker
If the services are running smoothly, you will see that in the output.
[user@vultr ~]$ sudo systemctl status buildbot buildbot-worker
● buildbot.service - BuildBot master service
...
Active: active (running) since Fri 2018-01-12 16:00:59 UTC; 1min 25s ago
...
Jan 12 16:00:59 vultr.guest systemd[1]: Started BuildBot master service.
● buildbot-worker.service - BuildBot worker service
...
Active: active (running) since Fri 2018-01-12 16:02:00 UTC; 24s ago
...
Jan 12 16:02:00 vultr.guest systemd[1]: Started BuildBot worker service.
By default, authentication is not enabled in the Buildbot web interface. For internet facing sites, it is strongly recommended to setup authentication so that only the authorized users can have the ability to perform administrative tasks. To set up authentication, reopen the Buildbot master configuration file.
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
Add the following lines to the end of the file.
c['www']['authz'] = util.Authz(
allowRules = [
util.AnyEndpointMatcher(role="admins")
],
roleMatchers = [
util.RolesFromUsername(roles=['admins'], usernames=['admin_user'])
]
)
c['www']['auth'] = util.UserPasswordAuth({'admin_user': 'AdminPassword'})
Replace both occurrences of admin_user
with the actual username you want to use and AdminPassword
with a strong password.
Check for errors in the configuration file.
sudo su buildbot -c "buildbot checkconfig /home/buildbot/master"
Restart Buildbot master service so that the changes can take effect.
sudo systemctl restart buildbot
Browse the web interface again to see that the anonymous users can only view the basic details about the build server. Now, log in using the credentials set in the master.cfg
file and you will see that all other administrative functions are only available to the logged in admin user.
By default, Buildbot listens to the port 8010
on unsecured connections. Securing the web interface with HTTPS
is recommended to ensure that the data is safe during transportation from the browser to the server. In this section of the tutorial, we will install and secure Nginx with Let's Encrypt free SSL certificates. The Nginx web server will work as a reverse proxy to forward the incoming requests to Buildbot's HTTP endpoint.
Install Nginx.
sudo yum -y install nginx
Start Nginx and enable it to automatically start at boot time.
sudo systemctl start nginx
sudo systemctl enable nginx
Install Certbot, which is the client application for Let's Encrypt CA.
sudo yum -y install certbot
Before you can request the certificates, you will need to allow ports 80
and 443
or standard HTTP
and HTTPS
services through the firewall. Also, remove port 8010
, which listens to the unsecured connections.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8010/tcp --permanent
sudo firewall-cmd --reload
Note: To obtain certificates from Let's Encrypt CA, the domain for which the certificates are to be generated must be pointed towards the server. If not, make the necessary changes to the DNS records of the domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.
Generate the SSL certificates.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com
Τα πιστοποιητικά που δημιουργούνται είναι πιθανό να αποθηκευτούν στον /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.
Συνδεθείτε χρησιμοποιώντας τα διαπιστευτήρια διαχειριστή και προσθέστε την πρώτη σας διοχέτευση για να ξεκινήσετε τη δημιουργία της εφαρμογής σας.
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων
Το Squid είναι ένα δημοφιλές, δωρεάν πρόγραμμα Linux που σας επιτρέπει να δημιουργήσετε έναν διακομιστή μεσολάβησης web προώθησης. Σε αυτόν τον οδηγό, θα δείτε πώς να εγκαταστήσετε το Squid στο CentOS για να σας μετατρέψει
Εισαγωγή Το Lighttpd είναι ένα πιρούνι του Apache που έχει ως στόχο να είναι πολύ λιγότερο εντάσεως πόρων. Είναι ελαφρύ, εξ ου και το όνομά του, και είναι αρκετά απλό στη χρήση. Εγκατάσταση
Το Icinga2 είναι ένα ισχυρό σύστημα παρακολούθησης και όταν χρησιμοποιείται σε μοντέλο master-client, μπορεί να αντικαταστήσει την ανάγκη για ελέγχους παρακολούθησης που βασίζονται σε NRPE. Ο κύριος-πελάτης
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Apache Cassandra είναι ένα δωρεάν και ανοιχτού κώδικα σύστημα διαχείρισης βάσεων δεδομένων NoSQL που έχει σχεδιαστεί για να παρέχει επεκτασιμότητα, υψηλή
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Microweber είναι ένα ανοικτού κώδικα μεταφοράς και απόθεσης CMS και ηλεκτρονικό κατάστημα. Ο πηγαίος κώδικας Microweber φιλοξενείται στο GitHub. Αυτός ο οδηγός θα σας δείξει
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Vanilla forum είναι μια εφαρμογή φόρουμ ανοιχτού κώδικα γραμμένη σε PHP. Είναι πλήρως προσαρμόσιμο, εύκολο στη χρήση και υποστηρίζει εξωτερικά
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Mattermost είναι μια εναλλακτική λύση ανοιχτού κώδικα, που φιλοξενείται από τον εαυτό της στην υπηρεσία ανταλλαγής μηνυμάτων Slack SAAS. Με άλλα λόγια, με το Mattermost, μπορείτε περίπου
Ο πίνακας ελέγχου Plesk διαθέτει μια πολύ ωραία ενσωμάτωση για το Lets Encrypt. Το Lets Encrypt είναι ένας από τους μόνους παρόχους SSL που εκδίδει πιστοποιητικά πλήρως
Το Lets Encrypt είναι μια αρχή έκδοσης πιστοποιητικών αφιερωμένη στην παροχή πιστοποιητικών SSL δωρεάν. Το cPanel έχει δημιουργήσει μια τακτοποιημένη ενοποίηση για εσάς και τον πελάτη σας
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Concrete5 είναι ένα CMS ανοιχτού κώδικα που προσφέρει πολλές χαρακτηριστικές και χρήσιμες λειτουργίες για να βοηθήσει τους συντάκτες να παράγουν περιεχόμενο εύκολα και
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Review Board είναι ένα δωρεάν και ανοιχτού κώδικα εργαλείο για την ανασκόπηση του πηγαίου κώδικα, της τεκμηρίωσης, των εικόνων και πολλών άλλων. Είναι λογισμικό που βασίζεται στο web
Σε αυτόν τον οδηγό, θα μάθετε πώς να ρυθμίζετε τον έλεγχο ταυτότητας HTTP για έναν διακομιστή web Nginx που εκτελείται σε CentOS 7. Απαιτήσεις Για να ξεκινήσετε, θα χρειαστείτε
Το YOURLS (Your Own URL Shortener) είναι μια εφαρμογή συντόμευσης διευθύνσεων URL και ανάλυσης δεδομένων ανοιχτού κώδικα. Σε αυτό το άρθρο, θα καλύψουμε τη διαδικασία εγκατάστασης
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Το ArangoDB είναι μια βάση δεδομένων NoSQL ανοιχτού κώδικα με ένα ευέλικτο μοντέλο δεδομένων για έγγραφα, γραφήματα και κλειδιά-τιμές. είναι
Εισαγωγή Ο κατάλογος /etc/ παίζει κρίσιμο ρόλο στον τρόπο λειτουργίας ενός συστήματος Linux. Ο λόγος για αυτό είναι επειδή σχεδόν κάθε διαμόρφωση συστήματος
Πολλοί διαχειριστές συστημάτων διαχειρίζονται μεγάλες ποσότητες διακομιστών. Όταν χρειάζεται πρόσβαση στα αρχεία σε διαφορετικούς διακομιστές, συνδέεστε σε καθένα ξεχωριστά περίπου
Αυτό το σεμινάριο θα καλύψει τη διαδικασία εγκατάστασης ενός διακομιστή παιχνιδιών Half Life 2 στο σύστημα CentOS 6. Βήμα 1: Εγκατάσταση των προαπαιτούμενων Για να ρυθμίσετε το ou
Το Laravel GitScrum ή GitScrum είναι ένα εργαλείο παραγωγικότητας ανοιχτού κώδικα που έχει σχεδιαστεί για να βοηθά τις ομάδες ανάπτυξης να εφαρμόσουν τη μεθοδολογία Scrum με παρόμοιο τρόπο
Εισαγωγή Σε αυτό το σεμινάριο Vultr, θα μάθετε πώς να εγκαταστήσετε το PowerDNS. Το PowerDNS είναι ένα πρόγραμμα για την εκτέλεση των δικών σας διακομιστών ονομάτων. Είναι πολύ χρήσιμο όταν
Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.
Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.
Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.
Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.
Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…
Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.
Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.
Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.
Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.
Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα