Jose Antonio Cely Saidiza

Antiguo y olvidado, Weblog personal

Servidor Web con OpenBSD 5.4, Apache 2.2, Php 5.3 y MySQL 5.1.6

By Jose Antonio Cely Saidiza

Anteriormente escribí un artículo para la versión de como instalar un servidor web verdaderamente seguro OpenBSD 5.3 y Apache 1.4, sin embargo para OpenBSD 5.4 ya no funcionan esos pasos, además la idea de esta artículo es usar Apache versión 2.
Cómo instalar OpenBSD, otras bases y conceptos teóricos, están en el artículo pasado. Este artículo va directo a la instalación.

Instalando y configurando el Servidor

En este caso usarmos los repositorios oficiales de BSD.

Para esto ejecutamos como root en el servidor:
# echo installpath=ftp://ftp.usa.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(uname -m) | sudo tee /etc/pkg.conf

Una vez agregdo el repositorio, ya podemos empezar a instalar paquetes.

Apache2 y PHP

# pkg_add apache-httpd php-mysql 

El cual nos pregunta (resalto en negrita mis respuestas) :

Ambiguous: choose package for php-mysql
a 0: <None>
1: php-mysql-5.2.17p16
2: php-mysql-5.3.27
Your choice: 2
Ambiguous: choose dependency for php-mysql-5.3.27:
a 0: php-5.3.27
1: php-5.3.27-ap2
Your choice: 1

Cuando termine de descargar e instalar, ejecutamos los siguientes comandos:

# ln -sf /var/www/conf/modules.sample/php-5.3.conf /var/www/conf/modules/php.conf
# ln -sf /etc/php-5.3.sample/mysql.ini /etc/php-5.3/mysql.ini

Agregamos el módulo PHP a Apache 2.2

# echo ‘# php
LoadModule php5_module /usr/local/lib/php-5.3/libphp5.so
<IfModule mod_php5.c>
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
# Most php configs require this
DirectoryIndex index.php
</IfModule>\n’ >> /etc/apache2/httpd2.conf

Agregamos Apache al arranque de OpenBSD

# echo ‘\n/etc/rc.d/httpd2 start\n’ >> /etc/rc.local

MySql Server

Ejecutamos:
# pkg_add mysql-server

Cuando termine de descargar e instalar, ejecutamos los siguientes comandos

# /usr/local/bin/mysql_install_db
# /usr/local/share/mysql/mysql.server start
# /usr/local/bin/mysqladmin -u root password ‘your-password’

Obviamente se debe cambiar your-password por algo más seguro!

Aseguramos MySql

Ejecutamos:
# /usr/local/bin/mysql_secure_installation

El anterior script, hace los cambios pertinentes que todo servidor de producción debe tener respondiendo a las siguientes preguntas:
Remove anonymous users? [Y/n]
Disallow root login remotely? [Y/n]
Remove test database and access to it? [Y/n]
Reload privilege tables now? [Y/n]

Recomendaría SI (Y) a todo.

Cuando termine de descargar e instalar, ejecutamos los siguientes comandos

# echo ‘mysqld_flags=»»
pkg_scripts=»mysqld»‘ >> /etc/rc.conf.local

PhpMyAdmin

Ejecutamos:
#pkg_add phpMyAdmin

Cuando termine de descargar e instalar, ejecutamos los siguientes comandos

# ln -sf /etc/php-5.3.sample/mcrypt.ini /etc/php-5.3/mcrypt.ini
# ln -sf /etc/php-5.3.sample/gd.ini /etc/php-5.3/gd.ini
# cp /var/www/conf/modules.sample/phpmyadmin.conf /var/www/conf/modules/
# ln -s  /var/www/phpMyAdmin /var/apache2/htdocs/phpMyAdmin

Por último sería sano un reinicio:

# reboot

Probando el servidor

La ruta por defecto para el contenido del servidor web es /var/apache2/htdocs/

Podemos crear un script de prueba, con el comando:

# echo «<?php phpinfo(); ?>» | tee /var/apache2/htdocs/phpinfo.php

El cual debe responder desde un navegdor a la dirección http://sudirecionip/phpinfo.php

phpinfo_openbsd_54

Lo mismo para PhpMyAdmin, a la dirección http://sudirecionip/phpMyAdmin/index.php

——

Dudas, comentarios, sugerencias?

Sigueme en twitter @josecely

——

Links

http://www.openbsd.org/
http://jacs.guru/?p=158/ Artículo para BSD 5.2.

One Response so far

Hola Jose Antonio

Muy buena información, siguiendo los pasos que has descripto pude instalar todo.
Muchas gracias.

Aprovechando tus conocimientos, tendrias alguna informacion para armar un cortafuegos para un servidor web de las caracteristicas de tu articulo?

Saludos
Martin

Leave a comment