Mostrando las entradas con la etiqueta freebsd. Mostrar todas las entradas
Mostrando las entradas con la etiqueta freebsd. Mostrar todas las entradas

viernes, 4 de julio de 2008

FreeBSD 7 + lighttpd + php5 + cgi

Lo primero será instalar el lighttpd:

# cd /usr/ports/www/lighttpd
# make install clean clean-depends


Después, el PHP 5. Lo mejor será hacerlo directamente desde las extensiones, ya que compilará las extensiones elegidas y PHP5 como dependencia:

# cd /usr/ports/lang/php5-extensions
# make install clean clean-depends


En caso de que se quisiese instalar el PHP 5 a pelo, sin extensiones, lo mejor sería hacerlo así para poder tener sesiones:

# /usr/ports/lang/php5
# make CONFIGURE_ARGS+=--enable-session install clean clean-depends


En todo caso ésta última no es una buena forma de instalarlo, yo al menos tuve problemas al querer instalar php5-mysql, incluso desde php5-extensions, ya que aunque instalaba, luego en realidad no había soporte para la base de datos.

Seguimos. Como soy un poco tiquismiquis, voy a crear un directorio específico para los logs del lighttpd:

# mkdir /var/log/lighttpd
# chmod -R 755 /var/log/lighttpd
# chown -R www:www /var/log/lighttpd


Ahora hay que editar el archivo de configuración del lighttpd y dejarlo a nuestro gusto. Está localizado en /usr/local/etc/lighttpd.conf. Antes de nada le hacemos una copia de seguridad, y luego lo editamos:

# cp /usr/local/etc/lighttpd.conf /usr/local/etc/lighttpd.conf.orig
# vi /usr/local/etc/lighttpd.conf


Para empezar, en la sección "server.modules", hay que activar el "mod_cgi" (viene comentado por defecto). Para completar el soporte CGI hay que buscar las líneas que haya de "cgi.assign" y sustituirlas por la siguiente para poder ejecutar PHP vía CGI:

cgi.assign = (".php" => "/usr/local/bin/php-cgi" )

Otras líneas que puede que haya que modificar para que se adecúen a la configuración de nuestro servidor:

En mi caso esta es la ruta en donde están las páginas html:

## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root = "/usr/local/www/html/"


Para que grabe los logs en el directorio creado anteriormente:

## where to send error-messages to
server.errorlog = "/var/log/lighttpd/lighttpd.error.log"

#### accesslog module
accesslog.filename = "/var/log/lighttpd/lighttpd.access.log"


También puede ser interesante cambiar el puerto del servidor:

## bind to port (default: 80)
server.port = 8080


En caso de que no sea el 80, buscar la siguiente línea y comentarla, ya que sino las páginas se siguen sirviendo desde el puerto 80.

$SERVER["socket"] == "0.0.0.0:80" { }

Ya sólo queda editar el archivo /etc/rc.conf, añadir lighttpd_enable="YES" para que el demonio se lance al encender el ordenador, y listo.

martes, 1 de julio de 2008

Montaje de particiones ext2/ext3 en FreeBSD 7

Después de un rato de prueba y error, descubrí que para montar una partición ext2/ext3 en FreeBSD 7 hay que cargar el módulo de ext2, y luego ya realizar el montaje de forma normal como si fuera cualquier otro sistema de ficheros:

# kldload ext2fs
# mount -t ext2fs /dev/daXsX /mnt/XXX

Link: http://blog.nezz.be/past/2008/4/18/mounting_ext2_partition_on_freebsd/

sábado, 31 de mayo de 2008

Automontaje de dispositivos con HAL en FreeBSD 7 + KDE

Texto simplificado de este otro tutorial:

http://daemonforums.org/showthread.php?p=3218

En primer lugar, KDE tendrá que tener soporte para HAL; en caso contrario habría que recompilarlo.

En /etc/devfs.conf habrá que añadir permisos, si es que no los hay ya, sobre los siguientes dispositivos:

perm cd* 0666
perm acd* 0666

El usuario deberá estar en el grupo operators:

# pw groupmod operator -m nombre_usuario

En el archivo /etc/fstab no hay ninguna línea en la que se indique ninguno de los dispositivos para los que queremos el automontaje (cd*, acd*...)

Habilitar los servicios de DBUS y HAL en el archivo /etc/rc.conf:

dbus_enable="YES"
hald_enable="YES"

Habrá que modificar el archivo /usr/local/etc/PolicyKit/PolicyKit.conf para autorizar al usuario correspondiente el que pueda montar dispositivos. El archivo deberá quedar como algo parecido a esto (perdón por el deficiente sangrado y formateado):

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">

<!-- See the manual page PolicyKit.conf(5) for file format -->

<config version="0.1">
<match user="root">
<return result="yes"/>
</match>
<define_admin_auth group="wheel"/>
<match action="org.freedesktop.hal.storage.mount-removable">
<match user="nombre_usuario">
<return result="yes"/>
</match>
</match>
</config>

cambiando nombre_usuario por el nombre del usuario al que queramos dar permisos.

Por último, ya sólo quedará reiniciar KDE y probar que todo funcione.

De forma opcional, se puede configurar KDE para que cada vez que insertemos un CD-ROM con datos (o un llavero USB, por ejemplo) se muestre un icono en el escritorio para acceder fácilmente a él. Esto se puede hacer desde el KDE Control Center. Ir a Desktop -> Behavior, clicar en Device Icons, y configurarlo a gusto del consumidor.

Grabación en K3b como usuario sin privilegios

Recién instalado un FreeBSD 7 + KDE + K3b, los intentos de grabación con éste último fallan estrepitosamente. Concretamente al iniciar k3b se mostrará un mensaje como el siguiente:


Efectivamente, si vamos a Settings -> Configure K3b, Devices, podremos ver que no se detecta ni CD-ROM ni grabadora ni nada:


Para solucionarlo, añadir en /boot/loader.conf la linea:

atapicam_load="YES"

En /etc/rc.conf añadir la linea:

devd_enable="YES"

Comprobar los permisos en /etc/devfs.conf sobre los siguientes dispositivos:

perm cd* 0666
perm xpt* 0666
perm pass* 0666

Añadiendo esas lineas en devfs.conf se logra que los permisos sobre los dispositivos sean persistentes entre reinicios de la máquina.

Efectivamente, ahora al entrar en K3b debería aparecer en la esquina inferior izquierda un mensaje como el siguiente:


Y al volver a la configuración del programa ya debería aparecer la grabadora como disponible:


Intrucciones simplificadas a partir de este tutorial.

viernes, 30 de mayo de 2008

Instalar Internet Explorer en FreeBSD con IEs4Linux

IEs4Linux es un script que permite instalar y ejecutar Internet Explorer (concretamente las versiones 5.5, 6 e incluso 7) en Linux o cualquier otro SO ejecutando Wine. En nuestro caso, el sistema operativo elegido es FreeBSD :)

Para poder ejecutar el script que nos permita instalar el vilipendiado Internet Explorer, habrá que tener instalados desde los ports/packages:

archivers/unzip
archivers/cabextract
emulators/wine
ftp/wget

Además la emulación Linux deberá estar funcionando en el sistema.

El siguiente paso es descargar y descomprimir ies4linux:

# wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
# tar zxf ./ies4linux-latest.tar.gz

Y luego:

# env LANG=C /compat/linux/bin/bash
# cd ./ies4linux-2.99.0/
# ./ies4linux --no-gui --no-color

(o con las opciones que se deseen)

Aunque se supone que junto con el Internet Explorer instala Flash 9, en mi caso no se veían las páginas con Flash, pero se solucionó yendo a la página de Macromedia a instalando Flash desde allí.

¡Y listo!

Encontrado en http://www.xdelta.net/blog/FreeBSD

Montar particiones NTFS en FreeBSD 7

NTFS-3G es un driver de código abierto que permite el acceso a particiones NTFS en modo lectura/escritura en Linux, FreeBSD, Mac OS X, NetBSD y Haiku. Permite montar sistemas de archivos de Windows XP, Windows Server 2003, Windows 2000 y Windows Vista.

En primer lugar habrá que instalar fusefs-ntfs, disponible como de costumbre en los ports:

# cd /usr/ports/sysadmin/fusefs-ntfs
# make install clean clean-depends

El solo se encargará de instalar las dependencias necesarias, entre ellas sysutils/fusefs-libs y sysutils/fusefs-kmod. Para su compilación es necesario que los fuentes del sistema estén instalados, por lo que otra opción sería instalar directamente el package:

# pkg_add -r fusefs-ntfs

El siguiente paso sería activar fuse en el arranque, lo que se lograría añadiendo la línea

fusefs_enable="YES"

al archivo /etc/rc.conf

En mi caso el objetivo final es montar en tiempo de arranque las particiones NTFS para que cualquier usuario pueda leer/escribir en ellas de forma transparente. Lo normal sería hacer esto añadiendo la información necesaria en /etc/fstab, pero lamentablemente esto parece que no es posible por razones técnicas; por ejemplo fuse se inicia después del montaje de ficheros del fstab. Alguna gente se ha creado un script tipo rc.d para montar los sistemas de ficheros de NTFS como un servicio más, pero en realidad la solución más sencilla es añadir la línea de montaje al fichero /etc/rc.local; en mi caso quedaría como sigue:

/usr/local/bin/ntfs-3g /dev/ad0s5 /mnt/d -o force,locale=es_ES.ISO8859-15

En teoría un usuario cualquiera podría montar sistemas de ficheros NTFS, pero en la práctica habría que pelearse con el devfs y esto por ahora no es mi intención :)