Image

지식 기반 → YouphpTube 설치 - VPS에 나만의 비디오 호스팅 플랫폼

AVideo/YouphpTube 설치는 Linux에서 SSH 콘솔을 사용하여 여러 명령으로 수행됩니다. 예를 들어 LAMP가 사전 구성된 Ubuntu 20.04를 사용했습니다. 설명된 모든 작업은 루트 사용자로 수행되었습니다..

1.1. 애플리케이션 다운로드 및 설치:

cd /var/www/
apt install git
git clone https://github.com/WWBN/AVideo.git
cd AVideo/
git clone https://github.com/WWBN/AVideo-Encoder.git
mv AVideo-Encoder upload
chown www-data:www-data /var/www/AVideo/ -R
apt install ffmpeg
apt install libimage-exiftool-perl
apt install php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-curl php7.4-gd php7.4-xml
apt install python3-pip
pip3 install youtube-dl


1.2. 크론에 작업 추가:  

crontab -e

@daily sudo -H pip3 install --upgrade youtube-dl > /dev/null

파일 맨 끝에 작업을 추가합니다.


1.3. 데이터 가져오기를 위해 데이터베이스를 준비합시다:  

mysql
create database AVideo;
create user AVideo@localhost identified by 'your-password';
grant all privileges on AVideo.* to AVideo@localhost;
create database AVideoEncoder;
create user AVideoEncoder@localhost identified by 'your-password';
grant all privileges on AVideoEncoder.* to AVideoEncoder@localhost;
flush privileges;
exit;


1.4. 웹 서버를 준비합시다. 우리의 경우에는 Apache FPM입니다:  

nano /etc/apache2/sites-available/avideo.conf

ServerName your-site.com DocumentRoot /var/www/AVideo

 DirectoryIndex index.php  Options +FollowSymLinks  AllowOverride All  Require all granted

ErrorLog ${APACHE_LOG_DIR}/avideo.error.log CustomLog ${APACHE_LOG_DIR}/avideo.access.log combined

파일에 추가하고 저장한 후 먼저 도메인을 자신의 도메인으로 변경하고, 도메인이 없으면 localhost로 바꾸세요.


생성된 구성을 활성화해 보겠습니다:

a2ensite avideo.conf
a2enmod rewrite
systemctl restart apache2
a2dissite 000-default.conf


1.5. 브라우저에서 열어서 설치를 진행해 볼까요 http://your-server-ip/


빨간색으로 표시된 경고를 수정해 보겠습니다:

nano /etc/php/7.4/apache2/php.ini
nano /etc/php/7.4/fpm/php.ini


파일에서 줄 찾기:

post_max_size = 8M
upload_max_filesize = 2M


그리고 아래 값으로 바꾸세요:

post_max_size = 1024M
upload_max_filesize = 1024M


그런 다음 서비스를 다시 시작해야 합니다:

systemctl restart apache2
systemctl restart php7.4-fpm


1.6. 데이터베이스 사용자, 데이터베이스 이름, 데이터베이스 비밀번호 필드를 데이터베이스 생성 시 지정한 데이터로 입력합니다:

Database User = AVideo
Database Name = AVideo
Database Password = your-password


설치 성공 후 설치폴더 삭제:

rm /var/www/AVideo/install/ -r


2. 비디오 디코더 설치이 예에서는 동일한 서버에 설치합니다. 서버에 업로드되는 대용량 영상의 경우 별도의 서버를 사용하는 것을 권장합니다. 산업 규모에서 첫 번째 서버는 디코딩된 비디오를 보고 저장하는 데 사용되고 두 번째 서버는 파일을 변환하는 데 사용됩니다. 디코딩 단계에서는 상당한 프로세서 리소스를 사용하므로 이러한 서비스는 종종 다른 서버에 배포됩니다.

http://your-server-ip/upload를 열고 링크를 따라가서 기본 PHP 값을 수정해 보겠습니다:

nano /etc/php/7.4/apache2/php.ini
nano /etc/php/7.4/fpm/php.ini


옵션 찾기:

max_execution_time = 30
memory_limit = 128M


이것들로 바꾸세요:

max_execution_time = 7200
memory_limit = 512M


그런 다음 서비스를 다시 시작하여 설정을 적용합니다:

systemctl restart apache2
systemctl restart php7.4-fpm


2.1 페이지를 새로 고치고 두 번째 데이터베이스에 대한 세부 정보를 입력하세요:

Database User = AVideoEncoder
Database Name = AVideoEncoder
Database Password = your-password


그리고 다른 매개변수도

Allowed Avideo Sreamers Sites = http://your-server-ip/
AVideo Streamer Site URL = http://your-server-ip/
AVideo Streamer Site admin = admin
AVideo Streamer Site admin = 1.5단계에서 관리자용으로 생성된 비밀번호


설치 후에는 보안상의 이유로 디렉터리를 삭제합니다

rm /var/www/AVideo/upload/install/ -r


3. 기본 URL의 설정으로 이동 http://your-server-ip/

관리 메뉴에서 설정 -> 사이트 설정 -> 추가 설정으로 이동하세요. 인코더 URL을 http://your-server-ip/upload/로 변경합니다. 설정을 저장하고, 캐시 디렉터리를 지우고, 새 사이트맵을 만드세요.


이제 로그아웃했다가 다시 로그인하세요. 오른쪽 상단에 있는 비디오 및 오디오 인코더 버튼을 클릭하면 비디오 다운로드를 위한 자체 인코더로 이동됩니다. 인코딩 속도는 서버의 프로세서 성능에 따라 달라집니다. 인코더가 비디오를 업로드 디렉터리(/var/www/AVideo/upload/videos)의 임시 파일에 복사하므로 많은 RAM이 필요하지 않습니다.


테스트 파일을 다운로드하면 메인 페이지는 다음과 같습니다:


관리 메뉴


이로써 기본 설치 및 구성이 완료되었습니다. 비디오 및 오디오 파일이 성공적으로 인코딩되어 볼 수 있도록 표시됩니다. 이 CMS에는 Youtube에서 비디오 클립 가져오기 및 내보내기를 포함하여 다양한 설정과 기능이 있습니다.





No Comments Yet