
Aquí vamos hablar de otro clon de youtube. En algún sentido es el más parecido a la plataforma de google. Claramente tiene sus diferencias, pero en mi opinión es para mejorar la idea.
El modelo es opensource, o sea que puedes bajar el código fuente desde github, pero para financiarse el programador te vendo unos plugin, que pero son baratos y marginales en mi opinion. Con la base de AVideo ya tienes un programa enormemente bueno.
pongo aquí las notas que tomé hace 2 años cuando lo instalé la primera vez en un orangePi y luego actualizado a RaspberryPi4. Más adelante volveré actualizarlo.
A) crea 2 subdominios en tu provedor DNS, por ejemplo «yourvideos.tormentasolar.win» y «yourencoder.tormentasolar.win».
Luego en el terminal
sudo apt update && apt upgrade -y
sudo apt-get install mcedit python ufw apache2 php libapache2-mod-php php-mysql php-curl php-gd php-intl php-mbstring php-gettext mariadb-server mariadb-client ffmpeg git libimage-exiftool-perl -y
sudo a2enmod rewrite
sudo systemctl restart apache2
sudo mysql_secure_installation (pon una contraseña a mysql-root y acepta todo lo demás)
mkdir -p /var/www/html/yourtube.tormentasolar.win
cd /var/www/html/yourtube.tormentasolar.win
git clone https://github.com/WWBN/AVideo.git
git clone https://github.com/WWBN/AVideo-Encoder.git
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
sudo mysql -u root -p
CREATE DATABASE AVideo; CREATE USER 'AVideo'@'localhost' IDENTIFIED BY 'TU-CONTRASEÑA'; GRANT ALL PRIVILEGES ON AVideo.* TO AVideo@localhost; FLUSH PRIVILEGES;
CREATE DATABASE AVideoEncoder; CREATE USER 'AVideoEncoder'@'localhost' IDENTIFIED BY 'TU-CONTRASEÑA'; GRANT ALL PRIVILEGES ON AVideoEncoder.* TO AVideoEncoder@localhost; FLUSH PRIVILEGES;
exit
sudo mkdir /var/www/html/yourtube.tormentasolar.win/AVideo/videos
sudo mkdir /var/www/html/yourtube.tormentasolar.win/AVideo-Encoder/videos
sudo chown -R www-data:www-data /var/www/html/yourtube.tormentasolar.win/AVideo/
sudo chmod 755 /var/www/html/yourtube.tormentasolar.win/AVideo/videos
sudo chown -R www-data:www-data /var/www/html/yourtube.tormentasolar.win/AVideo-Encoder/
sudo chmod 755 /var/www/html/yourtube.tormentasolar.win/AVideo-Encoder/videos
sudo cat /etc/php/7.3/apache2/php.ini | grep post_max_size
sudo cat /etc/php/7.3/apache2/php.ini | grep upload_max_filesize
sudo sed -i -e 's/upload_max_filesize = 2M/upload_max_filesize = 1000M/g' /etc/php/7.3/apache2/php.ini
sudo cat /etc/php/7.3/apache2/php.ini | grep upload_max_filesize
sudo cat /etc/php/7.3/apache2/php.ini | grep max_execution_time
sudo sed -i -e 's/max_execution_time = 30/max_execution_time = 7200/g' /etc/php/7.3/apache2/php.ini
sudo cat /etc/php/7.3/apache2/php.ini | grep max_execution_time
sudo cat /etc/php/7.3/apache2/php.ini | grep memory_limit
sudo sed -i -e 's/memory_limit = 128M/memory_limit = 512M/g' /etc/php/7.3/apache2/php.ini
sudo cat /etc/php/7.3/apache2/php.ini | grep memory_limit
sudo systemctl restart apache2
sudo mcedit /etc/apache2/apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All <!---------------- -->
Require all granted
</Directory>
Añadir un dominio virtual
mcedit /etc/apache2/sites-available/yourvideos.tormentasolar.win.conf
<VirtualHost *:80>
DocumentRoot "/var/www/html/yourtube.tormentasolar.win/AVideo"
ServerName yourvideos.tormentasolar.win
# Other directives here
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/var/www/html/yourtube.tormentasolar.win/AVideo"
ServerName yourvideos.tormentasolar.win
# Other directives here
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/html/yourtube.tormentasolar.win/AVideo-Encoder"
ServerName yourencoder.tormentasolar.win
# Other directives here
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/var/www/html/yourtube.tormentasolar.win/AVideo-Encoder"
ServerName yourencoder.tormentasolar.win
# Other directives here
</VirtualHost>
echo "ServerName localhost" > /etc/apache2/sites-available/servername.conf
ln -s /etc/apache2/sites-available/yourvideos.tormentasolar.win.conf /etc/apache2/sites-enabled/
ln -s /etc/apache2/sites-available/servername.conf /etc/apache2/sites-enabled/
sudo apachectl configtest
sudo apt install python-certbot-apache
sudo certbot --apache -d yourvideos.tormentasolar.win -d yourencoder.tormentasolar.win
Selecciona la opción 2 para la redirección hacia https
Si ahora miras el fichero /etc/apache2/sites-available/yourvideos.tormentasolar.win.conf…
less /etc/apache2/sites-available/yourvideos.tormentasolar.win.conf
tiene que salir algo parecido a esto:
<VirtualHost *:80>
DocumentRoot "/var/www/html/yourtube.tormentasolar.win/AVideo"
ServerName yourvideos.tormentasolar.win
# Other directives here
RewriteEngine on
RewriteCond %{SERVER_NAME} =yourvideos.tormentasolar.win
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/var/www/html/yourtube.tormentasolar.win/AVideo"
ServerName yourvideos.tormentasolar.win
# Other directives here
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/yourvideos.tormentasolar.win/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourvideos.tormentasolar.win/privkey.pem
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/var/www/html/yourtube.tormentasolar.win/AVideo-Encoder"
ServerName yourencoder.tormentasolar.win
# Other directives here
RewriteEngine on
RewriteCond %{SERVER_NAME} =yourencoder.tormentasolar.win
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/var/www/html/yourtube.tormentasolar.win/AVideo-Encoder"
ServerName yourencoder.tormentasolar.win
# Other directives here
SSLCertificateFile /etc/letsencrypt/live/yourvideos.tormentasolar.win/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourvideos.tormentasolar.win/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
Ahora vete con el navegador en las 2 web https://yourvideos.tormentasolar.win y https://yourencoder.tormentasolar.win para configurar los parametros de instalación. A bajo los datos necesarios.
vete con el navegador en https://yourvideos.tormentasolar.win
db Name: AVideo
db user: AVideo
Pass: TU CONTRASEÑA
URL: https://yourvideos.tormentasolar.win (quita la barra final)
Admin User: admin
Password: Tu Contraseña (Puedes porner otra si quieres. Esta es la acontraseña del aministrador de AVideo, y no de la base de dato)
Entra en yourencoder.tormentasolar.win
db Name: AVideoEncoder
db user: AVideocoder
Pass: YOUR PASSWORD
URL: Remove the final Slash
Streamer: https://yourencoder.tormentasolar.win
Admin User: admin
Password: (La misma que pusiste en AVideo)
Y con esto ya lo tienes instalado. Ahora a estudiarlo y subir vídeos.
Más adelante añadiremos la posibilidad de hacer live.