AirSonic là máy chủ phát trực tuyến phương tiện miễn phí, mã nguồn mở và dựa trên web cho phép bạn truy cập nhạc của mình từ vị trí trung tâm. Airsonic tương thích với mọi định dạng tệp âm thanh/video và cũng có thể phát trực tuyến qua giao thức HyperText Transfer. Đây là trình phát trực tuyến phương tiện tự lưu trữ được viết bằng ngôn ngữ Java và có thể xử lý các bộ sưu tập nhạc rất lớn. Nó chạy trên hầu hết các hệ điều hành bao gồm Windows, Linux và Mac OS.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt máy chủ phát trực tuyến phương tiện AirSonic trên CentOS 8.
Bạn có thể thực hiện việc này bằng cách chỉnh sửa tệp /etc/selinux/config:
Thực hiện các thay đổi sau:
Lưu và đóng tệp. Sau đó, khởi động lại hệ thống của bạn để áp dụng các thay đổi.
Sau khi Java đã được cài đặt, bạn có thể xác minh phiên bản Java bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Đầu tiên, hãy tạo một người dùng bằng lệnh sau:
Tiếp theo, hãy tạo một thư mục cho AirSonic bằng lệnh sau:
Tiếp theo, tải xuống phiên bản mới nhất của AirSonic từ kho lưu trữ Git bằng lệnh sau:
Tiếp theo, cấp quyền thích hợp cho thư mục airsonic bằng lệnh sau:
Tiếp theo, tải xuống tệp đơn vị systemd được cấu hình sẵn cho AirSonic bằng lệnh sau:
Tiếp theo, tải lại daemon systemd bằng lệnh sau:
Tiếp theo, khởi động dịch vụ AirSonic và cho phép nó khởi động khi khởi động bằng các lệnh sau:
Bây giờ bạn có thể xác minh trạng thái của AirSonic bằng lệnh sau:
Bạn sẽ nhận được kết quả đầu ra sau:
Bạn cũng có thể kiểm tra tiến trình đang chạy của AirSonic bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Tiếp theo, mở trình duyệt web và nhập URL
. Bạn sẽ được chuyển hướng đến trang sau:
Cung cấp tên người dùng và mật khẩu mặc định là admin/admin và nhấp vào nút Đăng nhập vào. Bạn sẽ thấy trang sau:
Tiếp theo, bạn sẽ cần thay đổi mật khẩu quản trị viên mặc định. Để thực hiện việc này, hãy nhấp vào Thay đổi mật khẩu quản trị viên . Bạn sẽ thấy trang sau:
Chọn người dùng quản trị, đánh dấu vào hộp kiểm thay đổi mật khẩu, nhập mật khẩu mới và nhấp vào nút Lưu để thay đổi mật khẩu mặc định.
Tiếp theo, bạn sẽ cần thiết lập thư mục phương tiện để lưu trữ nhạc và video của mình. Để thực hiện, hãy nhấp vào cài đặt > thư mục Phương tiện. Bạn sẽ thấy trang sau:
Bây giờ, nhập /var/media_files vào hộp Thư mục và nhấp vào nút Lưu.
Sau khi cài đặt, hãy tạo tệp cấu hình máy chủ ảo Nginx:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, hãy kiểm tra Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Tiếp theo, khởi động dịch vụ Nginx và cho phép nó khởi động sau khi khởi động lại hệ thống bằng lệnh sau:
Bây giờ, bạn có thể truy cập AirSonic bằng cách truy cập URL
.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt máy chủ phát trực tuyến phương tiện AirSonic trên CentOS 8.
Điều kiện tiên quyết
- Máy chủ chạy CentOS 8 với RAM tối thiểu 2 GB.
- Mật khẩu gốc được cấu hình trên máy chủ của bạn.
Bắt đầu
Theo mặc định, SELinux được bật trong máy chủ CentOS 8. Vì vậy, trước tiên bạn cần phải vô hiệu hóa nó.Bạn có thể thực hiện việc này bằng cách chỉnh sửa tệp /etc/selinux/config:
Mã:
nano /etc/selinux/config
Mã:
SELINUX=disabled
Cài đặt Java
AirSonic dựa trên Java nên bạn sẽ cần cài đặt Java vào hệ thống của mình. Bạn có thể cài đặt Java chỉ bằng cách chạy lệnh sau:
Mã:
dnf install java-1.8.0-openjdk-devel
Mã:
java -version
Mã:
openjdk version "1.8.0_232"Môi trường chạy thời gian OpenJDK (bản dựng 1.8.0_232-b09)Máy ảo máy chủ OpenJDK 64-Bit (bản dựng 25.232-b09, chế độ hỗn hợp)
Cài đặt AirSonic
Trước khi bắt đầu, bạn sẽ cần tạo một người dùng để chạy AirSonic.Đầu tiên, hãy tạo một người dùng bằng lệnh sau:
Mã:
useradd airsonic
Mã:
mkdir /var/airsonic /var/media_files
Mã:
wget https://github.com/airsonic/airsonic/releases/download/v10.4.1/airsonic.war --output-document=/var/airsonic/airsonic.war
Mã:
chown -R airsonic /var/airsonic
chown -R airsonic /var/media_files
Mã:
wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic.service -O /etc/systemd/system/airsonic.service
wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic-systemd-env -O /etc/sysconfig/airsonic
Mã:
systemctl daemon-reload
Mã:
systemctl start airsonic
systemctl enable airsonic
Mã:
systemctl status airsonic
Mã:
? airsonic.service - Airsonic Media Server Đã tải: đã tải (/etc/systemd/system/airsonic.service; đã tắt; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ Hai 2019-10-28 12:29:51 EDT; 2 phút 6 giây trước PID chính: 29564 (java) Nhiệm vụ: 18 (giới hạn: 5060) Bộ nhớ: 315,0M CGroup: /system.slice/airsonic.service ??29564 /usr/bin/java -Xmx700m -Dairsonic.home=/var/airsonic -Dserver.context-path=/airsonic -Dserver.port=8080 -jar /var/airsonic/>28/10 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.876 THÔNG TIN --- l.c.StandardChangeLogHistoryService: Đang đọc từ DATABASECHANGEL>28/10 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.877 THÔNG TIN --- l.executor.jvm.JdbcExecutor: CHỌN * TỪ DATABASECHANGE>28/10 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.969 THÔNG TIN --- liquibase.changelog.ChangeSet: Đánh dấu ChangeSet: classpath>Oct 28 12:31:49 centos8 java[29564]: classpath:liquibase/db-changelog.xml : Điều kiện tiên quyết tùy chỉnh không thành công: Điều kiện tiên quyết phiên bản chính của DBMS>Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.972 THÔNG TIN --- l.executor.jvm.JdbcExecutor : SELECT MAX(ORDEREXECUTED) FR>Oct 28 12:31:50 centos8 java[29564]: 2019-10-28 12:31:50.017 THÔNG TIN --- l.executor.jvm.JdbcExecutor : INSERT INTO DATABASECHANGELO>Oct 28 12:31:50 centos8 java[29564]: 2019-10-28 12:31:50.020 THÔNG TIN --- l.l.StandardLockService : Đã phát hành thành công thay đổi>Oct 28 12:31:51 centos8 java[29564]: 2019-10-28 12:31:51.489 THÔNG TIN --- o.airsonic.player.dao.PlayerDao : Đã xóa 1 người chơi đã>Oct 28 12:31:52 centos8 java[29564]: 2019-10-28 12:31:52.424 THÔNG TIN --- o.a.p.s.MediaScannerService : Quét thư viện phương tiện tự động>Oct 28 12:31:53 centos8 java[29564]: 2019-10-28 12:31:53.093 INFO --- o.a.p.service.PodcastService : Automa
Mã:
ps -ef | grep airsonic
Mã:
airsonic 29459 1 87 12:07 ? 00:02:08 /usr/bin/java -Xmx700m -Dairsonic.home=/var/airsonic -Dserver.context-path=/airsonic -Dserver.port=8080 -jar /var/airsonic/airsonic.warroot 29496 6103 0 12:10 pts/0 00:00:00 grep --color=auto airsonic
Truy cập Giao diện Web AirSonic
Trước khi truy cập giao diện web AirSonic, bạn sẽ cần mở cổng 80 và 8080 bằng firewalld. Bạn có thể thực hiện bằng các lệnh sau:
Mã:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
Cung cấp tên người dùng và mật khẩu mặc định là admin/admin và nhấp vào nút Đăng nhập vào. Bạn sẽ thấy trang sau:
Tiếp theo, bạn sẽ cần thay đổi mật khẩu quản trị viên mặc định. Để thực hiện việc này, hãy nhấp vào Thay đổi mật khẩu quản trị viên . Bạn sẽ thấy trang sau:
Chọn người dùng quản trị, đánh dấu vào hộp kiểm thay đổi mật khẩu, nhập mật khẩu mới và nhấp vào nút Lưu để thay đổi mật khẩu mặc định.
Tiếp theo, bạn sẽ cần thiết lập thư mục phương tiện để lưu trữ nhạc và video của mình. Để thực hiện, hãy nhấp vào cài đặt > thư mục Phương tiện. Bạn sẽ thấy trang sau:
Bây giờ, nhập /var/media_files vào hộp Thư mục và nhấp vào nút Lưu.
Cấu hình Nginx làm Proxy ngược
Tiếp theo, bạn sẽ cần cấu hình Nginx làm proxy ngược cho Airsonic trên cổng 8080. Để thực hiện, trước tiên hãy cài đặt máy chủ web Nginx bằng lệnh sau:
Mã:
dnf install nginx
Mã:
nano /etc/nginx/conf.d/airsonic.conf
Mã:
server { listen 80; server_name your-server-ip; access_log off; error_log off; location / { proxy_pass http://127.0.0.1:8080; proxy_redirect off; 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_max_temp_file_size 0; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;}}
Mã:
nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thành công
Mã:
systemctl start nginx
systemctl enable nginx