Instalar un servidor LAMP

lamp_logo

La mejor forma de aprender es poniendo manos a la obra. Este post está destinado a los programadores que desarrollan sus proyectos con PHP pero no se han animado a instalar GNU/Linux. ANIMATE!

Para no perder el foco en lo que necesitamos, conservar recursos y minimizar la administración, siempre recomiendo una instalación mínima de Debian y luego iremos instalando lo demás.

En éste link pueden descargar una guía para la instalación mínima de Debian GNU/Linux en su versión 4.0 (les servirá igual para la versión 5) y una guía de comandos. El firewall lo veremos más adelante.

Una vez instalado el sistema operativo procedemos a instalar APACHE con soporte para MySQL y PHP:

#apt-get install apache2 php5 libapache2-mod-php5 mysql-server php5-mysql phpmyadmin

La root-folder del servidor web está en /var/www/ aunque es posible cambiarla o configurar links, tarea que es un poco mas avanzada y que scapa al motivo de éste post.

El siguiente paso es configurar el firewall, en el caso de que el equipo sea accesible desde internet o en una red con muchos equipos.  A continuación veremos un firewall simple y minimalsta. El mismo no es restrictivo (se deniega todo el tráfico salvo el que permitamos explícitamente) sino que permisivo. Pueden descargar el script aquí.

#!/bin/bash

PATH=/usr/sbin:/sbin:/bin:/usr/bin

# cambiar eth0 por la interfaz local en el caso de ser otra
LAN='eth0'

# -------------------- INICIALIZACION --------------------
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# ----------------------- LOOPBACK -----------------------
iptables -A INPUT -i lo -j ACCEPT

# ----------------- FILTADO DE PAQUETES ------------------
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! eth1 -j ACCEPT

# ------------------------- RUTEO ------------------------
echo 1 > /proc/sys/net/ipv4/ip_forward

# ------------------------- SSH ------------------------
$IPTABLES -A INPUT -i $LAN -p tcp --dport 22 -j ACCEPT

# ------------------------- HTTP------------------------
$IPTABLES -A INPUT -i $LAN -p tcp --dport 80 -j ACCEPT

A éste script debemos darle permisos de ejecución:

chmod 744 firewall

Ahora podemos agregalo en dos lugares: el inicio del sistema o en la carpeta /etc/network/if-up (se ejecutará cada vez que el sistema detecte que una interfaz de red levanta un vínculo).

En el caso de éste ejemplo lo asignaremos dentro de la secuencia de arranque del sistema. Para eso es necesario copiar el script a la carpeta /etc/init.d/ y generar los enlaces al mismo en cada init.

cp firewall /etc/init.d
update-rc.d firewall defaults 80

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *