bibigeek.com  Tu blog de Programación Geek: Java, php, J2EE... y mucho más

Archive for the ‘ Servidor ’ Category

En fin otra vez aquí…

Hoy, para los que lo desconocían, os mostraré como en el subversion podemos ignorar ficheros con una extensión determinada o un directorio particular.

¿Objetivo de ignorar ficheros o directorios en el SVN?

Añadir reglas o filtros al proyecto para que tales ficheros o directorios no se incluyan en nuestro Repositorio de Versiones, Subversion.

¿Se podría dar el caso de querer ignorar ficheros?

Realmente, un ejemplo muy bueno son los lenguajes compilados. Ejemplos:

  • Java: genera ficheros “.class”
  • Python: genera ficheros “.pyc”
  • No nos interesa subir imágenes (a gusto del consumidor)
  • También es probable que no nos interese tener que subir los fichero .war o .ear, si tenemos el proyecto completo ¿para que guardar algo que se puede volver a generar?
  • etc

Por lo tanto, estos ficheros no tienen mucho sentido para mí que estén en nuestro repositorio.

¿Cómo ignorar los ficheros?¿Qué comando ejecutar para ignorar ficheros/directorios en el SVN?

Para añadir reglas debemos utilizar el terminal o algún programa específico para Subversion, por ejemplo, el Tortoise.

Desde Terminal

Veamos los pasos a seguir y el comando a ejecutar:

  1. Localizamos donde esta nuestro proyecto, NO accedemos a él.
  2. Utilizando el comando siguiente: svn propset svn:ignore <criterio> <path> podremos indicar los ficheros o directorios a ignorar por el subversion.

Ejemplos:


svn propset svn:ignore ".pyc" TestDjango/
svn propset svn:ignore ".class" TestJ2EE/
svn propset svn:ignore "*" classes/  #Todo el directorio queda ignorado por el subversion

Desde Tortoise

En este tema será tan simple como el software en cuestión lo sea, es decir, el Tortoise puede, o no, ser más simple que otro. Por lo tanto, habrá que mirar la ayuda o manuales del Software. Adjunto imágenes del funcionamiento del Tortoise:

1. Inicio del Tortoise
2. Botón derecho encima del proyecto versionado
3. Pulsamos PROPERTIES
4. Pulsamos ADD PROPERTIES


5. Añadimos el PROPERTY deseado, en este caso el svn:ignore. Deseamos ignorar todos los ficheros .class y se tiene que aplicar activar el checkbox “Apply property recursively” para que tenga efecto en todo el proyecto.

apply property

Desde Netbeans

También podemos hacer funcionar el comando svn:ignore en el Netbeans… ¿impresionante no? Veamos estas imágenes que nos ayudará a entenderlo:

1. Abrimos el Netbeans y pulsamos botón derecho encima del proyecto
2. Del menu Contextual, pulsamos Subversion/Properties/

svn properties netbeans

3. Nos aparecerá una nueva ventan en la que podremos añadir las propiedades deseadas, veamos la imagen:

Añadir propiedades con netbeans

Espero que os sirva de mucha ayuda, a mi ya me está haciendo su fruto jejeje :P

Saludosss!!!!

Otro Post de servidores y testeado en mi ubuntu Karmic Koala :P

Esta vez he dedicado algunas horas, días… en simular lo que tengo instalado en mi servidor Debian Lenny. Gracias a la tercera edición del Creant Bits al Núvol, organizado por Antoni Aloy, y en esta exposición más concretamente, gracias a Ricardo Galli (creador del Meneame, profesor de la Universidad de las Islas Baleares y gran profesional informático…), me di cuenta que tenía que imitar su trabajo, parte de los problemas que tenía Ricardo también los encuentro en mi servidor y se puede mejorar con las novedades explicadas en la charla sobre Menéame (enhorabuena).

Conclusión de esta introducción, todo cambio puede ir mejor, pero también a peor si no sabemos como llevarlo a cabo. Para ello, estoy simulando en mi Ubuntu Karmic Koala unas condiciones similares del Servidor Debian contratado.
Objetivo: cuando realice el cambio debe ser lo más breve posible y el impacto que pueda causar sea nulo (factor bastante imposible, porque ya esta peligrando el subversion con el paquete webdav).

Primer punto: Instalar NGINX en Ubuntu de cero.

La verdad es que su instalación es relativamente fácil, solamente con un sudo aptitude install nginx ya se instala. Pero nos aseguramos si realmente los repositorios que tenemos agregados en nuestro Karmic Koala contienen Nginx:


sudo aptitude search nginx

#Salida de la ejecución del comando
p   nginx             - small, but very powerful and efficient web server and mail proxy

Después de cerciorarnos que tenemos disponible el paquete nginx pasamos a su instalación, por lo tanto:


sudo aptitude install nginx

#Tendría que aparece algo similar a esto:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Se instalarán los siguiente paquetes NUEVOS:
nginx
0 paquetes actualizados, 1 nuevos instalados, 0 para eliminar y 160 sin actualizar.
Necesito descargar 329kB de ficheros. Después de desempaquetar se usarán 803kB.
Escribiendo información de estado extendido... Hecho
Des:1 http://es.archive.ubuntu.com karmic/universe nginx 0.7.62-4ubuntu1 [329kB]
Descargados 329kB en 1s (313kB/s).
Seleccionando el paquete nginx previamente no seleccionado.
(Leyendo la base de datos ...  00%
126264 ficheros y directorios instalados actualmente.)
Desempaquetando nginx (de .../nginx_0.7.62-4ubuntu1_i386.deb) ...
Procesando disparadores para man-db ...
Procesando disparadores para ufw ...
Procesando disparadores para sreadahead ...
Configurando nginx (0.7.62-4ubuntu1) ...

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Leyendo la información de estado extendido
Inicializando el estado de los paquetes... Hecho
Escribiendo información de estado extendido... Hecho

En fin, hemos tardado ¿3 -5 minutos? No está mal. Para arrancar el server o pararlo, es parecido al servidor apache, pero cambiando el nombre del script:


sudo /etc/init.d/nginx start

#Salida en pantalla tras la ejecución del script
Starting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
nginx.

IMPORTANTE: este servidor utiliza por defecto el puerto 80, al igual que Apache2. No podemos pretender tener configurado el servidor apache en el puerto 80 y querer también el Nginx, por lo tanto, hay que cambiar el puerto del Apache, desinstalarlo, … eso ya va a vuestro gusto :P

Segundo punto:  Instalación de PHP5 y los paquetes adicionales

Os pongo todos los paquetes que se deben instalar, algunos porque son dependecias u otros porque son plugins… en fin que se deben instalar. El comando completo es:


sudo aptitude install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json

Se descargarán bastantes kbytes de información.

Justo después de esto, debemos modificar el php.ini incluyendo el siguiente texto al final del fichero:
ACTUALIZACIÓN = el php.ini lo encontramos en /etc/php5/cgi/php.ini

cgi.fix_pathinfo = 1

Esta línea es necesaria para que el PHP funcione correctamente como CGI.

Tercer punto: Instalación del FastCGI

En la instalación de este paquete tenemos un grave problema. En Ubuntu no tenemos ningún paquete explícito para instalar FastCGI, para ello necesitaremos instalar el lighttpd.
Debemos tener en cuenta que el lighttpd también es un servidor web y en su configuración está especificado que el puerto de escucha es el 80. Upss, pero el puerto 80 ya esta siendo utilizado, por lo tanto, fijáos bien en la salida por pantalla de la ejecución del siguiente comando:


sudo aptitude install lighttpd

#Salida de la instalación
........
Se instalarán los siguiente paquetes NUEVOS:
libterm-readline-perl-perl{a} lighttpd
0 paquetes actualizados, 2 nuevos instalados, 0 para eliminar y 160 sin actualizar.
Necesito descargar 371kB de ficheros. Después de desempaquetar se usarán 1245kB.
¿Quiere continuar? [Y/n/?] y
Escribiendo información de estado extendido... Hecho
Des:1 http://es.archive.ubuntu.com karmic/universe libterm-readline-perl-perl 1.0302-1 [52,0kB]
Des:2 http://es.archive.ubuntu.com karmic/universe lighttpd 1.4.22-1ubuntu4 [319kB]
Descargados 371kB en 1s (326kB/s).
Seleccionando el paquete libterm-readline-perl-perl previamente no seleccionado.
(Leyendo la base de datos ...  00%
126682 ficheros y directorios instalados actualmente.)
Desempaquetando libterm-readline-perl-perl (de .../libterm-readline-perl-perl_1.0302-1_all.deb) ...
Seleccionando el paquete lighttpd previamente no seleccionado.
Desempaquetando lighttpd (de .../lighttpd_1.4.22-1ubuntu4_i386.deb) ...
........
update-alternatives: usar /usr/bin/spawn-fcgi.lighttpd para proporcionar /usr/bin/spawn-fcgi (spawn-fcgi) en modo automático
Syntax OK
* Starting web server lighttpd
lighttpd
2010-02-27 10:50:38: (network.c.300) can't bind to port:  80 Address already in use
[fail]
invoke-rc.d: initscript lighttpd, action "start" failed.

.......

He señalado dos frases importantes:

  • La primera: la he remarcado por la siguiente palabra, spawn-fcgi, que es lo que utilizaremos como el fast-CGI
  • La segunda: importante porque nos indica que el puerto 80 ya está en uso :P

Para utilizar el spawn-cgi antes deberemos eliminar del fichero de arranque el lighttpd, que realmente no utilizaremos. Entonces, ejecutamos el comando:


sudo update-rc.d -f lighttpd remove

#Salida por pantalla
Removing any system startup links for /etc/init.d/lighttpd ...
/etc/rc0.d/K09lighttpd
/etc/rc1.d/K09lighttpd
/etc/rc2.d/S91lighttpd
/etc/rc3.d/S91lighttpd
/etc/rc4.d/S91lighttpd
/etc/rc5.d/S91lighttpd
/etc/rc6.d/K09lighttpd

Con la ejecución de este último comando, el cual necesita permisos de superusuario, elimina del inicio del sistema, el arranque del lighttpd.

Cuarto paso: Configuración del FastCGI (concretamente Spawn-cgi)

Principalmente este paso es importante porque tenemos que modificar scripts, crear de nuevos, etc.

  1. Para que el funcionamiento del PHP FastCGI sea correcta necesitaremos indicar: puerto de escucha, usuario y grupo. Se puede realizar mediante la siguiente línea de código:
    
    /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
    
  2. Pero esto TIENE UN PROBLEMA, cada vez que reiniciamos el servidor o mejor dicho el PC, necesitaremos ejecutar la línea anterior. Por ello, lo que haremos será modificar el fichero de administración local, llamado rc.local, incluyendo en el fichero la línea anterior. Esto nos permitirá no tener que añadir esta misma línea cada vez.
    El fichero lo encontraremos en: /etc/rc.local, y tendría que quedar una cosa así:

    
    .......
    /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid
    
    exit 0
    
  3. Ahora tenemos que crear un script con el nombre php-fastcgi en el siguiente directorio:
    
    /etc/init.d/php-fastcgi
    
  4. Contenido del fichero deber ser el siguiente:
    
      1 #! /bin/sh
      2 ### BEGIN INIT INFO
      3 # Provides:          php-fastcgi
      4 # Required-Start:    $all
      5 # Required-Stop:     $all
      6 # Default-Start:     2 3 4 5
      7 # Default-Stop:      0 1 6
      8 # Short-Description: Start and stop php-cgi in external FASTCGI mode
      9 # Description:       Start and stop php-cgi in external FASTCGI mode
     10 ### END INIT INFO
     11
     12 # Author: Kurt Zankl <[EMAIL PROTECTED]>
     13
     14 # Do NOT "set -e"
     15
     16 PATH=/sbin:/usr/sbin:/bin:/usr/bin
     17 DESC="php-cgi in external FASTCGI mode"
     18 NAME=php-fastcgi
     19 DAEMON=/usr/bin/php-cgi
     20 PIDFILE=/var/run/$NAME.pid
     21 SCRIPTNAME=/etc/init.d/$NAME
     22 PHP_CONFIG_FILE=/etc/php5/cgi/php.ini
     23
     24 # Exit if the package is not installed
     25 [ -x "$DAEMON" ] || exit 0
     26
     27 # Read configuration variable file if it is present
     28 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
     29
     30 # Load the VERBOSE setting and other rcS variables
     31 . /lib/init/vars.sh
     32
     33 # Define LSB log_* functions.
     34 # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
    

    Puedes descargar el fichero php-fastcgi.
    El fichero tiene la extensión .txt para que el Wordpress no lo detectase como corrupto, por ello, cuando copiéis el fichero en la ruta /etc/init.d/ debéis eliminar la extensión .txt

  5. Necesitamos que este script tenga permisos de ejecutable, por lo tanto, la ejecución del siguiente comando nos permitirá que lo sea:
    
    chmod +x /etc/init.d/php-fastcgi
    

Quinto paso: Configuración de Nginx para que funcione con FastCGI

Ahora le toca a Nginx…debemos configurar a este servidor web, para que los ficheros php los pueda servir mediante FasfCGI. Pasemos entonces a configurar el virtualhost default de ngnix:


sudo vim /etc/nginx/sites-available/default

#Necesitamos añadir el texto siguente:
location ~ \.php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /var/www/nginx-default$fastcgi_script_name;
include fastcgi_params;
}

Con todo esto ya tenemos instalado nginx – php5 – FastCGI, como prueba podríamos crear un fichero info.php en el directorio raix de nginx, que según el ejemplo y el virtualhost, lo encontraremos en: /var/www/nginx-default/
Espero que haya servidor para algo no???? :P

Hola a tod@s,
Estos días estoy metiéndome mucho con la configuración de mi Mac desde Terminal, ya que estoy intalando el Django y preparándome para el WorkShow.

Normalmente utilizo la Terminal para conectarme con ssh a mi Servidor ya para hacer algunas que otras cosillas como: asignar permisos (que desde mi punto de vista es mucho más rápido que la interfaz), modificar ficheros ocultos o busquedas de ficheros ocultos… Pero nunca me había detenido en que la Terminal tuviera una visualización más idónea, más práctica para diferencias ficheros y carpetas…, configuración que algunos Linux traen por defecto. En fin que tuve que buscar como hacerlo, y lo conseguí, otra cosa que he aprendido!!!!!

Explicación y ejemplos BASHRC

Para añadir los colores en la Terminal sólo será necesario modificar el fichero bashrc. En las distintas distribuciones linux se puede encontrar este fichero en diferentes directorios, si es que se han creado. Os pondré unos ejemplo:

Ejemplo 1. Que ya esté creado (Distribución Debian Lenny)

Os pondre el ejemplo más fácil, el de mi servidor Debian Lenny. Cuando entré por primera vez en el servidor mediante SSH, me di cuenta que no tenía activado los colores a la hora de distinguir ficheros, directorios, ejecutables, etc. A raíz de esto, me puse a buscar como activarlo y tuve que buscar el fichero bashrc.

Aquí es donde podemos ver una diferencia sustancial entre Mac OS X con Debian, el fichero bashrc en Debian lo encontramos como un fichero oculto en el directorio raíz del usuario (por ejemplo: /home/bibigeek/.bashrc) en concreto, es decir, cada usuario tiene que tener su fichero .bashrc. Veamos una ilustración:

Debian Bashrc
Si ya está creado, lo único que tendremos que hacer es modificar el fichero y tenemos que descomentar unas líneas: desde el export hasta el trecer alias. Por lo tanto, el fichero debería quedar así:


# ~/.bashrc: executed by bash(1) for non-login shells.

export PS1='\h:\w\$ '
umask 022

# You may uncomment the following lines if you want `ls' to be colorized:
export LS_OPTIONS='--color=always'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'

Ejemplo 2. Que el fichero no este creado

Simplemente tenemos que crear el fichero .bashrc en el directorio raíz del usuario y listo. Reiniciamos el bash y teóricamente tenemos que poder entrar con los colores activos. IMPORTANTE: el contenido del fichero tiene que ser el mismo que el del Ejemplo 1.

Mac añadir colores en el Terminal.app

Primero tenemos que conocer donde tenemos que buscar el fichero bashrc en Snow Leopard. Lo encontraremos en:


/etc/bashrc // Lo tenemos que editar con vim

En este fichero no hay que descomentar nada, todo lo contrario, sino que hay que añadir nuevas líneas de código, veámoslas:


export TERM=xterm-color
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad

Poniendo estas líneas de código, tendremos configurado nuestro terminal con los colores.

Poner colores al editor VIM en Mac

Ahora viene el otro punto fuerte de este POST, otra vez los colores :P

¿Como podemos darle colores al editor VIM cuando abrimos un fichero?

Para llevar a cabo esto, nuevamente hay que modificar un fichero de condiguración, en este caso es el fichero vimrc.

En Debian (y creo que en las distintas distribuciones también) podemos encontrar cuyo fichero en la ruta:


/etc/vim/vimrc

En cambio para el sistema Mac OS X lo podemos encontrar:


/usr/share/vim/vimrc

En ambos ficheros tenemos que añadir una línea, o como me pasó en el caso del Sistema Debian, descomentarla, para que pueda funcionar correctamente los colores en el editor Vim, y es:


syntax on

Con esto doy como finalizada esta nueva entrada en bibigeek, espero que os sea tan útil como lo ha sido para mi.
Un fuerte abrazo!

Ya está… CONSEGUIDO!

Como habéis podido comprobar en los anteriores posts (para ser más concretos los dos últimos) he cambiado de Servidor y en estos momentos tengo instalada una distribución Linux Debian Lenny.
Como podréis imaginar a un buen programador no le puede faltar un Repositorio de Versiones, en este caso he instalado nuevamente el Subversion siguiendo los pasos de un Post que ya escribí en su tiempo, pero sólo tenéis que añadir una modificación en el siguiente comando:


sudo svnadmin create /home/<nombreDirectorio>

Hay que añadir la opción: –fs-type fsfs. Por lo tanto, el comando quedaría de la siguiente forma:


sudo svnadmin create --fs-type fsfs /home/<nombreRepositorio>

Sabiendo esto, ya podéis seguir las instrucciones de este Post:

Instalar un Repositorio Subversion en Ubuntu con WebDav

Ya sé que el Post para instalar un Respositorio Subversion era para una distribución Ubuntu, pero estos mismos pasos me han servido para instalar satisfactoriamente el Subversion en mi nueva distribución Debian. Lo que voy a explicar ahora de nuevo es como activar el módulo websvn que contiene una interfaz más amigable, funciones de comparación, histórico,… como de un cliente subversion se tratase pero disponible en formato Web (programada con php).

Instalar WebSVN en Linux Debian Lenny, Ubuntu…

Simplemente hay que comprobar si tenemos disponibles en nuestros repositorios linux el paquete websvn. Lo podremos comprobar ejecutando el siguiente comando en una terminal:


sudo aptitude search websvn
p   websvn                             - interface for subversion repositories written in PHP

Si véis que hay una “i” en vez de una “p” justo al incio de la línea querrá decir que está instalado, en caso contrario no. Para instalar el WebSVN también será necesaria la instalación de otro paquete adicional llamado: enscript. Por lo tanto vayamos a instalar los dos paquetes poniendo los siguientes comandos:


sudo aptitude install enscript
sudo aptitude install websvn

Ahora viene cuando deberemos configurar el websvn para que funcione con nuestro respositorio.

KIT-KAT: Tengo que mencionar que dentro de un mismo directorio podremos tener varios Repositorios Instalados, por ejemplo, un repositorio para proyectos personales y otro para proyectos de invitados, FIN KIT-KAT

Ahora veamos las imágenes que nos ayudará a entender como configurar el WebSVN:

Imagen 1. Especificamos que deseamos configurar el webSVN

Pantallazo 1. Configuracion inicial

Imagen 2. Tenemos que indicar los módulos que deseamos configurar para el apache, yo he seleccionado todos :P .

Pantallazo con las confguraciones posibles de apache

Imagen 3. Indicar la carpeta donde están situados los repositorios subversion, en este caso lo instalé en /var/SVN

[More]

Como habréis notado algunos, ayer estuve configurando el nuevo server y parecía estar caído, inaccesible en algunos momentos… en fin una cadena de errores que ni yo sabía por donde pillarlo :P

Primero presentaros al nuevo Server:

  • Compañía: OVH
  • Procesador: Intel Atom CPU 330 1.60 GHz
  • Memoria Ram: 1 GB
  • Disco: etx3 20 GB
  • Sistema Operativo:
    • Distributor ID: Debian
    • Description: Debian GNU/Linux 5.0.2 (lenny)
    • Release: 5.0.2
    • Codename: Lenny

Me gustaría que me dieráis vuestra opinión y ayuda. ¿Por qué ayuda? Necesito saber como mirar el rendimiento de mi machine y estoy buscando algo que me proporcione algunos datos sobre el servidor.

Tengo que comentaros el error principal de ayer, la innaccesibilidad de mi blog Wordpress. Todo vino por los Permalinks, cuando hice la importación de la Base de Datos, los Permalinks estaban con el nombre: día y nombre del Post. Automáticamente el Wordpress estaba creando el fichero .htaccess, pero se vé que no se podia acceder a él… como solución cambié los permialinks por defecto y funcionaba todo correctamente (gracias a eso no se creaba el .htaccess). Volví al estado inicial y nada, volvía a PETAR…

Las solución fué “LOS PERMISOS” del fichero .htaccess, tuve que darle un chmod 755, con ello ya funcionaron todos los permalinks.

Muchas gracias a tod@s!!!!

Buenas,

Ayer llegó el gran día. Parece que todas las empresas de SO se han puesto de acuerdo para sacar sus productos al mercado, en este caso el último ha sido Ubuntu (SO de software libre y puede ser accesible para todo el mundo… ni Windows ni OS X) con la versión 9.10 y su nuevo nombre Karmic Koala.

¿Querrá decir que Ubuntu tenía una “as en la manga” y sus enemigos lo desconocían por completo? :P

VentanaUbuntu9.10

Una de las mejoras principales es la “optimización de Ubuntu para los ultraportátiles”, que cada día más se están poniendo de moda ¿Y cómo no? Ubuntu no se está bajando del carro, todo lo contrario, siempre buscando la máxima optimización de su Sistema (BRAVÍSIMO).

¡Ubuntu! Tú siempre serás bienvenido… ¡¡¡Larga vida a Ubuntu!!!

Descargar Ubuntu 9.10 – Karmic Koala

Buenos días,
Vayamos a escribir un poco sobre los enlaces simbólicos en Linux, más concretamente en Ubuntu Server.

Definición Enlace Simbólico (SymLink)

El “Enlace Simbólico” no es más que una referencia (enlace) a una carpeta (directorio) o fichero que está situado en un lugar físico distinto. Por mucho que borremos el enlace simbólico no borraremos el directorio o fichero real.

Desde mi punto de vista lo comparo como si fuera un Puntero, en el que, cuando accedemos al puntero realmente estamos accediendo a la posición física del fichero, con la direfencia que sólo podemos leer y modificar… esto es una Comparación no una Definición.

Definición Enlace Duro (HardLink)

También podemos encontrar otro tipo de enlace, el “Enlace Duro o Hard Link”. Lo relaciono como si fuera un acceso directo a un directorio, ya que su acceso es el mismo al real. En este caso si borramos el Hard Link si borraremos el directorio real.

Ejemplo práctico Enlace Simbólico

  1. El directorio TEST está localizado en: /var/www/TEST
  2. El directorio PEPITOPRUEBA está localizado en /home/bibigeek/www/PEPITOPRUEBA
  3. Ahora vamos a crear que TEST sea un enlace simbólico al directorio PEPITOPRUEBA

Para crear un enlace Simbólicio tenemos que recurrir al comando Unix ln. Veamos el ejemplo en código:


/* Código:  user@server:~$ ln [-s] <ruta o fichero Real> <ruta y nombre enlace> */
user@server:~$ ln -s  /home/bibigeek/www/PEPITOPRUEBA   /var/www/TEST
/* El nombre del enlace es TEST */

Este ejemplo que os he expuesto, es para utilizar mi servidor Apache Local y tener una web alojada en el usuario /home/bibigeek, más concretamente en la carpeta /www/PEPITOPRUEBA. Esto es para no tener que ir copiando fichero en la carpeta /var/www y utilizando el root, una matada.

Por lo tanto, como ya he creado el Enlace Simbólico, si pusiera en mi barra de direcciones: http://localhost:80/TEST, mi servidor apache estaría accediendo “FÍSICAMENTE” en la dirección física: /home/bibigeek/www/PEPITOPRUEBA.

¡¡¡¡Espero que os sirva de algo!!!! (para mí es más que útil :P )

Gracias a un comentario de arleyb, he comprobado puede darse el caso que en el fichero de configuración no tengáis activado el Motor de Almacenamiento InnoDB.
Yo lo he probado en dos servidores, uno gentoo y otro Ubuntu Server y he podido comparar los resultados (en el primero no funciona y en el segundo va de perlas).

Solución para activar InnoDB en MySQL

La solución es tan simple como la de comentar una línea en el fichero de configuración del MySQL, la línea es esta: “skip innodb”. Hay que comentarla con el carácter almohadilla ‘#’.
Este fichero de configuración se llama my.cnf y lo podemos encontrar en el directorio /etc/mysql/my.cnf.
Importante, después de realizar la modificación REINICIAR el MySQL.

Para aquellos que tengan un servidor compartido, supongo que os tendréis que poner en contacto con el servicio técnico para que se active esta opción. Por temas de rendimiento, a lo mejor lo tienen desactivado.

Buenas a tod@s,
Hoy no escribiré sobre java (no os alarméis, ya tengo un post a punto de finalizar…) sinó que vamos a pasar a instalar un Servidor FTP en nuestro linux. Algo necesario si deseamos subir archivos mediante un cliente ftp (Filezilla, por ejemplo), si deseamos vender espacio y queremos proporcionar servicios al cliente, etc. Por lo tanto:

¿Qué Servidor FTP elegir?

En mi caso me he decantado por el PROFTPD por el buen renombre que circula por la Web (link a la wikipedia). No me he detenido a averiguar que diferencias podría haber con otro Servidor FTP, pero lo comprobaré más adelante, si es que tengo tiempo suficiente :P

¿Cómo Instalar un Servidor PROFTPD en Ubuntu Server 8.04?

Podemos utilizar tanto el apt-get o el aptitude (yo soy los de aptitude, ya que mira las dependencias, los paquetes que se actualizarán, los paquetes que se descargarán,… y es una versión más simple, para mi gusto).
Primero, lo que se podría hacer es comprobar si en vuestros repositorios tenéis este paquete utilizando el siguiente comando:


/* Para buscar el paquete PROFTPD en nuestros repositorios, el comando linux es: */
sudo aptitude search proftpd

También se puede realizar una simulacion de la instalación del paquete para comprobar si se eliminarán paquetes, si hay conflictos entre paquetes…, pero no os alarméis, utilizando este comando lo simularéis, no os descargaréis nada ni instalaréis nada:


/* Para Simular la instalacion el comando es:  */
sudo aptitude install -s proftpd

Ahora Sí… para realizar la instalación (después de las comprobaciones opcionales), debemos poner el siguiente comando en vuestra Terminal:


sudo aptitude install proftpd

Cuando instalemos el PROFTPD nos harán una pregunta (en inglés, alemán, castellano… eso ya depende de cada Ubuntu), aproximadamente dice esto: [More]

Ahora SÍ,

Descárgate la nueva Versión Ubuntu 9.04 Jaunty Jackalope

Ha llegado el gran día para los ubunteros, ha salido la Nueva versión de Ubuntu y nos la podemos descargar desde este enlace: DESCARGA (Ubuntu Hispano).
También os la podéis descargar de la página oficial en Inglés, pulsa aquí.