Airsonic là máy chủ phương tiện mã nguồn mở và miễn phí. Đây là trình phát phương tiện dựa trên web tự lưu trữ, cung cấp quyền truy cập phổ biến vào nhạc của bạn, giúp bạn dễ dàng chia sẻ nhạc với bạn bè hoặc nghe nhạc khi đang làm việc. Airsonic được tạo bằng Java như một nhánh đầy đủ của Subsonic và được thiết kế để xử lý các bộ sưu tập nhạc rất lớn và được tối ưu hóa cho luồng MP3. Airsonic hoạt động với bất kỳ định dạng âm thanh hoặc video nào có thể phát trực tuyến qua giao thức HTTP, bao gồm WMA, FLAC, APE, v.v.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn từng bước cách cài đặt Airsonic trên Ubuntu 18.04. Chúng tôi sẽ chỉ cho bạn cách triển khai cài đặt Airsonic độc lập bằng gói .WAR, chạy Airsonic dưới dạng dịch vụ, sau đó cấu hình máy chủ web Nginx làm proxy ngược cho Airsonic.
Cài đặt các gói 'software-properties-common' rồi thêm kho lưu trữ Java OpenJDK PPA.
Chạy các lệnh apt sau.
Bây giờ hãy cài đặt Java OpenJDK.
Sau khi cài đặt hoàn tất, hãy kiểm tra phiên bản Java OpenJDK.
Bây giờ bạn sẽ thấy Java OpenJDK 1.8 series đã được cài đặt trên hệ thống Ubuntu 18.04.
Tạo một người dùng mới có tên 'airsonic' và tạo một thư mục mới '/opt/airsonic'.
Bây giờ hãy đến thư mục '/opt/airsonic' và tải xuống tệp gói '.WAR' của Airsonic bằng wget.
Và thay đổi chủ sở hữu của thư mục '/opt/airsonic' thành người dùng và nhóm 'airsonic'.
Gói nhị phân '.WAR' của Airsonic đã được tải xuống.
Tiếp theo, chúng ta cần tạo một tệp dịch vụ mới cho Airsonic, hãy chuyển đến thư mục '/etc/systemd/system' và tạo một tệp dịch vụ mới 'airsonic.service'.
Dán cấu hình dịch vụ Airsonic sau vào đó.
Lưu và thoát.
Tải lại hệ thống systemd và tạo tệp cấu hình mặc định airsonic mới trên thư mục '/etc/default'.
Dán cấu hình airsonic mặc định sau vào đó.
Lưu và thoát.
Bây giờ hãy khởi động dịch vụ Airsonic và cho phép nó khởi chạy mọi lúc khi khởi động hệ thống.
Cài đặt 'độc lập' của airsonic đã hoàn tất và hiện đã hoạt động, hãy kiểm tra bằng lệnh netstat.
Và bạn sẽ nhận được cổng mặc định của Airsonic '8080' ở trạng thái 'LISTEN', được dịch vụ Java Airsonic sử dụng.
Và đối với bước này, chúng ta sẽ tạo chứng chỉ SSL từ Letsencrypt. Cài đặt công cụ Letsencrypt bằng lệnh apt sau.
Công cụ Letsencrypt đã được cài đặt.
Tiếp theo, chúng ta cần tạo chứng chỉ SSL mới cho tên miền 'music.hakase-labs.io' bằng lệnh bên dưới.
Bạn sẽ được yêu cầu cung cấp địa chỉ email và địa chỉ này được sử dụng để thông báo gia hạn. Đối với thỏa thuận TOS của Letsencrypt, hãy nhập 'A' để đồng ý và đối với địa chỉ email chia sẻ, bạn có thể nhập 'N' để không.
Khi hoàn tất, bạn sẽ nhận được kết quả như hiển thị bên dưới.
SSL Letsencrypt cho miền 'music.hakase-labs.io' đã được tạo, tất cả các chứng chỉ đều nằm trong thư mục '/etc/letsencrypt/live/domain'.
Cài đặt máy chủ web Nginx bằng lệnh apt sau.
Bây giờ hãy vào thư mục '/etc/nginx' và tạo một tệp máy chủ ảo mới 'airsonic'.
Dán cấu hình sau vào đó.
Lưu và thoát.
Kích hoạt tệp máy chủ ảo 'airsonic' và kiểm tra cấu hình.
Đảm bảo không có lỗi, sau đó khởi động lại dịch vụ nginx và cho phép nó khởi chạy mọi lúc khi khởi động hệ thống.
Máy chủ web Nginx hiện đang chạy như một proxy ngược cho Airsonic trên cổng 8080 và đang chạy dưới kết nối bảo mật https.
Kiểm tra bằng lệnh netstat bên dưới.
Mở dịch vụ SSH, HTTP và HTTPS trên danh sách tường lửa UFW bằng cách chạy các lệnh bên dưới.
Bây giờ hãy bật tường lửa ufw.
Gõ 'y' và nhấn Enter để bắt đầu và bật tường lửa UFW.
Và tường lửa ufw đã được bật.
Bây giờ bạn sẽ được hiển thị trang đăng nhập Airsonic.
Đăng nhập với tư cách là người dùng mặc định 'admin' với mật khẩu 'admin' và nhấn nút 'Đăng nhập'.
Và khi bạn đã đăng nhập, bạn sẽ thấy Bảng điều khiển Airsonic.
Bây giờ hãy chọn người dùng 'admin' và đánh dấu vào 'Thay đổi mật khẩu', sau đó nhập mật khẩu quản trị viên mới và nhấp vào 'Lưu'.
Mật khẩu quản trị viên mặc định cho Airsonic đã được thay đổi.
Bây giờ trên bảng điều khiển quản trị Airsonic, hãy nhấp vào nút 'Cài đặt' và nhấp vào tab 'Thư mục phương tiện'.
Đảm bảo rằng các thư mục phương tiện 'Âm nhạc' mặc định đã được bật, sau đó nhấp vào nút 'Lưu'.
Bây giờ hãy chuyển đến tab 'Người dùng', chọn người dùng 'quản trị' và kiểm tra thư mục phương tiện 'Âm nhạc' như bên dưới.
Thư mục phương tiện 'Âm nhạc' mặc định đã được bật và người dùng 'quản trị' hiện có quyền truy cập vào các thư mục phương tiện.
Dưới đây là bảng điều khiển Airsonic của tôi sau khi thực hiện một số thay đổi.
Quá trình cài đặt Airsonic media streamer với Nginx làm proxy ngược trên Ubuntu 18.04 đã hoàn tất thành công.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn từng bước cách cài đặt Airsonic trên Ubuntu 18.04. Chúng tôi sẽ chỉ cho bạn cách triển khai cài đặt Airsonic độc lập bằng gói .WAR, chạy Airsonic dưới dạng dịch vụ, sau đó cấu hình máy chủ web Nginx làm proxy ngược cho Airsonic.
Điều kiện tiên quyết
- Ubuntu 18.04
- Quyền root
Chúng ta sẽ làm gì?
- Cài đặt Java OpenJDK
- Cài đặt và cấu hình AirSonic
- Tạo chứng chỉ SSL Letsencrypt mới
- Cấu hình Nginx làm Proxy ngược
- Cấu hình tường lửa UFW
- Kiểm tra
Bước 1 - Cài đặt Java OpenJDK
Airsonic là phần mềm ứng dụng dựa trên Java, vì vậy chúng ta cần cài đặt Java trên máy chủ và nó yêu cầu OpenJDK Cài đặt phiên bản 1.8x. Trong bước đầu tiên này, chúng ta sẽ cài đặt Java OpenJDK từ kho lưu trữ PPA webupd8team.Cài đặt các gói 'software-properties-common' rồi thêm kho lưu trữ Java OpenJDK PPA.
Chạy các lệnh apt sau.
Mã:
sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:webupd8team/java -y
Mã:
sudo apt install oracle-java8-installer -y
Mã:
java -version
Bước 2 - Cài đặt và cấu hình Airsonic
Airsonic cung cấp nhiều gói cài đặt khác nhau, trong hướng dẫn này, chúng tôi sẽ sử dụng 'cài đặt WAR độc lập'.Tạo một người dùng mới có tên 'airsonic' và tạo một thư mục mới '/opt/airsonic'.
Mã:
useradd airsonic
mkdir -p /opt/airsonic
Mã:
cd /opt/airsonic
wget https://github.com/airsonic/airsonic/releases/download/v10.1.1/airsonic.war
Mã:
chown -R airsonic:airsonic /opt/airsonic
Tiếp theo, chúng ta cần tạo một tệp dịch vụ mới cho Airsonic, hãy chuyển đến thư mục '/etc/systemd/system' và tạo một tệp dịch vụ mới 'airsonic.service'.
Mã:
cd /etc/systemd/system/
vim airsonic.service
Mã:
[Unit]Mô tả=Airsonic Media Máy chủAfter=remote-fs.target network.targetAssertPathExists=/opt/airsonic[Service]Type=simpleEnvironment="JAVA_JAR=/opt/airsonic/airsonic.war"Environment="JAVA_OPTS=-Xmx700m"Environment="AIRSONIC_HOME=/opt/airsonic"Environment="PORT=8080"Environment="CONTEXT_PATH=/airsonic"Environment="JAVA_ARGS="EnvironmentFile=-/etc/sysconfig/airsonicExecStart=/usr/bin/java \ $JAVA_OPTS \ -Dairsonic.home=${AIRSONIC_HOME} \ -Dserver.context-path=${CONTEXT_PATH} \ -Dserver.port=${PORT} \ -jar ${JAVA_JAR} $JAVA_ARGSUser=airsonicGroup=airsonic[Install]WantedBy=multi-user.target
Tải lại hệ thống systemd và tạo tệp cấu hình mặc định airsonic mới trên thư mục '/etc/default'.
Mã:
sudo systemctl daemon-reload
vim /etc/default/airsonic
Mã:
# Đặt vị trí của cuộc chiến độc lập để sử dụngJAVA_JAR=/opt/airsonic/airsonic.war# Đặt bất kỳ java opts nào được phân tách bằng dấu cáchJAVA_OPTS=-Xmx700m# Đặt vị trí khác cho trang chủ airsonic.# Nếu đường dẫn này là /opt/libresonic hoặc thậm chí chứa "libresonic",# dữ liệu từ libresonic trước đó có thể được sử dụng như vậy (tức là không# đổi tên libresonic.properties,db/libresonic*, v.v.AIRSONIC_HOME=/opt/airsonic# Thay đổi cổng để lắng nghePORT=8080# Thay đổi đường dẫn được lắng nghe trênCONTEXT_PATH=/airsonic# Thêm bất kỳ đối số java nào. Chúng khác với JAVA_OPTS ở chỗ# chúng được truyền trực tiếp đến chương trình. Mặc định là trống:#JAVA_ARGS=# Lưu ý rằng có một số thiết lập cho spring boot, không được liệt kê rõ ràng# tại đây, nhưng có thể được sử dụng trong JAVA_OPTS hoặc JAVA_ARGS. Danh sách đầy đủ# có thể được tìm thấy tại đây:# https://docs.spring.io/spring-boot/docs/1.4.5.RELEASE/reference/htmlsingle/#common-application-properties# Ví dụ để thiết lập gỡ lỗi trên toàn bộ bảng:#JAVA_ARGS=--debug# Hoặc để thay đổi địa chỉ IP được lắng nghe:JAVA_ARGS=--server.address=127.0.0.1
Bây giờ hãy khởi động dịch vụ Airsonic và cho phép nó khởi chạy mọi lúc khi khởi động hệ thống.
Mã:
systemctl start airsonic
systemctl enable airsonic
Cài đặt 'độc lập' của airsonic đã hoàn tất và hiện đã hoạt động, hãy kiểm tra bằng lệnh netstat.
Mã:
netstat -plntu
Bước 3 - Tạo chứng chỉ SSL Letsencrypt mới
Trong hướng dẫn này, chúng ta sẽ triển khai Airsonic theo kết nối HTTPS của proxy ngược Nginx với tên miền 'music.hakase-labs.io'.Và đối với bước này, chúng ta sẽ tạo chứng chỉ SSL từ Letsencrypt. Cài đặt công cụ Letsencrypt bằng lệnh apt sau.
Mã:
sudo apt install letsencrypt -y
Tiếp theo, chúng ta cần tạo chứng chỉ SSL mới cho tên miền 'music.hakase-labs.io' bằng lệnh bên dưới.
Mã:
certbot certonly --standalone -d music.hakase-labs.io
Khi hoàn tất, bạn sẽ nhận được kết quả như hiển thị bên dưới.
SSL Letsencrypt cho miền 'music.hakase-labs.io' đã được tạo, tất cả các chứng chỉ đều nằm trong thư mục '/etc/letsencrypt/live/domain'.
Bước 4 - Cài đặt và cấu hình Nginx làm proxy ngược
Trong bước này, chúng ta sẽ cài đặt máy chủ web Nginx và cấu hình nó làm proxy ngược cho phần mềm Airsonic trên cổng 8080.Cài đặt máy chủ web Nginx bằng lệnh apt sau.
Mã:
sudo apt install nginx -y
Mã:
cd /etc/nginx/
vim sites-available/airsonic
Mã:
server { listen 80; listen [::]:80; server_name music.hakase-labs.io; # enforce https return 301 https://$server_name$request_uri;}server { listen 443 ssl; server_name music.hakase-labs.io; ssl_certificate /etc/letsencrypt/live/music.hakase-labs.io/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/music.hakase-labs.io/privkey.pem; vị trí /airsonic { proxy_set_header X-IP thực $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://; }}
Kích hoạt tệp máy chủ ảo 'airsonic' và kiểm tra cấu hình.
Mã:
ln -s /etc/nginx/sites-available/airsonic /etc/nginx/sites-enabled/
nginx -t
Mã:
systemctl restart nginx
systemctl enable nginx
Máy chủ web Nginx hiện đang chạy như một proxy ngược cho Airsonic trên cổng 8080 và đang chạy dưới kết nối bảo mật https.
Kiểm tra bằng lệnh netstat bên dưới.
Mã:
netstat -plntu
Bước 5 - Cấu hình tường lửa UFW
Trong hướng dẫn này, chúng ta sẽ bật tường lửa và sử dụng tường lửa UFW cho Ubuntu.Mở dịch vụ SSH, HTTP và HTTPS trên danh sách tường lửa UFW bằng cách chạy các lệnh bên dưới.
Mã:
ufw allow ssh
ufw allow http
ufw allow https
Mã:
ufw enable
Và tường lửa ufw đã được bật.
Bước 6 - Kiểm tra
Mở trình duyệt web của bạn và nhập URL cài đặt Airsonic vào thanh địa chỉ. Của tôi là:Bây giờ bạn sẽ được hiển thị trang đăng nhập Airsonic.
Đăng nhập với tư cách là người dùng mặc định 'admin' với mật khẩu 'admin' và nhấn nút 'Đăng nhập'.
Và khi bạn đã đăng nhập, bạn sẽ thấy Bảng điều khiển Airsonic.
- Thay đổi mật khẩu mặc định
Nhấp vào nút 'Thay đổi mật khẩu quản trị viên'.Bây giờ hãy chọn người dùng 'admin' và đánh dấu vào 'Thay đổi mật khẩu', sau đó nhập mật khẩu quản trị viên mới và nhấp vào 'Lưu'.
Mật khẩu quản trị viên mặc định cho Airsonic đã được thay đổi.
- Thiết lập phương tiện Thư mục
Quay lại máy chủ shell terminal, tạo thủ công các thư mục phương tiện mới và thay đổi chủ sở hữu của thư mục phương tiện thành người dùng 'airsonic'.
Mã:
mkdir -p /var/music
chown -R airsonic:airsonic /var/music
Đảm bảo rằng các thư mục phương tiện 'Âm nhạc' mặc định đã được bật, sau đó nhấp vào nút 'Lưu'.
Bây giờ hãy chuyển đến tab 'Người dùng', chọn người dùng 'quản trị' và kiểm tra thư mục phương tiện 'Âm nhạc' như bên dưới.
Thư mục phương tiện 'Âm nhạc' mặc định đã được bật và người dùng 'quản trị' hiện có quyền truy cập vào các thư mục phương tiện.
Dưới đây là bảng điều khiển Airsonic của tôi sau khi thực hiện một số thay đổi.
Quá trình cài đặt Airsonic media streamer với Nginx làm proxy ngược trên Ubuntu 18.04 đã hoàn tất thành công.