Sitio de WordPress.com sobre Tecnología y código abierto

PhpMotion es una herramienta de código abierto que nos permitirá contar con un servidor de videos propio al estilo youtube.

Para el presente manual vamos a considerar que contamos ya con Linux instalado, en éste caso CentOS5.

El primer paso a realizar será instalar el servidor de mysql. Para ésto desde la terminal tecleamos:

#yum install mysql mysql-server

El siguiente paso será indicar al sistema operativo que el servicio de mysql se iniciará automáticamente al arranque, para ésto desde teminal tecleamos:

#chkconfig --levels 235 mysqld on
#etc/init.d/mysqld start

Una vez instalado y arrancado el mysql procederemos a crear una contraseña para el usuario root de mysql el cual por default no tiene contraseña. Para hacer ésto tenemos dos opciones, con el comando:

#mysqladmin -u root password yourrootsqlpassword

o ingresando con el usuario root sin contraseña y cambiandola desde mysql

#mysql -u root -p
UPDATE user SET password=PASSWORD('tupassword') WHERE user='root';

Ya que hemos instalado y configurado el password de root de mysql instalaremos el servidor web Apache e indicaremos que se debe iniciar automáticamente. Para ésto ejecutamos desde la terminal los siguientes comandos:

#yum install httpd
#chkconfig --levels 235 httpd on
#/etc/init.d/httpd start

Teniendo instalado el apache habrá que instalar el soporte para php, el soporte para acceso a mysql y el de gráficos para las imágenes captcha del sistema.

#yum install php php-mysql php-gd

Ahora buscaremos el archivo de configuración de php que se encuentra en: /etc/php.ini y lo editamos

#nano -w /etc/php.ini

Buscaremos las siguientes directivas para asignar valores los cuales también dependerán de tus requerimientos y limitantes.

upload_max_filesize=100M
post_max_size=100M
max_execution_time = 1500
session.gc_maxlifetime = 14000
safe_mode=off
Thread saftery = disabled
enable_dl=On

El siguiente paso será editar también el archivo de configuración del apache:

#nano -w /etc/httpd/conf/httpd.conf

Buscaremos las siguientes directivas y remplazaremos con las siguientes lineas:

<Directory />
AllowOverride None
Options Indexes SymLinksIfOwnerMatch MultiViews
Order Allow,Deny
Allow from all
</Directory>

<Directory "/var/www/html">
Options Indexes SymLinksIfOwnerMatch Includes +ExecCGI
AllowOverride all
Order allow,deny
Allow from all
</Directory>

DirectoryIndex index.php index.html index.htm

ScriptAlias /cgi-bin/ "/var/www/html/phpmotion/cgi-bin/"

<Directory "/var/www/html/phpmotion/cgi-bin">
Options +ExecCGI -Indexes
AllowOverride All
Order allow,deny
Allow from all
AddHandler cgi-script .cgi .pl
</Directory>

Después de hacer los cambios anteriores reiniciamos el apache

# service httpd restart

Notese que en las directivas ya estamos asumiendo que la ruta y carpeta del phpmotion se encontrará directamente en la carpeta de publicación de apache /var/www/html/phpmotion

Teniendo ya instalado y configurado apache, php y mysql procederemos a la instalación del phpmotion descargando los archivos del sitio de phpmotion: http://phpmotion.com

La versión de phpmotion que instalaremos dependerá de la versión de php que tengamos. Para verificar que versión de php está corriendo en nuestro equipo ejecutamos el siguiente comando:

#php –version

Una vez descargada la carpeta de phpmotion la descomprimiremos en la ruta /var/www/html/phpmotion
Procederemos a crear dentro de mysql una base de datos y un usuario para el phpmotion:

#mysql -u root -p
>create user motion identified by 'passwordformotion';
>create database motion;
>grant all on motion.* to motion@'localhost' identified by 'passwordformotion';
>flush privileges;

El siguiente paso será instalar los paquetes necesarios para la presentación, codificación y herramientas de video para ésto habrá que indicarle al sistema operativo que aparte de los repositorios oficiales accederá al repositorio dag para ello crearemos el siguiente archivo:

#nano -w /etc/yum.repos.d/dag.repo

Al archivo agregaremos las siguientes lineas:

[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=0

Finalmente instalaremos los siguientes paquetes:

#yum -y install ffmpeg ffmpeg-devel mplayer mencoder flvtool2

Teniendo éstos paquetes instalados tenemos prácticametne todo lo necesario para comenzar con el wizard de instalación únicamente habrá que dar algunos permisos a ciertas carpetas de phpmotion. Usando el comando chmod daremos permisos 777 a las siguientes carpetas:

/addons
/classes
/logs
/pictures
/setup
/temp
/uploads
/uploads/audio
/uploads/audio/temp
/uploads/avi
/uploads/pictures
/uploads/thumbs

Por ejemplo para dar permisos a /addons

#chmod 777 /var/www/html/phomotion/addons

Deberemos también dar permisos de 755 a la siguiente carpeta:

#cd /var/www/html/phpmotion
#chmod 755 -Rf cgi-bin/

Dependiendo de la versión del paquete es posible que cambien algunas carpetas, de cualquier forma durante el asistente de instación se nos indicará si nos hace falta cambiar permisos a algunas.

Hecho ésto desde el navegador abriremos la ruta: http://localhost/phpmotion/setup donde únicamente deberemos aceptar las condiciones y continuar con un asistente de instalación, el cual primeramente corroborará que las condiciones de software y permisos se cumplan y posteriormente nos preguntará algunos datos como: El nombre del sitio, la URL del mismo, el nombre del servidor de la base de datos (localhost si es local) el nombre de la base de datos, el usuario y el password de la misma.

Finalmente se nos enviará un mensaje notificando que la instalación fue satisfactoria y que debemos eliminar la carpeta /setup.

Si en la instalación que realizamos el phpmotion se encuentra en un sub folder de nuestro dominio por ejemplo: misitio.com.mx/videos o misitio.com.mx/phpmotion habrá que hacer algunas configuraciones adicionales. Primero editaremos el archivo .htaccess que se encuentra en el directorio de phpmotion:

#nano -w .htaccess

Modificamos la linea: RewriteBase / por: RewriteBase /subcarpeta. Ejemplo:

RewriteBase /phpmotion

Para completar la configuración en éste caso de que se tenga publicado el sistema en subcarpeta se tienen que editar otros archivos:

/cgi-bin/uu_default_config.pm
/cgi-bin/audio/uu_default_config.pm

Se cambiarán las lineas de código con el nombre de la subcarmeta, tomaremos como ejemplo que se llama phpmotion:

temp_dir                 => $ENV{'DOCUMENT_ROOT'} . '/phpmotion/temp/',
upload_dir               => $ENV{'DOCUMENT_ROOT'} . '/phpmotion/uploads/avi/',
redirect_url             => '/phpmotion/uploader_finished.php',
path_to_upload           => '/phpmotion/uploads/avi/',

De igual manera los siguientes dos archivos:

/audio_uploader_conlib.php
/uploader_conlib.php

En las siguientes lineas:

$path_to_upload_script      = '/phpmotion/cgi-bin/uu_upload.pl';
$path_to_ini_status_script  = '/phpmotion/cgi-bin/uu_ini_status.pl';

Para ingresar como administrador y configurar mas opciones del sistema ingresamos como: http://localhost/phpmotion/siteadmin/index.php

Con éstos últimos pasos debemos de tener nuestro servidor de videos listo para publicar al mundo.

Deja un comentario