openbsd.png


Httpd de OpenBSD


Configuración básica


En primer lugar, y al igual que nxing, OpenBSD trae su propio servidor web dentro, del que solamente hará falta activar un par de cosas para hacer funcionar.

Lo primero a hacer es copiar nuestro archivo httpd.conf, que estará en /etc/examples/ y lo situaremos en /etc/.

El contenido del mismo ha de ser modificado por el siguiente:

# $OpenBSD: httpd.conf,v 1.10 2014/08/06 20:29:54 reyk Exp $
 
#
# Macros
 
# 1) SI QUEREMOS QUE ESCUCHE SÓLO EN UNA INTERFAZ DE RED, PODEMOS USAR ESTA VARIABLE
# 1.1) # ext_addr="IP.EXTERNA"
# 2) SI QUEREMOS ESPECIFICAR QUE ESCUCHE LAS DE TIPO "egress" QUE SON LAS QUE MANTIENEN LAS INTERFACES POR DEFECTO, DE# CLARAMOS ESTA OTRA VARIABLE EN SU LUGAR
# 2.1) # ext_addr="egress"
#
# Global Options
#
# prefork 3
 
#
# Servers
#
 
server "default" {
 
        # 1) SI QUEREMOS QUE ESCUCHE SÓLO EN UNA INTERFAZ DE RED, NO PONEMOS listen on *, sino...
        # listen on $ext_addr port 80
 
        # 2) # SI PRETENDEMOS QUE ESCUCHE LAS DE TIPO "egress" PONEMOS LO MISMO, HABIÉNDOLA DECLARADO COMO "egress"
        # listen on $ext_adrr port 80
 
        # VERIFICAR QUE LA VARIABLE ESTÉ DECLARADA SEGÚN NUESTRA NECESIDAD
 
        listen on * port 80
        directory {index "index.php"}
 
        location "/pub/*" {
                directory auto index
                log style combined
        }
 
        location "*.php" {
                fastcgi socket "/run/php-fpm.sock"
        }
 
        location "/cgi-bin/*" {
                fastcgi
 
                # The /cgi-bin directory is outside of the document root
                root "/"
        }
 
}
 
Guardamos el contenido tras editarlo y vemos si nuestro servidor funciona, arrancando el servicio:

# /etc/rc.d/httpd -f start




Para no tener que poner la opción "-f" podemos cambiar la línea " httpd_flags=NO " a " httpd_flags="" ", en el archivo "/etc/rc.conf"



httpdflag.png


Si funciona, debería aparecernos lo siguiente en el navegador:



forbidden.png



Tras esto, podemos # echo hola mundo > /var/www/htdocs/index.html y comprobamos que aparezca nuestro saludo correctamente.



Instalación y configuración de mysql y php


Primero ajustamos los repositorios:

echo installpath=ftp://ftp5.usa.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(uname -m) | sudo tee /etc/pkg.conf



Con el comando siguiente vamos a instalar todos los paquetes necesarios para nuestro php y mysql:


pkg_add -i php-mysql mysql-server php-fpm

Luego nos preguntará 2 veces: La primera es la versión de php-mysql

Ambiguous: choose package for php-mysql
 a       0: <None>
         1: php-mysql-5.3.28p9
         2: php-mysql-5.4.30
         3: php-mysql-5.5.14
Your choice: 2
 
Elegimos la opción 2 (php-mysql-5.4.30). Luego nos pregunta si será para apache o apache2.

Ambiguous: choose dependency for php-mysql-5.4.30:
 a       0: php-5.4.30p0
         1: php-5.4.30p0-ap2
 

La opción 0 nos instalará la versión que necesitamos.

Una vez acabada la instalación arrancaremos el servicio php-fpm 5.4 de la siguiente manera:

php-fpm.png



Buscamos en el archivo /etc/php_fpm.conf y modificamos la línea siguiente, o la creamos en caso de que no exista:

<span style="font-family: monospace;">Cambiar listen = 127.0.0.1:9000 por listen = /var/www/run/php.sock</span>

Por último añadimos la siguiente línea en el archivo test.php que vamos a crear y comprobamos que exista.


testphp.png

Y comprobamos que nuestro servidor devuelve la información deseada en el navegador:

testphp2.png