Εγκαταστήστε το Plesk στο CentOS 7
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Plesk είναι ένας ιδιόκτητος πίνακας ελέγχου web host που επιτρέπει στους χρήστες να διαχειρίζονται τους προσωπικούς ή/και τους πελάτες τους ιστότοπους, βάσεις δεδομένων
Το Matrix είναι ένα ανοιχτό πρότυπο πρωτόκολλο επικοινωνίας για αποκεντρωμένη επικοινωνία σε πραγματικό χρόνο. Το Matrix υλοποιείται ως οικιακούς διακομιστές που διανέμονται μέσω του Διαδικτύου. Ως εκ τούτου, δεν υπάρχει ενιαίο σημείο ελέγχου ή αποτυχίας. Το Matrix παρέχει ένα RESTful HTTP API για τη δημιουργία και τη διαχείριση των κατανεμημένων διακομιστών συνομιλίας που περιλαμβάνει αποστολή και λήψη μηνυμάτων, πρόσκληση και διαχείριση μελών δωματίου συνομιλίας, διατήρηση λογαριασμών χρηστών και παροχή προηγμένων λειτουργιών συνομιλίας, όπως VoIP και βιντεοκλήσεις, κ.λπ. ασφαλής συγχρονισμός μεταξύ οικιακών διακομιστών που διανέμονται σε όλο τον κόσμο.
Το Synapse είναι η υλοποίηση του οικιακού διακομιστή Matrix γραμμένο από την ομάδα του Matrix. Το οικοσύστημα Matrix αποτελείται από το δίκτυο πολλών ομοσπονδιακών οικιακών διακομιστών που διανέμονται σε όλο τον κόσμο. Ένας χρήστης Matrix χρησιμοποιεί έναν πελάτη συνομιλίας για να συνδεθεί στον οικιακό διακομιστή, ο οποίος με τη σειρά του συνδέεται στο δίκτυο Matrix. Ο Homeserver αποθηκεύει το ιστορικό συνομιλιών και τις πληροφορίες σύνδεσης του συγκεκριμένου χρήστη.
Σε αυτό το σεμινάριο, θα χρησιμοποιήσουμε matrix.example.com
ως όνομα τομέα που χρησιμοποιείται για το Matrix Synapse. Αντικαταστήστε όλες τις εμφανίσεις matrix.example.com
με το πραγματικό σας όνομα τομέα που θέλετε να χρησιμοποιήσετε για τον οικιακό διακομιστή Synapse.
Ενημερώστε το βασικό σας σύστημα χρησιμοποιώντας τον οδηγό Πώς να ενημερώσετε το CentOS 7 . Μόλις το σύστημά σας ενημερωθεί, προχωρήστε στην εγκατάσταση της Python.
Το Matrix Synapse χρειάζεται Python 2.7 για να λειτουργήσει. Η Python 2.7 είναι προεγκατεστημένη σε όλες τις περιπτώσεις διακομιστή CentOS. Μπορείτε να ελέγξετε την εγκατεστημένη έκδοση της Python.
python -V
Θα πρέπει να έχετε παρόμοια έξοδο.
[user@vultr ~]$ python -V
Python 2.7.5
Η αλλαγή της προεπιλεγμένης έκδοσης της Python μπορεί να σπάσει τον διαχειριστή αποθετηρίου YUM. Ωστόσο, εάν θέλετε την πιο πρόσφατη έκδοση της Python, μπορείτε να κάνετε μια εναλλακτική εγκατάσταση, χωρίς να αντικαταστήσετε την προεπιλεγμένη Python.
Εγκαταστήστε τα πακέτα στην Development tools
ομάδα που απαιτούνται για τη μεταγλώττιση των αρχείων εγκατάστασης.
sudo yum groupinstall -y "Development tools"
Εγκαταστήστε μερικές ακόμη απαιτούμενες εξαρτήσεις.
sudo yum -y install libtiff-devel libjpeg-devel libzip-devel freetype-devel lcms2-devel libwebp-devel tcl-devel tk-devel redhat-rpm-config python-virtualenv libffi-devel openssl-devel
Εγκαταστήστε το Python pip. Το Pip είναι ο διαχειριστής εξαρτήσεων για πακέτα Python.
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
Δημιουργήστε ένα εικονικό περιβάλλον για την εφαρμογή Synapse. Το εικονικό περιβάλλον Python χρησιμοποιείται για τη δημιουργία ενός απομονωμένου εικονικού περιβάλλοντος για ένα έργο Python. Ένα εικονικό περιβάλλον περιέχει τους δικούς του καταλόγους εγκατάστασης και δεν μοιράζεται βιβλιοθήκες με παγκόσμια και άλλα εικονικά περιβάλλοντα.
sudo virtualenv -p python2.7 /opt/synapse
Παρέχετε την κυριότητα του καταλόγου στον τρέχοντα χρήστη.
sudo chown -R $USER:$USER /opt/synapse/
Τώρα ενεργοποιήστε το εικονικό περιβάλλον.
source /opt/synapse/bin/activate
Βεβαιωθείτε ότι έχετε την πιο πρόσφατη έκδοση του pip
και setuptools
.
pip install --upgrade pip
pip install --upgrade setuptools
Εγκαταστήστε την πιο πρόσφατη έκδοση του Synapse χρησιμοποιώντας pip.
pip install https://github.com/matrix-org/synapse/tarball/master
Η παραπάνω εντολή θα χρειαστεί λίγο χρόνο για να εκτελεστεί καθώς τραβά και εγκαθιστά την πιο πρόσφατη έκδοση του Synapse και όλες τις εξαρτήσεις από το αποθετήριο Github.
Το Synapse χρησιμοποιεί το SQLite ως προεπιλεγμένη βάση δεδομένων. Το SQLite αποθηκεύει τα δεδομένα σε μια βάση δεδομένων που διατηρείται ως επίπεδο αρχείο στο δίσκο. Η χρήση του SQLite είναι πολύ απλή, αλλά δεν συνιστάται για παραγωγή καθώς είναι πολύ αργή σε σύγκριση με την PostgreSQL.
Το PostgreSQL είναι ένα σύστημα σχεσιακής βάσης δεδομένων αντικειμένων. Θα χρειαστεί να προσθέσετε το αποθετήριο PostgreSQL στο σύστημά σας, καθώς η εφαρμογή δεν είναι διαθέσιμη στον προεπιλεγμένο χώρο αποθήκευσης YUM.
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
Επεξεργαστείτε το /var/lib/pgsql/9.6/data/pg_hba.conf
για να ενεργοποιήσετε τον έλεγχο ταυτότητας βάσει MD5.
sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf
Βρείτε τις ακόλουθες γραμμές και αλλάξτε peer
σε trust
και idnet
σε 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 idnet
# IPv6 local connections:
host all all ::1/128 idnet
Μόλις ενημερωθεί, η διαμόρφωση θα πρέπει να μοιάζει με αυτό.
# 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
Σύνδεση.
sudo su - postgres
Δημιουργήστε έναν νέο χρήστη PostgreSQL για το Synapse.
createuser synapse
Η PostgreSQL παρέχει το psql
κέλυφος για την εκτέλεση ερωτημάτων στη βάση δεδομένων. Μεταβείτε στο κέλυφος PostgreSQL εκτελώντας.
psql
Ορίστε έναν κωδικό πρόσβασης για τον νέο χρήστη για τη βάση δεδομένων Synapse.
ALTER USER synapse WITH ENCRYPTED password 'DBPassword';
Αντικαταστήστε DBPassword
με έναν ισχυρό κωδικό πρόσβασης και σημειώστε τον καθώς θα χρησιμοποιήσουμε τον κωδικό πρόσβασης αργότερα. Δημιουργήστε μια νέα βάση δεδομένων για τη βάση δεδομένων PostgreSQL.
CREATE DATABASE synapse ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' template=template0 OWNER synapse;
Έξοδος από το psql
κέλυφος.
\q
Μετάβαση στον sudo
χρήστη από τον τρέχοντα postgres
χρήστη.
exit
Θα χρειαστεί επίσης να εγκαταστήσετε τα πακέτα που απαιτούνται για την επικοινωνία του Synapse με τον διακομιστή βάσης δεδομένων PostgreSQL.
sudo yum -y install postgresql-devel libpqxx-devel.x86_64
source /opt/synapse/bin/activate
pip install psycopg2
Το Synapse απαιτεί ένα αρχείο διαμόρφωσης για να μπορέσει να ξεκινήσει. Το αρχείο διαμόρφωσης αποθηκεύει τις ρυθμίσεις διακομιστή. Μεταβείτε στο εικονικό περιβάλλον και δημιουργήστε τη διαμόρφωση για το Synapse.
source /opt/synapse/bin/activate
cd /opt/synapse
python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes
Αντικαταστήστε το matrix.example.com
με το πραγματικό σας όνομα τομέα και βεβαιωθείτε ότι το όνομα διακομιστή μπορεί να επιλυθεί στη διεύθυνση IP της παρουσίας σας Vultr. Δώστε --report-stats=yes
εάν θέλετε οι διακομιστές να δημιουργούν τις αναφορές, δώστε --report-stats=no
για να απενεργοποιήσετε τη δημιουργία αναφορών και στατιστικών στοιχείων.
Θα πρέπει να δείτε μια παρόμοια έξοδο.
(synapse)[user@vultr synapse]$ python -m synapse.app.homeserver --server-name matrix.example.com --config-path homeserver.yaml --generate-config --report-stats=yes
A config file has been generated in 'homeserver.yaml' for server name 'matrix.example.com' with corresponding SSL keys and self-signed certificates. Please review this file and customise it to your needs.
If this server name is incorrect, you will need to regenerate the SSL certificates
Από προεπιλογή, homeserver.yaml
έχει ρυθμιστεί να χρησιμοποιεί μια βάση δεδομένων SQLite. Πρέπει να το τροποποιήσουμε για να χρησιμοποιήσουμε τη βάση δεδομένων PostgreSQL που δημιουργήσαμε νωρίτερα.
Επεξεργαστείτε το νέο homeserver.yaml
.
nano homeserver.yaml
Βρείτε την υπάρχουσα διαμόρφωση βάσης δεδομένων που χρησιμοποιεί το SQLite3. Σχολιάστε τις γραμμές όπως φαίνεται παρακάτω. Επίσης, προσθέστε τη νέα διαμόρφωση βάσης δεδομένων για PostgreSQL. Βεβαιωθείτε ότι χρησιμοποιείτε τα σωστά διαπιστευτήρια βάσης δεδομένων.
# Database configuration
#database:
# The database engine name
#name: "sqlite3"
# Arguments to pass to the engine
#args:
# Path to the database
#database: "/opt/synapse/homeserver.db"
database:
name: psycopg2
args:
user: synapse
password: DBPassword
database: synapse
host: localhost
cp_min: 5
cp_max: 10
Registration of a new user from a web interface is disabled by default. To enable registration, you can set enable_registration
to True
. You can also set a secret registration key, which allows anyone to register who has the secret key, even if registration is disabled.
enable_registration: False
registration_shared_secret: "YPPqCPYqCQ-Rj,ws~FfeLS@maRV9vz5MnnV^r8~pP.Q6yNBDG;"
Save the file and exit from the editor. Now you will need to register your first user. Before you can register a new user, though, you will need to start the application first.
source /opt/synapse/bin/activate && cd /opt/synapse
synctl start
You should see the following lines.
2017-09-05 11:10:41,921 - twisted - 131 - INFO - - SynapseSite starting on 8008
2017-09-05 11:10:41,921 - twisted - 131 - INFO - - Starting factory <synapse.http.site.SynapseSite instance at 0x44bbc68>
2017-09-05 11:10:41,921 - synapse.app.homeserver - 201 - INFO - - Synapse now listening on port 8008
2017-09-05 11:10:41,922 - synapse.app.homeserver - 442 - INFO - - Scheduling stats reporting for 3 hour intervals
started synapse.app.homeserver('homeserver.yaml')
Register a new Matrix user.
register_new_matrix_user -c homeserver.yaml https://localhost:8448
You should see the following.
(synapse)[user@vultr synapse]$ register_new_matrix_user -c homeserver.yaml https://localhost:8448
New user localpart [user]: admin
Password:
Confirm password:
Make admin [no]: yes
Sending registration request...
Success.
Finally, before you can use the Homeserver, you will need to allow port 8448 through the Firewall. Port 8448
is used as the secured federation port. Homeservers use this port to communicate with each other securely. You can also use the built-in Matrix web chat client through this port.
sudo firewall-cmd --permanent --zone=public --add-port=8448/tcp
sudo firewall-cmd --reload
You can now log in to the Matrix web chat client by going to https://matrix.example.com:8448
through your favorite browser. You will see a warning about the SSL certificate as the certificates used are self-signed. We will not use this web chat client as it is outdated and not maintained anymore. Just try to check if you can log in using the user account you just created.
Instead of using a self-signed certificate for securing federation port, we can use Let's Encrypt free SSL. Let's Encrypt free SSL can be obtained through the official Let's Encrypt client called Certbot.
Install Certbot.
sudo yum -y install certbot
Adjust your firewall setting to allow the standard HTTP
and HTTPS
ports through the firewall. Certbot needs to make an HTTP
connection to verify the domain authority.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
To obtain certificates from Let's Encrypt CA, you must ensure that the domain for which you wish to generate the certificates is pointed towards the server. If it is not, then make the necessary changes to the DNS records of your domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.
Now use the built-in web server in Certbot to generate the certificates for your domain.
sudo certbot certonly --standalone -d matrix.example.com
The generated certificates are likely to be stored in /etc/letsencrypt/live/matrix.example.com/
. The SSL certificate will be stored as fullchain.pem
and the private key will be stored as privkey.pem
.
Copy the certificates.
sudo cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem
sudo cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem
You will need to change the path to the certificates and keys from the homeserver.yaml
file. Edit the configuration.
nano /opt/synapse/homeserver.yaml
Find the following lines and modify the path.
tls_certificate_path: "/opt/synapse/letsencrypt-fullchain.pem"
# PEM encoded private key for TLS
tls_private_key_path: "/opt/synapse/letsencrypt-privkey.pem"
Save the file and exit from the editor. Restart the Synapse server so that the changes can take effect.
source /opt/synapse/bin/activate && cd /opt/synapse
synctl restart
Let's Encrypt certificates are due to expire in 90 days, so it is recommended that you setup auto renewal for the certificates using cron jobs. Cron is a system service which is used to run periodic tasks.
Create a new script to renew certificates and copy the renewed certificates to the Synapse directory.
sudo nano /opt/renew-letsencypt.sh
Populate the file.
#!/bin/sh
/usr/bin/certbot renew --quiet --nginx
cp /etc/letsencrypt/live/matrix.example.com/fullchain.pem /opt/synapse/letsencrypt-fullchain.pem
cp /etc/letsencrypt/live/matrix.example.com/privkey.pem /opt/synapse/letsencrypt-privkey.pem
Provide the execution permission.
sudo chmod +x /opt/renew-letsencypt.sh
Open the cron job file.
sudo crontab -e
Add the following line at the end of the file.
30 5 * * 1 /opt/renew-letsencypt.sh
The above cron job will run every Monday at 5:30 AM. If the certificate is due to expire, it will automatically renew them.
Now you can visit https://matrix.example.com:8448
. You will see that there is no SSL warning before connection.
Apart from the secured federation port 8448
, Synapse also listens to the unsecured client port 8008
. We will now configure Nginx as a reverse proxy to the Synapse application.
sudo yum -y install nginx
Create a new configuration file.
sudo nano /etc/nginx/conf.d/synapse.conf
Populate the file with the following content.
server {
listen 80;
server_name matrix.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name matrix.example.com;
ssl_certificate /etc/letsencrypt/live/matrix.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/matrix.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/synapse.access.log;
location /_matrix {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Restart and enable Nginx to automatically start at boot time.
sudo systemctl restart nginx
sudo systemctl enable nginx
Τέλος, μπορείτε να επαληθεύσετε εάν είναι δυνατή η πρόσβαση στο Synapse μέσω του αντίστροφου διακομιστή μεσολάβησης.
curl https://matrix.example.com/_matrix/key/v2/server/auto
Θα πρέπει να έχετε παρόμοια έξοδο.
[user@vultr ~]$ curl https://matrix.example.com/_matrix/key/v2/server/auto
{"old_verify_keys":{},"server_name":"matrix.example.com","signatures":{"matrix.example.com":{"ed25519:a_ffMf":"T/Uq/UN5vyc4w7v0azALjPIJeZx1vQ+HC6ohUGkTSqiFI4WI/ojGpb2763arwSSQLr/tP/2diCi1KLU2DEnOCQ"}},"tls_fingerprints":[{"sha256":"eorhQj/kubI2PEQZyBZvGV7K1x3EcQ7j/AO2MtZMplw"}],"valid_until_ts":1504876080512,"verify_keys":{"ed25519:a_ffMf":{"key":"Gc1hxkpPmQv71Cvjyk+uzR5UtrpmgV/UwlsLtosawEs"}}}
Συνιστάται η χρήση της υπηρεσίας Systemd για τη διαχείριση της διαδικασίας διακομιστή Synapse. Η χρήση του Systemd θα διασφαλίσει ότι ο διακομιστής ξεκινά αυτόματα κατά την εκκίνηση του συστήματος και τις αποτυχίες.
Δημιουργήστε ένα νέο αρχείο υπηρεσίας Systemd.
sudo nano /etc/systemd/system/matrix-synapse.service
Συμπληρώστε το αρχείο.
[Unit]
Description=Matrix Synapse service
After=network.target
[Service]
Type=forking
WorkingDirectory=/opt/synapse/
ExecStart=/opt/synapse/bin/synctl start
ExecStop=/opt/synapse/bin/synctl stop
ExecReload=/opt/synapse/bin/synctl restart
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=synapse
[Install]
WantedBy=multi-user.target
Τώρα μπορείτε να ξεκινήσετε γρήγορα τον διακομιστή Synapse.
sudo systemctl start matrix-synapse
Για να σταματήσετε ή να επανεκκινήσετε τον διακομιστή χρησιμοποιώντας τις ακόλουθες εντολές.
sudo systemctl stop matrix-synapse
sudo systemctl restart matrix-synapse
Μπορείτε να ελέγξετε την κατάσταση της υπηρεσίας.
sudo systemctl status matrix-synapse
Ο διακομιστής Matrix Synapse είναι πλέον εγκατεστημένος και διαμορφωμένος στον διακομιστή σας. Καθώς το ενσωματωμένο πρόγραμμα-πελάτη ιστού για το Matrix είναι ξεπερασμένο, μπορείτε να επιλέξετε από την ποικιλία των εφαρμογών-πελατών που είναι διαθέσιμες για συνομιλία. Το Riot είναι ο πιο δημοφιλής πελάτης συνομιλίας, ο οποίος είναι διαθέσιμος σχεδόν σε όλες τις πλατφόρμες. Μπορείτε να χρησιμοποιήσετε τη φιλοξενούμενη έκδοση του προγράμματος-πελάτη συνομιλίας ιστού της Riot ή μπορείτε επίσης να φιλοξενήσετε ένα αντίγραφό του στον δικό σας διακομιστή. Εκτός από αυτό, μπορείτε επίσης να χρησιμοποιήσετε προγράμματα-πελάτες συνομιλίας για επιτραπέζιους υπολογιστές και φορητές συσκευές της Riot, τα οποία είναι διαθέσιμα για Windows, Mac, Linux, IOS και Android.
Εάν θέλετε να φιλοξενήσετε το δικό σας αντίγραφο του προγράμματος-πελάτη ιστού Riot, μπορείτε να διαβάσετε περαιτέρω για τις οδηγίες εγκατάστασης του Riot στον διακομιστή σας. Για πελάτες που φιλοξενούνται, επιτραπέζιοι υπολογιστές και κινητά, μπορείτε να χρησιμοποιήσετε το όνομα χρήστη και τον κωδικό πρόσβασής σας για να συνδεθείτε απευθείας στον κεντρικό υπολογιστή σας. Απλώς επιλέξτε my Matrix ID
από το αναπτυσσόμενο μενού της Sign In
επιλογής και δώστε το όνομα χρήστη και τον κωδικό πρόσβασης που δημιουργήσατε κατά την εγγραφή ενός νέου χρήστη. Κάντε κλικ στο Custom server
και χρησιμοποιήστε το όνομα τομέα της παρουσίας σας στο Synapse. Καθώς έχουμε ήδη διαμορφώσει το Nginx, μπορούμε απλώς να το χρησιμοποιήσουμε https://matrix.example.com
ως κεντρικός διακομιστής και https://matrix.org
ως URL διακομιστή ταυτότητας.
Το Riot είναι επίσης ανοιχτού κώδικα και δωρεάν για φιλοξενία στον δικό σας διακομιστή. Δεν απαιτεί καμία βάση δεδομένων ή εξαρτήσεις. Καθώς έχουμε ήδη έναν διακομιστή Nginx σε λειτουργία, μπορούμε να τον φιλοξενήσουμε στον ίδιο διακομιστή.
The domain or subdomain you are using for Synapse and Riot must be different to avoid cross-site scripting. However, you can use two subdomains of the same domain. In this tutorial, we will be using
riot.example.com
as the domain for the Riot application. Replace all occurrence ofriot.example.com
with your actual domain or subdomain for the Riot application.
Κατεβάστε το Riot στον διακομιστή σας.
cd /opt/
sudo wget https://github.com/vector-im/riot-web/releases/download/v0.12.3/riot-v0.12.3.tar.gz
Μπορείτε πάντα να βρείτε τον σύνδεσμο προς την πιο πρόσφατη έκδοση στο Github της Riot .
Εξαγωγή του αρχείου.
sudo tar -xzf riot-v*.tar.gz
Μετονομάστε τον κατάλογο για ευκολία χειρισμού.
sudo mv riot-v*/ riot/
Επειδή έχουμε ήδη εγκαταστήσει το Certbot, μπορούμε να δημιουργήσουμε τα πιστοποιητικά απευθείας. Βεβαιωθείτε ότι ο τομέας ή ο υποτομέας που χρησιμοποιείτε είναι στραμμένος προς τον διακομιστή.
sudo systemctl stop nginx
sudo certbot certonly --standalone -d riot.example.com
Τα πιστοποιητικά που δημιουργούνται είναι πιθανό να αποθηκευτούν στον /etc/letsencrypt/live/riot.example.com/
κατάλογο.
Δημιουργήστε έναν εικονικό κεντρικό υπολογιστή για την εφαρμογή Riot.
sudo nano /etc/nginx/conf.d/riot.conf
Συμπληρώστε το αρχείο.
server {
listen 80;
server_name riot.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name riot.example.com;
ssl_certificate /etc/letsencrypt/live/riot.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/riot.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;
root /opt/riot;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
access_log /var/log/nginx/riot.access.log;
}
Αντιγράψτε το δείγμα αρχείου ρυθμίσεων.
sudo cp /opt/riot/config.sample.json /opt/riot/config.json
Τώρα επεξεργαστείτε το αρχείο ρυθμίσεων για να κάνετε λίγες αλλαγές.
sudo nano /opt/riot/config.json
Βρείτε τις παρακάτω γραμμές.
"default_hs_url": "https://matrix.org",
"default_is_url": "https://vector.im",
Αντικαταστήστε την τιμή της προεπιλεγμένης διεύθυνσης URL του οικιακού διακομιστή με τη διεύθυνση URL του διακομιστή Matrix. Για τη διεύθυνση URL διακομιστή ταυτότητας, μπορείτε να χρησιμοποιήσετε την προεπιλεγμένη επιλογή ή μπορείτε επίσης να δώσετε την τιμή της στον διακομιστή ταυτότητας Matrix, που είναι https://matrix.org
.
"default_hs_url": "https://matrix.example.com",
"default_is_url": "https://matrix.org",
Αποθηκεύστε το αρχείο και βγείτε. Παρέχετε την ιδιοκτησία των αρχείων στον χρήστη Nginx.
sudo chown -R nginx:nginx /opt/riot/
Επανεκκινήστε το Nginx.
sudo systemctl restart nginx
Μπορείτε να αποκτήσετε πρόσβαση στο Riot στο https://riot.example.com
. Τώρα μπορείτε να συνδεθείτε χρησιμοποιώντας το όνομα χρήστη και τον κωδικό πρόσβασης που έχετε δημιουργήσει νωρίτερα. Μπορείτε να συνδεθείτε χρησιμοποιώντας τον προεπιλεγμένο διακομιστή, καθώς έχουμε ήδη αλλάξει τον προεπιλεγμένο διακομιστή Matrix για την εφαρμογή μας.
Τώρα έχετε έναν οικιακό διακομιστή Matrix Synapse σε λειτουργία και λειτουργία. Έχετε επίσης ένα φιλοξενούμενο αντίγραφο του Riot, το οποίο μπορείτε να χρησιμοποιήσετε για να στείλετε ένα μήνυμα σε άλλα άτομα χρησιμοποιώντας το Matrix ID, το email ή τον αριθμό του κινητού τους. Ξεκινήστε δημιουργώντας ένα chat room στον διακομιστή σας και προσκαλέστε τους φίλους σας στο Matrix να συμμετάσχουν στο chat room που δημιουργήσατε.
Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το 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. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα