L'installation d'AVideo/YouphpTube se fait en quelques commandes à l'aide de la console ssh sous linux. À titre d'exemple, nous avons utilisé Ubuntu 20.04 avec LAMP préconfiguré. Toutes les actions décrites ont été effectuées à partir de l'utilisateur root.
1.1. Téléchargez et installez l'application:
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. Ajoutons une tâche au cron:
crontab -e
@daily sudo -H pip3 install --upgrade youtube-dl > /dev/null
Ajoutez une tâche à la toute fin du fichier.
1.3. Préparez la base de données pour l'importation de données:
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. Préparer un serveur web, dans notre cas 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
Ajoutez au fichier et enregistrez, après avoir remplacé le domaine par le vôtre, s'il n'y a pas de domaine, remplacez-le par localhost.
Activez la configuration créée:
a2ensite avideo.conf
a2enmod rewrite
systemctl restart apache2
a2dissite 000-default.conf
1.5. Nous procédons à l'installation dans le navigateur en ouvrant http://your-server-ip/
Corrigeons les avertissements marqués en rouge:
nano /etc/php/7.4/apache2/php.ini
nano /etc/php/7.4/fpm/php.ini
Trouvez les lignes dans les fichiers:
post_max_size = 8M
upload_max_filesize = 2M
Et remplacez par les valeurs ci-dessous:
post_max_size = 1024M
upload_max_filesize = 1024M
Ensuite, vous devez redémarrer les services:
systemctl restart apache2
systemctl restart php7.4-fpm
1.6. Renseignez les champs : Database User, Database Name, Database Password avec les données que vous avez spécifiées lors de la création des bases de données:
Database User = AVideo
Database Name = AVideo
Database Password = your-password
Une fois l'installation réussie, supprimez le dossier d'installation:
rm /var/www/AVideo/install/ -r
2. Installation du décodeur vidéo, dans notre exemple nous l'installons sur le même serveur. Avec de gros volumes de téléchargements de vidéos sur le serveur, nous vous recommandons d'utiliser un serveur séparé pour cela. Puisqu'à l'échelle industrielle le premier serveur sert à visionner et stocker la vidéo décodée, et le second à convertir les fichiers. Comme l'étape de décodage utilise des ressources CPU importantes, ces services sont souvent distribués sur différents serveurs.
Suivez le lien en ouvrant http://your-server-ip/upload et corrigez les valeurs php par défaut:
nano /etc/php/7.4/apache2/php.ini
nano /etc/php/7.4/fpm/php.ini
Trouver des options:
max_execution_time = 30
memory_limit = 128M
Remplacez-les par ceux-ci:
max_execution_time = 7200
memory_limit = 512M
Appliquez ensuite les paramètres en redémarrant les services:
systemctl restart apache2
systemctl restart php7.4-fpm
2.1 Actualisez la page et renseignez les données de la deuxième base:
Database User = AVideoEncoder
Database Name = AVideoEncoder
Database Password = your-password
Et aussi d'autres paramètres
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 = Le mot de passe créé pour l'utilisateur admin à l'étape 1.5
Après l'installation, supprimez le répertoire pour des raisons de sécurité
rm /var/www/AVideo/upload/install/ -r
3. Accédez aux paramètres de l'URL principale http://your-server-ip/
Dans le menu administration, allez dans paramètres -> paramètres du site -> paramètres additionnels. Remplacez l'URL de l'encodeur par http://your-server-ip/upload/. Enregistrez vos paramètres, effacez votre répertoire de cache et créez un nouveau sitemap.
Maintenant, déconnectez-vous et reconnectez-vous. Si vous cliquez sur le bouton d'encodage vidéo et audio en haut à droite, vous serez redirigé vers votre propre encodeur pour télécharger des vidéos. Il est à noter que la vitesse d'encodage dépend de la puissance du processeur de votre serveur. Cela ne nécessite pas beaucoup de RAM car l'encodeur copiera la vidéo dans un fichier temporaire dans le répertoire de téléchargement (/var/www/AVideo/upload/videos).
Après avoir téléchargé les fichiers de test, la page principale ressemblera à ceci:
Menu d'administration
Ceci termine l'installation et la configuration de base. Les fichiers vidéo et audio sont encodés avec succès et affichés pour être visionnés. Ce CMS dispose d'un grand nombre de paramètres et de fonctionnalités, notamment l'importation et l'exportation de vidéos depuis Youtube.