Parakushtet
Hapi 1: Konfigurimi bazë i sistemit
Hapi 2: Instaloni OpenJDK Java Runtime Environment (JRE) 8
Hapi 3: Instaloni AirSonic
Hapi 4: Testoni instalimin
Hapi 5: Merrni një certifikatë Let's Encrypt SSL për faqen tuaj AirSonic
Hapi 6: Instaloni Nginx si një përfaqësues të kundërt
AirSonic është një server pa pagesë dhe me burim të hapur të transmetimit të mediave. Në këtë tutorial, unë do t'ju udhëheq përmes procesit të vendosjes së një shembulli të serverit AirSonic nga e para në një shembull të serverit CentOS 7.
Parakushtet
- Një shembull i serverit Vultr CentOS 7 i sapo vendosur me të paktën 2 GB memorie. Thuaj se ka një adresë IPv4
203.0.113.1.
- Një përdorues sudo .
- Një domen
airsonic.example.comqë drejtohet në shembullin e serverit të përmendur më sipër.
Hapi 1: Konfigurimi bazë i sistemit
Krijo një skedar shkëmbimi
Për të marrë një performancë më të mirë të sistemit, rekomandohet të krijoni një skedar shkëmbimi 2 GB (2048 M) në një makinë me 2 GB memorie:
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
Shënim: Nëse jeni duke përdorur një madhësi të ndryshme të serverit, madhësia e përshtatshme e ndarjes së shkëmbimit mund të ndryshojë.
Konfiguro emrin e hostit të makinës dhe emrin e domain-it plotësisht të kualifikuar (FQDN)
Për të mundësuar sigurinë HTTPS me një certifikatë Let's Encrypt SSL, kërkohet konfigurimi i duhur i një emri pritës dhe një FQDN për makinën.
Komandat e mëposhtme do të vendosin një emër airsonichosti dhe një FQDN airsonic.example.compër makinën:
sudo hostnamectl set-hostname airsonic
cat <<EOF | sudo tee /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 airsonic.example.com airsonic
127.0.0.1 airsonic
::1 airsonic
EOF
Rezultatet mund të konfirmohen me sa vijon:
hostname
hostname -f
Modifikoni rregullat e murit të zjarrit për të lejuar trafikun HTTP dhe HTTPS në hyrje
Hiqni bllokun e paracaktuar të CentOS 7 në portet 80( HTTP) dhe 443( HTTPS):
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
Instaloni repon
Instaloni repon EPEL YUM dhe më pas përditësoni sistemin:
sudo yum install -y epel-release
sudo yum -y update && sudo shutdown -r now
Pasi sistemi të rindizet, identifikohuni përsëri si i njëjti përdorues sudo për të vazhduar më tej.
Hapi 2: Instaloni OpenJDK Java Runtime Environment (JRE) 8
Instaloni OpenJDK JRE 8 dhe më pas konfirmoni rezultatin në CentOS 7:
sudo yum install -y java-1.8.0-openjdk.x86_64
java -version
Prodhimi i komandës së dytë do të jetë i ngjashëm me sa vijon:
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.18.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
Përveç kësaj, ju duhet të konfiguroni JAVA_HOMEvariablin e mjedisit si më poshtë:
echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile
Hapi 3: Instaloni AirSonic
AirSonic mund të vendoset duke përdorur metoda të ndryshme. Në këtë tutorial, ne do të instalojmë AirSonic duke përdorur paketën AirSonic WAR.
Krijoni një përdorues të dedikuar dhe një grup të dedikuar, të dy të emërtuar airsonic:
sudo groupadd airsonic
sudo mkdir /var/airsonic
sudo useradd -s /bin/nologin -g airsonic -d /var/airsonic -M airsonic
Shkarkoni paketën më të fundit AirSonic WAR:
cd /var/airsonic
sudo wget https://github.com/airsonic/airsonic/releases/download/v10.1.2/airsonic.war
sudo chown -R airsonic:airsonic /var/airsonic
Shkarkoni skedarët e paracaktuar të systemdnjësisë AirSonic dhe më pas nisni shërbimin 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/sysconfig/airsonic
sudo systemctl daemon-reload
sudo systemctl start airsonic.service
sudo systemctl enable airsonic.service
Shënim: Mund t'ju duhet të rishikoni dhe personalizoni dy skedarët e systemdnjësisë AirSonic në pajisjen tuaj.
Hapi 4: Testoni instalimin
AirSonic do të funksionojë tani, duke dëgjuar në port 8080. Ju mund të përdorni komandën e mëposhtme për të konfirmuar që ky është rasti:
ps -ef|grep airsonic
Ju gjithashtu mund të vizitoni drejtpërdrejt faqen e AirSonic, por së pari duhet të modifikoni përkohësisht rregullat e murit të zjarrit:
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo systemctl reload firewalld.service
Më pas, drejtojeni shfletuesin tuaj të preferuar të internetit në http://203.0.113.1:8080/airsonic, dhe më pas përdorni kredencialet e paracaktuara të listuara më poshtë për t'u identifikuar:
- Emri i përdoruesit:
admin
- Fjalëkalimi:
admin
Për qëllime sigurie, duhet të ndryshoni fjalëkalimin e administratorit menjëherë pas hyrjes.
Pasi të konfirmohet rezultati, kufizoni përsëri hyrjen në portin 8080:
sudo firewall-cmd --permanent --remove-port=8080/tcp
sudo systemctl reload firewalld.service
Hapi 5: Merrni një certifikatë Let's Encrypt SSL për faqen tuaj AirSonic
Për qëllime sigurie, rekomandohet të aktivizoni sigurinë HTTPS në çdo faqe interneti të krijuar rishtazi. Praktika më e përshtatshme për këtë është vendosja e një certifikate Let's Encrypt SSL si më poshtë.
Instaloni programin Certbot në CentOS 7:
sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot
Përdorni Certbot për të aplikuar për një certifikatë Let's Encrypt SSL për domenin airsonic.example.com:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m admin@example.com -d airsonic.example.com
Certifikata dhe zinxhiri do të ruhen në sa vijon:
/etc/letsencrypt/live/airsonic.example.com/fullchain.pem
Skedari kyç do të ruhet këtu:
/etc/letsencrypt/live/airsonic.example.com/privkey.pem
Certifikata Let's Encrypt SSL është projektuar të skadojë brenda tre muajsh. Mund të konfiguroni një punë cron për të rinovuar automatikisht certifikatat tuaja:
sudo crontab -e
Shtypni Idhe më pas futni hyrjen e mëposhtme:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Ruani dhe hiqni dorë:
:wq
Kjo punë cron do të përpiqet të përditësojë certifikatën Let's Encrypt çdo ditë në mesditë.
Hapi 6: Instaloni Nginx si një përfaqësues të kundërt
Me ndihmën e Nginx, ju mund të lehtësoni aksesin e vizitorëve (në mënyrë që ata të mos kenë më nevojë të 8080futin numrin e portit) dhe të aktivizoni sigurinë HTTPS në faqen tuaj të internetit AirSonic.
Instaloni Nginx duke përdorur YUM:
sudo yum install -y nginx
Tjetra, krijoni një skedar konfigurimi për AirSonic:
cat <<EOF | sudo tee /etc/nginx/conf.d/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
Rinisni Nginx për të vënë në fuqi konfigurimin tuaj:
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Më në fund, drejtojeni shfletuesin tuaj të preferuar të internetit te http://airsonic.example.com/airsonicose https://airsonic.example.com/airsonicpër të filluar të eksploroni faqen tuaj të internetit AirSonic.