YouPHPTube (Ahora AVideo): tu propio youtube

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.

Comments are closed.