Translate

lunes, 22 de agosto de 2011

MULTIPLES VERSIONES DE PHP EN UN SOLO APACHE

Instalar PHP5.2 y PHP5.3 (REVISION)

1°.- Instalar APACHE2 y PHP5.3

apt-get install apache2 php5 php5-dev libapache2-mod-php5

2°.- Instalar PHP5.2

gunzip php-5.2.17.tar.gz
tar -xf php-5.2.17.tar
cd php-5.2.17/

Install the build tools to manually compile PHP-5.2.

apt-get install libxml2-dev libmysqlclient-dev libcurl4-gnutls-dev libpng12-dev libjpeg62-dev postgresql-server-dev-8.4

Then configure and install PHP-5-2 to /opt/php5.2

./configure --prefix=/etc/php52 --with-config-file-path=/usr/local/src/ServerWeb/php-5.2.17 --with-mysqli --with-mysql --with-curl --with-gd --with-jpeg-dir --enable-cli --enable-fastcgi --enable-discard-path --enable-force-cgi-redirect --with-pgsql

make
make install

3°.- Probar funcionamiento de los PHP

Escribimos este archivo testphp.php en el PATH /var/www,  lo siguiente:

-----------------------------------------
testphp.php

echo phpinfo()
-----------------------------------------

Para PHP5.2

/etc/php52/bin/php /var/www/testphp.php

Para PHP5.3

root@Migracion-2:/# php /var/www/testphp.php

Si nos da la info de PHP de cada versión estamos en buen camino.

4.- Instalar el libapache2-mod-fastcgi

Este paquete no esta en el repositorio de Debian 6 por lo que debemos bajarlo desde:

http://packages.debian.org/squeeze/libapache2-mod-fastcgi

y luego instalarlo manualmente

dpkg --install libapache2-mod-fastcgi_2.4.6-1_i386.deb o libapache2-mod-fastcgi_2.4.6-1_amd64.deb 

dependiendo de la estructura que tengamos en nuestro servidor.

5.- Activar modulos en Apache

a2enmod cgi
a2enmod fastcgi
a2enmod actions

6.- Crear archivo CGI

Creamos el archivo php52-cgi dentro del path /usr/lib/cgi-bin

-----------------------------------------
php52-cgi

#!/bin/bash

PHPRC="/etc/php52"
export PHPRC

PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN

PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS

exec /etc/php52/bin/php-cgi
-----------------------------------------

le damos permisos de ejecución:

chmod +x /usr/lib/cgi-bin/php52-cgi

7.- Copiar el PHP.INI-RECOMMENDED

Dentro del PATH de archivos para instalar copiamos de la siguiente forma

cp /usr/local/src/ServerWeb/php-5.2.17php.ini-recommended /etc/php52/lib/php.ini

PATH de archivos para instalar
/usr/local/src/ServerWeb/php-5.2.17

PATH donde se instalo el PHP5.2
/etc/php52/

8.- Crear archivo php52.conf

El archivo de configuración para apache2 debe ser creado dentro de /etc/apache2, con la siguiente estructura:

---------------------------------------------------------------
php52.conf

#include for virtual hosts that need to run php-5,2

SetHandler applications/x-httpd-php5
<\FilesMatch>
ScriptAlias /php52-cgi /usr/lib/cgi-bin/php52-cgi
Action applications/x-httpd-php5 /php52-cgi
AddHandler applications/x-httpd-php5 .php
---------------------------------------------------------------


9.- Testeo del Funcionamiento

En el archivo /etc/hosts escribimos:

127.0.0.1 php52.localhost php53.localhost

Luego configuramos los VirtualHost dentro de PATH: /etc/apache2/sites-available de la siguiente forma:

Editamos el primer archivo que hace referencia al PHP5.2


-------------------------------------------------------

php52

ServerAdmin webmaster@localhost
DocumentRoot /var/www
ServerName php52.localhost
#Include php5.2
Include php52.conf

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel debug
CustomLog /var/log/apache2/access.log combined
----------------------------------------------------------

y luego creamos un link soft en /etc/apache2/sites-enable

ln -s /etc/apache2/sites-available/php52 php52

Editamos el segundo archivo para PHP53

-----------------------------------------------------------------
php53

ServerAdmin webmaster@localhost
DocumentRoot /var/www
ServerName php53.localhost

ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel debug
CustomLog ${APACHE_LOG_DIR}/access.log combined
----------------------------------------------------------------

y luego creamos un link soft en /etc/apache2/sites-enable

ln -s /etc/apache2/sites-available/php53 php53

Reiniciamos el apache

service apache2 restart

Luego vamos al navegador local de server y probamos haciendo

php52.localhost/testphp.php
php53.localhost/testphp.php


Lo que debemos ver es la configuración de cada PHP instalado.

domingo, 25 de octubre de 2009

CONVERTIR VIDEO RMVB A AVI

Después de probar varias opciones para convertir vídeo RMVB a AVI, con el comando mencoder, la única forma que pude convertirlo fue la siguiente:

Primero:
Instalar el repositorio medibuntu de la siguiente forma:

sudo wget http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list --output-document=/etc/apt/sources.list.d/medibuntu.list

sudo apt-get -q update

sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring

sudo apt-get -q update


Luego de instalar este repositorio instale los siguientes paquetes:

sudo apt-get install mencoder mplayer librte1 librte-dev non-free-codecs
Por ultimo baje el reproductor Real Player para Linux que baja con extensión bin (RealPlayer11GOLD.bin) al cual hay que darle permisos de ejecucion (chmod 755 RealPlayer11GOLD.bin) y por ultimo en /usr/local/codecs hice un links simbolico desde /opt/real/codecs/ donde se encuentra el archivo drvc.so el cual necesita para convertir el video, sino me probocaba el siguiente error:

csottile@smarcnet:~$ mencoder p-CrossingO778.rmvb -oac mp3lame -lameopts preset=128 -ovc lavc -lavcopts
vcodec=xvid -ofps 25 -of avi -o p-Crossing.avi
MEncoder 2:1.0~rc2-0ubuntu19 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Core(TM)2 CPU T5200 @ 1.60GHz (Family: 6, Model: 15, Stepping: 6)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
success: format: 0 data: 0×0 – 0×1467c56d
REAL file format detected.
Stream description: Audio Stream
Stream mimetype: audio/x-pn-realaudio
[real] Audio stream found, -aid 0
Stream description: Video Stream
Stream mimetype: video/x-pn-realvideo
[real] Video stream found, -vid 1
Stream mimetype: logical-fileinfo
VIDEO: [RV40] 672×272 24bpp 23.000 fps 0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:11 fourcc:0×30345652 size:672×272 fps:23.00 ftime:=0.0435
=================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, s16le, 64.1 kbit/4.54% (ratio: 8010->176400)
Selected audio codec: [ffcook] afm: ffmpeg (FFmpeg COOK audio decoder)
=================================================
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
===================================================
Opening video decoder: [realvid] RealVideo decoder
Error: /usr/lib/codecs/drvc.so: cannot open shared object file: No such file or directory
Win32 LoadLibrary failed to load: drvc.so, /usr/lib/win32/drvc.so, /usr/local/lib/win32/drvc.so
Error loading dll
ERROR: Could not open required DirectShow codec drvc.so.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Opening video decoder: [realvid] RealVideo decoder
Win32 LoadLibrary failed to load: drvc.dll, /usr/lib/win32/drvc.dll, /usr/local/lib/win32/drvc.dll
Error loading dll
ERROR: Could not open required DirectShow codec drvc.dll.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Opening video decoder: [realvid] RealVideo decoder
Error: /usr/lib/codecs/drv4.so.6.0: cannot open shared object file: No such file or directory
Win32 LoadLibrary failed to load: drv4.so.6.0, /usr/lib/win32/drv4.so.6.0, /usr/local/lib/win32/drv4.so.6.0
Error loading dll
ERROR: Could not open required DirectShow codec drv4.so.6.0.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Opening video decoder: [realvid] RealVideo decoder
Win32 LoadLibrary failed to load: drv43260.dll, /usr/lib/win32/drv43260.dll, /usr/local/lib/win32/drv43260.dll
Error loading dll
ERROR: Could not open required DirectShow codec drv43260.dll.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Opening video decoder: [realvid] RealVideo decoder
Error: /usr/lib/codecs/drvc.bundle/Contents/MacOS/drvc: cannot open shared object file: No such file or directory
Win32 LoadLibrary failed to load: drvc.bundle/Contents/MacOS/drvc, /usr/lib/win32/drvc.bundle/Contents/MacOS/drvc, /usr/local/lib/win32/drvc.bundle/Contents/MacOS/drvc
Error loading dll
ERROR: Could not open required DirectShow codec drvc.bundle/Contents/MacOS/drvc.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Cannot find codec matching selected -vo and video format 0×30345652.
Read DOCS/HTML/en/codecs.html!

Una vez echo este link simbolico, cree un script muy simple que lo llame convertervideo.sh la siguiente linea nada mas:

Opción 1:
mencoder -oac mp3lame -lameopts cbr=128 -ovc xvid -xvidencopts bitrate=1200 video.rmvb -o video.avi

Opción 2:
mencoder -oac mp3lame -lameopts cbr=128 -vf scale=640:272 -ovc xvid -xvidencopts bitrate=1200 -ofps 25 -of avi p-Proposl198.rmvb -o p-Proposl198.avi

le di permiso de ejecucion y lo ejecute y todo esta funcionando correctamente.

REFERENCIAS

:: Repositorio de Mediubuntu:
http://www.medibuntu.org/

:: Para que tenga en cuenta, esta el site de Mplayer donde explica muy bien que significa cada opcion del mencoder y es la siguiente:
http://www.mplayerhq.hu/DOCS/HTML/en/index.html

:: Sitio donde bajar el Real Player
http://spain.real.com/realplayer/other-versions/

:: Los blog's que me ayudaron para llegar a buen puerto:
http://linuxsix.blogspot.com/2008/11/convertir-rmvb-avi-en-gnu-linux.html
http://phyx.wordpress.com/2008/11/10/convertir-rmvb-a-avi-ubuntu/

martes, 18 de agosto de 2009

MYSQL: TIPS BASICOS

Crear usuarios
Para saber hay dos formas de crear usuarios, uno es haciendo que el usuario se acople al IP de tu pc, asiendo que solamente el usuario pueda conectarse desde esa pc solamente.

Si bien es mas seguro, se convierte en incomodo cuando por otras razones no tenemos una pc fija, y debemos conectarnos a nuestra base de datos, es por ello que el usuario debe crear con esa libertad.

Usuario administrador

Para crear un usuario administrador debemos utilizar la siguiente sentencia:

Usuario Admin con restricción de acceso:
Solo puede ingresar desde la pc que tenga la dirección IP: 192.168.1.2

mysql>GRANT ALL PRIVILEGES ON *.* TO admin@192.168.1.2 INDENTIFIED BY 'pswd' WITH GRANT OPTION;
Query OK, 0 rows affected (0.02 sec)


Usuario Admin sin restricción de acceso:

mysql>GRANT ALL PRIVILEGES ON *.* TO admin@'%' INDENTIFIED BY 'passwd' WITH GRANT OPTION;
Query OK, 0 rows affected (0.02 sec)


Usuario con privilegios
Sobre una sola Base de datos (ON namebase.* ):

mysql> GRANT select, insert, update, create, alter, delete, drop ON namebase.* TO users@'%' IDENTIFIED BY 'password';

Usuario sin privilegios:
Para crear un usaremos la sentencia:

mysql> GRANT USAGE ON *.* TO anonimo@'%' IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.02 sec)


Referencias
GRANT: Permite crear cuentas de usuario MySQL y darles permisos, al mismo tiempo.
'%': Esto dice que puede el usuario admin acceder desde cualquier IP
ON: Permite privilegios en niveles globales: Database y Tablas
TO: Aqui se detalla el nombre del usuario y el enlace a la IP (Fijo o Movil)
IDENTIFIED BY: Etiqueta donde se coloca la password encerrada entre comillas simples.