GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar AVideo/YouPHPTube en el servidor Ubuntu 18.04

Este tutorial le mostrará cómo ejecutar su propio sitio web para compartir videos con AVideo (anteriormente YouPHPTube) en Ubuntu 18.04. AVideo es una alternativa de código abierto y alojamiento propio a los sitios web para compartir videos como YouTube, Vimeo, etc. Con AVideo, los usuarios pueden cargar videos a su servidor y compartirlos en Internet.

Funciones de vídeo

  • Transmisiones en vivo ilimitadas y simultáneas y puede tener usuarios ilimitados conectados a cada transmisión en vivo.
  • Importe y codifique videos de otros sitios directamente desde Internet
  • Codificación masiva desde el directorio de videos local
  • Hacer videos privados
  • Función totalmente integrada con Youtube, sincronizando tus videos con Youtube
  • Transcodifique múltiples formatos de archivos multimedia a archivos MP4, WebM y MP3
  • Admite Amazon S3 (servicio de almacenamiento simple)
  • Diseño de sitio receptivo. AVideo se ve increíble en cualquier dispositivo. (Puede elegir el diseño de estilo de YouTube o Netfilx).
  • Canales de usuario y listas de reproducción de usuario
  • Suscríbete a los canales que te gustan
  • Puede monitorear el rendimiento de sus videos con métricas e informes actualizados en Estadísticas de AVideo.
  • Amplíe las funcionalidades del sitio con complementos.
  • Optimizado para SEO
  • Aplicaciones iOS y Android disponibles

ARequisitos del servidor de video

Primero, debe saber que una CPU de un solo núcleo no es viable para un sitio web para compartir videos, porque el proceso de codificación usará una gran cantidad de recursos de la CPU.

Luego elija las especificaciones del servidor de acuerdo con la cantidad de usuarios que tiene su sitio.

  • Si solo desea usarlo para compartir sus propios videos, necesita un servidor con al menos 2 núcleos de CPU y 4 GB de RAM. Puede comprar un poderoso VPS (servidor privado virtual) de Contabo a muy bajo costo.
  • Si espera que su sitio tenga docenas de usuarios, entonces puede considerar el VPS extra grande de Contabo, que tiene 10 núcleos de CPU, 60 GB de RAM, velocidad de puerto de 1 Gbit/s, espacio en disco de 1,6 TB, tráfico ilimitado pero cuesta solo 26,99 euros/mes.
  • Cuando su sitio crece más allá de eso, debe comprar un servidor dedicado.

Requisitos de software para instalar AVideo en Ubuntu 18.04

AVideo requiere PHP y MySQL/MariaDB. Para seguir este tutorial, ya debería haber configurado una pila LAMP o una pila LEMP. Si prefiere usar el servidor web Apache, instale la pila LAMP.

  • Cómo instalar la pila LAMP (Apache, MariaDB, PHP) en Ubuntu 18.04

Si prefiere usar el servidor web Nginx, instale la pila LEMP.

  • Cómo instalar la pila LEMP (Nginx, MariaDB, PHP) en Ubuntu 18.04

Nota :La compatibilidad con AVideo con Nginx es solo experimental. Tu sitio puede tener problemas si usas Nginx .

También necesita un nombre de dominio. Registré mi nombre de dominio en NameCheap porque el precio es bajo y ofrecen protección de privacidad whois gratis de por vida.

Un video se compone de dos partes.

  • La parte principal es el servidor de transmisión frontal, que permite a los usuarios ver videos existentes.
  • La otra parte es el codificador, que permite a los usuarios subir sus videos.

El codificador público usa el nombre de dominio https://encoder1.avideo.com . Si no desea que los usuarios abandonen su sitio cuando suban videos, debe configurar su codificador privado. Te mostraré cómo en este artículo. Sin más preámbulos, comencemos.

Paso 1:descarga AVideo en el servidor Ubuntu 18.04

Inicie sesión en su servidor Ubuntu 18.04 a través de SSH. Luego vaya al directorio raíz web.

cd /var/www/

Clone el repositorio de transmisión de AVideo de Github.

sudo apt install gitsudo git clon https://github.com/WWBN/AVideo.git

Luego ve al directorio.

cd AVideo/

Clone el repositorio del codificador AVideo de Github.

sudo git clon https://github.com/WWBN/AVideo-Encoder.git

Se guardará como AVideo-Encoder . Le cambiamos el nombre a upload , para que los usuarios puedan tener una mejor idea de para qué sirve esta URL al cargar videos.

sudo mv AVideo-Encoder upload

A continuación, debemos hacer que www-data (el usuario del servidor web) sea el propietario de la raíz web.

sudo chown www-data:www-data /var/www/AVideo/ -R

Paso 2:Instalar dependencias

AVideo usa FFmpeg para codificar videos. Podemos instalar fácilmente FFmpeg desde el repositorio predeterminado de Ubuntu.

sudo apt install ffmpeg

Para leer y escribir metainformación en archivos multimedia, necesitamos instalar libimage-exiftool-perl paquete.

sudo apt install libimage-exiftool-perl

También necesita instalar algunas extensiones PHP comunes.

sudo apt install php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-curl php7.2-gd php7.2-xml

Para obtener videos de otros sitios, necesitamos instalar YouTube-DL. Aunque está incluido en el repositorio de Ubuntu, está desactualizado. Instalaremos YouTube-DL desde Python Package Index, que siempre contiene la última versión de YouTube-DL.

sudo apt install python3-pipsudo -H pip3 install youtube-dl

Es muy importante que use la última versión, o es posible que no pueda descargar videos de otros sitios. Podemos crear un trabajo Cron para verificar e instalar automáticamente la última versión.

sudo crontab -e

Agregue la siguiente línea al final del archivo Crontab para intentar actualizar YouTube-DL diariamente.

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

Paso 3:Crear base de datos y usuario en MariaDB

Antes de crear la base de datos y el usuario, debemos cambiar algunas configuraciones en MariaDB. Edite el archivo de configuración.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

AVideo usará prefijo de clave de índice grande en la base de datos Sin embargo, MariaDB 10.1 utiliza el COMPACT formato de fila, que no admite el prefijo de clave de índice grande. Podemos configurar MariaDB para usar el DYNAMIC formato de fila, que es la configuración predeterminada en las versiones más recientes de MariaDB, agregando las siguientes líneas en el InnoDB sección debajo de [mysqld] unidad en el archivo.

# El formato de archivo Antelope no es compatible con el formato de fila dinámico, debemos usar el formato de archivo # Barracuda.innodb_file_format =Barracudainnodb_file_format_max =Barracuda# El formato de fila dinámico solo es compatible si innodb_file_per_table está configurado en ON.innodb_file_per_table =ON# Establecer dinámico como formato de fila predeterminado, que admite prefijo de clave de índice grande. 

Guarde y cierre el archivo. Luego reinicie MariaDB.

sudo systemctl reiniciar mariadb

Inicie sesión en el servidor de la base de datos MariaDB con el siguiente comando. Dado que MariaDB ahora usa unix_socket complemento para el inicio de sesión del usuario de autenticación, no es necesario ingresar la contraseña raíz de MariaDB. Solo necesitamos prefijar el mysql comando con sudo .

sudo mysql

Luego crea una base de datos para AVideo. Este tutorial nombra la base de datos AVideo . Puedes usar el nombre que quieras.

crear base de datos AVideo;

Cree el usuario de la base de datos. Nuevamente, puede usar su nombre preferido para este usuario. Reemplace your-password con su contraseña preferida.

crear usuario AVideo@localhost identificado por 'tu-contraseña';

Otorgue a este usuario todos los privilegios en el AVideo base de datos.

otorgar todos los privilegios en AVideo.* a AVideo@localhost;

También necesitamos crear una base de datos separada para el codificador.

crear base de datos AVideoEncoder;

Cree un usuario para esta base de datos.

cree el usuario AVideoEncoder@localhost identificado por 'su-contraseña';

Otorgar privilegios.

otorgar todos los privilegios en AVideoEncoder.* a AVideoEncoder@localhost;

Vacíe la tabla de privilegios y salga.

vaciar privilegios;salir;

Paso 4:Configuración del servidor web

Podemos usar el servidor web Apache o Nginx.

Apache

Si prefiere Apache, cree un archivo de host virtual para AVideo con un editor de texto de línea de comandos como Nano.

sudo nano /etc/apache2/sites-disponible/avideo.conf

Coloque el siguiente texto en el archivo. Reemplace el texto de color rojo con sus datos reales. Yo uso un subdominio en este tutorial. Puede utilizar su nombre de dominio principal si lo prefiere. No olvide establecer un registro DNS A para el nombre de dominio en su administrador de registros DNS. Además, tenga en cuenta que el directorio raíz del documento distingue entre mayúsculas y minúsculas y no debe agregar una barra inclinada al final.

 ServerName tube.yourdomain.com DocumentRoot /var/www/AVideo /var/www/AVideo> DirectoryIndex index.php Opciones +FollowSymLinks AllowOverride All Requerir todo concedido  ErrorLog ${APACHE_LOG_DIR}/avideo.error.log CustomLog ${APACHE_LOG_DIR}/avideo.access.log combinado

Guarde y cierre el archivo. Luego habilite este servidor virtual.

sudo a2ensite avideo.conf

Necesitamos habilitar el módulo de reescritura.

reescritura de sudo a2enmod

Reinicie Apache para que los cambios surtan efecto.

sudo systemctl reiniciar apache2

Ahora visita tube.yourdomain.com y será redirigido a la página del asistente de configuración (tube.yourdomain.com/install/index.php ). Si ve la página predeterminada de Apache en lugar del asistente de configuración, debe deshabilitar el host virtual predeterminado.

sudo a2dissite 000-default.conf

Y reinicie Apache.

Antes de ingresar cualquier información en el asistente de configuración, debemos habilitar HTTPS.

Nginx

Si prefiere Nginx, cree un avideo.conf archivo en /etc/nginx/conf.d/ directorio.

sudo nano /etc/nginx/conf.d/avideo.conf

Coloque el siguiente texto en el archivo. Reemplace el texto de color rojo con sus datos reales. Yo uso un subdominio en este tutorial. Puede utilizar su nombre de dominio principal si lo prefiere. No olvide establecer un registro DNS A para el nombre de dominio en su administrador de registros DNS. Además, tenga en cuenta que el directorio raíz del documento distingue entre mayúsculas y minúsculas.

servidor { escuchar 80; escucha [::]:80; nombre_servidor tube.yourdomain.com; raíz /var/www/AVideo; índice índice.php índice.html índice.htm; conjunto de caracteres utf-8; client_max_body_size 2G; acceso_log /var/log/nginx/avideo.access.log; error_log /var/log/nginx/avideo.error.log; ubicación ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index índice.php; incluir fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } # traduciendo las reglas de reescritura de Apache en el archivo .htaccess a la ubicación de las reglas de reescritura de Nginx / { rewrite ^/$ /view/ last; } ubicación /bootstrap { reescribir ^/bootstrap/(.+)$ /ver/bootstrap/$1 último; } ubicación /js { reescribir ^/js/(.+)$ /ver/js/$1 último; } ubicación /css { reescribir ^/css/(.+)$ /ver/css/$1 último; } ubicación /img { reescribir ^/img/(.+)$ /view/img/$1 último; } ubicación /página { reescribir ^/página/([0-9]+)/?$ /ver/?página=$1 último; } ubicación /videoOnly { reescribir ^/videoOnly/?$ /view/?type=video last; } ubicación /audioOnly { reescribir ^/audioOnly/?$ /view/?type=audio last; } ubicación =/descargar { reescribir ^(.*)$ /ver/descargarVideoExterno.php último; } ubicación =/downloadNow { reescribe ^(.*)$ /objects/downloadVideo.php último; } ubicación =/getDownloadProgress { reescribe ^(.*)$ /objects/downloadVideoProgress.php último; } ubicación =/acerca de { reescribir ^(.*)$ /ver/acerca de.php último; } ubicación =/contacto { reescribir ^(.*)$ /ver/contacto.php último; } ubicación =/sendEmail { reescribe ^(.*)$ /objects/sendEmail.json.php último; } ubicación =/captcha { reescribe ^(.*)$ /objetos/getCaptcha.php último; } ubicación /monitor { reescribir ^/monitor/(.+)$ /objects/ServerMonitor/$1 último; } ubicación /gato { reescribir ^/gato/([A-Za-z0-9-]+)/?$ /ver/?catName=$1 último; } ubicación /video { reescribir ^/video/([A-Za-z0-9-_.]+)/?$ /view/?videoName=$1 último; } ubicación /videoEmbeded { rewrite ^/videoEmbeded/([A-Za-z0-9-_.]+)/?$ /view/videoEmbeded.php?videoName=$1 último; } ubicación =/subir { reescribir ^(.*)$ /ver/mini-subir-formulario/ último; } ubicación =/fileUpload { reescribe ^(.*)$ /view/mini-upload-form/upload.php último; } ubicación /uploadStatu { reescribir ^/uploadStatus /view/mini-upload-form/videoConversionStatus.php último; } ubicación =/usuario { reescribir ^(.*)$ /ver/usuario.php último; } ubicación =/usuarios { reescribe ^(.*)$ /view/managerUsers.php último; } ubicación =/usuarios.json { reescribir ^(.*)$ /objetos/usuarios.json.php último; } ubicación =/updateUser { reescribe ^(.*)$ /objects/userUpdate.json.php último; } ubicación =/guardarFoto { reescribir ^(.*)$ /objetos/usuarioGuardarFoto.php último; } ubicación =/addNewUser { reescribe ^(.*)$ /objects/userAddNew.json.php último; } ubicación =/eliminarUsuario { reescribir ^(.*)$ /objetos/eliminarusuario.json.php último; } ubicación =/recoverPass { reescribe ^(.*)$ /objects/userRecoverPass.php último; } ubicación =/saveRecoverPassword { reescribe ^(.*)$ /objects/userRecoverPassSave.json.php último; } ubicación =/registrarse { reescribir ^(.*)$ /ver/registrarse.php último; } ubicación =/createUser { reescribe ^(.*)$ /objects/userCreate.json.php último; } ubicación =/usersGroups { reescribe ^(.*)$ /view/managerUsersGroups.php último; } ubicación =/usersGroups.json { reescribe ^(.*)$ /objects/usersGroups.json.php último; } ubicación =/addNewUserGroups { reescribe ^(.*)$ /objects/userGroupsAddNew.json.php last; } ubicación =/deleteUserGroups { reescribe ^(.*)$ /objects/userGroupsDelete.json.php último; } ubicación =/anuncios { reescribe ^(.*)$ /view/managerAds.php último; } ubicación =/addNewAd { reescribe ^(.*)$ /objects/video_adsAddNew.json.php last; } ubicación =/ads.json { reescribe ^(.*)$ /objects/video_ads.json.php último; } ubicación =/deleteVideoAd { reescribir ^(.*)$ /objects/video_adDelete.json.php último; } ubicación /adClickLo { reescribir ^/adClickLog /objects/video_adClickLog.php último; } ubicación =/categorías { reescribir ^(.*)$ /ver/managerCategories.php último; } ubicación =/categories.json { reescribe ^(.*)$ /objects/categories.json.php último; } ubicación =/addNewCategory { reescribe ^(.*)$ /objects/categoryAddNew.json.php last; } ubicación =/deleteCategory { reescribir ^(.*)$ /objects/categoryDelete.json.php último; } ubicación =/orphanFiles { reescribir ^(.*)$ /ver/orphanFiles.php último; } ubicación =/mvideos { reescribe ^(.*)$ /view/managerVideos.php último; } ubicación =/videos.json { reescribe ^(.*)$ /objects/videos.json.php último; } ubicación =/deleteVideo { reescribir ^(.*)$ /objects/videoDelete.json.php último; } ubicación =/addNewVideo { reescribir ^(.*)$ /objects/videoAddNew.json.php último; } ubicación =/refreshVideo { reescribe ^(.*)$ /objects/videoRefresh.json.php último; } ubicación =/setStatusVideo { reescribir ^(.*)$ /objects/videoStatus.json.php último; } ubicación =/reencodeVideo { reescribe ^(.*)$ /objects/videoReencode.json.php último; } ubicación =/addViewCountVideo { reescribe ^(.*)$ /objects/videoAddViewCount.json.php último; } ubicación =/guardarComentario { reescribir ^(.*)$ /objetos/comentarioAgregarNuevo.json.php último; } ubicación /comentarios { reescribir ^/comentarios.json/([0-9]+)$ /objetos/comentarios.json.php?video_id=$1 último; } ubicación =/login { reescribir ^(.*)$ /objects/login.json.php último; } ubicación =/cerrar sesión { reescribir ^(.*)$ /objetos/cerrar sesión.php último; } ubicación =/me gusta { reescribir ^(.*)$ /objetos/me gusta.json.php?me gusta=1 último; } ubicación =/no me gusta { reescribir ^(.*)$ /objects/like.json.php?like=-1 last; } ubicación /actualizar { reescribir ^/actualizar/?$ /actualizar/actualizar.php último; } ubicación =/siteConfigurations { reescribe ^(.*)$ /view/configurations.php último; } ubicación =/updateConfig { reescribir ^(.*)$ /objects/configurationUpdate.json.php último; } ubicación =/gráficos { reescribir ^(.*)$ /ver/gráficos.php último; } ubicación =/upload/index.php { reescribe ^(.*)$ /upload/view/index.php último; } ubicación =/upload/isAdmin { reescribe ^(.*)$ /upload/view/isAdmin.php último; } ubicación =/upload/removeStreamer { reescribe ^(.*)$ /upload/view/removeStreamer.php último; } ubicación =/subir/prioridad { reescribir ^(.*)$ /subir/ver/prioridad.php último; } ubicación =/cargar/estado { reescribir ^(.*)$ /cargar/ver/estado.php último; } ubicación =/upload/serverStatus { reescribir ^(.*)$ /upload/view/status.php?serverStatus=1 último; } ubicación =/subir/subir { reescribir ^(.*)$ /subir/ver/subir.php último; } ubicación =/upload/listFiles.json { reescribe ^(.*)$ /upload/view/listFiles.json.php último; } ubicación =/upload/deleteQueue { reescribe ^(.*)$ /upload/view/deleteQueue.php último; } ubicación =/upload/saveConfig { reescribe ^(.*)$ /upload/view/saveConfig.php último; } ubicación =/upload/youtubeDl.json { reescribe ^(.*)$ /upload/view/youtubeDl.json.php último; } ubicación =/cargar/enviar.json { reescribir ^(.*)$ /cargar/ver/enviar.json.php último; } ubicación =/subir/streamers.json { reescribir ^(.*)$ /subir/ver/streamers.json.php último; } ubicación =/upload/queue.json { reescribe ^(.*)$ /upload/view/queue.json.php último; } ubicación =/upload/queue { reescribe ^(.*)$ /upload/view/queue.php último; } ubicación =/upload/login { reescribe ^(.*)$ /upload/objects/login.json.php último; } ubicación =/cargar/cerrar sesión { reescribir ^(.*)$ /cargar/objetos/cerrar sesión.json.php último; } ubicación /upload/ { rewrite "^/getImage/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})$" /upload/objects/getImage. php?base64Url=$1&format=$2 último; reescribe "^/getImageMP4/([A-Za-z0-9=/]+)/([A-Za-z0-9]{3})/([0-9.]+)$" /upload/ objects/getImageMP4.php?base64Url=$1&format=$2&time=$3 last; } ubicación /subir/getSpiritsFromVideo { reescribir ^/getSpiritsFromVideo/([A-Za-z0-9=/]+)/([0-9]+)/([0-9]+)$ /upload/objects/ getSpiritsFromVideo.php?base64Url=$1&tileWidth=$2&totalClips=$3 último; } ubicación /upload/getLinkInfo { rewrite ^/getLinkInfo/([A-Za-z0-9=/]+)$ /upload/objects/getLinkInfo.json.php?base64Url=$1 last; }}

Guarde y cierre el archivo. Luego pruebe la configuración de Nginx.

sudo nginx -t

Si la prueba es exitosa, vuelva a cargar Nginx para que los cambios surtan efecto.

sudo systemctl recargar nginx

Ahora visita tube.yourdomain.com y será redirigido a la página del asistente de configuración (tube.yourdomain.com/install/index.php ). Antes de ingresar cualquier información en el asistente de configuración, debemos habilitar HTTPS.

Paso 5:habilitar HTTPS

Para cifrar el tráfico HTTP, podemos habilitar HTTPS instalando un certificado TLS gratuito emitido por Let's Encrypt. Ejecute el siguiente comando para instalar el cliente Let's Encrypt (certbot) en el servidor Ubuntu 18.04.

sudo apt install certbot

Si usa Apache, también necesita instalar el complemento Certbot Apache.

sudo apt install python3-certbot-apache

Y ejecute este comando para obtener e instalar el certificado TLS.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d tube.yourdomain.com

Si usa Nginx, instale el complemento Certbot Nginx.

sudo apt install python3-certbot-nginx

A continuación, ejecute el siguiente comando para obtener e instalar el certificado TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d tube.yourdomain.com

donde

  • --nginx :use el complemento nginx.
  • --apache :Utilice el complemento de Apache.
  • --agree-tos :Acepto los términos del servicio.
  • --redirect :Forzar HTTPS por redirección 301.
  • --hsts :agregue el encabezado Strict-Transport-Security a cada respuesta HTTP. Obligar al navegador a usar siempre TLS para el dominio. Protege contra la eliminación de SSL/TLS.
  • --staple-ocsp :activa el grapado OCSP. Se grapa una respuesta OCSP válida al certificado que ofrece el servidor durante TLS.

Ahora se debe obtener el certificado e instalarlo automáticamente.

Paso 6:finalice la instalación con el asistente de configuración

Ahora ve a tube.yourdomain.com/install/index.php y aparecerá el asistente de configuración. En el lado izquierdo, puede ver si su servidor cumple con los requisitos.

Si usa Nginx, puede ignorar el siguiente mensaje.

Tu servidor es nginx/1.14.2, debes instalar Apache.

Como puede ver, PHP post_max_size debe ser de al menos 100M y upload_max_filesize debe ser al menos 100M. Necesitamos editar el php.ini para cambiar los dos valores. Si usa el servidor web Apache, entonces

sudo nano /etc/php/7.2/apache2/php.ini

Si usa Nginx con PHP-FPM, entonces necesita editar la versión FPM del archivo php.ini.

sudo nano /etc/php/7.2/fpm/php.ini

Encuentra las siguientes dos líneas.

post_max_size =8Mupload_max_filesize =2M

Cambie los valores de acuerdo con el tamaño del archivo de video que va a cargar. Por ejemplo, si permite cargar un archivo de video de 1G, entonces

post_max_size =1024Mupload_max_filesize =1024M

Guarde y cierre el archivo. Reinicie Apache para que los cambios surtan efecto.

sudo systemctl reiniciar apache2

Si usa Nginx con PHP-FPM, reinicie PHP-FPM.

sudo systemctl reiniciar php7.2-fpm

Ahora actualice la página del asistente de instalación de AVideo. Su servidor debe pasar todos los requisitos. Ahora, en el lado derecho, puede ingresar un título para su sitio de videos y establecer una contraseña de administrador del sistema. Ingrese el nombre, el usuario y la contraseña de la base de datos de AVideo que creó anteriormente. (Nota:debe usar la base de datos principal, no la base de datos del codificador. También tenga en cuenta que distingue entre mayúsculas y minúsculas).

Haga clic en Install now y AVideo debe instalarse correctamente.

Ahora necesitamos eliminar el /var/www/AVideo/install/ directorio.

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

Haz clic en Go to the main page y verá la página principal de AVideo.

Puede hacer clic en el menú desplegable de la izquierda e iniciar sesión como admin usuario y con la contraseña que estableciste hace unos momentos.

Paso 7:configurar el codificador

Ve a https://tube.yourdomain.com/upload/ . Será redirigido al asistente de configuración del codificador. Si no se le redirige automáticamente, puede ingresar manualmente la URL del asistente de configuración.

https://tube.tudominio.com/upload/install/index.php/

El lado izquierdo le mostrará si su servidor cumple con los requisitos de AVideo Encoder.

Si usa Nginx, puede ignorar el siguiente mensaje.

Tu servidor es nginx/1.14.2, debes instalar Apache.

Como puede ver el PHP max_execution_time debe ser al menos 7200 y PHP memory_limit debe ser al menos 512M. Necesitamos editar el php.ini para cambiar los dos valores. Si usa el servidor web Apache, entonces

sudo nano /etc/php/7.2/apache2/php.ini

Si usa Nginx con PHP-FPM, entonces necesita editar la versión FPM del archivo php.ini.

sudo nano /etc/php/7.2/fpm/php.ini

Encuentra las siguientes dos líneas.

max_execution_time =30memory_limit =128M

Cambia los valores.

max_execution_time =7200memory_limit =512M

Tenga en cuenta que si la codificación de video posterior se detiene a la mitad, debe aumentar el max_execution_time o actualice su CPU.

Guarde y cierre el archivo. Reinicie Apache para que los cambios surtan efecto.

sudo systemctl reiniciar apache2

Si usa Nginx con PHP-FPM, reinicie PHP-FPM.

sudo systemctl reiniciar php7.2-fpm

Ahora actualice la página del asistente de instalación de AVideo Encoder. Su servidor debe pasar todos los requisitos. Ahora, en el lado derecho, debe ingresar el nombre, el usuario y la contraseña de la base de datos de AVideoEncoder que creó anteriormente. Tenga en cuenta que distingue entre mayúsculas y minúsculas e ingrese la contraseña de administrador del sitio de transmisión.

Haga clic en el botón Instalar ahora y se instalará AVideo Encoder.

Elimina el directorio de instalación.

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

Y ve a la página principal.

Paso 8:cambie la URL del codificador

De manera predeterminada, AVideo usa el codificador público para cargar videos. Para usar su propio codificador, inicie sesión como administrador en AVideo (no en AVideo Encoder) y vaya al panel de administración desde la barra lateral izquierda.

Ve a settings -> site settings -> advanced configuration . Cambie la URL del codificador a https://tube.yourdomain.com/upload/ . Guarde la configuración, borre el directorio de caché y genere un nuevo mapa del sitio.

Ahora cierra la sesión y vuelve a iniciarla. Si haces clic en encode video and audio en la esquina superior derecha, accederá a su propio codificador para cargar videos. Cabe señalar que la velocidad de codificación depende de la potencia de la CPU de su servidor. No requiere mucha RAM porque el codificador copiará el video a un archivo temporal en el directorio de carga (/var/www/AVideo/upload/videos ).

Paso 9:Configurar SMTP

Para enviar correos electrónicos (como registro de cuenta, restablecimiento de contraseña, etc.), debe configurar un servidor SMTP. Si desea utilizar su propio servidor de correo para enviar correos electrónicos a los clientes, consulte el siguiente artículo para configurar su propio servidor de correo. Nota que recomiendo encarecidamente ejecutar el servidor de correo iRedMail en un sistema operativo nuevo y limpio. La instalación de iRedMail en un sistema operativo que tiene otras aplicaciones web puede fallar y es probable que rompa las aplicaciones existentes.

  • Cómo configurar fácilmente un servidor de correo electrónico en Ubuntu 18.04 con iRedMail

Si desea utilizar un servicio de retransmisión SMTP, le recomiendo Mailjet. Puede seguir el tutorial a continuación para configurar la retransmisión SMTP en su servidor AVideo.

  • Cómo configurar la retransmisión SMTP de Postfix en Ubuntu con Mailjet

Puede probar el envío de correo electrónico yendo al admin panel -> Setttings -> Site Settings -> Advanced Configuration , puede encontrar la configuración de SMTP. Utilice la siguiente configuración.

  • Habilitar SMTP.
  • Habilitar autenticación SMTP.
  • Usar tls en SMTP seguro.
  • Use 587 como puerto SMTP.
  • Ingrese el nombre de host de su servidor de correo.
  • Ingrese un nombre de usuario y contraseña SMTP.

Haz clic en Save para guardar la configuración, luego haga clic en Test Email para ver si funciona.

Habilitar TCP BBR

Para un servidor de transmisión de video, se recomienda habilitar el algoritmo de control de congestión TCP BBR en el kernel de Linux siguiendo las instrucciones del artículo a continuación.

  • Cómo aumentar fácilmente el rendimiento de la red de Ubuntu habilitando TCP BBR

Aplicaciones móviles

Puede descargar la aplicación gratuita para Android o iOS haciendo una búsqueda de AVideo en Google Play Store o YPT Mobile en la tienda de Apple. La aplicación móvil de marca blanca requiere una licencia paga.

Resolución de problemas

Si su página principal de AVideo no pudo cargar algunos recursos CSS y JavaScript,

Es probable que haya agregado una barra diagonal adicional en el archivo de host virtual de Apache o Nginx para el directorio raíz web. En lugar de usar

DocumentRoot /var/www/AVideo/

Deberías usar

Raíz del documento /var/www/AVideo

Si el sitio web principal no funciona correctamente, puede consultar el archivo de registro en /var/www/AVideo/videos/avideo.log . Si su codificador no funciona correctamente, puede consultar el archivo de registro en /var/www/AVideo/upload/videos/avideo.log .

Otras cositas

Al codificar videos, puede elegir resoluciones (baja, SD, HD). Si usa AVideo como un sitio de transmisión de video personal, le recomiendo elegir la resolución HD solo para reducir el tiempo de codificación y ahorrar espacio en disco. Si ya ha codificado videos en las 3 resoluciones, puede ir al directorio de videos de AVideo (/var/www/AVideo/videos) y eliminar videos de baja resolución y resolución SD.

cd /var/www/AVideo/videos/sudo rm *Low.mp4sudo rm *SD.mp4

Cómo descargar todos los videos de su sitio de videos

Puedes usar el youtube-dl utilidad de línea de comandos para descargar todos los videos. Primero, debe ir al panel de control de AVideo, luego ir a la página de la lista de videos y desplazarse hasta la parte inferior, hacer clic en descargar su lista de videos (archivo .txt de enlace permanente) botón. Verá una lista de URL para todos los videos.

A continuación, abra una terminal y cree un archivo txt con un editor de texto, copie las URL de la página web y péguelas en el archivo. Luego puede ejecutar el siguiente comando para descargar los videos. Reemplace video-list.txt con su propio nombre de archivo.

youtube-dl -a video-list.txt

Ubuntu
  1. Cómo instalar MySQL en Ubuntu 18.04

  2. Cómo instalar el servidor de Minecraft en Ubuntu 18.04

  3. Cómo instalar Nginx en Ubuntu 20.04

  4. Cómo instalar MariaDB en Ubuntu 20.04

  5. Cómo instalar Zimbra 8.6 en el servidor Ubuntu 14.04

Cómo instalar Cockpit en Ubuntu 20.04

Cómo instalar el servidor VNC en Ubuntu 20.04

Cómo instalar el servidor HTTrack en Ubuntu 20.04

Cómo instalar Snappass en Ubuntu

Cómo instalar AVideo/YouPHPTube en el servidor CentOS 8

Cómo instalar AVideo/YouPHPTube en el servidor Ubuntu 20.04