lunes, 7 de junio de 2010

Instalación y Configuración de Apache, PHP y MySQL en Fedora Linux.

Instalar apache, php, mysql y phpmyadmin.
---------------------------------------------------

Como primer medida, aunque es opcional, hay que actualizar todo nuestro sistema. Entonces, debes ejecutar el siguiente comando por consola (shell), siempre en modo root:

#yum update


Una vez que se terminó de actualizar nuestro linux, debes proceder a la instalación del servidor apache, php y el servidor mysql en sus últimas versiones, con el comando:

#yum install httpd php php-gd mysql-server php-mysql phpMyAdmin


Iniciando los servicios:
-------------------------------

Una vez instalados podes ponerlos a trabajar el Apache y MySQL, ejecutando los comandos:

# service httpd restart

# service mysqld start

Si deseas que cada vez que la computadora o servidor inicia o bootea, querés que los servicios del Apache y del MySQL se inicien automáticamente, existen 2 formas:

1: Ir a los servicios, mediante el menú principal del X Server y tildar o marcar los servicios httpd y mysql para activarlos.

2: Escribir en la consola (es el camino que yo uso):

chkconfig --levels 235 httpd on
chkconfig --levels 235 mysqld on

o bien:

chkconfig –level on

Y luego, por ejemplo, para añadirlo al nivel de arranque número 5:

chkconfig –level 5 mysqld on

chkconfig –level 5 httpd on

Y para añadirlo al los niveles 3 y 5

chkconfig –level 35 mysqld on

chkconfig –level 35 httpd on

Y para quitarlos del nivel 5:

chkconfig –level 5 mysqld off

chkconfig –level 5 httpd off


Configuración de Apache.
-----------------------------

En Fedora no es necesario tocar nada, mas creo oportuno mencionar que los archivos de configuración están en /etc/httpd/conf/httpd.conf.

Para tener en cuenta en el Apache:
.Si queremos que los archivos de nuestro sitio web esten ubicados en una carpeta distinta a la carpeta por defecto, debemos modificar en el httpd.conf las lineas:

DocumentRoot "ruta_absoluta_de_la_carpeta_que_contiene_ël_o_los_sitios"



.Si queremos lograr que nuestro archivo index, o principal, o home, como quieras llamarlo, sea index.html o index.php, modificamos la linea:

DirectoryIndex index.php index.html


.Si queremos modificar la codificación de caracteres por defecto que manejaran nuestros sitios, ya que por defecto es UTF-8, debemos modificar la linea:

AddDefaultCharset ISO-8859-1

No me extenderé más con esto, pero son muchas las directivas que podemos modificar para cambiar el comportamiento de nuestro servidor Apache.

Configurando un password para el usuario root de mysql
-------------------------------------------------------------

Como ya está instalado nuestro servidor MySQL, debemos ingresar a él por primera vez y establecerle una contraseña. Esto es lo más recomendable para hacer ya que sin una contraseña quedamos muy vulnerables con nuestras bases de datos y su acceso contra un ataque o hack.

Entonces, por consola ejecutamos:

~ $ mysql -u root

Nos imprimirá lo siguiente:

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.54-log Linux mysql-5.0.54

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

De esta manera ingresamos a MySQL, elegimos la base de datos llamada mysql:

mysql> USE mysql;

Y con la siguiente instrucción podemos establecer nuestra contraseña para el usuario root:

mysql> UPDATE user SET password=password(‘rootpass’) WHERE user=’root’;

Luego escribimos para salir del modo mysql:

mysql> quit


Nota: Se usa password(‘dato’) para aplicar encriptación determinista sobre un dato. Se podría, aunque por motivos de seguridad no es recomendable, setear password como cualquier campo ordinario.

Por favor, debes estar seguro que de ahora en más recordaras la clave que estableciste o mejor escribela en un lugar seguro.
Más adelante publicaré como recuperar la contraseña de root de mysql si la olvidamos o la perdemos, pero por ahora no la extravíes!

Configurando phpMyAdmin
-------------------------------

Está bueno poder acceder al phpMyAdmin mediante nuestro navegador para poder administrar rápidamente nuestras bases de datos. Entonces escribimos en nuestra consola, siempre en modo root:

nano /etc/phpMyAdmin/config.inc.php


Buscar esta linea:

$cfg['Servers'][$i]['user']= ‘’;
$cfg['Servers'][$i]['password']= ‘’

Y cambiar por:
Citar
$cfg['Servers'][$i]['user']= ‘root’;
$cfg['Servers'][$i]['password']= ‘passroot’

Donde passroot debe sustituirse por la clave que corresponda.

Guardar los cambios (Contrl +X, luego “Y” seguido de ENTER) y reiniciar apache con el comando:

# service httpd restart

Probando Apache-PHP.
---------------------------
Y listo, todo configurado y ya podemos hacer una prueba para saber que todo funciona correctamente:
Nos ubicamos en la carpeta que será la raiz de nuestro sitio web. Es la carpeta que quedó especificada en la instrucción DocumentRoot del httpd.conf, por ejemplo /var/www/html/ que es la ruta por defecto.
Y en la consola tecleamos lo siguiente para crear el archivo script.php:

cat >> /var/www/html/script.php

Una vez dentro del archivo que estamos creando, escribir:
phpinfo();
?>

###Presionar Control+d para salir####

Probando php-mysql
-----------------------

Para testear el funcionamiento del servidor mysql, hacemos algo parecido y en la consola tecleamos:

cat >> /var/www/html/script2.php

Dentro del archivo, escribir:

function connect ()
{
//sustituir passroot por el password de root en mysql.
$con=mysql_connect('localhost','root','passroot');

if (!$con)
{
$msj='No conecta a mysql ';
}

else
{
$msj='Conecta ';

$db=mysql_selectdb('mysql');

if (!$db)
{
$msj=$msj.'pero no logra seleccionar la base de datos';
}
else
{
$msj=$msj.'y consigue seleccionar la base de datos' ;
}
}

return $msj;
}

$var=connect();
print $var;
?>

Probando phpmyadmin
-------------------------
Y para probar el acceso al PHPMyAdmin teclear en la barra de direcciones de nuestro navegador web:

http://localhost/phpmyadmin

Testing final de PHP y MySQL
----------------------------

Llego el momento tan esperado!!! A probar todo!!!!
En nuestro navegador:

Para probar que funcione el php, en la barra de direccionemos tecleamos:

http://localhost/script.php

Entonces se debe visualizar en detalle toda la configuración de nuestro servicio PHP.

Para probar que funcione mysql, en la barra de direccionemos tecleamos:

http://localhost/script2.php

Entonces se debe visualizar si se estableció la conexión a nuestra base de datos, o no.

Espero que este tutorial les haya servido. Por favor dejenmé su comentario para saber si se entendió, si tuvieron dificultades para configurar, etc.

No hay comentarios:

Publicar un comentario