PeerTube là một nền tảng chia sẻ video mã nguồn mở

PeerTube là một nền tảng chia sẻ video mã nguồn mở, mang lại một loạt các chức năng mạnh mẽ để hỗ trợ người tạo nội dung và người xem. Với PeerTube, việc tải lên và nhập video, quản lý thông tin meta, phụ đề, bình luận, tải xuống và cài đặt quyền riêng tư trở nên dễ dàng cho người tạo nội dung. Họ có thể tùy chỉnh kênh cá nhân và tạo danh sách phát công khai, đồng thời giữ quyền tác giả mở rộng đối với tác phẩm của mình.

Chức năng truyền trực tiếp giúp người tạo nội dung phát sóng video trực tiếp, tạo ra trải nghiệm tương tác và thời gian thực cho khán giả. Điều này mở ra nhiều cơ hội cho sự tương tác và kết nối người xem với người tạo nội dung.

Một điểm độc đáo của PeerTube là khả năng đăng và xem video trên các máy chủ PeerTube khác nhau. Điều này tạo điều kiện cho sự phân phối và mở rộng mạng lưới người xem, cũng như tạo cơ hội cho sự đa dạng và phong phú trong nội dung.

PeerTube tích hợp với ActivityPub, cho phép người dùng và người tạo nội dung kết nối với Mastodon và các trang web liên minh khác. Điều này tăng cường tính tương tác và tích hợp mạng xã hội vào trải nghiệm sử dụng.

Quản lý băng thông máy chủ cho video lan truyền nhanh chóng và hiệu quả, đảm bảo rằng các video virality không gây áp lực không cần thiết lên hệ thống.

Peer-to-peer (P2P) có sẵn, với khả năng tắt chức năng này cho từng người dùng theo yêu cầu.

Giao diện người dùng có thể tùy chỉnh và chủ đề có thể thay đổi, mang lại trải nghiệm sử dụng linh hoạt và phù hợp với sở thích cá nhân.

Chính sách NSFW giúp duy trì môi trường an toàn và lành mạnh trên nền tảng, đồng thời cho phép người tạo nội dung quản lý nội dung của mình một cách linh hoạt.

PeerTube có tích hợp tính năng danh sách phát, người dùng có thể chia sẻ và tương tác với video và danh sách phát.

Khả năng đăng ký theo dõi kênh giúp người xem dễ dàng theo dõi và không bỏ lỡ bất kỳ bản cập nhật nào từ người tạo nội dung mà họ quan tâm.

Tìm kiếm tiên tiến giúp người xem và người tạo nội dung dễ dàng tìm kiếm nội dung mong muốn trên nền tảng, tăng khả năng tiếp cận và khám phá nội dung mới.

Hướng dẫn Cài đặt PeerTube
REFER : How to Install PeerTube | Linode Docs

PeerTube cần phải sử dụng với máy chủ web NGINX và không hỗ trợ Apache. PostgreSQL được đề xuất là cơ sở dữ liệu chính, tuy nhiên, có thể sử dụng hệ thống cơ sở dữ liệu khác, nhưng hướng dẫn này chỉ cung cấp hướng dẫn cho PostgreSQL.

Hướng dẫn này được khuyến nghị cho người dùng Ubuntu 22.04 LTS, nhưng nó cũng áp dụng chung cho hầu hết các bản phân phối Linux. Để biết danh sách đầy đủ các phụ thuộc và hướng dẫn cho các hệ thống khác, xem danh sách phụ thuộc của PeerTube.

Quá trình cài đặt PeerTube được chia thành nhiều phần. Để cài đặt và cấu hình PeerTube trên Linode, làm theo các bước sau:

  1. Cài đặt các yêu cầu tiên quyết cho PeerTube.
  2. Thêm thư mục và cấu hình cơ sở dữ liệu.
  3. Tải xuống và cài đặt PeerTube.
  4. Cấu hình PeerTube.
  5. Cấu hình tệp máy chủ ảo và kích hoạt HTTPS.
  6. Tinh chỉnh PeerTube và kích hoạt dịch vụ hệ thống PeerTube.

Cài đặt Các Yêu Cầu Tiên Quyết cho PeerTube

Trước tiên, đảm bảo rằng tất cả các gói đều được cập nhật và cài đặt một số tiện ích cơ bản:

bashCopy code

sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install build-essential gnupg curl unzip

Tải và cài đặt Node.js sử dụng curl:

bashCopy code

sudo curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install nodejs -y

Sử dụng npm để cài đặt trình quản lý gói yarn:

bashCopy code

sudo npm install -g yarn

Cài đặt các gói phát triển Python cho Python:

bashCopy code

sudo apt install python3-dev python-is-python3

Cài đặt NGINX:

bashCopy code

sudo apt install nginx
sudo systemctl status nginx

Mở cổng cho OpenSSH và Nginx:

bashCopy code

sudo ufw allow OpenSSH
sudo ufw allow in "Nginx Full"
sudo ufw enable
sudo ufw status

Kiểm tra xem máy chủ web đang chạy bằng cách truy cập URL trang chủ để hiển thị trang chào mừng NGINX.

Cài đặt các yêu cầu còn lại, bao gồm PostgreSQL và Redis:

bashCopy code

sudo apt install git ffmpeg postgresql postgresql-contrib g++ redis-server -y

Khởi động các dịch vụ Redis và PostgreSQL và đảm bảo tất cả các dịch vụ bắt buộc được cấu hình để tự động khởi động khi khởi động hệ thống:

bashCopy code

sudo systemctl start redis postgresql
sudo systemctl enable --now nginx postgresql redis-server

Tạo Các Thư Mục và Cơ Sở Dữ Liệu Cần Thiết

Ở phần tiếp theo của quá trình cài đặt, tạo một người dùng PeerTube và thêm một cơ sở dữ liệu PostgreSQL cho ứng dụng sử dụng:

bashCopy code

sudo useradd -m -d /var/www/peertube -s /bin/bash -p peertube peertube
sudo passwd peertube
ls -ld /var/www/peertube

Chuyển đến thư mục mới và tạo một người dùng PostgreSQL:

bashCopy code

cd /var/www/peertube
sudo -u postgres createuser -P peertube

Tạo một cơ sở dữ liệu PostgreSQL cho PeerTube:

bashCopy code

sudo -u postgres createdb -O peertube -E UTF8 -T template0 peertube_prod

Kích hoạt hai tiện ích PostgreSQL:

bashCopy code

sudo -u postgres psql -c "CREATE EXTENSION pg_trgm;" peertube_prod
sudo -u postgres psql -c "CREATE EXTENSION unaccent;" peertube_prod

Tải Xuống và Cài Đặt PeerTube

Sau khi tất cả các yêu cầu đã được cấu hình, sử dụng wget để tải xuống PeerTube và yarn để cài đặt nó:

bashCopy code

VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Latest PeerTube version is $VERSION"
cd /var/www/peertube
sudo -u peertube mkdir config storage versions
sudo -u peertube chmod 750 config/
cd versions
sudo -u peertube wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip"
sudo -u peertube unzip -q peertube-${VERSION}.zip && sudo -u peertube rm peertube-${VERSION}.zip
cd /var/www/peertube
sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest
cd ./peertube-latest
sudo -H -u peertube yarn install --production --pure-lockfile

Cấu Hình PeerTube

PeerTube sử dụng hai tệp .yaml để điều khiển cấu hình nội bộ của mình. Để cấu hình các tệp này, làm theo các bước sau.

1. Di chuyển đến thư mục peertube:

bashCopy code

cd /var/www/peertube

2. Sao chép cấu hình default.yaml vào thư mục config. Không chỉnh sửa tệp này:

bashCopy code

sudo -u peertube cp peertube-latest/config/default.yaml config/default.yaml

3. Sao chép tệp production.yaml.example thành một vị trí mới:

bashCopy code

sudo -u peertube cp peertube-latest/config/production.yaml.example config/production.yaml

4. Tạo một khóa bí mật và lưu nó cho bước tiếp theo:

bashCopy code

openssl rand -hex 32

5. Chỉnh sửa tệp production.yaml:

bashCopy code

sudo -u peertube nano config/production.yaml

Tệp production.yaml là một tệp lớn với nhiều cài đặt. Nhiều trong số này có thể được thay đổi sau này hoặc điều chỉnh bằng cách sử dụng giao diện web. Đối với lúc này, thay đổi các giá trị sau:

  • Trong phần webserver, thay đổi hostname thành tên miền. Đây là URL cho trường hợp PeerTube. Trong ví dụ sau, thay đổi example.com thành tên miền thực tế của bạn.
  • Trong phần secrets, thêm khóa bí mật bạn đã tạo ở bước trước vào mục peertube.
  • Trong phần database, thay đổi mật khẩu thành mật khẩu cho người dùng cơ sở dữ liệu peertube.
  • Trong phần admin, thay đổi thuộc tính email thành tài khoản email quản trị của bạn.

Ba phần này nên giống như ví dụ dưới đây. Do độ dài của tệp, hầu hết nội dung không được hiển thị.

yamlCopy code

webserver:
  https: true
  hostname: 'example.com'
  port: 443

secrets:
  # Tạo một bằng cách sử dụng `openssl rand -hex 32`
  peertube: 'your_secret_key'

database:
  hostname: 'localhost'
  port: 5432
  ssl: false
  suffix: '_prod'
  username: 'peertube'
  password: 'your_password'
  pool:
    max: 5

admin:
  email: 'admin@example.com'

Lưu ý: Để PeerTube có thể gửi email, điền vào chi tiết máy chủ thư trong phần smtp. Email phải được kích hoạt trên Linode trước khi PeerTube có thể gửi email.

6. Cấu hình Tệp Máy Chủ Ảo và Bật HTTPS

NGINX yêu cầu một máy chủ ảo PeerTube để phục vụ các tệp đúng cách. Sao chép tệp máy chủ ảo mẫu peertube đến vị trí đúng trong /etc/nginx/sites-available và chỉnh sửa nó. Hầu hết các nội dung trong tệp đã được điền sẵn, vì vậy chỉ một số thay đổi nhỏ là cần thiết.

7. Sao chép tệp cấu hình NGINX mẫu cho PeerTube đến thư mục sites-available:

bashCopy code

sudo cp /var/www/peertube/peertube-latest/support/nginx/peertube /etc/nginx/sites-available/peertube

8. Thay thế các biến WEBSERVER_HOST và PEERTUBE_HOST bằng tên miền và cổng cục bộ cho PeerTube. Trong lệnh đầu tiên, thay thế example.com bằng tên miền thực tế:

bashCopy code

sudo sed -i 's/${WEBSERVER_HOST}/example.com/g' /etc/nginx/sites-available/peertube
sudo sed -i 's/${PEERTUBE_HOST}/127.0.0.1:9000/g' /etc/nginx/sites-available/peertube

9. Bật trang thực hiện:

bashCopy code

sudo ln -s /etc/nginx/sites-available/peertube /etc/nginx/sites-enabled/peertube

10. Cài đặt quản lý gói snap. Snap được sử dụng để cài đặt Certbot:

bashCopy code

sudo apt install snapd
sudo snap install core

11. Gỡ bỏ bất kỳ gói certbot cũ nào và sử dụng snap để cài đặt một phiên bản mới. Tạo một liên kết tượng trưng đến thư mục:

bashCopy code

sudo apt remove certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

12. Tắt NGINX và sử dụng lệnh certbot để yêu cầu và cài đặt chứng chỉ Let’s Encrypt. Do cấu hình HTTPS đã là một phần của tệp máy chủ ảo peertube, sử dụng tùy chọn certonly. Nếu không, certbot sẽ ghi đè nhiều nội dung hiện tại. Tùy chọn --standalone cho biết certbot sử dụng máy chủ web nội bộ của mình. Tải lại NGINX sau khi cài đặt chứng chỉ:

bashCopy code

sudo systemctl stop nginx
sudo certbot certonly --standalone --post-hook "systemctl restart nginx"
sudo systemctl reload nginx

Quá trình cấu hình Let’s Encrypt hoàn tất.

bashCopy code

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/example.com/fullchain.pem
Key is saved at

Cấu Hình và Kích Hoạt Dịch Vụ PeerTube

Trước khi PeerTube có thể sử dụng hoàn chỉnh, cần thêm vài bước. PeerTube yêu cầu các thiết lập Giao thức Kiểm soát Truyền (TCP) khác biệt so với hầu hết các ứng dụng. PeerTube cũng phải được đăng ký như một dịch vụ hệ thống. Điều này cho phép người dùng kiểm soát nó sử dụng systemctl. Để hoàn tất cấu hình PeerTube, thực hiện các bước sau:

1. Sao chép tệp TCP PeerTube vào cài đặt hệ thống:

bashCopy code

sudo cp /var/www/peertube/peertube-latest/support/sysctl.d/30-peertube-tcp.conf /etc/sysctl.d/

2. Bật các cài đặt TCP PeerTube:

bashCopy code

sudo sysctl -p /etc/sysctl.d/30-peertube-tcp.conf

plaintextCopy code

net.core.default_qdisc = fq_codel
net.ipv4.tcp_congestion_control = bbr

3. Bật dịch vụ PeerTube. Sao chép tệp dịch vụ mặc định vào thư mục /etc/systemd/system/:

bashCopy code

sudo cp /var/www/peertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/

4. Tải lại systemd daemon:

bashCopy code

sudo systemctl daemon-reload

5. Đăng ký dịch vụ peertube để tự động khởi động cùng với hệ thống:

bashCopy code

sudo systemctl enable peertube

6. Khởi động dịch vụ peertube:

bashCopy code

sudo systemctl start peertube

7. Kiểm tra trạng thái dịch vụ peertube và đảm bảo rằng nó đang chạy:

bashCopy code

sudo systemctl status peertube

plaintextCopy code

peertube.service - PeerTube daemon
    Loaded: loaded (/etc/systemd/system/peertube.service; enabled; vendor preset: enabled)
    Active: active (running) since Thu 2022-12-08 10:14:28 UTC; 17s ago
You may need to press the Q key to exit the output.

Ghi chú:

  • Nếu dịch vụ không chạy, xem nhật ký dịch vụ sử dụng lệnh sudo journalctl -feu peertube.

8. Đặt lại mật khẩu cho tài khoản quản trị root của PeerTube:

bashCopy code

cd /var/www/peertube/peertube-latest
sudo -u peertube NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run reset-password -- -u root

plaintextCopy code

New password?
User password updated.

Cách Sử Dụng và Quản Trị PeerTube

Mặc dù có thể chỉnh sửa các tệp cấu hình PeerTube để thay đổi hành vi trang web, hầu hết các thay đổi có thể được thực hiện thông qua bảng quản trị. Để truy cập bảng quản trị, thực hiện các bước sau:

1. Truy cập tên miền của PeerTube. Trình duyệt web sẽ hiển thị trang chào mừng mặc định của PeerTube. Nhấp vào nút Đăng nhập ở góc trên bên trái để truy cập trang đăng nhập.

2. Để đăng nhập với tư cách quản trị viên, sử dụng root làm tên người dùng. Nhập mật khẩu quản trị đã được cấu hình ở phần trước. Nhấp vào thanh Đăng nhập để tiếp tục.

3. PeerTube hiện sẽ hiển thị trang chính của người dùng và quản trị. Từ đây, quản trị viên có thể đăng video, xem video và quản lý phiên bản PeerTube. Để biết thêm thông tin về cách sử dụng và quản trị PeerTube, xem tài liệu của PeerTube.