![8 Consejos de seguridad servidores Apache](https://cdn-pre.openwebinars.net/media/featured_images/seguridad-servidor-apache.png)
8 Consejos de seguridad servidores Apache
8 Consejos de seguridad que debes seguir para tener tu Apache bien seguro y que no te puedan atacar.
![](https://cdn-pre.openwebinars.net/media/avatars/esau/tdrk2fused.jpg)
Conoce cómo mejorar el rendimiento de tu página web utilizando tanto Nginx como Apache, dos servidores servidores web potentes y eficaces.
Tabla de contenidos
Tanto Nginx como Apache son dos servidores web potentes y eficaces. Apache es el servidor que más usado actualmente, Nginx , desde su lanzamiento público en 2006, es ahora el segundo servidor web más usado . Las razones de la popularidad de cada respectivo servidor son claras: el poder de Apache y velocidad de nginx son bien conocidos. Sin embargo, ambos servidores tienen inconvenientes: Apache es consume demasiada memoria del servidor, mientras que Nginx necesita la ayuda de php-FPM o módulos similares para servir contenido dinámico. Sin embargo, podemos combinar los dos servidores para conseguir el máximo rendimiento, con Nginx como servidor estático en el front-end y Apache se encargará del procesamiento dinámico en backend.
Para llevar a cabo los pasos de este tutorial, debes tener privilegios de sudo en tu VPS.
Para empezar, tenemos que instalar y configurar Nginx que servirá el front-end de nuestro sitio. Vamos a descargarlo e instalarlo desde apt-get:
sudo apt-get install nginx
Una vez que se ha descargado e instalado ya podemos seguir con el siguiente paso.
Abre la configuración de Nginx.
sudo nano /etc/nginx/sites-available/ejemplo
La siguiente configuración permitirá usar Nginx como servidor front-end . Es muy similar a la configuración por defecto, y los detalles se encuentran bajo la configuración.
server { listen 80; root /var/www/; index index.php index.html index.htm; server_name ejemplo.com; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } location ~ /\.ht { deny all; } }
Los siguientes cambios han sido implementados en la configuración:
Esta configuración establece un sistema por el cual t odas las peticiones con un final .php se redireccionan al backend Apache que está corriendo en el puerto 8080. Ahora debes activar el VirtualHost:
sudo ln -s /etc/nginx/sites-available/ejemplo /etc/nginx/sites-enabled/ejemplo
Además, debes eliminar sitio que Nginx trae por defecto:
sudo rm /etc/nginx/sites-enabled/default
El siguiente paso es instalar y configurar Apache.
Una vez hemos acabado con la parte de Nginx, es el momento de instalar nuestro backend, Apache.
sudo apt-get install apache2
Puesto que nginx todavía no está activado, Apache comenzará a funcionar en el puerto 80.
Necesitamos configurar apache para que pueda hacerse cargo del backend , que como ya le indicamos a Nginx, nuestro proxy deberá estar corriendo en el puerto 8080. Debemos abrir el fichero ports.conf de Apache para indicar el puerto correcto:
sudo nano /etc/apache2/ports.conf
Busca y cambia las siguientes líneas para tener Apache corriendo en el puerto 8080 , y accesible sólo desde el localhost:
NameVirtualHost 127.0.0.1:8080 Listen 127.0.0.1:8080
Guarda y sal. Posteriormente, abre un nuevo archivo de Virtual Host, copiando el diseño del que trae apache por defecto:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ejemplo sudo nano /etc/apache2/sites-available/ejemplo
El principal problema que debemos solucionar aquí es que el Virtual Host tiene que estar , una vez más , ejecutándose en el puerto 8080 (en lugar del predeterminado 80). La línea debe tener este aspecto:
Asegúrate de que la raíz (Document Root) es la correcta. Guarda y sal del archivo y activa el Virtual Host:
sudo a2ensite ejemplo
Antes de empezar a probar nada, tenemos que equipar a Apache con PHP. Vamos a instalarlo:
sudo apt-get install php5
Reinicia ambos servidores para que los cambios surtan efecto:
sudo service apache2 restart sudo service nginx restart
Ya tenemos listo nuestro VPS ( o servidor dedicado ) con Nginx ejecutándose como front-end de nuestro sitio y con el procesamiento de Apache + PHP como back-end. Si abrimos nuestro dominio nos llevará a la página por defecto de nuestro sitio. Podemos comprobar que la información está siendo enviada a Apache de forma correcta mediante la ejecución de un script php común. Vamos a crear el archivo php.info:
sudo service apache2 restart sudo nano /var/www/info.php
Pega las siguientes líneas en el archivo:
sudo service apache2 restart
Guarda y sal. Visita a tu dominio/info.php y deberás ver la pantalla PHP info, podrás observar que fue servida con Apache.
Configurar Nginx y Apache juntos puede ser un gran impulso para tu servidor y para tu sitio web . Esto solo ha sido una breve introducción pero se puede afinar todo mucho más para aumentar el rendimiento con creces.
También te puede interesar
8 Consejos de seguridad que debes seguir para tener tu Apache bien seguro y que no te puedan atacar.
Conoce los mejores consejos para securizar Nginx y no tener problemas en tu infraestructura.
Estudia las distintas funcionales que nos ofrece el servidor web Apache 2.4. Aprenderemos su instalación, configuraciones habituales y...