Cómo montar un servidor LAMP en CentOS

Publicado el 07 agosto 2013 por Edu5800

Según Wikipedia, LAMP es una combinación de aplicaciones libres. Este acrónimo hace referencia a Linux como sistema operativo, Apache como servidor web, MySQL como servidor de base de datos y PHP, Python o Perl, según se prefiera, como lenguaje de scripting. Todos y en conjunto producen como resultado un servidor web de propósito general.

Aunque existen muchos tutoriales por ahí, la mayoría de ellos complicados, la intención de éste es hacerlo de la forma más sencilla y utilizando los paquetes disponibles en los repositorios CentOS 6.4 a la fecha.Así que manos a la obra...INSTALAR EL SISTEMA OPERATIVO CentOS 6.4 minimal en VirtualBox con una interfaz de red, eth0 como Bridged a la LAN para ver el servidor web en la red local (192.168.24.2), y todo lo demás por defecto. Al finalizar la instalación y loguearnos por primera vez en el servidor cambiamos el hostname del mismo, deshabilitamos iptables y selinux para evitar inconvenientes, hasta nuevo aviso.

[root@localhost ~]# sed -i 's/HOSTNAME=localhost.local/HOSTNAME=lampserver01.local/g' /etc/sysconfig/network 
[root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@localhost ~]# iptables -F
[root@localhost ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
[root@localhost ~]# service iptables restart
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
[root@localhost ~]# hostname lampserver01.mydomain.local
[root@localhost ~]# service network restart
Shutting down interface eth0: [ OK ]
Shutting down interface loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
[root@localhost ~]# logout
Al regresar, configuramos la Interfaz de red para actualizar y descargar paquetes. Esta interfaz está NAT en la configuración de la máquina virtual, pero editaremos el script ya que no nos interesa que el dhclient nos genere el fichero resolv.conf.
[root@lampserver01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
DEFROUTE=yes
IPADDR=192.168.24.2
NETMASK=255.255.255.0
GATEWAY=192.168.24.2
Editamos el fichero resolv.conf para resolver nombres de Internet.
[root@lampserver01 ~]# vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
[root@lampserver01 ~]# service network restart
Shutting down interface eth0: [ OK ]
Shutting down interface loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
ACTUALIZAR EL SISTEMA: Instalar paquetes necesarios, servicios y paquetes que nos hacen la vida más fácil.
[root@lampserver01 ~]# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
[root@lampserver01 ~]# rpm -i http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
[root@lampserver01 ~]# yum update -y
[root@lampserver01 ~]# yum install -y man mlocate bash-completion nmap nano wget screen
[root@lampserver01 ~]# yum install -y httpd mysql mysql-server php php-mysql
Algunas configuraciones de lugar.
[root@lampserver01 ~]# echo 'ServerName = lampserver01.local' >> /etc/httpd/conf/httpd.conf
[root@lampserver01 ~]# service httpd start
Starting httpd: [ OK ]
[root@lampserver01 ~]# service mysqld start
Starting mysqld: [ OK ]
[root@lampserver01 ~]# iptables -F
[root@lampserver01 ~]# iptables -P INPUT ACCEPT
[root@lampserver01 ~]# iptables -P FORWARD ACCEPT
[root@lampserver01 ~]# iptables -P OUTPUT ACCEPT
[root@lampserver01 ~]# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
[root@lampserver01 ~]# iptables -A INPUT -p icmp -j ACCEPT
[root@lampserver01 ~]# iptables -A INPUT -i lo -j ACCEPT
[root@lampserver01 ~]# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
[root@lampserver01 ~]# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
[root@lampserver01 ~]# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
[root@lampserver01 ~]# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
[root@lampserver01 ~]# iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
[root@lampserver01 ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
[root@lampserver01 ~]# chkconfig iptables --level 345 on
[root@lampserver01 ~]# service iptables restart
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: nat filter [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
Finalmente, lo que más hay que cuidar es la base de datos, por lo que haremos unasconfiguraciones finales a MySQL con el comando mysql_secure_installation, y seguimos las instrucciones. Además encendemos los servicios para que arranquen durante el inicio.
[root@lampserver01 ~]# chkconfig httpd --level 345 on
[root@lampserver01 ~]# chkconfig mysqld --level 345 on

Y nuestro LAMP server está listo:



fuente