lamp-mysql-apache-php-centos (1)

Como instalar Apache 2.4 con PHP 5.5.0 y Mysql 5.1.69 en Centos 6

Como instalar Webmin 1.630 en Centos 6

Esto no es más que un gestor de servidor gratuito, es decir, lo que vendría siendo un Plesk o un CPanel, pero sin un coste mensual, aunque no es tan intuitivo como estos otros. Al principio puede parecer un poco confuso, pero con el uso te acabas acostumbrando y te das cuenta que es igual o más potente que las otras soluciones de pago. Existe también uno llamado ISPConfig 3, pero yo me decanto más por este. Por supuesto su instalación es totalmente opcional:

Primero pondremos el repositorio de webmin para yum (pega todo el código en la consola tal cual aunque sean varias líneas):

cat > /etc/yum.repos.d/webmin.repo << EOF
[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1
EOF

Ahora instalaremos el panel:

rpm --import http://www.webmin.com/jcameron-key.asc
yum update
yum install webmin

Ya lo tenemos instalado y en cuanto terminemos de configurar el servidor podremos acceder a el desde el navegador.

Rematando la instalación

Ahora que ya lo tenemos todo terminado de instalar, nos faltan pequeños remates con los que evitaremos volvernos locos más adelante, cuando veamos que nada nos funciona como debería o tenemos fallos.

Lo primero será programar apache y mysql para que se ejecuten en el arranque, así cada vez que se inicie el sistema se ejecutarán automáticamente:

chkconfig --level 235 httpd on
chkconfig --level 235 mysqld on

Así evitamos que si se nos reinicia el servidor o lo apagamos y encendemos y nos olvidamos de ejecutar algún servicio, este no esté disponible.

Centos lleva de forma predeterminada iptables instalado, que es el firewall por defecto. Para que las webs y otros servicios como el webmin estén accesibles, tenemos que abrir algunos puertos. En este caso editaremos el archivo de configuración de iptables:

nano /etc/sysconfig/iptables

y después añadiremos al archivo las siguientes líneas:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT

La línea para el puerto 3306 es necesaria solo en caso de que queramos acceder a mysql de forma remota con algún programa. Yo suelo poner estas líneas debajo de la que marca el puerto 22 que es el ssh, para tenerlo todo ordenado.

Léete también  Qué software usar para programar páginas web en php

No nos debemos olvidar de reiniciar el iptables para que coja la nueva configuración

service iptables restart

Por último, una cosa que puede que te salve, o puede que no te sirva para nada, es el dar mas permisos en selinux para que httpd pueda trabajar a otro nivel sobre los archivos htpasswd:

semanage permissive -a httpd_t

Si por cualquier motivo nos suelta el error de semanage command not found, tendremos que ejecutar la siguiente línea primero:

yum -y install policycoreutils-python

Y con esto quedaría concluída la instalación de nuestro LAMP con las opciones que queríamos.

Yo no soy partidario de deshabilitar selinux, pero si por lo que sea te está dando problemas y quieres deshabilitarlo (o simplemente por que es bastante restrictivo) puedes desactivarlo con el siguiente comando OPCIONAL:

Editamos con nano el archivo de configuración

/etc/selinux/config

Y dejamos el contenido tal y como en el siguiente código:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted

Donde hemos puesto disabled es lo único que necesitas cambiar, en caso de que no lo quieras desactivar pero quieras que sea menos restrictivo en lugar de disabled pones permissive y listo. Repito, no apoyo desactivarlo a no ser que te de problemas.

Espero que esto haya servido de ayuda, y si es así te invito a que hagas un like y un follow en las redes sociales que quieras, los botones están por la página.

Léete también  [Solucionado] PHP Fatal error: Class 'DOMDocument' not found

Cualquier duda, pregunta, sugerencia a los comentarios y estaré encantado de ayudar.


AYUDANOS a poder seguir dando respuestas. Te podemos echar una mano y tú también a nosotros, símplemente dale a me gusta.