Compartilhe que você está se especializando

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

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.
  • 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 .

Para instalar o ClipBucket faça logon como root e execute:

ln -s /usr/local/bin /usr/bin

Configure a senha de root, em seguida execute:

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 clipbucket;

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

grant all privileges on clipbucket.* to 'clipbucket'@'%' identified by 'secretpassword';
flush privileges;
quit

Configure o servidor web:

yum install httpd-devel -y

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/`hostname`-error.log
touch /var/log/httpd/`hostname`-des-requests.log

echo "<VirtualHost *:80>" >> /etc/httpd/conf.d/vhosts.conf
echo "        ServerName `hostname`" >> /etc/httpd/conf.d/vhosts.conf
echo "        ServerAdmin suporte@suaempresa.com.br" >> /etc/httpd/conf.d/vhosts.conf
echo "        DocumentRoot /var/www/html/blank" >> /etc/httpd/conf.d/vhosts.conf
echo "        ErrorLog \"/var/log/httpd/`hostname`-error.log\"" >> /etc/httpd/conf.d/vhosts.conf
echo "        CustomLog \"/var/log/httpd/`hostname`-des-requests.log\" combined" >> /etc/httpd/conf.d/vhosts.conf
echo "</VirtualHost>" >> /etc/httpd/conf.d/vhosts.conf
echo "" >> /etc/httpd/conf.d/vhosts.conf
echo "<VirtualHost *:80>" >> /etc/httpd/conf.d/vhosts.conf
echo "        ServerName corporetube.suaempresa.com.br" >> /etc/httpd/conf.d/vhosts.conf
echo "        ServerAlias corporetube" >> /etc/httpd/conf.d/vhosts.conf
echo "        ServerAdmin suporte@suaempresa.com.br" >> /etc/httpd/conf.d/vhosts.conf
echo "        DocumentRoot /var/www/html/corporetube" >> /etc/httpd/conf.d/vhosts.conf
echo "        ErrorLog \"/var/log/httpd/corporetube-error.log\"" >> /etc/httpd/conf.d/vhosts.conf
echo "        CustomLog \"/var/log/httpd/corporetube-requests.log\" combined" >> /etc/httpd/conf.d/vhosts.conf
echo "</VirtualHost>" >> /etc/httpd/conf.d/vhosts.conf

yum install php-dom php-gd php-intl php-ldap gd gd-devel php-devel php-imap -y

sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 200M/g" /etc/php.ini
sed -i "s/post_max_size = 8M/post_max_size = 1024M/g" /etc/php.ini
sed -i "s/memory_limit = 128M/memory_limit = 512M/g" /etc/php.ini
sed -i "s/short_open_tag = Off/short_open_tag = On/g" /etc/php.ini

service httpd restart

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

yum install --enablerepo=fedora-source php-pecl-zendopcache -y

sed -i "s/;opcache.revalidate_freq=2/opcache.revalidate_freq = 60/g" /etc/php.d/opcache.ini
sed -i "s/;opcache.use_cwd=1/opcache.use_cwd=1/g" /etc/php.d/opcache.ini
sed -i "s/;opcache.validate_timestamps=1/opcache.validate_timestamps=1/g" /etc/php.d/opcache.ini
sed -i "s/;opcache.save_comments=1/opcache.save_comments=1/g" /etc/php.d/opcache.ini
sed -i "s/;opcache.enable_file_override=0/opcache.enable_file_override=0/g" /etc/php.d/opcache.ini

yum install bc bind-utils dos2unix git ImageMagick jre libcdio libcdio-paranoia libraw1394 mailx mediainfo memcached mesa-filesystem mlocate mod_ssl openjpeg openssl-devel php-pecl-memcache pulseaudio screen SDL SDL-devel sox subversion yum-protectbase -y

sed -i "s/\[mysqld\]/\[mysqld\]\nlower_case_table_names=1/g" /etc/my.cnf

systemctl enable memcached.service 

Após a instalação, os endereços para acesso serão:

  • http://corporetube.suaempresa.com.br
  • http://corporetube.suaempresa.com.br/admin_area

Para instalar os codecs, 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

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

yum groupinstall 'Development Tools' -y
yum install ruby -y
yum install freeglut-devel mesa-libGL-devel mesa-libGLU-devel libXi-devel libXmu-devel -y 

echo "[remi]" > /etc/yum.repos.d/remi.repo
echo "name = Remi Repo" >> /etc/yum.repos.d/remi.repo
echo "baseurl = http://rpms.famillecollet.com/enterprise/6/remi/x86_64/" >> /etc/yum.repos.d/remi.repo
echo "gpgcheck = 1" >> /etc/yum.repos.d/remi.repo
echo "enabled = 0" >> /etc/yum.repos.d/remi.repo 

yum install --enablerepo=remi mysql-libs -y
yum install --enablerepo=fedora-source php-mcrypt php-pecl-memcached php-pecl-ssh2 -y
yum install http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm -y
yum install http://linuxdownload.adobe.com/linux/x86_64/adobe-release-x86_64-1.0-1.noarch.rpm -y
yum install ffmpeg ffmpeg-devel flash-plugin flvtool2 gstreamer{,1}-plugins-ugly gstreamer1-plugins-bad-freeworld gstreamer-plugins-bad-nonfree HandBrake-{gui,cli} icedtea-web lame libdvdcss libogg libvorbis mencoder smplayer vlc -y
yum install bzip2 php-devel -y

mkdir /usr/local/include/ffmpeg
cp -p /usr/include/ffmpeg/libavformat/avio.h /usr/local/include/ffmpeg
cp -p /usr/include/ffmpeg/libavformat/avformat.h /usr/local/include/ffmpeg
cp -p /usr/include/ffmpeg/libavcodec/avcodec.h /usr/local/include/ffmpeg
cp -R /usr/include/ffmpeg/* /usr/local/include/ffmpeg 

cd /usr/share/ffmpeg 

wget http://repo.bstack.net/ffmpegauto/libx264-hq.ffpreset
wget http://repo.bstack.net/ffmpegauto/libx264-normal.ffpreset
yum install gpac-devel gpac-libs gpac mod_flvx yasm libogg libvorbis -y
grep /usr/local/lib /etc/ld.so.conf || echo "/usr/local/lib" >> /etc/ld.so.conf
yum install xvidcore xvidcore-devel x264 x264-devel x264-libs opencore-amr opencore-amr-devel faac faac-devel lame lame-mp3x lame-lib opus opusfile libvpx libvpx-devel x265 x265-libs libde265 libde265-devel -y
yum install --enablerepo=* faad2 faac-devel -y

cd /usr/local/src
wget -O fdk-aac.zip https://github.com/mstorsjo/fdk-aac/zipball/master
unzip fdk-aac.zip
cd mstorsjo-fdk-aac*
autoreconf -fiv
./configure

make
make install
make distclean 

cd /usr/local/src
wget http://downloads.sourceforge.net/project/yamdi/yamdi/1.8/yamdi-1.8.tar.gz
tar xzf yamdi-1.8.tar.gz
cd yamdi-1.8
gcc yamdi.c -o yamdi -O2 -Wall
strip yamdi
cp yamdi /usr/bin/yamdi

gem install flvtool2

cd /tmp
wget https://prdownloads.sourceforge.net/clipbucket/clipbucket-2.7.0.5.v2996-stable.zip

unzip clipbucket-2.7.0.5.v2996-stable.zip
mv /tmp/clipbucket-2.7.0.5.v2996-stable/upload /var/www/html/
cd /var/www/html
mv upload corporetube
chmod -R 777 /var/www/html/corporetube
rm -rf /tmp/*

Abra o site e instale, ao final execute:

rm -fr /var/www/html/corporetube/cb_install/
chmod -Rv 755 /var/www/html/corporetube/includes/

echo "* * * * * php -q /var/www/html/corporetube/actions/video_convert.php" >> /var/spool/cron/root
echo "* * * * * php -q /var/www/html/corporetube/actions/verify_converted_videos.php" >> /var/spool/cron/root
echo "0 0,12,13 * * * php -q /var/www/html/corporetube/actions/update_cb_stats.php" >> /var/spool/cron/root

service crond restart 

cd /usr/lib64/
cp libfaad.so.2 libfaad.so.0

Agora acesse o endereço http://corporetube.suaempresa.com.br/admin_area, dentro:

  • Vá em Stats and e escolha Website Configurations. Configure:
    • Website title: Corporetuve
    • Website slogan: Videos Insitucionais
    • Closed message: Site atualizando, tente novamente mais tarde.
    • Allow language change: no
    • Allow template change: no
    • Website Email: suporte@suaempresa.com.br
    • Support Email: suporte@suaempresa.com.br
    • Welcome Email: suporte@suaempresa.com.br
    • Clique na aba Uploading and conversion Settings e configure:
      • SFFMPEG Path: /usr/bin/ffmpeg
      • MP4Box Path: /usr/bin/MP4Box
      • Upload Options: Desmarque Remote Upload
      • Na guia inferior Video Conversion: altere:
        • Audio Codec: libmp3lame
      • Clique em Update Settings
    • Vá em Stats and e em Email Settings e configure:
      • Select Mailer Type php Mail() or SMTP: PHP mail()
      • SMTP Host: smtp.suaempresa.com.br
      • Clique em Update Settings
    • Vá em Stats and e em Language Settings edite a língua padrão e altere os textos para customizar as mensagens de acordo com o padrão desejado.

Fontes/Referências

NVLAN – Instalação padrão do CentOS7

Mais Informações

Esperamos ter te ajudado e estaremos sempre a disposição para mais informações.

Se você tem interesse em algum assunto específico, tem alguma dúvida, precisa de ajuda, ou quer sugerir um post, entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria