Últimamente estoy usando mucho linux y en esta ocasión les quiero dejar los pasos para tener Apache, Php y Mysql en CentOS de manera muy sencilla.
LAMP= LINUX APACHE MYSQL PHP
– Instalar el sistema operativo CentOS en forma de Desktop de forma predeterminada (Recomendado para gente sin experiencia en Linux).
– Una vez instalado el sistema operativo empezamos a instalar y configurar todo como para tener lo siguiente: servidor web apache, php y mysql.
Instalación del servidor web Apache:
1- Ir al terminal (Con el usuario root) y ejecutar lo siguiente:
yum install httpd mod_ssl
service httpd start
2- En el terminal nuevamente ejecutar lo siguiente para que el servidor apache se inicie junto con el sistema operativo: chkconfig httpd on
Instalación del RDBMS “MySql”:
1- Ir al terminal (Con el usuario root) y ejecutar lo siguiente:
yum install mysql-server
service mysqld start
chkconfig mysqld on
2- En el terminal nuevamente ejecutar lo siguiente para cambiar la contraseña del MySql (o sea del usuario root): /usr/bin/mysql_secure_installation
Instalación de PHP con sus dependencias principales:
1- Ir al terminal (Con el usuario root) y ejecutar lo siguiente:
yum install php php-mysql
Importante:
– Creamos el archivo info.php desde la consola:
nano /var/www/html/info.php
<?php
phpinfo();
?>
service httpd restart
Ingresar a http://localhost y http://localhost/info.php para comprobar si todo está bien.
– También dar acceso del exterior para que puedan ver nuestro servidor web con SELINUX, para eso ir a la parte de configuración GUI de dicho firewall y habilitar la opción HTTP.
Extra:
Instalación de phpMyAdmin, Soporte MsSql para PHP y otras dependencias
Primero agregamos el repositorio EPEL en la consola:
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
Luego ejecutamos:
yum install php-devel php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-mbstring php-mcrypt php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel httpd-devel phpmyadmin php-mssql
Aclaración: Lo que está en negrita es lo imprescindible, el resto optativo.
Si necesitas conectarse a una base de datos externa modificar lo siguiente:
# getsebool -a | grep httpd
allow_httpd_anon_write –> off
allow_httpd_bugzilla_script_anon_write –> off
allow_httpd_cvs_script_anon_write –> off
allow_httpd_mod_auth_pam –> off
allow_httpd_nagios_script_anon_write –> off
allow_httpd_prewikka_script_anon_write –> off
allow_httpd_squid_script_anon_write –> off
allow_httpd_sys_script_anon_write –> off
httpd_builtin_scripting –> on
httpd_can_network_connect –> off
httpd_can_network_connect_db –> off
httpd_can_network_relay –> off
httpd_can_sendmail –> on
httpd_disable_trans –> off
httpd_enable_cgi –> on
httpd_enable_ftp_server –> off
httpd_enable_homedirs –> on
httpd_rotatelogs_disable_trans –> off
httpd_ssi_exec –> off
httpd_suexec_disable_trans –> off
httpd_tty_comm –> on
httpd_unified –> on
httpd_use_cifs –> off
httpd_use_nfs –> off
$ setsebool httpd_can_network_connect_db 1
$ setsebool httpd_can_network_connect 1