Mi ventana abierta al mundo, sin paredes ni cristales

Archivo de la Categoría 'Debian'
23
November
2009

Este método se aplica a Debian. Aunque el comando y las opciones varían un poco para otros Linux, pero la base es esta, aplíquese como deba en cada caso

No sé por qué, pero mi usuario y la interfaz de administración de un equipo cliente de Debian no se llevan bien, y para cambiar los ajustes de red no me que queda otra que recurrir a cambiarlos por consola de comandos. Ya lo hice varias veces y siempre se me olvida, por eso me lo apunto aquí porque cada vez me toca buscar por la red de redes hasta dar otra vez con la solución.

Editar configuración, debemos abrir en un editor de textos el fichero interfaces, y de la configuración que tenga, poner la interfaz ethernet que nos convenga con los datos de IP fija o dhcp que nos convenga:

$ sudo vi /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1

Una vez editado el fichero guardamos cambios y reiniciamos los servicios de red, en Debian:

$ sudo /etc/init.d/networking restart

Y ya tendremos la red respondiendo con nuestros datos.

10
January
2008

El protocolo SMB, Samba para los amigos, nos permite conectarnos a volúmenes de Windows o desde Windows a otros sistemas operativos. La wikipedia puede bastar para saber algo más.

Podemos conectar sin poner el Grupo de Trabajo (Workgroup) o poniéndolo, depende de la configuración del servidor a donde nos conectemos.

Desde Mac OS X…

Conexión Workgroup:

smb://workgroup;user:pass@ip_servidor/recurso_compartido

Conexión sin el dato de Workgroup:

smb://user:pass@ip_servidor/recurso_compartido

SaludoX

20
June
2007

Este paso a paso es extensible para cualquier sistema Unix, sólo debes cambiar las rutas a tu directorio home de Apache, y de los ficheros de Log.

1. Crear directorio home del sitio web

shell> mkdir /Library/WebServer/Documents/nombre_sitio

donde nombre_sitio es el nombre de directorio que querramos crear. Sin espacios, ni acentos, ni caracteres ‘raros’ (en alfabeto inglés)

2. Crear un fichero HTML para probar el virtual host

3. Editar el fichero de configuración de Apache, En mi caso, para más comodidad, lo abro con BBEdit:

shell> sudo open -a BBEdit.app /etc/httpd/httpd.conf

Buscamos:

# Use name-based virtual hosting.
# NameVirtualHost *:80

y descomentamos la línea:

NameVirtualHost *:80

para habilitar los Virtual Hosts de Apache.

Añadimos el Virtual Host:

DocumentRoot /Library/WebServer/Documents/nombre_sitio/
ServerName nombre_sitio
ErrorLog /var/log/httpd/error_log_nombre_sitio
CustomLog /var/log/httpd/access_log_nombre_sitio common

4. Crear un dominio local. Podemos hacerlo de dos formas, editando el fichero hosts desde Terminal, o modificando la base de NetInfo. Editar /etc/hosts

shell> sudo vi /etc/hosts

Añadir línea, separamos por tabulador:

127.0.0.0.1    nombre_sitio

O puedes añadir el nombre del dominio a la base de datos local de NetInfo:
Abrir Gestor NetInfo (NetInfo Manager)
Autenticarse como administrador local
En el directorio de NetInfo, elegimos ‘machines’, y dentro, ‘localhost’.
Duplicamos la entrada ‘localhost’
Cambiamos el nombre ‘localhost copia’ a ‘nombre_sitio’
Guardar cambios de la base de datos de NetInfo

5. Reiniciar Apache

shell> sudo apachectl graceful

SaludoX

19
March
2007

Existe una sentencia de comandos MySQL para importar un fichero separado por tabuladores, punto y coma, coma, etc. a una tabla de datos. Y yo creándome ficheros en php para tal fin… ya me vale.

¿De qué se trata?
El comando ‘load data’ nos permite importar a una tabla de datos de MySQL el contenido de un fichero delimitado por caracteres. Quién no ha tenido que traerse a la base de datos la lista de usuarios con sus correos electrónicos para manejarlos convenientemente con una aplicación que ataque a la base de datos? Pues eso hace este comando, pero sin tener previamente un script en php, por ejemplo, para importarlos.

¿A quién va dirigido?
A todos los que, como el menda, prefieren tener más tiempo libre y menos dedicado al trabajo. A veces… se puede.

Ejecutando
El comando es bastante sencillo. Desde la interfaz de comandos de nuestro sistema, entramos en la shell de comandos de MySQL:

$ mysql -u user_mysql -p

Damos un usuario con permisos, user_mysql, a la base de datos sobre la que vamos a trabajar y la contraseña.
Una vez dentro de la shell de mysql, escogemos la base de datos donde querramos importar los datos:

mysql> use db_mysql

Una vez en la base de datos, ejecutamos el comando para importar el fichero delimitado por caracteres:

mysql> LOAD DATA LOCAL INFILE '/fichero_por_punto_y_coma.csv'
INTO TABLE tabla_mysql FIELDS TERMINATED BY ';'
LINES TERMINATED BY 'r' (campo1, campo2, campo3);
Query OK, 106 rows affected (0.00 sec)
Records: 106  Deleted: 0  Skipped: 0  Warnings: 0

Una vez ejecutado, mysql nos informa de la ejecución (tiempo de ejecución, líneas añadidas a la tabla, si se ha borrado algún registro, si se ha omitido alguno y si alguno ha producido error). El fichero, al que se le pasa la ruta completa del disco duro, en este caso está en el raíz del disco de arranque (‘/fichero_por_punto_y_coma.csv’), se añade en local, podría hacerse en remoto, al host de la base de datos, pero para prevenir errores lo hemos colocado el equipo donde tenemos la base de datos. Al comando ‘LOAD DATA LOCAL INFILE’ le pasamos el fichero que vamos a importar, la tabla destino de la base, en este caso ‘usuarios’ y las siguientes opciones son referentes al contenido del fichero: carácter delimitador de la seperación de campos, en este caso ‘;’, pero podría ser tabulador (‘\t’), coma (‘,’), punto (‘.’) o cualquiera que querramos usar; terminador de línea, que en sistemas Mac es ‘\r’ y en Windows y Unix ‘\n’. Y finalmente, entre paréntesis, ponemos el orden de los campos de la tabla donde vamos a insertar los valores de nuestro fichero de texto.

Es muy sencillo y potente, podéis encontrar más información de este comando en la documentación de MySQL.

SaludoX

1
March
2007

Después de tener instalado php4 en nuestro Debian, podemos encontrarnos que los binarios necesarios para correr php en la línea de comandos no están instalados. Los paquetes básicos de php4 se instalan para apache, como módulo, podéis ver la instalación en este tema.+

Si necesitamos ejecutar php desde la línea de comandos (CLI) tenemos que instalar el componente desde apt-get y comprobar que el fichero php.ini para la interfaz CLI esté bien configurado, porque es distinto del fichero php.ini de apache.

Instalamos php4-cli:

apt-get install php4-cli

Comprobamos que se haya instalado bien en el sistema, obteniendo la versión de php:

shell> php –v

Obteniendo algo del estilo:

PHP 4.3.10-18 (cli) (built: Nov  3 2006 21:56:29)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

Y lo más importante de todo, comprobamos el fichero php.ini para CLI del sistema, que todo esté bien configurado. Sobre todo que las extensiones que deben ejecutarse en nuestro sistema no estén comentadas.

Ruta del fichero php.ini de CLI:

/etc/php4/cli/php.ini

En mi caso concreto, las extensiones de mysql y gd (manejo de gráficos) estaban comentadas:

;extension=mysql.so
;extension=gd.so

las descomentamos y guardamos el fichero:

extension=mysql.so
extension=gd.so

para la ejecución de php-cli, sobre interfaz de línea de comandos, no es necesario reiniciar apache, ya que son dos servicios distintos.

SaludoX