Ampache là một ứng dụng phát trực tuyến âm thanh cá nhân dựa trên web nguồn mở được viết bằng PHP. Nó cho phép bạn lưu trữ và quản lý bộ sưu tập nhạc kỹ thuật số của mình trên máy chủ và phát trực tuyến đến máy tính, điện thoại thông minh, máy tính bảng hoặc TV thông minh. Bạn có thể sử dụng nhiều ứng dụng Android và iOS để phát nhạc từ máy chủ nhạc Ampache đến các thiết bị cá nhân của bạn.
Hướng dẫn này sẽ trình bày cách cài đặt ứng dụng Ampache trên máy chủ chạy Fedora 33 và cách tải nhạc lên máy chủ đó để phát nhạc.
[*]
Một số gói mà hệ thống của bạn cần.
[*]
Vô hiệu hóa SELinux.
Kiểm tra xem tường lửa có đang chạy không.
Bạn sẽ nhận được kết quả sau.
Đặt vùng mặc định của tường lửa thành public.
Kiểm tra các dịch vụ/cổng hiện được phép.
Kết quả sau sẽ hiển thị.
Cho phép các cổng HTTP và HTTPS.
Kiểm tra lại trạng thái của tường lửa.
Bạn sẽ thấy kết quả tương tự.
Tải lại Tường lửa.
Tiếp theo, cấu hình Git bằng thông tin cá nhân của bạn.
Theo mặc định, Fedora 33 đi kèm với MariaDB 10.4 nhưng vì MariaDB 10.5 là phiên bản ổn định mới nhất, chúng tôi sẽ sử dụng kho lưu trữ MariaDB chính thức cho việc đó.
Tạo tệp
Dán mã sau vào đó.
Lưu và đóng tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Để cài đặt MariaDB, hãy đưa ra lệnh sau.
Hãy đảm bảo rằng bạn nhập
Kiểm tra xem MariaDB đã được cài đặt đúng chưa.
Bạn sẽ thấy đầu ra sau.
Bật và khởi động dịch vụ MariaDB.
Chạy lệnh sau để thực hiện cấu hình mặc định như cung cấp mật khẩu gốc, xóa người dùng ẩn danh, không cho phép đăng nhập gốc từ xa và xóa bảng thử nghiệm.
Với MariaDB 10.4, giờ đây bạn sẽ được hỏi giữa việc sử dụng mật khẩu gốc hay plugin
Nhấn Enter sẽ chọn tùy chọn mặc định (tùy chọn được viết hoa, trong trường hợp này là Y).
Vậy là xong. Lần tới khi bạn muốn đăng nhập vào MySQL, hãy sử dụng lệnh sau
Nhập mật khẩu gốc của bạn khi được nhắc.
Khi ở dấu nhắc, hãy nhập các lệnh sau để thiết lập cơ sở dữ liệu có tên ampache và người dùng cơ sở dữ liệu có tên ampuser và cấp cho người dùng đó quyền truy cập vào cơ sở dữ liệu.
Cài đặt kho lưu trữ REMI, đây là kho lưu trữ chính thức của Fedora để cài đặt các gói PHP.
Cài đặt PHP 7.4 dưới dạng một mô-đun.
Kiểm tra xem PHP có hoạt động chính xác không.
Bạn sẽ thấy đầu ra tương tự.
Chúng ta cần đặt người dùng/nhóm Unix của các quy trình PHP thành nginx. Tìm các dòng
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Tiếp theo, chúng ta cần tăng kích thước tệp để tải nhạc lên trong tệp
Thay đổi các dòng sau
đến
Bây giờ, bạn có thể tải lên các tệp có kích thước lên đến 100MB. Bạn có thể thay đổi giá trị thành bất kỳ giá trị nào bạn thích. Chỉ cần đảm bảo rằng
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Khởi động lại quy trình PHP-fpm.
Cài đặt Nginx.
Kiểm tra xem nó có hoạt động bình thường không.
Bạn sẽ thấy đầu ra sau tùy thuộc vào phiên bản Nginx bạn chọn cài đặt.
Khởi động và bật Nginx.
Mở địa chỉ IP của máy chủ trong trình duyệt để xem trang sau. Điều này có nghĩa là Nginx đang hoạt động bình thường.
Mở tệp
Dán các dòng sau sau dòng
Nhấn Ctrl + X để đóng trình soạn thảo và nhấn Y khi được nhắc lưu tệp.
Chạy lệnh sau để thêm tệp cấu hình cho Ampache.
Dán mã sau vào trình soạn thảo.
Tệp này giả định rằng chúng ta sẽ cài đặt Ampache vào miền
Kích hoạt tệp cấu hình này bằng cách liên kết tệp đó đến thư mục
Kiểm tra cấu hình Nginx.
Bạn sẽ thấy đầu ra sau cho biết cấu hình của bạn là chính xác.
Tải lại Nginx dịch vụ.
Cài đặt Certbot.
Cài đặt chứng chỉ.
Nếu đây là lần đầu tiên bạn sử dụng công cụ này trên máy chủ này, bạn cần đồng ý với các điều khoản và nhập địa chỉ email của mình. Hãy nói không khi được hỏi bạn có muốn chia sẻ email của mình với tổ chức EFF không.
Nếu thành công,
Chọn 2 rồi nhấn
Chạy lệnh sau để thiết lập gia hạn tự động.
Đối số -p đảm bảo rằng các thư mục cha
Tiếp theo, hãy tải xuống tệp ZIP của bản phát hành Ampache mới nhất. Bạn có thể tìm thấy liên kết đến bản phát hành mới nhất từ trang phát hành Github. Tại thời điểm viết hướng dẫn này, 4.4.1 là phiên bản mới nhất nên chúng ta sẽ tải xuống phiên bản đó.
Tiếp theo, giải nén tệp ZIP vào thư mục chúng ta đã tạo trước đó.
Tiếp theo, đặt quyền cho thư mục
Tạo một thư mục khác để lưu trữ nhạc của bạn. Chúng ta không cần sudo ở đây vì chúng ta đang tạo trong thư mục người dùng của riêng mình.
Thay đổi quyền sở hữu
Để hoàn tất thiết lập Ampache, hãy cài đặt FFmpeg, một tiện ích để chuyển đổi tệp âm thanh và video từ định dạng này sang định dạng khác. Ampache sử dụng FFmpeg để chuyển đổi tệp âm thanh ngay lập tức từ định dạng mà nó đã được tải lên thành định dạng mà thiết bị nghe có thể phát được.
Fedora không được cung cấp kèm theo FFmpeg theo mặc định nên trước tiên chúng ta cần thêm kho lưu trữ RPMFusion.
Tiếp theo, cài đặt FFmpeg.
Chọn ngôn ngữ của bạn và tiếp tục đến trang tiếp theo, nơi bạn sẽ được hiển thị nếu máy chủ của bạn đáp ứng các yêu cầu của Ampache.
Nếu bạn đã làm theo hướng dẫn đúng cách, thì bạn sẽ có thể chuyển đến trang tiếp theo, nơi bạn sẽ được yêu cầu điền thông tin chi tiết về Cơ sở dữ liệu. Vì chúng ta đã tạo cơ sở dữ liệu, chúng ta có thể bỏ chọn hộp kiểm cho cơ sở dữ liệu đó. Tương tự như vậy đối với người dùng cơ sở dữ liệu. Điền tên cơ sở dữ liệu, người dùng và mật khẩu mà chúng ta đã tạo và tiến hành đến trang tiếp theo.
Tiếp theo, bạn sẽ được hiển thị các tùy chọn cấu hình cho Ampache. Hầu hết thông tin đã được điền sẵn và không cần bất kỳ sửa đổi nào.
Vì một lý do nào đó, trình cài đặt web Ampache không phát hiện ra tệp nhị phân FFmpeg đã cài đặt trên Fedora. Chúng tôi sẽ bật tính năng này sau bằng cách chỉnh sửa tệp cấu hình theo cách thủ công.
Tiếp theo, điền thông tin chi tiết cho tài khoản Quản trị viên của Ampache.
Bây giờ bạn sẽ được chuyển hướng đến trang đăng nhập của Ampache.
Điền thông tin chi tiết người dùng của bạn và bây giờ bạn có thể truy cập trình phát Ampache.
Trước khi bạn có thể bắt đầu sử dụng, chúng ta cần bật FFmpeg cho mục đích chuyển mã. Để bật tính năng đó, bạn cần mở tệp
Thay thế dòng sau
bằng dòng sau bằng cách xóa dấu thăng ở phía trước.
Nhấn Ctrl + X để đóng trình chỉnh sửa và nhấn Y khi được nhắc lưu tệp. Bạn có thể thực hiện nhiều thay đổi khác mà bạn muốn thông qua tệp này. Cài đặt Ampache của bạn đã sẵn sàng nhưng để nó hoạt động, trước tiên chúng ta cần thêm một số bản nhạc vào.
Trước tiên, sử dụng tùy chọn Thêm danh mục trên trang chủ.
Chọn local làm loại danh mục và điền vào đường dẫn
Bây giờ danh mục của chúng ta đã được tạo, chúng ta cần bật tùy chọn để có thể tải tệp nhạc lên. Để thực hiện điều đó, hãy nhấp vào nút điều hướng thứ tư trên thanh công cụ trên cùng bên trái để truy cập cài đặt Quản trị.
Cuộn xuống phần Cấu hình máy chủ và nhấp vào Hệ thống.
Tìm dòng Cho phép người dùng tải lên và chọn Bật từ menu thả xuống. Bạn cũng có thể chọn loại người dùng được phép thêm tệp. Trong trường hợp của chúng tôi, đó là Trình quản lý danh mục cũng là Quản trị viên.
Bạn cũng cần đặt đích cho các tệp do người dùng tải lên. Bạn có thể đặt đích này bằng dòng Danh mục đích. Chọn danh mục mà chúng tôi vừa tạo từ menu thả xuống.
Nhấp vào Cập nhật tùy chọn khi bạn hoàn tất. Bây giờ bạn có thể thêm nhạc vào cài đặt Ampache của mình. Để thực hiện, hãy nhấp vào biểu tượng tai nghe trong menu điều hướng trên cùng bên trái.
Sau đó, nhấp vào liên kết Tải lên trong phần Nhạc.
Trên trang Tải lên, hãy duyệt và chọn các tệp nhạc của bạn từ PC cục bộ và tải chúng lên. Nếu bạn để trống các trường Nghệ sĩ và Album, Ampache sẽ tự động cố gắng xác định bằng cách sử dụng thẻ ID3 từ chính các tệp đó.
Sau khi hoàn tất, giờ đây bạn có thể tìm thấy các tệp của mình trên bất kỳ phần nào trong ngăn bên trái và giờ bạn có thể phát trực tuyến nhạc của mình.
Hướng dẫn này sẽ trình bày cách cài đặt ứng dụng Ampache trên máy chủ chạy Fedora 33 và cách tải nhạc lên máy chủ đó để phát nhạc.
Điều kiện tiên quyết
-
Máy chủ chạy Fedora 33.
-
Người dùng sudo không phải root.
-
Đảm bảo mọi thứ đều được cập nhật.
Mã:
$ sudo dnf upgrade
Một số gói mà hệ thống của bạn cần.
Mã:
$ sudo dnf install wget curl nano zip -y
Vô hiệu hóa SELinux.
Mã:
$ sudo setenforce 0
Cấu hình tường lửa
Bước đầu tiên là cấu hình tường lửa. Máy chủ Fedora được cài đặt sẵn Firewalld.Kiểm tra xem tường lửa có đang chạy không.
Mã:
$ sudo firewall-cmd --state
Mã:
đang chạy
Mã:
$ sudo firewall-cmd --set-default-zone=public
Mã:
$ sudo firewall-cmd --zone=public --permanent --list-services
Mã:
dhcpv6-client mdns ssh
Mã:
$ sudo firewall-cmd --zone=public --permanent --add-service=http$ sudo firewall-cmd --zone=public --permanent --add-service=https
Mã:
$ sudo firewall-cmd --zone=public --permanent --list-services
Mã:
dhcpv6-client http https mdns ssh
Mã:
$ sudo systemctl reload firewalld
Cài đặt Git
Trước khi tiến hành, chúng ta cần cài đặt Git.
Mã:
$ sudo dnf install git
Mã:
$ git config --global user.name "Tên của bạn"$ git config --global user.email "[emailprotected]"
Cài đặt MariaDB
MariaDB là một sự thay thế trực tiếp cho MySQL, có nghĩa là các lệnh để chạy và vận hành MariaDB giống như các lệnh dành cho MySQL.Theo mặc định, Fedora 33 đi kèm với MariaDB 10.4 nhưng vì MariaDB 10.5 là phiên bản ổn định mới nhất, chúng tôi sẽ sử dụng kho lưu trữ MariaDB chính thức cho việc đó.
Tạo tệp
/etc/yum.repos.d/MariaDB.repo
và mở nó để chỉnh sửa.
Mã:
$ sudo nano /etc/yum.repos.d/MariaDB.repo
Mã:
# Danh sách kho lưu trữ MariaDB 10.5 Fedora# http://downloads.mariadb.org/mariadb/repositories/[mariadb]name = MariaDBbaseurl = http://yum.mariadb.org/10.5/fedora33-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1
Để cài đặt MariaDB, hãy đưa ra lệnh sau.
Mã:
$ sudo dnf install MariaDB-server -y
MariaDB-server
vào lệnh trên chứ không phải mariadb-server
vì lệnh trước sẽ cài đặt MariaDB từ kho lưu trữ chính thức trong khi lệnh sau sẽ cài đặt phiên bản cũ hơn từ kho lưu trữ của Fedora.Kiểm tra xem MariaDB đã được cài đặt đúng chưa.
Mã:
$ mysql --version
Mã:
mysql Ver 15.1 Distrib 10.5.9-MariaDB, dành cho Linux (x86_64) sử dụng trình bao bọc EditLine
Mã:
$ sudo systemctl enable mariadb$ sudo systemctl start mariadb
Mã:
$ sudo mysql_secure_installation
unix_socket
. Plugin cho phép bạn đăng nhập vào MariaDB bằng thông tin đăng nhập người dùng Linux của mình. Mặc dù vậy, nó được coi là an toàn hơn, bạn sẽ cần tên người dùng/mật khẩu truyền thống để sử dụng các ứng dụng của bên thứ 3 như phpMyAdmin. Chúng tôi sẽ sử dụng plugin cho hướng dẫn này. Bạn vẫn có thể sử dụng phpMyAdmin thông qua bất kỳ người dùng nào mà bạn tạo cho cơ sở dữ liệu của mình.Nhấn Enter sẽ chọn tùy chọn mặc định (tùy chọn được viết hoa, trong trường hợp này là Y).
Mã:
LƯU Ý: KHUYẾN NGHỊ CHẠY TẤT CẢ CÁC PHẦN CỦA TỪNG PHẦN NÀY CHO TẤT CẢ CÁC MÁY CHỦ MariaDB ĐANG SỬ DỤNG TRONG SẢN XUẤT! VUI LÒNG ĐỌC KỸ TỪNG BƯỚC!Để đăng nhập vào MariaDB để bảo mật, chúng ta sẽ cầnmật khẩu hiện tại cho người dùng root. Nếu bạn vừa cài đặt MariaDB vàchưa đặt mật khẩu root, bạn chỉ cần nhấn enter tại đây.Nhập mật khẩu hiện tại cho root (enter nếu không có): [NHẤN ENTER]OK, đã sử dụng mật khẩu thành công, tiếp tục...Đặt mật khẩu root hoặc sử dụng unix_socket đảm bảo rằng không aicó thể đăng nhập vào người dùng root MariaDB mà không có quyền thích hợp.Tài khoản root của bạn đã được bảo vệ, do đó bạn có thể trả lời 'n' một cách an toàn.Chuyển sang xác thực unix_socket [Y/n] [NHẤN ENTER]Đã bật thành công!Đang tải lại bảng đặc quyền.. ... Thành công!Tài khoản root của bạn đã được bảo vệ, do đó bạn có thể trả lời 'n' một cách an toàn.Thay đổi mật khẩu root? [Y/n] [TRẢ LỜI n]... bỏ qua.Theo mặc định, cài đặt MariaDB có một người dùng ẩn danh, cho phép bất kỳ aiđăng nhập vào MariaDB mà không cần phải tạo tài khoản người dùng chohọ. Điều này chỉ nhằm mục đích thử nghiệm và để quá trình cài đặtdiễn ra suôn sẻ hơn một chút. Bạn nên xóa những người dùng này trước khi chuyển sangmôi trường sản xuất.Xóa người dùng ẩn danh? [Y/n] [NHẤN ENTER] ... Thành công!Thông thường, root chỉ được phép kết nối từ 'localhost'. Điều nàyđảm bảo rằng không ai có thể đoán được mật khẩu root từ mạng.Không cho phép root đăng nhập từ xa? [Y/n] [NHẤN ENTER] ... Thành công!Theo mặc định, MariaDB đi kèm với một cơ sở dữ liệu có tên là 'test' mà bất kỳ ai cũng có thểtruy cập. Cơ sở dữ liệu này cũng chỉ dành cho mục đích thử nghiệm và cần phải xóatrước khi chuyển sang môi trường sản xuất.Xóa cơ sở dữ liệu thử nghiệm và truy cập vào cơ sở dữ liệu đó? [Y/n] [NHẤN ENTER] \- Đang xóa cơ sở dữ liệu thử nghiệm... ... Thành công! \- Xóa các đặc quyền trên cơ sở dữ liệu thử nghiệm... ... Thành công!Tải lại các bảng đặc quyền sẽ đảm bảo rằng tất cả các thay đổi đã thực hiện cho đến naysẽ có hiệu lực ngay lập tức.Tải lại các bảng đặc quyền ngay bây giờ? [Y/n] [NHẤN ENTER] ... Thành công!Đang dọn dẹp...Xong! Nếu bạn đã hoàn tất tất cả các bước trên, thì cài đặt MariaDBcủa bạn hiện đã an toàn.Cảm ơn bạn đã sử dụng MariaDB!
Mã:
$ sudo mysql
Cấu hình MariaDB cho Ampache
Bây giờ chúng ta cần thiết lập cơ sở dữ liệu để sử dụng cho ứng dụng Ampache. Để thực hiện việc đó, hãy đăng nhập vào dấu nhắc MySQL.
Mã:
$ sudo mysql
Mã:
mysql> CREATE DATABASE ampache;mysql> CREATE USER 'ampuser'@'localhost' IDENTIFIED BY 'yourpassword';mysql> CẤP TẤT CẢ CÁC QUYỀN TRÊN ampache.* CHO 'ampuser'@'localhost';mysql> exit
Cài đặt PHP
Theo mặc định, Fedora 33 đi kèm với PHP 7.4 nhưng để có kho lưu trữ PHP được cập nhật, chúng tôi sẽ thêm kho lưu trữ REMI.Cài đặt kho lưu trữ REMI, đây là kho lưu trữ chính thức của Fedora để cài đặt các gói PHP.
Mã:
$ sudo dnf -y install https://rpms.remirepo.net/fedora/remi-release-33.rpm
Mã:
$ sudo dnf module install php:remi-7.4
Mã:
$ php --version
Mã:
PHP 7.4.16 (cli) (xây dựng: 02/03/2021 10:35:17) (NTS)Bản quyền (c) The PHP GroupZend Engine v3.4.0, Bản quyền (c) Zend Technologies
Cài đặt tiện ích mở rộng PHP
Ampache cần một số tiện ích mở rộng PHP. Sử dụng lệnh sau để cài đặt chúng.
Mã:
sudo dnf install php-curl php-gd php-intl php-mysql
Cấu hình PHP-FPM
Mở tệp/etc/php-fpm.d/www.conf
.
Mã:
$ sudo nano /etc/php-fpm.d/www.conf
user=apache
và group=apache
trong tệp và đổi chúng thành nginx.
Mã:
...; Người dùng/nhóm quy trình Unix; Lưu ý: Người dùng là bắt buộc. Nếu nhóm không được thiết lập, nhóm người dùng mặc định; sẽ được sử dụng.; RPM: người dùng apache được chọn để cung cấp quyền truy cập vào cùng thư mục với httpduser = nginx; RPM: Giữ cho nhóm được phép ghi vào thư mục nhật ký.group = nginx...
Tiếp theo, chúng ta cần tăng kích thước tệp để tải nhạc lên trong tệp
/etc/php.ini
. Mở tệp để chỉnh sửa.
Mã:
$ sudo nano /etc/php.ini
Mã:
. . .post_max_size = 8M. . .upload_max_filesize = 2M
Mã:
. . .post_max_size = 110M. . .upload_max_filesize = 100M. . .
post_max_size
lớn hơn biến upload_max_filesize
.Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Khởi động lại quy trình PHP-fpm.
Mã:
$ sudo systemctl restart php-fpm
Cài đặt Nginx
Theo mặc định, Fedora 33 đi kèm với phiên bản ổn định mới nhất của Nginx. (1.18.0).Cài đặt Nginx.
Mã:
$ sudo dnf install nginx -y
Mã:
$ nginx -v
Mã:
phiên bản nginx: nginx/1.18.0
Mã:
$ sudo systemctl start nginx$ sudo systemctl enable nginx
Cấu hình Nginx
Thiết lập các thư mục nơi các khối máy chủ sẽ tồn tại.
Mã:
$ sudo mkdir /etc/nginx/sites-available$ sudo mkdir /etc/nginx/sites-enabled
/etc/nginx/nginx.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf
Mã:
include /etc/nginx/sites-enabled/*.conf;server_names_hash_bucket_size 64;
Chạy lệnh sau để thêm tệp cấu hình cho Ampache.
Mã:
$ sudo nano /etc/nginx/sites-available/ampache.conf
Mã:
server { # lắng nghe để lắng nghe [::]:80; lắng nghe 80; tên máy chủ ampache.example.com; bộ ký tự utf-8; # Ghi nhật ký, chế độ error_log [thông báo] là cần thiết cho rewrite_log on, # (rất hữu ích nếu các quy tắc ghi lại không hoạt động như mong đợi) error_log /var/log/nginx/ampache.error.log; # thông báo; access_log /var/log/nginx/ampache.access.log; # rewrite_log on; # Sử dụng tiêu đề bảo mật để tránh XSS và nhiều thứ khác add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; add_header X-Download-Options noopen; add_header X-Permitted-Cross-Domain-Policies none; add_header X-Frame-Options "SAMEORIGIN" luôn luôn; add_header Referrer-Policy "no-referrer"; add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval'; frame-src 'self'; object-src 'self'"; # Tránh rò rỉ thông tin server_tokens tắt; fastcgi_hide_header X-Powered-By; root /var/www/html/ampache; index index.php; client_max_body_size 100m; # Có người nói rằng điều này hữu ích, trong thiết lập của tôi, nó không ngăn chặn việc lưu tạm thời trong các tệp proxy_max_temp_file_size 0; # Viết lại quy tắc cho phần phụ trợ Subsonic if ( !-d $request_filename ) { rewrite ^/rest/(.*).view$ /rest/index.php?action=$1 last; viết lại ^/rest/fake/(.+)$ /play/$1 cuối cùng; } # Viết lại quy tắc cho Kênh nếu (!-d $request_filename){ viết lại ^/channel/([0-9]+)/(.*)$ /channel/index.php?channel=$1&target=$2 cuối cùng; } # Viết lại URL đẹp viết lại ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&name=$5 cuối cùng; viết lại ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&name=$6 cuối cùng; viết lại ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&player=$6&name=$7 cuối cùng; viết lại ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&bitrate=$6player=$7&name=$8 cuối cùng; viết lại ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/transcode_to/(w+)/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&transcode_to=$6&bitrate=$7&player=$8&name=$9 cuối cùng; viết lại ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&name=$7 cuối cùng; viết lại ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&player=$7&name=$8 cuối cùng; viết lại ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&bitrate=$7player=$8&name=$9 cuối cùng; viết lại ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/transcode_to/(w+)/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&transcode_to=$7&bitrate=$8&player=$9&name=$10 cuối cùng; # dòng sau đây là cần thiết để tôi có thể tải xuống các bài hát riêng lẻ để hoạt động rewrite ^/play/ssid/(.*)/type/(.*)/oid/([0-9]+)/uid/([0-9]+)/action/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4action=$5&name=$6 last; location /play { if (!-e $request_filename) { rewrite ^/play/art/([^/]+)/([^/]+)/([0-9]+)/thumb([0-9]*)\.([a-z]+)$ /image.php?object_type=$2&object_id=$3&auth=$1 last; } rewrite ^/([^/]+)/([^/]+)(/.*)?$ /play/$3?$1=$2; rewrite ^/(/[^/]+|[^/]+/|/?)$ /play/index.php last; break; } location /rest { limit_except GET POST { deny all; } } location ^~ /bin/ { deny all; return 403; } location ^~ /config/ { deny all; return 403; } location / { limit_except GET POST HEAD{ deny all; } } location ~ ^/.*.php { fastcgi_index index.php; # đặt thời gian chờ cho các yêu cầu theo [giây] , thông thường là 60 giây là đủ fastcgi_read_timeout 600 giây; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # Giảm thiểu HTTPOXY https://httpoxy.org/ fastcgi_param HTTP_PROXY ""; # phải được đặt thành bật nếu mã hóa (https) được sử dụng: fastcgi_param HTTPS bật; fastcgi_split_path_info ^(.+?\.php)(/.*)$; # chọn vì php-fpm của bạn được cấu hình để lắng nghe trên fastcgi_pass unix:/run/php-fpm/www.sock; } # Viết lại quy tắc cho vị trí WebSocket /ws { viết lại ^/ws/(.*) /$1 break; proxy_http_version 1.1; proxy_set_header Nâng cấp $http_upgrade; proxy_set_header Kết nối "nâng cấp"; proxy_set_header Máy chủ $host; proxy_pass http://127.0.0.1:8100/; }}
ampache.example.com
và trong thư mục /var/www/html/ampache
. Nhấn Ctrl + X để đóng trình soạn thảo và nhấn Y khi được nhắc lưu tệp.Kích hoạt tệp cấu hình này bằng cách liên kết tệp đó đến thư mục
sites-enabled
.
Mã:
$ sudo ln -s /etc/nginx/sites-available/ampache.conf /etc/nginx/sites-enabled/
Mã:
$ sudo nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: tệp cấu hình /etc/nginx/nginx.conf kiểm tra thành công
Mã:
$ sudo systemctl reload nginx
Thiết lập HTTPS bằng Let's Encrypt
Để sử dụng Let's Encrypt, chúng ta cần cài đặt gói Certbot.Cài đặt Certbot.
Mã:
$ sudo dnf install certbot certbot-nginx -y
Mã:
$ sudo certbot --nginx -d ampache.example.com
Nếu thành công,
certbot
sẽ hỏi bạn muốn định cấu hình cài đặt HTTPS như thế nào.
Mã:
Vui lòng chọn có chuyển hướng lưu lượng HTTP sang HTTPS hay không, xóa quyền truy cập HTTP.----------------------------------------------------------------------------------1: Không chuyển hướng - Không thực hiện thêm bất kỳ thay đổi nào đối với cấu hình máy chủ web.2: Chuyển hướng - Chuyển hướng tất cả các yêu cầu đến quyền truy cập HTTPS an toàn. Chọn tùy chọn này chocác trang web mới hoặc nếu bạn tin tưởng rằng trang web của mình hoạt động trên HTTPS. Bạn có thể hoàn tácthay đổi này bằng cách chỉnh sửa cấu hình máy chủ web của mình.----------------------------------------------------------------------------------Chọn số thích hợp [1-2] rồi [enter] (nhấn 'c' để hủy):
ENTER
. Chứng chỉ của bạn hiện đã được cài đặt và kích hoạt.Chạy lệnh sau để thiết lập gia hạn tự động.
Mã:
$ echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null
Cài đặt Ampache
Tạo một thư mục gốc tài liệu trống cho Ampache.
Mã:
$ sudo mkdir -p /var/www/html/ampache
var
và www
sẽ được tự động tạo nếu chúng không tồn tại.Tiếp theo, hãy tải xuống tệp ZIP của bản phát hành Ampache mới nhất. Bạn có thể tìm thấy liên kết đến bản phát hành mới nhất từ trang phát hành Github. Tại thời điểm viết hướng dẫn này, 4.4.1 là phiên bản mới nhất nên chúng ta sẽ tải xuống phiên bản đó.
Mã:
$ wget https://github.com/ampache/ampache/releases/download/4.4.1/ampache-4.4.1_all.zip
Mã:
$ sudo unzip ampache-4.4.1_all.zip -d /var/www/html/ampache/
/var/www/html/ampache
cho máy chủ web Nginx.
Mã:
$ sudo chown --recursive nginx:nginx /var/www/html/ampache/
Mã:
$ sudo mkdir -p /data/Music
/home/user/music
thành nginx
để máy chủ có thể ghi và đọc từ thư mục nơi bạn sẽ lưu trữ nhạc.
Mã:
$ sudo chown -R nginx:nginx /data/Music
Fedora không được cung cấp kèm theo FFmpeg theo mặc định nên trước tiên chúng ta cần thêm kho lưu trữ RPMFusion.
Mã:
$ sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Mã:
$ sudo dnf install ffmpeg
Sử dụng Ampache Installer
Trang web Ampache của bạn đã sẵn sàng để sử dụng và có thể truy cập qua https://example.com trong trình duyệt của bạn. Lần đầu tiên bạn mở nó, bạn sẽ được chào đón bằng trình cài đặt web của Ampache.Chọn ngôn ngữ của bạn và tiếp tục đến trang tiếp theo, nơi bạn sẽ được hiển thị nếu máy chủ của bạn đáp ứng các yêu cầu của Ampache.
Nếu bạn đã làm theo hướng dẫn đúng cách, thì bạn sẽ có thể chuyển đến trang tiếp theo, nơi bạn sẽ được yêu cầu điền thông tin chi tiết về Cơ sở dữ liệu. Vì chúng ta đã tạo cơ sở dữ liệu, chúng ta có thể bỏ chọn hộp kiểm cho cơ sở dữ liệu đó. Tương tự như vậy đối với người dùng cơ sở dữ liệu. Điền tên cơ sở dữ liệu, người dùng và mật khẩu mà chúng ta đã tạo và tiến hành đến trang tiếp theo.
Tiếp theo, bạn sẽ được hiển thị các tùy chọn cấu hình cho Ampache. Hầu hết thông tin đã được điền sẵn và không cần bất kỳ sửa đổi nào.
Vì một lý do nào đó, trình cài đặt web Ampache không phát hiện ra tệp nhị phân FFmpeg đã cài đặt trên Fedora. Chúng tôi sẽ bật tính năng này sau bằng cách chỉnh sửa tệp cấu hình theo cách thủ công.
Tiếp theo, điền thông tin chi tiết cho tài khoản Quản trị viên của Ampache.
Bây giờ bạn sẽ được chuyển hướng đến trang đăng nhập của Ampache.
Điền thông tin chi tiết người dùng của bạn và bây giờ bạn có thể truy cập trình phát Ampache.
Trước khi bạn có thể bắt đầu sử dụng, chúng ta cần bật FFmpeg cho mục đích chuyển mã. Để bật tính năng đó, bạn cần mở tệp
/var/www/html/ampache/config/ampache.cfg.php
để chỉnh sửa.
Mã:
$ sudo nano /var/www/html/ampache/config/ampache.cfg.php
Mã:
transcode_cmd = "ffmpeg"
Mã:
transcode_cmd = "ffmpeg"
Thêm nhạc
Để thêm nhạc vào Ampache, chúng ta cần tạo một danh mục trong trình phát rồi tải các tệp lên từ giao diện web.Trước tiên, sử dụng tùy chọn Thêm danh mục trên trang chủ.
Chọn local làm loại danh mục và điền vào đường dẫn
/home/user/music
. Nếu bạn muốn nhập danh sách phát, bạn có thể chọn tùy chọn Xây dựng danh sách phát từ tệp danh sách phát. Đặt tên cho danh mục của bạn rồi nhấp vào Thêm danh mục để tiếp tục.Bây giờ danh mục của chúng ta đã được tạo, chúng ta cần bật tùy chọn để có thể tải tệp nhạc lên. Để thực hiện điều đó, hãy nhấp vào nút điều hướng thứ tư trên thanh công cụ trên cùng bên trái để truy cập cài đặt Quản trị.
Cuộn xuống phần Cấu hình máy chủ và nhấp vào Hệ thống.
Tìm dòng Cho phép người dùng tải lên và chọn Bật từ menu thả xuống. Bạn cũng có thể chọn loại người dùng được phép thêm tệp. Trong trường hợp của chúng tôi, đó là Trình quản lý danh mục cũng là Quản trị viên.
Bạn cũng cần đặt đích cho các tệp do người dùng tải lên. Bạn có thể đặt đích này bằng dòng Danh mục đích. Chọn danh mục mà chúng tôi vừa tạo từ menu thả xuống.
Nhấp vào Cập nhật tùy chọn khi bạn hoàn tất. Bây giờ bạn có thể thêm nhạc vào cài đặt Ampache của mình. Để thực hiện, hãy nhấp vào biểu tượng tai nghe trong menu điều hướng trên cùng bên trái.
Sau đó, nhấp vào liên kết Tải lên trong phần Nhạc.
Trên trang Tải lên, hãy duyệt và chọn các tệp nhạc của bạn từ PC cục bộ và tải chúng lên. Nếu bạn để trống các trường Nghệ sĩ và Album, Ampache sẽ tự động cố gắng xác định bằng cách sử dụng thẻ ID3 từ chính các tệp đó.
Sau khi hoàn tất, giờ đây bạn có thể tìm thấy các tệp của mình trên bất kỳ phần nào trong ngăn bên trái và giờ bạn có thể phát trực tuyến nhạc của mình.