Aqui falaremos sobre os procedimentos que utilizamos para fazer um servidor de vídeos corporativos de uma maneira também bem simples utilizando o Vimp, caso queira ver um tutorial de como fazer o mesmo serviço utilizando o Clipbucket leia esse nosso post.

Lembre-se que será necessário ter cadastrado o nome DNS desse sistema (altere todas as partes em cinza conforme sua necessidade). Para instalar esse servidor, você vai precisar:

  • Instalar o servidor CentOS padrão: Caso tenha dúvidas consulte aqui ou no link disponibilizado nas referências.
  • Instalar o servidor Apache: Caso tenha dúvidas consulte aqui ou no link disponibilizado nas referências.
    • Caso queira configurar o site como HTTPS (consulte aqui, ou nas referências abaixo).
  • Instalar o servidor MySQL (Nesse post iremos instalar o banco junto à aplicação, mas você pode preferir instalar e criar o banco em um servidor separado). Caso tenha dúvidas consulte como instalar o MySQL .
systemctl start mysqld
mysql -u root -p

Será solicitado a senha do root (definida anteriormente) informe-a, sem seguida (dentro do MySQL) defina o usuário e senha (que está em cinza) com acesso a este banco:

create database vimp default character set utf8 collate utf8_unicode_ci;

No comando abaixo, altere a variável do IP do servidor de aplicação do Vimp:

grant all privileges on vimp.* to 'vimp'@'%' identified by 'secretpassword';

flush privileges;
quit

Com o Apache instalado, vamos configurar algumas opções necessárias, para isso execute: 

mkdir -p /var/www/html/blank
touch /var/www/html/blank/index.html
chown -R apache.apache /var/www/html/blank
chmod -R 500 /var/www/html/blank

sed -i "s/#Listen 12.34.56.78:80/NameVirtualHost *:80/g" /etc/httpd/conf/httpd.conf
sed -i "s/DocumentRoot \"\/var\/www\/html\"/DocumentRoot \"\/var\/www\/html\/blank\"/g" /etc/httpd/conf/httpd.conf
sed -i "s/AllowOverride None/AllowOverride All/g" /etc/httpd/conf/httpd.conf

touch /var/log/httpd/nomefqdn_do_seu_servidor-error.log
touch /var/log/httpd/nomefqdn_do_seu_servidor-requests.log

vim /etc/httpd/conf.d/vhosts.conf

Dentro, pressione a tecla INSERT para entrar em modo de edição e insira o seguinte conteúdo no final do arquivo:

<VirtualHost *:80>
ServerName nomefqdn_do_seu_servidor
ServerAdmin suporte@nomefqdn_do_seu_servidor
DocumentRoot /var/www/html/blank

ErrorLog “/var/log/httpd/nomefqdn_do_seu_servidor-error.log”
CustomLog “/var/log/httpd/nomefqdn_do_seu_servidor-requests.log” combined
</VirtualHost>

Feito isso digite a tecla ESC e em seguida digite :wq! e pressione ENTER para sair e salvar. Agora execute:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

yum install yum-utils -y

yum install php php-cli php-common php-gd php-intl php-ldap php-mbstring php-mcrypt php-curl php-mysql php-pecl-zip php-xml php-xmlrpc --enablerepo=remi-php70 -y

sed -i "s/;date.timezone =/date.timezone = America\/Sao_Paulo/g" /etc/php.ini
sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 8192M/g" /etc/php.ini
sed -i "s/post_max_size = 8M/post_max_size = 8192M/g" /etc/php.ini
sed -i "s/memory_limit = 128M/memory_limit = 1024M/g" /etc/php.ini
sed -i "s/short_open_tag = Off/short_open_tag = On/g" /etc/php.ini
sed -i "s/max_execution_time = 30/max_execution_time = 7300/g" /etc/php.ini 

service httpd restart

Instalando os CODECs

Para instalar os CODECs, execute:

rm -rf /usr/local/bin
ln -s /usr/bin/ /usr/local/bin

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

yum install automake bzip2 faac faac-devel faad2 gcc gpac gpac-devel gpac-libs
gstreamer{,1}-plugins-ugly gstreamer1-plugins-bad-freeworld
gstreamer-plugins-bad-nonfree HandBrake-{gui,cli} icedtea-web lame lame-devel lame-mp3x libdvdcss libde265 libde265-devel libjpeg-devel libogg libtheora-devel libvorbis libvorbis-devel libvpx libvpx-devel make mencoder mplayer mod_flvx nasm opencore-amr opencore-amr-devel opus
opusfile patch perl-Image-ExifTool
smplayer subversion unzip vlc x264 x264-devel x264-libs x265 x265-libs
xvidcore xvidcore-devel yasm zlib-devel -y

ldconfig

yum install ruby rubygems -y

gem install flvtool2

cd /opt/
wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz
tar --xz -xvf ffmpeg-git-amd64-static.tar.xz

rm -rf  ffmpeg-git-amd64-static.tar.xz
mv ffmpeg-git-*-amd64-static/ ffmpeg
ln -s /opt/ffmpeg/ffmpeg /usr/bin/ffmpeg
ln -s /opt/ffmpeg/ffprobe /usr/bin/ffprobe

Instalando o PHP

Para instalar e configurar o PHP 7.2 (versão usada nesse POST), execute:

yum install yum-utils -y

yum install php
php-cli php-common php-curl php-gd php-intl php-ldap php-mbstring php-mcrypt
php-mysql php-pecl-mcrypt php-pecl-zip php-xml php-xmlrpc time --enablerepo=remi-php72
-y

sed -i "s/;date.timezone =/date.timezone = America\/Sao_Paulo/g" /etc/php.ini
sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 8192M/g" /etc/php.ini
sed -i "s/post_max_size = 8M/post_max_size = 8192M/g" /etc/php.ini
sed -i "s/memory_limit = 128M/memory_limit = 1024M/g" /etc/php.ini
sed -i "s/short_open_tag = Off/short_open_tag = On/g" /etc/php.ini
sed -i "s/max_execution_time = 30/max_execution_time = 7300/g" /etc/php.ini
sed -i "s/short_open_tag = On/short_open_tag = Off/g" /etc/php.ini

service httpd restart

Instalando o Vimp

Para instalar, execute:

mkdir /usr/src/loader
cd /usr/src/loader
wget http://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.tar.gz

tar xzf loaders.linux-x86_64.tar.gz
rm -rf loaders.linux-x86_64.tar.gz

cp ixed.7.2.lin /usr/lib64/php/modules/

echo "[sourceguardian]" >> /etc/php.d/sourceguardian.ini
echo "zend_extension=/usr/lib64/php/modules/ixed.7.2.lin" >> /etc/php.d/sourceguardian.ini

mkdir -p /var/www/html/corporetube.suaempresa.com/web
chown -R apache:apache /var/www/html/corporetube.suaempresa.com
touch /var/log/httpd/corporetube.suaempresa.com-error.log
touch /var/log/httpd/corporetubesuaempresa.com-requests.log

vim /etc/httpd/conf.d/vhosts.conf

Dentro, pressione a tecla INSERT para entrar em modo de edição e insira o seguinte conteúdo no final do arquivo:

<VirtualHost *:80>
        ServerName corporetube.suaempresa.com
        ServerAlias corporetube
        ServerAdmin suporte@suaempresa.com
        DocumentRoot /var/www/html/corporetube.suaempresa.com/web
        ErrorLog “/var/log/httpd/corporetube.suaempresa.com-error.log”
        CustomLog “/var/log/httpd/corporetube.suaempresa.com-requests.log” combined
</VirtualHost>

<Directory “ /var/www/html/corporetube.suaempresa.com/web”>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Feito isso digite a tecla ESC e em seguida digite :wq! e pressione ENTER para sair e salvar. Reinicie o Apache, com o comando:

service httpd restart

Agora acesse o site de download do Vimp Light, baixe a versão mais atual, coloque na pasta /tmp do servidor linux (nesse POST, usamos a versão 4.1.3) e execute:

cd /var/www
chmod +x vimp.framework*
./vimp.framework*

 Durante a configuração, uma série de itens será questionado, responda o seguinte:

  • Install path [/var/www]: /var/www/html/corporetube.suaempresa.com
  • Really use it? [Y/n]: y
  • Continue? [Y/n]: Verifique se não existem erros de configuração e pressione ENTER
  • Server user [www-data]: apache
  • Server group [www-data]: apache
  • Database host [localhost]: IP_DO_SEU_BANCO
  • Database port [3306]: Apenas pressione ENTER
  • Database name []: vimp
  • Database user []: vimp
  • Database password []: suasenha
  • Default language [en]: en
  • Default country [European Union]: Brazil
  • Maximum upload filesize [100MB]:Apenas pressione ENTER
  • Detect transcoding tools automatically? [Y/n]: y
  • ffmpeg path [/usr/bin/ffmpeg]: Apenas pressione ENTER
  • ffprobe path [/usr/bin/ffprobe]: Apenas pressione ENTER
  • exiftool path [/usr/bin/exiftool]: Apenas pressione ENTER
  • Web address []: http://corporetube.suaempresa.com
  • Portal e-mail address []: suporte@suaempresa.com
  • Portal name [ViMP]: CorporeTube
  • Portal title [ViMP]: Videos Corporativos
  • Portal description [ViMP]: Ambiente de Aprendizadem
  • Portal keywords [ViMP]: Videos
  • Changes for Database found. Apply? [Y/n]:  y
  • Changes for Database found. Apply? [Y/n]:  y

Agora execute:

service httpd restart

echo "*/1 * * * * /var/www/html/corporetube.suaempresa.com/scripts/sync_new_uploads.sh > /dev/null 2>&1" >> /var/spool/cron/root
echo "0 2 * * * php -f /var/www/html/corporetube.suaempresa.com/symfony -- dashboard-sync >> /var/www/html/corporetube.suaempresa.com/log/dashboard-sync.log 2>&1" >> /var/spool/cron/root

chmod -R 777 /var/www/html/web/uploads/

service crond restart
systemctl restart httpd

Com toda a configuração feita, acesse o servidor (e configure pela interface de administração). Se quiser alterar os logos para o da sua empresa, altere os arquivos /var/www/html/corporetube.suaempresa.com/templates/pacific/images/footer-logo.png e /var/www/html/corporetube.suaempresa.com/templates/pacific/images/logo.png (lembre-se de manter as mesmas permissões e proprietários dos arquivos)

Fontes/Referências

NVLAN – Configurar o apache como HTTPS (com SSL) no CentOS
NVLAN – Instalação padrão do CentOS7
NVLAN – Instalando o Apache no CentOS
NVLAN – Instalando o MySQL 5.5 no CentOS
NVLAN – Instalar um servidor de vídeos (Youtube) em CentOS com o ClipBucket

https://support.vimp.com/en/downloads/vimp-light-edition.html

Mais Informações

Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.

Entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria