Páginas

martes, 24 de abril de 2012

PH5 PDO Gentoo

Compilar PHP5 con soporte  Data Objects (PDO)

El carrito de compra de ejemplo está alojado en un hosting gratuito sin publicidad 3 base de datos mysql, etc.. y este es el enlace que te envía a la página de registro 00webhost.com

Después de realizar un ejercicio carrito de compra propuesto por Ricardo Gutierréz (programador PHP), un mensaje de error alerta que el objeto PDO no se encuentra al ejecutar uno de los archivos en mi servidor apache local. El ejercicio lo he subido al servidor gratuito 00webhost.com, desactivado, por supuesto, el pago por paypal. El código y video está disponible en vimeo. Carrito compra funcionando

 Por defecto al compilar php5 (Gentoo) pdo viene desactivado:
# emerge -av php


[ebuild   R    ] dev-lang/php-5.3.10  USE="apache2 berkdb bzip2 cgi cli crypt ctype exif fileinfo filter fpm gd gdbm hash iconv ipv6 json ldap mysql nls phar posix postgres readline session simplexml spell sqlite ssl tokenizer truetype unicode xml zlib -bcmath -calendar -cdb -cjk -curl -curlwrappers -debug -doc -embed -enchant -firebird -flatfile (-frontbase) -ftp -gmp -imap -inifile -intl -pdo -iodbc -kerberos -kolab -ldap-sasl -libedit -mhash -mssql -mysqli -mysqlnd -oci8-instant-client -odbc -pcntl -pic -qdbm -recode -sharedmem -snmp -soap -sockets -sqlite3 -suhosin (-sybase-ct) -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xsl -zip"

Agregamos al archivo /etc/portage/package.use lo siguiente:
# vi /etc/portage/package.use

=dev-lang/php-5.3.10 apache2 berkdb bzip2 cgi cli crypt ctype exif fileinfo filter fpm gd g   dbm hash iconv ipv6 json ldap mysql nls phar posix postgres readline session simplexml spel   l sqlite ssl tokenizer truetype unicode xml zlib pdo -bcmath -calendar -cdb -cjk -curl* -cu   rlwrappers* -debug -doc -embed -enchant -firebird -flatfile (-frontbase) -ftp* -gmp -imap -   inifile -intl -iodbc -kerberos -kolab -ldap-sasl -libedit -mhash -mssql -mysqli* -mysqlnd -   oci8-instant-client -odbc -pcntl -pic -qdbm -recode -sharedmem -snmp -soap -sockets -sqlite   3 -suhosin (-sybase-ct) -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -x   sl -zip (-adabas%) (-birdstep%) (-db2%) (-dbmaker%) (-empress%) (-empress-bcs%) (-esoob%) (   -gd-external%) (-interbase%) (-oci8%) (-sapdb%) (-sharedext%) (-solid%)
:wq

Nuestro sistema está preparado para recompilar php con pdo enable:

Calculating dependencies... done!
[ebuild   R    ] dev-lang/php-5.3.10  USE="apache2 berkdb bzip2 cgi cli crypt ctype exif fileinfo filter fpm gd gdbm hash iconv ipv6 json ldap mysql nls pdo phar posix postgres readline session simplexml spell sqlite ssl tokenizer truetype unicode xml zlib -bcmath -calendar -cdb -cjk -curl -curlwrappers -debug -doc -embed -enchant -firebird -flatfile (-frontbase) -ftp -gmp -imap -inifile -intl -iodbc -kerberos -kolab -ldap-sasl -libedit -mhash -mssql -mysqli -mysqlnd -oci8-instant-client -odbc -pcntl -pic -qdbm -recode -sharedmem -snmp -soap -sockets -sqlite3 -suhosin (-sybase-ct) -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xsl -zip" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No] y

Al finalizar la compilación un mensaje informa de que deben actualizarse algunos archivos de configuración del sistema. Una de las herramientas utilzadas para ello es update-etc:


Reiniciar apache:

# /etc/init.d/apache2 restart
 * Stopping apache2 ...                                             [ ok ]
 * Starting apache2 ...                                               [ ok

Linux es genial!.

domingo, 22 de abril de 2012

SSH


SSH (Secure Shell) se refiere al protocolo de red y las herramientas que dispone un administrador con la habilidad de iniciar sesion en un dispositivo remoto, remota ejecución, copia remota, etc.


SSH y las herramientas del paquete SSH - ssh, slogin, scp, y sftp - han remplazado las herramientas Unix rsh, rlogin, rcp, y telnet. Cada uno de esos comandos ejecuta un shell sobre el host remoto y permite al ususario llamar comandos. Como cada cliente necesita una cuenta de usuario en el host donde se ejecutan los comandos, todos los comandos mencionados también realizan autenticación.

El paquete SSH incluye ssh-keygen, ssh-agent, y ssh-add para apoyar la autenticación.

SSH interactiva

Después de abrir una SSH conexión y haber tecleado su password de usuario en el host remoto SSH remitirá la totalidad de su teclado al host remoto.

ssh -l carlos centos5.zapto.org


Para obtener una lista de los comandos soportados ~?
Listar las conexiones SSH abiertas ~#


Copiar archivos con scp:

Copiar todos los directorios y su contenido de un cliente FreeBSD a un servidor OpenBSD:

En el servidor (192.168.3.1) crear el directorio
obsd$ mkdir /home/carles/freebsd-client

Realizar la copia desde el cliente:
bsd$ scp -r /usr/home/carles/* carles@192.168.3.1:/home/carles/freebsd-client

$ scp -r /usr/home/carles/* carles@192.168.3.1:/home/carles/freebsd-client  

Copiar archivo pf.conf desde el servidor con IP 192.168.3.1 (no olvide el punto final)

$ mkdir soekris
$ cd soekris
$ scp carles@192.168.3.1:/etc/pf.conf .


El comando scp de SSH permite copiar archivos. man scp permite conocer la sintaxis completa.

scp file1 usuario@host:file2

Ejemplo:
scp archivo1 carlos@centos5.zapto.org:archivo2

Para copiar en dirección contraria.

scp carlos@centos5.zapto.org:archivo1 archivo3

Para copiar por directorios recursivamente se utiliza el flag -r


Sshfs


Como SSH autentica y encripta todo dato a transferir es -util para transferir con seguridad datos a través de Internet. Sshfs permite a un usuario sin privilegios la habilidad de montar un remoto sistema de ficheros utilizando SSH, sin embargo esta técnica no requiere del módulo FUSE (Filesystem in Userspace) en el lado cliente. En el lado del servidor sshfs solo necesita un servidor SSH con un sub-sistema SFTP. Si instala en el lado cliente el paquete sshfs su gestor de paquetes instala fuse-utils y lib-fuse2.

La sintaxis para sshfs es como sigue:

sshfs user_name@host:path puntomontaje-local [optiones]

Ejemplo:
mkdir /mnt/remoto
sshfs carlos@centos5.zapto.org:/home/carlos /mnt/remoto



Algunos gestores de archivos pueden usarse en una conexión SSH para acceder al sistema de ficheros de un host remoto.

Nautilus (Gnome) soporta el protocolo SSH. El administrador solo necesita teclear la dirección requerida como una URL en la barra de direcciones:

ssh://hostnombre/path
La barra de direcciones no se muestra por defecto pero presionando ctrl + L se activa o desde la barra de herramientas --> Ir --> ubicación.


Utilizar compresión

SSH suporta compresión. Comprimir la comunicación entre ssh y sshd implica una sobrecarga en ambos extremos que se ve compensado transfiriendo solo el 50 por ciento de los paquetes.

Es posible activar permanentemente la compresión en el lado servidor utilizando compression yes en el archivo de configuración /etc/ssh/sshd_config. De la misma manera para hacer permanente la compresión en el lado cliente:
compression yes en el archivo $HOME/.ssh/config. Habilitar la transmisión comprimida temporalmente pasa por usar la opción -C en la conexión encriptada.

Info:
OpenSSH http://openssh.org
FUSE http://fuse.sourceforge.net
Linux Magazine

Linux es genial!.