Cargando



Como montar Servidor web Apache, PHP 5 y Mysql desde cero

En este tutorial explico como montar un Servidor web Apache, PHP 5 y Mysql desde cero paso a paso.


jun 11 2013 10:40
Profesional
jun 11 2013 10:40
Vamos a desarrollar como instalar, configurar y optimizar un servidor web bajo Linux. El tutorial es valido para cualquier distribución cambiando los comando que corresponden para instalar o actualizar ficheros. En este caso se hará para una distribución CentOS.


Imagen enviada


El primero paso es conectarnos a nuestro servidor mediante ssh desde la terminal.

Cuando accedemos al servidor procedemos instalar Apache.
root@server1:~# yum install httpd

Luego instalamos php, cuidado con la versión que instalamos ya que si es muy nueva muchas aplicaciones web podrían quedar obsoletas y no funcionar.
root@server1:~# yum apt-get install libapache2-mod-php5 php5-cli php5-common php5-cgi


Instalamos Mysql
root@server1:~# yum install mysql mysql-server

Para poder administrar Mysql podemos instalar phpmyadmin
root@server1:~# yum install phpmyadmin



Configurando y optimizando servicio del servidor

Lo primero que haremos es que apache arranque automáticamente con el sistema, sino deberíamos arrancarlo manualmente
root@server1:~# yum chkconfig --level 235 httpd on


Reiniciamos o iniciamos el servicio apache en forma manual (Restart o Start)
root@server1:~# yum /etc/init.d/httpd start


También le diremos a mysql que inice automáticamente e iniciamos el servicio
root@server1:~# yum chkconfig --level 235 mysqld on

root@server1:~# yum /etc/inti.d/mysqld start


Para probar si el servidor esta instalado y funciona podremos visitar la ip del servidor y debería responder la pagina de apache



Imagen enviada


Optimizando apache

Ocultar versión e información sensible al publico. Los usuario maliciosos pueden utilizar esta información para atacar tu servidor.
root@server1:~# nano /etc/httpd/conf/httpd.conf

Agregar esta directivas o cambiarlas por lo siguiente
ServerSignature Off
ServerTokens Prod


Desactivar exploración de directorios
Options -Indexes


Luego guardar los cambios y reiniciar Apache
root@server1:~# /etc/init.d/httpd restart


Configurar las siguientes variables de httpd.conf

root@server1:~# nano /etc/httpd/conf/httpd.conf

Timeout define, en segundos, el tiempo que el servidor esperará pararecibir y transmitir durante la comunicación. 60 y 300 segundos, Esto interfiere en el envío de archivos por formularios, peticiones TCP, GET, etc. Por ende hay que definirlo dependiendo el uso del servidor.

MaxClients establece un límite al total de los procesos del servidor o clientes conectados simultáneamente, que pueden ejecutar a la vez, dependiendo del uso varia el rendimiento del servidor.

KeepAliveTimeout establece el número de segundos que el servidor esperará tras haber dado servicio a una petición y cerrar la conexión, normalmente 10 a 15 segundos.

Optimizando y configurando MYSQL

Para optimizar y configurar mysql vamos a
root@server1:~# nano /etc/my.cnf

Algunas variables para optimizar y configurar son:

Crear un log donde se guarden las consultas que tarde más de 2 segundos para optimizarlas
log-slow-queries=/var/log/mysql-slow-queries.log
long_query_time = 2 (en segundos)

Desconectar a cualquier cliente inactivo en x segundos, asi se evitar que ocupe una conexión
wait_timeout=30
connect_timeout=10

También pueden configurarse el tamaño de cache y buffer de memoria que dependerá de las necesidades de utilización del servidor.

Optimizando php

Lo mas importante de php es optimizar php.ini, en este caso dependerá de las necesidades de tus aplicaciones
root@server1:~# nano /etc/php.ini

max_execution_time – Esto determina el tiempo que un script puede tomar en correr, si estás usando scripts que consumen muchos recursos tal vez te convenga ajustar esto de la manera más conveniente.

memory_limit – Si tu script usa mucha memoria para correr de manera efectiva, ya que algunos de los servicios de hosting compartido solo permiten 16 MB, si lo puedes configurar mejor ponerlo en 32 MB.

post_max_size – Si tienes un sitio donde los usuarios puede subir archivos al servidor, aquí puedes configurar el límite máximo del tamaño de los archivos que pueden subir, desde el metodo POST, para tareas de importar o subir archivos e imágenes.

¿Te ayudó este Tutorial?


1 Comentarios


Cesar Ortiz
jun 11 2013 10:41
Gracias por el tutorial Innovehost. Muy muy bueno y detallado. Un saludo.
No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X