Προαπαιτούμενα
Βήμα 1: Βασική διαμόρφωση συστήματος
Βήμα 2: Εγκαταστήστε το OpenJDK Java Runtime Environment (JRE) 8
Βήμα 3: Εγκαταστήστε το AirSonic
Βήμα 4: Δοκιμάστε την εγκατάσταση
Βήμα 5: Αποκτήστε ένα πιστοποιητικό Let's Encrypt SSL για τον ιστότοπό σας στην AirSonic
Βήμα 6: Εγκαταστήστε το Nginx ως αντίστροφο διακομιστή μεσολάβησης
Το AirSonic είναι ένας δωρεάν διακομιστής ροής πολυμέσων ανοιχτού κώδικα. Σε αυτό το σεμινάριο, θα σας καθοδηγήσω στη διαδικασία ανάπτυξης μιας παρουσίας διακομιστή AirSonic από την αρχή σε μια παρουσία διακομιστή Ubuntu 18.04 LTS.
Προαπαιτούμενα
- Μια πρόσφατα αναπτυγμένη παρουσία διακομιστή Vultr Ubuntu 18.04 LTS με τουλάχιστον 2 GB μνήμης. Ας πούμε ότι έχει διεύθυνση IPv4
203.0.113.1.
- Ένας χρήστης sudo .
- Ένας τομέας
airsonic.example.comπου υποδεικνύεται στην παρουσία διακομιστή που αναφέρεται παραπάνω.
Βήμα 1: Βασική διαμόρφωση συστήματος
Δημιουργήστε ένα αρχείο ανταλλαγής
Προκειμένου να έχετε καλύτερη απόδοση του συστήματος, συνιστάται να δημιουργήσετε ένα αρχείο ανταλλαγής 2 GB (2048 M) σε ένα μηχάνημα με μνήμη 2 GB:
sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -m
Σημείωση: Εάν χρησιμοποιείτε διαφορετικό μέγεθος διακομιστή, το κατάλληλο μέγεθος του διαμερίσματος swap ενδέχεται να διαφέρει.
Ρυθμίστε το όνομα κεντρικού υπολογιστή του μηχανήματος και το πλήρως πιστοποιημένο όνομα τομέα (FQDN)
Η σωστή ρύθμιση ενός ονόματος κεντρικού υπολογιστή και ενός FQDN για το μηχάνημα απαιτείται για την ενεργοποίηση της ασφάλειας HTTPS με ένα πιστοποιητικό Let's Encrypt SSL.
Οι ακόλουθες εντολές θα ρυθμίσουν ένα όνομα κεντρικού υπολογιστή airsonicκαι ένα FQDN airsonic.example.comγια το μηχάνημα:
sudo hostnamectl set-hostname airsonic
sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 airsonic.example.com airsonic/g' /etc/hosts
Τα αποτελέσματα μπορούν να επιβεβαιωθούν με τα ακόλουθα:
hostname
hostname -f
Τροποποίηση του τείχους προστασίας κανόνες ώστε να καταστεί δυνατή εισερχόμενες SSH, HTTPκαι HTTPSτην κυκλοφορία
Ρύθμιση κανόνων τείχους προστασίας UFW για τη λειτουργία ενός διακομιστή AirSonic:
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Όταν δείτε την προτροπή Command may disrupt existing ssh connections. Proceed with operation (y|n)?, πληκτρολογήστε yκαι στη συνέχεια πατήστε ENTER.
Ενημερώστε το σύστημα
Για λόγους ασφάλειας και απόδοσης, είναι απαραίτητο να ενημερώσετε το σύστημα Ubuntu 18.04 LTS στην πιο πρόσφατη κατάσταση:
sudo apt update
sudo apt upgrade -y && sudo shutdown -r now
Κατά τη διάρκεια της αναβάθμισης, ενδέχεται να ενημερωθείτε ότι η τρέχουσα εγκατεστημένη έκδοση του αρχείου διαμόρφωσης grub έχει τροποποιηθεί τοπικά. Εφόσον στην πραγματικότητα δεν είμαστε υπεύθυνοι για την τροποποίηση, χρησιμοποιήστε το UPβέλος για να επισημάνετε την install the package maintainer's versionεπιλογή και, στη συνέχεια, πατήστε ENTER.
Μετά την επανεκκίνηση του συστήματος, συνδεθείτε ξανά ως ο ίδιος χρήστης sudo για να προχωρήσετε.
Βήμα 2: Εγκαταστήστε το OpenJDK Java Runtime Environment (JRE) 8
Εγκαταστήστε το OpenJDK JRE 8 και, στη συνέχεια, επιβεβαιώστε τα αποτελέσματα:
sudo apt install -y openjdk-8-jre-headless
java -version
Η έξοδος της δεύτερης εντολής θα είναι παρόμοια με την ακόλουθη:
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.18.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
Επιπλέον, πρέπει να ρυθμίσετε τη JAVA_HOMEμεταβλητή περιβάλλοντος ως εξής:
echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile
Βήμα 3: Εγκαταστήστε το AirSonic
Το AirSonic μπορεί να αναπτυχθεί χρησιμοποιώντας διάφορες μεθόδους. Σε αυτό το σεμινάριο, θα εγκαταστήσουμε το AirSonic χρησιμοποιώντας το πακέτο AirSonic WAR.
Δημιουργήστε έναν αποκλειστικό χρήστη και μια αποκλειστική ομάδα, με το όνομα και τα δύο airsonic:
sudo groupadd airsonic
sudo mkdir /var/airsonic
sudo useradd -s /bin/nologin -g airsonic -d /var/airsonic -M airsonic
Κατεβάστε το πιο πρόσφατο πακέτο AirSonic WAR, AirSonic v10.1.2:
cd /var/airsonic
sudo wget https://github.com/airsonic/airsonic/releases/download/v10.1.2/airsonic.war
sudo chown -R airsonic:airsonic /var/airsonic
Κατεβάστε τα προκαθορισμένα systemdαρχεία της μονάδας AirSonic και, στη συνέχεια, ξεκινήστε την υπηρεσία AirSonic:
sudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic.service -O /etc/systemd/system/airsonic.service
sudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic-systemd-env -O /etc/default/airsonic
sudo systemctl daemon-reload
sudo systemctl start airsonic.service
sudo systemctl enable airsonic.service
Σημείωση: Ίσως χρειαστεί να ελέγξετε και να προσαρμόσετε τα δύο systemdαρχεία μονάδων AirSonic στο δικό σας μηχάνημα.
Βήμα 4: Δοκιμάστε την εγκατάσταση
Το AirSonic θα είναι σε λειτουργία τώρα, ακούγοντας στη θύρα 8080. Μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να επιβεβαιώσετε ότι συμβαίνει αυτό:
ps -ef|grep airsonic
Μπορείτε επίσης να επισκεφτείτε απευθείας τον ιστότοπο της AirSonic, αλλά πρέπει πρώτα να τροποποιήσετε προσωρινά τους κανόνες του τείχους προστασίας:
sudo ufw allow in 8080/tcp
Στη συνέχεια, τοποθετήστε το αγαπημένο σας πρόγραμμα περιήγησης ιστού στο http://203.0.113.1:8080/airsonicκαι, στη συνέχεια, χρησιμοποιήστε τα προεπιλεγμένα διαπιστευτήρια που αναφέρονται παρακάτω για να συνδεθείτε:
- Όνομα χρήστη:
admin
- Κωδικός πρόσβασης:
admin
Για λόγους ασφαλείας, θα πρέπει να αλλάξετε τον κωδικό πρόσβασης του διαχειριστή αμέσως μετά τη σύνδεση.
Μόλις επιβεβαιωθεί το αποτέλεσμα, περιορίστε 8080ξανά την πρόσβαση στη θύρα :
sudo ufw deny in 8080/tcp
Βήμα 5: Αποκτήστε ένα πιστοποιητικό Let's Encrypt SSL για τον ιστότοπό σας στην AirSonic
Για λόγους ασφαλείας, συνιστάται η ενεργοποίηση της ασφάλειας HTTPS σε κάθε ιστότοπο που δημιουργήθηκε πρόσφατα. Η πιο βολική πρακτική για αυτό είναι η ανάπτυξη ενός πιστοποιητικού Let's Encrypt SSL ως εξής.
Εγκαταστήστε το βοηθητικό πρόγραμμα Certbot:
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:certbot/certbot
sudo apt update
sudo apt install -y certbot
Χρησιμοποιήστε το Certbot για να υποβάλετε αίτηση για πιστοποιητικό Let's Encrypt SSL για τον τομέα airsonic.example.com:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m admin@example.com -d airsonic.example.com
Το πιστοποιητικό και η αλυσίδα θα αποθηκευτούν στα ακόλουθα:
/etc/letsencrypt/live/airsonic.example.com/fullchain.pem
Το αρχείο κλειδιού θα αποθηκευτεί εδώ:
/etc/letsencrypt/live/airsonic.example.com/privkey.pem
Το πιστοποιητικό Let's Encrypt SSL έχει σχεδιαστεί για να λήξει σε τρεις μήνες. Μπορείτε να ρυθμίσετε μια εργασία cron για να ανανεώνει αυτόματα τα πιστοποιητικά σας:
sudo crontab -e
Όταν σας ζητηθεί να επιλέξετε ένα πρόγραμμα επεξεργασίας, εισάγετε 2και, στη συνέχεια, πατήστε ENTERγια να επιλέξετε /usr/bin/vim.basic.
Στη συνέχεια, πατήστε Oκαι προσθέστε μια νέα γραμμή όπως φαίνεται παρακάτω:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Αποθήκευση και έξοδος:
:wq!
Αυτή η εργασία cron θα επιχειρήσει να ενημερώσει το πιστοποιητικό Let's Encrypt κάθε μέρα το μεσημέρι.
Βήμα 6: Εγκαταστήστε το Nginx ως αντίστροφο διακομιστή μεσολάβησης
Με τη βοήθεια του Nginx, μπορείτε τόσο να διευκολύνετε την πρόσβαση των επισκεπτών, (ώστε να μην χρειάζεται πλέον να εισάγουν τον 8080αριθμό θύρας), όσο και να ενεργοποιήσετε την ασφάλεια HTTPS στον ιστότοπό σας στην AirSonic.
Εγκαταστήστε το Nginx χρησιμοποιώντας το APT:
sudo apt install -y nginx
Στη συνέχεια, δημιουργήστε ένα αρχείο διαμόρφωσης για το AirSonic:
cat <<EOF | sudo tee /etc/nginx/sites-available/airsonic.conf
# Redirect HTTP to HTTPS
server {
listen 80;
server_name airsonic.example.com;
return 301 https://\$server_name\$request_uri;
}
server {
# Setup HTTPS certificates
listen 443 default ssl;
server_name airsonic.example.com;
ssl_certificate /etc/letsencrypt/live/airsonic.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/airsonic.example.com/privkey.pem;
# Proxy to the Airsonic server
location /airsonic {
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 https;
proxy_set_header X-Forwarded-Host \$http_host;
proxy_set_header Host \$http_host;
proxy_max_temp_file_size 0;
proxy_pass http://127.0.0.1:8080;
proxy_redirect http:// https://;
}
}
EOF
Δημιουργήστε έναν συμβολικό σύνδεσμο που οδηγεί στο νέο αρχείο διαμόρφωσης AirSonic Nginx:
sudo ln -s /etc/nginx/sites-available/airsonic.conf /etc/nginx/sites-enabled/
Επανεκκινήστε το Nginx για να θέσετε σε ισχύ τη διαμόρφωσή σας:
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Τέλος, κατευθύνετε το αγαπημένο σας πρόγραμμα περιήγησης ιστού http://airsonic.example.com/airsonicή https://airsonic.example.com/airsonicγια να ξεκινήσετε την εξερεύνηση του ιστότοπού σας AirSonic.