Servidor Web con OpenBSD 5.4, Apache 2.2, Php 5.3 y MySQL 5.1.6
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
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
Martin
mayo 13th, 2014
3:50 pm
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