Archive

You are currently browsing the Jose Antonio Cely Saidiza blog archives for noviembre, -0001.

Nov

30

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.