もくじ
概要
YoutubeCloneサイトのAVideo(YouPHPTube)をインストールの備忘録。
最新の状態にする
apt-get update apt-get upgrade
必要なパッケージのインストール/設定
基本パッケージのインストール
sudo apt install -y apache2
sudo apt install -y php
sudo apt install -y mysql-server
sudo apt install -y php-cli php-common php-json php-opcache php-readline php-curl php-gd php-xml
sudo apt-get -y install ubuntu-restricted-extras
sudo apt -y install ffmpeg
sudo apt install -y libimage-exiftool-perl
sudo apt -y install python3-pip sudo -H pip3 install youtube-dl
sudo crontab -e
下記の行を追加します。
@daily sudo -H pip3 install --upgrade youtube-dl > /dev/null
PHPの設定
AVideo(YouPHPTube)にアップロード出来るファイルのサイズを設定します。
sudo vi /etc/php/8.1/apache2/php.ini
メモリ使用量の上限、最大ファイルサイズは環境により適宜設定してください
タイムアウト秒設定 max_execution_time = 65536 ;メモリ使用量の上限 memory_limit = -1 ;POSTデータの最大サイズ ※合計サイズ post_max_size = 4096M ;1ファイルあたりの最大アップロードサイズ upload_max_filesize = 4096M
apache をリスタートします。
systemctl restart apache2
MySQLの設定
データベースの設定をしていきます。
AVideo(YouPHPTube)で使用するデータベースをMySQLに事前に作成します。
ここでは、以下の値を設定します。
データベース名 :avideo
ユーザ名 : avideo
パスワード : password
$ mysql -u root -h localhost mysql> create database AVideo; mysql> create user AVideo@localhost identified by 'your-password'; mysql> grant all privileges on AVideo.* to AVideo@localhost; mysql> create database AVideo-Encoder; mysql> create user AVideoEncoder@localhost identified by 'your-password'; mysql> grant all privileges on AVideoEncoder.* to AVideoEncoder@localhost; mysql> flush privileges; mysql> exit
AVideo(YouPHPTube)のインストール
cd /var/www/
sudo apt install git sudo git clone https://github.com/WWBN/AVideo.git
cd AVideo/
sudo git clone https://github.com/WWBN/AVideo-Encoder.git
sudo mv AVideo-Encoder upload
sudo chown www-data:www-data /var/www/AVideo/ -R
sudo chmod -R 777 /var/www/AVideo/
SSL/TLSの設定
sudo vi /etc/apache2/sites-available/avideo.conf
<VirtualHost *:80> ServerName web.com DocumentRoot /var/www/AVideo <Directory /var/www/AVideo> DirectoryIndex index.php Options +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/avideo.error.log CustomLog ${APACHE_LOG_DIR}/avideo.access.log combined </VirtualHost>
sudo a2ensite avideo.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
以下必要な人のみ(不要な方は動作確認とセットアップまで読み飛ばしてください)
SSL/TLS サーバー証明書をお持ちの方は設定してください。
SSLストア とかでも安く買えるので興味があるかたはどうぞ。
SSLの設定
vi /etc/apache2/sites-available/default-ssl.conf
# 3行目:管理者アドレス変更 ServerAdmin webmaster@srv.world # 32,33行目:[1] で取得した証明書に変更 SSLCertificateFile /etc/letsencrypt/live/www.srv.world/cert.crt SSLCertificateKeyFile /etc/letsencrypt/live/www.srv.world/privkey.key # 42行目:コメント解除して [1] で取得したチェインファイルに変更 SSLCertificateChainFile /etc/letsencrypt/live/www.srv.world/chain.crt
a2enmod ssl
systemctl restart apache2
systemctl reload apache2
HTTPS へリダイレクト
HTTP リクエストも全て HTTPS へリダイレクトして Always on SSL とする場合はホスト定義にリダイレクトの設定を追記します。
vi /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>内に下記の3行を追記
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
<VirtualHost *:80> DocumentRoot /var/www/virtual.host ServerName www.virtual.host ServerAdmin webmaster@virtual.host ErrorLog /var/log/apache2/virtual.host.error.log CustomLog /var/log/apache2/virtual.host.access.log combined RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </VirtualHost>
a2enmod rewrite
systemctl restart apache2
動作確認とセットアップ
サイトの基本設定
https://サーバのIPアドレス or ホスト名/
画面が表示されたらインストールは成功です。
各種情報を入力し「Install Now」を押してください。
Your Site URL : サイトのURL
System Path to Application : AVideoのルートフォルダ
Title of your Web Site : サイトのタイトル
Language : 言語
Contact E-mail : メールアドレス
System Admin password : 管理者のパスワード
Confirm System Admin password : パスワード確認
Database Host : localhost
Database Port : 3306
Database User : : AVideo
Database Password : your-password
Database Name : AVideo
Do you want to create database and tables? : Create database and tables
「Install Now」を押して下記の様な画面が出れば成功です。
エラーが出た場合
下記の様な(Please configure your webSiteRootPath)画面が出た場合、ソースの修正が必要です。
下記のファイルを修正してください。
「”;」の部分にサイトのURLを入れてください。
sudo vi /var/www/AVideo/videos/configuration.php (1 件の一致) 行番号 23: $global['webSiteRootPath'] = '';
不要なディレクトリ削除
不要なディレクトリ削除
sudo rm /var/www/AVideo/install/ -r
エンコードサーバー設定
https://サーバのIPアドレス or ホスト名/YouPHPTube/upload
Your Site URL : サイトのURL/upload/
System Path to Application : /var/www/AVideo/upload/
Database Host : localhost
Database User : AVideoEncoder
Database Password : パスワード
Database Name : AVideo-Encoder
Optional Tables Prefix :
Enter Tables Prefix : Create database and tables?
AVideo Streamer Site URL : サイトのURL
AVideo Streamer Site admin User : admin
AVideo Streamer Site admin Password : パスワード
必要なデータを入力し「Install Now」を押して
下記の様な画面が出たら成功です。
不要なディレクトリ削除
sudo rm /var/www/AVideo/upload/install/ -r
hostsの設定
vi /etc/hosts 下記の一文を追加 127.0.0.1 サーバーのURL
アップロードサイト設定
管理者でログインし「メインメニュー」→「管理パネル」→「設定」→「サイト設定」→「高度な設定」を開きます。
https://サイトのURL/upload/
にURLを入れてあげる。
「保存」を押します。
以上でインストールは完了しました。
ユーザーは管理者で追加出来ますが、自由に登録して使って貰うにはメール送信システムを導入する必要があります。
先ほどの「高度な設定」画面にてメールの設定をしてテストメールにて確認してください。