domingo, 16 de marzo de 2008

Local Server en Linux (LAMP)

LAMP

Primero que nada debo disculparme con los lectores por la ausencia, sin embargo estaba finalizando semestre en donde estudio y por lo tanto el presente Blog pasó a 3ero en mi orden de prioridades.


Por mi trabajo y mis estudios me he visto obligado a hacer un servidor local en mi máquina, para empezar tuve que hacerlo en Windows ya que ese es el sistema que se utiliza en la institución y ya sabía como montarlo. Por lo tanto procedí a instalar primero un paquete denominado WAMP (acrónimo de Windows, Apache, MySQL y PHP), para instalar dicho paquete solo es necesario tener el programa y seguir sus instrucciones (como casi todo en Windows) sin embargo, poco tiempo después me percaté de que ese paquete generaba algunos problemas con PHP5 y procedí a desinstalarlo para comenzar entonces con "appserver" (el cual funciona a las mil maravillas en Windows). Bueno, se me presentó un gran problema que contaré luego en otro artículo, para no salir del tema (el artículo lo llamaré, "PHP y MySQL sin conexión Windows"). Sin embargo, al tener un poco más de tiempo, he hecho lo que todo linuxero hace (a mi parecer) demostrar que las cosas funcionan bien en GNU/Linux, y procedí a instalar mi WebServer en Debian Lenny cumpliendo los pasos que indicaré.

Vale acotar que cuando se instala GNU/Linux Debian en el último paso nos pregunta si deseamos instalar las aplicaciones de Server, lo mejor es decir que si desde ese momento, pero que pasa si no queremos reinstalar, tranquilos, todo tiene solución.

Lo primero es saber ¿qué necesitamos para un WebServer en Linux?
ara mi caso yo necesito un LAMP (acrónimo de Linux, Apache, MySQL y PHP) así que procedí a instalar con nuestro querido comando apt-get install

1.- Primero instalaremos Apache
"apt-get install apache2" nos mostrará una salida en pantalla en la cual se informa que posee las siguientes dependencias: "apache2-mpm-worker, apache2-utils apache2.2-common, libapr1, libaprutil1, libpq4, libsqlite3-0", las cuales serán instaladas, aceptamos para que prosiga la instalación de apache.

2.- Bien, luego de esto, instalaremos MySQL:
"apt-get install mysql-server" nos mostrará una salida en pantalla indicando que sus dependencias son: "libbdb-mysql-perl, libdbi-perl, libmysqlclient15off, libnet-daemon-perl, libplrpc-perl, mysql-client-5.0, mysql-common, mysql-server-5.0; aceptamos instalarlas todas y comenzará automáticamente el proceso, en determinado momento nos solicitará indicar el nombre del servidor (indicar localhost) el nombre de usuario (aconsejo indicar root) y una contraseña (por seguridad aconsejo que sea algo que recuerden).


3.- Ahora procederemos a instalar PHP5:
"apt-get install PHP5" igual que en los casos anteriores, se nos indicará las dependencias de ese paquete, las cuales son: "apache2-mpm-prefork, libapache2-mod-php5, php5-common" e igualmente debemos aceptar para que se instalen todas.

4.- Perfecto, aparentemente ya tenemos todo lo que necesitamos, sin embargo en la mayoría de los casos es necesario que se active la extensión de MySQL para PHP, en mi caso así lo fue, por lo tanto procedí a instalarla con el siguiente comando: "apt-get install php5-mysql"

Nota: debe repetirse ese paso para cada extensión que se desee.

Ahora si tenemos instalado todo lo que necesitamos, solo falta configurar algunos detalles menores.
En el archivo "php.ini", que se encuentra en la ruta "/etc/php5/apache2/" debemos activar la extensión de MySQL, descomentando la línea "extension=msql.so", para esto debemos abrir el archivo con permisología de root. (En caso de que no sepan muy bien como abrir el archivo con permisología de root, les indico que una de las formas más fácil es hacer uso del comando "sudo nautilus" que nos abrirá el explorador de ficheros y desde allí podremos buscar y dar apertura al archivo).

Ahora, para que ese cambio sea tomado por el sistema (no es necesario reiniciar :D) solo tendremos que reiniciar el servicio de apache, lo cual se logra haciendo uso del comando "/etc/init.d/apache2 restart"

El único dato que no les he indicado y considero importante es indicar donde están los ficheros de instalación de cada programa y donde deben colocar las páginas Web que desean ver en su servidor local.
Ficheros de instalación de los programas

  1. Apache2: "/etc/apache2/"
  2. PHP5: "/etc/php5/"
  3. MySQL: "/etc/mysql/"


Las páginas Web que desean ver en su servidor local deben estar en la carpeta www: "/var/www/".

Para poder ver en un navegador sus páginas web debe indicar en la barra de direcciones lo siguiente "http://localhost.com/" (en caso de que todas sus páginas web las haya puesto en la carpeta www; si creó un subdirectorio, entonces debe indicar, luego del "...com/" el nombre de la carpeta, recuerde que por defecto el servidor web siempre abrirá la página denominada index, bien sea html o php).

Nota final: He comprobado que en Linux las cosas pueden ser más fáciles que en Windows por lo menos en lo que a servidores web se refiere.

jueves, 7 de febrero de 2008

Sudo en Debian


Cuando comencé a utilizar Debian, uno de los aspectos que me pareció más impactante fue el hecho de que habían deshabilitado el comando sudo que permite que el usuario tenga privilegios de administración por un período corto de tiempo, así que comencé mi investigación hasta hacer que dicho comando funcionara.

No es tan complejo como parece, a continuación lo demostraré.

En Debian existe un archivo, llamado "sudoers" (se hace referencia a este como "the sudoers file") este archivo contiene un listado de los usuarios que pueden hacer uso de ese comando, por defecto solo se tiene al usuario root con todos los privilegios, sin embargo, podemos agregar a otro usuario para permitirle hacer el uso y abuso de ese comando, cuidado, debe agregar usuarios capacitados para esto.

El archivo se encuentra en la dirección /etc

¿Cómo editarlo?
  1. Bien, desde consola, lo primero que haremos es cambiar de usuario a root, haciendo uso del comando "su" y la clave de root.
  2. Ahora utilizaremos un editor de texto para hacer modificaciones al archivo, en mi caso utilizaré gedit, el comando es el siguiente: "gedit /etc/sudoers".
  3. En el documento, lo primero que aparece es una explicación de como hacer uso de este archivo, luego, al final aparece la Especificación de los Privilegios de Usuario, como podrá notar, por defecto solo está indicado que el root tiene todos los privilegios al utilizar este comando, ahora lo que haremos es añadir a nuestro usuario, en mi caso el nombre de usuario es raite, por lo tanto, al final del documento he añadido"raite ALL=(ALL) ALL".
  4. Guardo y cierro el archivo.
  5. No se si sea necesario reiniciar el computador, pero yo por costumbre, lo hago. Luego de haber reiniciado ya se puede hacer uso del comando sudo con el usuario que haya añadido a la lista.

miércoles, 6 de febrero de 2008

Video que trae recuerdos

Durante una búsqueda en la web encontré por casualidad en un blog este vídeo que colocaré a continuación, me trajo recuerdos y me hizo reír así que consideré útil colocarlo aquí:



PD: para los más curiosos (como yo jaja) La canción es de un grupo llamado "El Canto del Loco" y su nombre es "Aquellos años locos".

viernes, 1 de febrero de 2008

Cambiar barra de menú Gnome en Debian Lenny


He estado observando mi escritorio y noté que hay algo que definitivamente no era agradable ni tampoco muy útil que digamos, por defecto Debian trae un par de barras, una que vendría a ser lo que en Windows se denomina Barra de Inicio, y la otra viene a ser una barra en la cual se ven las ventanas que uno tiene abiertas en el escritorio; bien, he decidido eliminar esas dos barras y colocar una sola que "a mi manera de ver las cosas" sea mucho más funcional.

A continuación les explicaré como lo hice, paso a paso:


  • Primero que nada eliminaremos la barra de abajo, en donde están las ventanas que tenemos abiertas, para eso hacemos clic con el botón derecho sobre la barra o panel y luego seleccionamos "Borrar este panel".

  • Luego crearemos una barra, vacía para comenzar, haciendo clic con el botón derecho en la barra que aún nos queda y seleccionando la opción "Panel nuevo". Notaremos que por defecto aparece ese panel en la parte inferior, el panel no es más que una barra gris vacía.

  • Es hora de comenzar a añadir botones a ese panel, primero que nada, un botón que tenga todas las opciones que tendemos a utilizar, lo que quiero decir es agrupar en un solo botón todos los programas, las opciones de administración y los vínculos a los sitios del computador que tendemos a utilizar, para esto, hacemos clic con el botón derecho en el panel que creamos y seleccionamos la opción "+ Añadir al panel"; notaremos que nos aparece una ventana con todos los iconos que podemos agregar, seleccionaremos uno denominado "Menú principal" que como descripción indica "El menú principal de Gnome",al hacer esto aparecerá en la barra un icono con el pie que representa Gnome; si se hace clic sobre ese ícono aparecerán todas las opciones que antes mencioné.

  • Ahora, colocaremos la hora en nuestra barra, para eso, en la misma ventana de añadir al panel, que aún no hemos cerrado, buscaremos la opción "Reloj" y la añadiremos también.

  • La "Lista de Ventanas" es la siguiente que añadiremos, para que nos coloque en la barra cada uno de los nombres de las ventanas que poseemos abiertas en el escritorio.

  • Acto seguido, añadiremos un "Área de notificación" que es en la cual se muestran aplicaciones como el amns o el Ktorrent cuando unos las minimiza envíandolas al panel sin que aparezcan en el listado de ventanas, notaremos que esta área aún aparece vacía, y será así hasta haber reiniciado el computador.

  • Añadiremos ahora el "Control de volumen" para poder tener ese icono en la barra y modificar fácilmente el volumen que posee el computador. (Imprescindible si no se posee un teclado multimedia).

  • A veces, se tienen demasiadas ventanas en pantalla y estas pueden agruparse (dependiendo de tu configuración) por esto es útil poseer un botón que muestre un listado de ventanas, esto se hace añadiendo el "Selector de Ventanas".

  • Personalmente, yo añadí un icono denominado "Monitor de red" que indica que señal posee la tarjeta Wi-fi y que tantos bits se están transmitiendo.

  • Es costumbre de algunos usuarios tener un botón para los programas más utilizados en esta barra, explicaré como hacer eso, en este ejemplo añadiré el ícono de Iceweasel.

    • Seleccionar "Lanzador de aplicaciones" que como descripción indica "Copia un lanzador de menú de aplicaciones" y hacer clic en "Adelante";

    • Ahora bien, la aplicación a la cual deseo añadir el botón está ubicada en la sección de Internet por lo cual debo hacer clic en el símbolo con forma triangular que se encuentra al lado de la palabra "Internet" y seleccionar la aplicación "Navegador web Iceweasel" y luego hacer clic en "+Añadir".
Vale acotar que este último paso se debe repetir para cualquier icono de cualquier otra aplicación que desee añadir.
  • El panel en este momento se encuentra desordenado, procedamos a poner orden, por favor. Para esto se hace clic derecho en el botón que se desea mover y se selecciona la opción "Mover", situamos dicho icono en la posición que consideremos adecuada y luego hacemos clic para establecer su ubicación final. Para mover el "Área de notificación"debemos hacer clic sobre la barra punteada que la delimita, igualmente para mover la "Lista de ventanas".

  • Después de haber hecho esto, procedemos a eliminar el panel o barra que poseíamos antes, debido a que ya no la necesitaremos más.

  • Posiblemente desee añadir transparencia a su nuevo panel, para esto debe hacerse clic en algún sitio vacío del panel y seleccionar la opción "Propiedades" ir a la pestaña "Fondo" y escoger la opción.

  • Por último ubicar la barra en la parte superior de la pantalla (si así lo desea) para esto en la ventana de "Propiedades" en la pestaña denominada "General" debe seleccionar "Superior" en la opción "Orientación".
Aquí les dejo un "ScreenShot" para que vean como quedó mi barra:



Haciendo clic en la imagen podrás verla mejor.

domingo, 27 de enero de 2008

Vincular Teléfono por Bluetooth en Debian


Actualmente, la tecnología en cuanto a lo inalámbrico ha aumentado a una velocidad extremadamente útil, hoy en día todos los "buenos" teléfonos que se encuentran a la venta traen integrado un dispositivo Bluetooth para comunicación.

Primero que nada indicaré que Bluetooth es una "Especificación diseñada para conectar diversos dispositivos de forma inalámbrica. La velocidad máxima prevista es de unos 720 Kbps, y el alcance de unos 10 m." fuente: www.nachocabanes.com/diccio/ndic.php

Muchas veces utilizamos nuestros teléfonos para almacenar datos, hacer fotos, copiar música, entre otras, para luego pasar los archivos al computador, bien, aquí presento la solución en GNU-Linux Debian.

Primero que nada debemos proceder a instalar los paquetes que necesitamos para establecer conexión y transferir archivos, esto lo hacemos desde la consola, con el comando:
"sudo aptitude install gnome-bluetooth bluez-utils bluez-passkey-gnome bluez-pin gnome-ppp nautilus-sendto"

Bien sabemos para que es sudo y aptitude así que pasaré a describir los paquetes de una vez.

  • gnome-bluetooth es un paquete que actualmente se encuentra en su versión 0.9.1-1; desarrollado por Debian Bluetooth Maintainers, este paquete contiene herramientas para en manejo y manipulación de dispositivos Bluetooth usando el escritorio GNOME.
  • bluez-utilses un paquete que actualmente se encuentra en su versión 3.24-1; desarrollado por Debian Bluetooth Maintainers, este paquete contiene herramientas del sistema y demonios (pequeños programas especiales para cubrir tareas específica, un demonio puede correr todo el tiempo y hacer alguna acción solo si es necesario, tienden a ser invisibles para el usuario final) para el uso de dispositivos Bluetooth. BlueZ es el protocolo oficial del Stack Bluetooh de Linux. Es un proyecto de código abierto distribuido bajo GNU General.
  • gnome-ppp Actualmente se encuentra en su versión 0.3.23-1, desarrollado por Zak B. Elep, el presente paquete es una herramienta para facilitar la configuración y el uso de conexiones dialup con un icono de barra de tareas. También puede ser utilizado por cónsola sin necesidad de abrir algún gestor de escritorio.
  • nautilus-sendto Actualmente se encuentra en su versión 0.12-2, fue desarrollado por Oystein Gisnas, este plugin nos permite que en el menú contextual de Nautilus exista un componente para enviar facilmente archivos a los dispositivos Bluetooth.
  • bluez-passkey-gnome
  • bluez-pin

Sobre estos paquetes no he conseguido una información certera, me disculpo por eso con los lectores del presente.

Una vez instalados esos paquetes se debe configurar la clave de acceso ,entre el teléfono y el computador, para hacer esto se debe abrir el archivo "pin" de la siguiente manera:

"sudo gedit /etc/bluetooth/pin"

Vale acotar que supongo que para esto es el paquete bluez-pin (crea dicho archivo) y bluez-passkey-gnome (configurar la clave de acceso).

Para empezar, el archivo no debe contener nada, así que colocaremos la clave de acceso (algunos dispositivos la denominan clave de apareamiento). Se guarda el archivo y se cierra el editor.

Acto seguido, recomiendo reiniciar toda la interfaz gráfica, debido a que algunas veces al reiniciar solamente el demonio bluetooth puede no establecerse la conexión; la interfaz gráfica se reinicia presionando las teclas ctrl+alt+backspace.

Ahora se debe insertar el dispositivo bluetooth al computador, (esto en caso de que no venga por defecto en la motherboard) y vincular el computador con el teléfono, para esto debemos escanear los dispositivos desde el computador, (recuerde activar el bluetooth en el teléfono y hacer que el mismo sea visible), haga uso, desde la consola, del siguiente comando
"sudo hcitool scan"
Esto nos dará un listado con las direcciones mac de los dispositivos encontrados, y además el nombre los mismos.
La salida del comando debe ser algo parecido a lo siguiente:
"Scanning ...
00:16:DB:B2:BD:35 Nokia N70"

Si no ha encontrado ningún dispositivo, asegúrese de haber instalado todos los paquetes, y de haber configurado el teléfono para ser encontrado por bluetooth. Reinicie la interfaz gráfica nuevamente y reintente.

Si ha aparecido algo como lo mostrado anteriormente, FELICITACIONES, UD HA CONECTADO LOS DISPOSITIVOS, ahora verá como compartir archivos; para esto es necesario tener un par de aplicaciones corriendo en el sistema, la primera es el "Administrador Bluetooth" el cual debería haberse iniciado al insertar o activar el dispositivo bluetooth, de ser así podrá ver el icono de bluetooth en la barra al lado del reloj, caso contrario, puede iniciarlo haciendo clic en "Sistema/Preferencias/Preferencias de Bluetooth".

La segunda aplicación es para poder compartir los archivos, la inicia siguiendo la ruta, "Accesorios/Compartición de archivos por bluetooth". Notará ahora, que al lado del ícono de bluetooth aparece un triángulo apuntando hacia varias círculos, este es el demonio de "Compartición de archivos por bluetooth".


Ya puede comenzar a transferir archivos desde el celular al computador.

Vale acotar que este procedimiento también sirve para acoplar cualquier otro tipo de dispositivo a través del bluetooth, sin importar si es un teléfono, computador, pda u otros.

sábado, 26 de enero de 2008

Montar NTFS para Lectura y escritura

Como podrán notar, soy un usuario de GNU-Linux Debian.
Bien, a lo largo de mi aprendizaje en Linux he tenido algunos inconvenientes, ciertos son estúpidos y se resolvieron con una simple busqueda, sin embargo he tenido otros que me generan una cantidad de inconvenientes y documentación).

Primero, como muchos de los actuales usuarios de GNU-Linux (desde ahora lo denominaré simplemente Linux), mis comienzos en computación se dieron con Windows, sin embargo al migrar a Linux tenía todos mis ficheros en una partición ntfs, por defecto Debian monta esta partición, pero no me permite escribir en ella, para resolver dicho inconveniente todo lo que hice fue instalar el paquete de ntfs-3g, dicho paquete, que en la actualidad está en su versión 1:1.1120-1 ha sido desarrollado por Adam Cécile (Le_Vert) y es un driver que permite la lectura y escritura en particiones NTFS, se encuentra liberado bajo licencia GPL.

Ahora bien, la instalación de ntfs-3g se hace con el siguiente comando desde cónsola: "sudo apt-get install ntfs-3g"

  • sudo, como ya lo en artículos anteriores me permite proveer mi comando de privilegios de root.
  • apt-get install es el comando para la instalación de algún paquete
  • ntfs-3g es el nombre específico del paquete a instalar.

Luego de haber instalado ese paquete, podrás proceder a montar tu partición NTFS sin problemas y poder leer y escribir en la misma.

Debemos añadir una línea al archivo fstab si deseamos que la unidad se monte por defecto al iniciar el sistema operativo (SO), para esto debe abrirse el archivo con privilegios de root, lo cual se realiza de la siguiente manera: "sudo gedit /etc/fstab"
  • gedit es el editor de texto de GNOME;
  • /etc/fstab es la dirección del archivo a abrir "fstab".
Esto abrirá en el programa gedit el archivo fstab, lo que haremos ahora es añadir una línea al final en la cual indicamos que deseamos añadir una unidad para que sea montada al inicio del SO, en mi caso he añadido la siguiente línea
  • "/dev/sda1 /media/Data ntfs-3g default,umask=0000"
  • /dev/sda1 indica que la partición que deseo montar pertenece a un "device" sata y es su primera partición;
  • /media/Data es para configurar que la partición sea montada en esa carpeta (nótese que la carpeta debe haber sido creada con anterioridad, por lo tanto, recomiendo, que antes de ingresar a gedit creen la carpeta);
  • ntfs-3g hace alución al driver con el que se desea montar la unidad;
  • default, umask=0000 son comandos específicos del SO, indican que debe montarse la unidad con todos los permisos para leer y escribir sin problema alguno y umask=0000 para que todos los usuarios tengan acceso a la misma.
Técnicamente así debe funcionar sin problemas, sin embargo, yo luego tuve un gran problema que explicaré a continuación:

Al reiniciar el computador se montaba una partición NTFS en la cual tengo todos mis datos y también la carpeta de ""Mis Documentos" de Windows, bien, aún cuando se montaba yo no podía ver dicha carpeta ni sus subcarpetas, entonces tenía que umount (comando para desmontar las unidades) y mount -a (monta todas las unidades que hay en el fstab) para poder verlo.
Lo que ocurría es que el idioma en el cual fue configurado Windows (y se configura por alguna razón en la partición también) era diferente al que se había configurado en Linux por lo tanto hay que determinar en que idioma está tu sistema Linux (eso se hace con el comando "locale -a", y luego en el fstab indicar entre las variables el resultado de dicho locale de la siguiente manera locale=xxx donde xxx sería el resultado de tu comando, que debe ser por ejemplo es_VE.utf8.

Para este caso mi linea del fstab quedó de la siguiente manera:

"/dev/sda1 /media/Data ntfs-3g default,umask=0000,locale=es_VE.utf8 0 0"

miércoles, 23 de enero de 2008

Decreto 3390 en la República Bolivariana de Venezuela

El presente artículo tiene como finalidad informar brevemente sobre el decreto 3390, que aún a casi 4 años de su publicación en gaceta oficial, no ha sido aplicado del todo en la República Bolivariana de Venezuela.

El decreto 3390, indica que en la República Bolivariana de Venezuela debe darse prioridad al uso del software libre, no indica que no se debe utilizar software propietario, sin embargo si que en caso de existir alguna posibilidad para utilizar un software libre y no uno propietario, debe hacerse uso del Software Libre. Indica también que en un lapso de 24 meses debía haberse llevado a cabo la migración total en todos los entes gubernamentales, esto evidencia la necesidad de que los estudiantes y de hecho los habitantes del país, comiencen a tener un conocimiento certero sobre ¿Qué es el Software Libre?

El Decreto Nª 3390 fue realizado el 23 de Diciembre de 2004 y publicado en la gaceta oficial nª 38.095 el 28/12/2004

El decreto 3390 indica: "Artículo 1. La Administración Pública Nacional empleará prioritariamente Software Libre desarrollado con Estándares Abiertos, en sus sistemas, proyectos y servicios informáticos. A tales fines, todos los órganos y entes de la Administración Pública Nacional iniciarán los procesos de migración gradual y progresiva de éstos hacia el Software Libre desarrollado con Estándares Abiertos."

El tercer artículo del decreto dicta que: "En los casos que no se puedan desarrollar o adquirir aplicaciones en Software Libre bajo Estándares Abiertos, los órganos y entes de la Administración Pública Nacional deberán solicitar ante el Ministerio de Ciencia y Tecnología autorización para adoptar otro tipo de soluciones bajo los normas y criterios establecidos por ese Ministerio."
Como verán, si y sólo si no existe una alternativa de software libre para alguna actividad en específico que se requiera, el ente gubernamental debe solicitar autorización al Ministerio de Ciencia y Tecnología (Actualmente denominado Ministerio del Poder Popular para La Ciencia y Tecnología) autorización para hacer uso de un software propietario.

En los casos en los cuales uno o varios desarrolladores realicen un software libre útil para la comunidad, el gobierno procurará incentivos especiales para los mismos; nótese que procurará no indica una obligación del gobierno, sin embargo si indica una posibilidad de obtener una remuneración por el trabajo realizado, igualmente se puede cobrar por la asistencia técnica al programa, que viene a ser un servicio. Así lo indica el artículo 5 del decreto: "Artículo 5. El Ejecutivo Nacional fomentará la investigación y desarrollo de software bajo modelo Software Libre desarrollado con Estándares Abiertos,
procurando incentivos especiales para desarrolladores."


El Ejecutivo Nacional debe buscar la forma de capacitar a los usuarios de software libre, charlas como la que se dará a cabo en el Instituto Universitario Tecnológico de Ejido en su sede principal en Ejido estado Mérida contribuyen a ese efecto; tal y como lo indica el decreto: "Artículo 8. El Ejecutivo Nacional promoverá el uso generalizado del Software Libre desarrollado con Estándares Abiertos en la sociedad, para lo cual
desarrollará mecanismos orientados a capacitar e instruir a los usuarios en la utilización del Software Libre desarrollado con Estándares Abiertos."

Es importante indicar que este decreto solo aplica a las instituciones gubernamentales, aquellas organizaciones o empresas que no pertenezcan al gobierno pueden escoger que tipo de software utilizar.