servidor lamp centos 121023195231 phpapp01

Upload: pexpe81

Post on 04-Apr-2018

244 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    1/19

    By Kr@mer

    Servidor LAMP en CentOS 6.3

    Sobre LAMP

    Un servidor LAMP es un conjunto de aplicaciones instaladas en un servidor Linux los cuales, al

    trabajar en conjunto logran dar vida a una aplicacin mucho mas grande y robusta

    Generalmente un servidor LAMP esta constituido por los siguientes paquetes:

    Linux: El sistema operativo; Apache. El servidor web; MySQL. El gestor de bases de datos; Perl, PHP, o Python. Lenguajes de programacin.

    De ah el nombre de servidor LAMP

    Algunas aplicaciones que hacen uso de un servidor LAMP son las siguientes:

    Zimbra.-Servidor de Correo Electrnico

    Openfire.-Servidor de Mensajera Instantnea CMS.- Gestores de Contenidos (Joomla,Drupal,Wordpress)

    Proceso de instalacin de LAMPEn este capitulo te ensearemos como se instala y configura un servidor de LAMP mediante la

    implementacion de un gestor de contenidos que en este caso sera un Joomla.

    Instalando el servidor LAMP(Apache+MySQL+PHP)

    La instalacin de un servidor LAMP requiere de aplicaciones previamente instaladas como es el

    caso del servidor web apache el cual fue instalado en el capitulo anterior pero de igual manera lovolveremos a nombrar aqu.

    Abra una consola y teclee lo siguiente para llevar a cabo la instalacin de los paquetes del servidor

    LAMP

    Recuerde que este comando se debe ejecutar como root Por ultimo solo deber iniciar (o en su caso

    reiniciar) servicios como el servidor web apache asi como tambin el manejador de bases de datos

    MySQL

    Iniciar servicio y aadir el servicio al arranque del sistema.

    Apache es un servicio que por fortuna slo es necesario instalar e iniciar, sin modificaciones

    adicionales para su funcionamiento bsico. Para aadir el servicio al arranque del sistema, ejecute lo

    siguiente:

    [root@ localhost ~]# yum install -y httpd mysql mysql-server php-mysql phpphp-cli php-common

    [root@ localhost ~]# /etc/init.d/httpd

    [root@ localhost ]# /etc/init.d/mysql start

    [root@ localhost ]# chkconfig httpd on

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    2/19

    By Kr@mer

    Para iniciar el servicio por primera vez, ejecute lo siguiente:

    Para reiniciar el servicio, considerando que este procedimiento interrumpir todas las conexiones

    establecidas en ese momento, slo se necesita ejecutar:

    Si el servicio ya est funcionando, tambin puede ejecutar lo siguiente, con el fin de que Apache

    vuelva a leer y cargar los cambios en la configuracin, sin interrumpir el servicio y con esto

    mantener activas las conexiones establecidas.

    Para detener el servicio, ejecute lo siguiente:

    Probando APACHE

    Verificar si apache esta activo: ingresa al navegador e ingresa localhost o 127.0.0.1, debera

    mostrarte lo siguiente:

    root@ localhost ]# service httpd start

    root@ localhost ]# service httpd restart

    root@ localhost ]# service httpd reload

    root@ localhost ]# service httpd stop

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    3/19

    By Kr@mer

    En el directorio/var/www/html crear el fichero index.html con el siguiente contenido:

    Administracin de Servidores

    Hola esto es una prueba

    Debera de visualizar lo siguiente:

    Verificar soporte con PHP

    Para verificar el soporte php, realizar lo siguiente: en /var/www/html crear el fichero info.php

    ingrese el siguiente contenido:

    Para verificar si el soporte php est activo, en el navegador web poner lo siguiente:127.0.0.1/info.php

    Debera de mostrar lo siguiente:

    root@ localhost ]# touch /var/www/html/info.php

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    4/19

    By Kr@mer

    Configurando MySQL

    Acerca de MySQL

    MySQL es un sistema de gestin de base de datos relacional, multihilo y multiusuario con ms de

    seis millones de instalaciones. Por un lado se ofrece bajo la GNU GPL para cualquier uso

    compatible con esta licencia, pero las empresas que quieran incorporarlo en productos privativospueden comprar a la empresa una licencia especfica que les permita este uso. Est desarrollado en

    su mayor parte en ANSI C.

    Al contrario que proyectos como Apache, donde el software es desarrollado por una comunidad

    pblica y el copyright del cdigo est en poder del autor individual, MySQL es propiedad y est

    patrocinado por una empresa privada, que posee el copyright de la mayor parte del cdigo.

    Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Adems de la

    venta de licencias privativas, la compaa ofrece soporte y servicios. Para sus operaciones contratan

    trabajadores alrededor del mundo que colaboran va Internet. MySQL AB fue fundado por David

    Axmark, Allan Larsson, y Michael Widenius y desde enero de 2008 es una subsidiaria de Sun

    Microsystems

    Configurando la cuenta de root en el manejador MySQL

    Para comenzar a manipular los accesos del usuario root al manejador MySQL primero tendr que

    tener levantado a MySQL de lo contrario le arrojara un error en consola cuando intente entrar a

    MySQL . Si aun no levanta el servicio de MySQL hgalo

    si lo tiene levantado haga caso omiso de este comentario Una vez levantado el servidor MySQL

    deberemos asignar un password a la cuenta de root , para ello teclearemos en consola lo siguiente:

    Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 to

    server version: 5.0.27 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

    [root@localhost]# /etc/init.d/mysqld start

    [root@localhost]# mysql -u root

    mysql>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

    [root@localhost]# mysql -u root -p

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    5/19

    By Kr@mer

    Integrando MySQL con Joomla

    Ahora que tenemos ya instalado tanto al gestor de contenidos Joomla como el manejador de Bases

    de datos MySQL , solo nos resta integrar estas dos aplicaciones para que operen de manera

    conjunta.

    Para ello tendremos que generar en el manejador MySQL lo siguiente:

    Una cuenta para el aministrador de JoomlaEsta cuenta de usuario sera la asignada al

    administrador del gestor de contenidos Joomla

    Un password para la cuenta de administrador de

    Joomla

    Sera el password asignado a la cuenta del

    administrador del gestor de contenidos Joomla

    Una base de Datos para el gestor de contenidos

    Joomla

    Base de Datos en la cual sern dados de alta los

    usuarios de este gestor de contenidos, nos

    referimos nuevamente a Joomla

    Una vez ledo lo anterior comenzaremos por crear la base de datos que usara el gestor de contenidos

    Joomla asi como tambin el alta de la cuenta de administrador de Joomla y la asignacin de unpassword para el mismo, para ello abriremos una terminal y nos pasaremos al modo consola de

    MySQL como se muestra a continuacin:

    El siguiente paso es asignarle al administrador de joomla una cuenta dentro de MySQL y luego de

    ello asignarle a este usuario permisos de lectura, escritura y ejecucin sobre la base de datos que

    antes creamos, esto se consigue de la siguiente manera.

    Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected

    (0.00 sec) mysql> }}}

    Obviamente deber cambiar la palabra PASSWORD por la contrasea que desea asignar al

    usuario adminjoomla. Al terminar teclee la palabra exit para salir de MySQL.

    Bye

    mysql> GRANT ALL ON joomla.* TO 'adminjoomla'@'localhost' IDENTIFIED BY'adminjoomla' WITH GRANT OPTION;

    mysql>exit

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    6/19

    By Kr@mer

    Por ultimo,solo tendr que reiniciar el servidor de bases de datos MySQL as como tambin el de

    apache

    Solo para recordar lo antes visto te posteo una tabla de bastante utilidad

    Nombre de la cuenta del adminsitrador de Joomla adminjoomla

    Contrasea asignada a adminjoomla Recuerde que esta contrasea la asigna usted

    Nombre de la base de datos asignada a Joomla joomla

    NOTA: Si usted olvido la contrasea que asigno para el administrador de Joomla no se preocupe, elfichero

    .mysql_history

    Guarda el histrico de las acciones que se llevaron a cabo en el servidor de base de datos deMySQL por lo que podr consultarlo para obtener la contrasea si es que la olvido.

    Generalmente este fichero se encuentra depositado en el directorio de trabajo de root

    Descargando Joomla

    Descargue Joomla del siguiente portal web:

    http://www.joomlaspanish.org/

    Como puede observarse usted puede descargar Joomla de tres formas distintas, la nica diferencia

    radica en la forma en la que esta empaquetado el paquete.

    Instalacin de Joomla

    Una vez confirmada esta informacin podemos continuar con la ultima parte de este capitulo, nos

    referimos a la instalacin del gestor de contenidos Joomla

    [root@ localhost ~]# /etc/init.d/httpd

    [root@ localhost ]# /etc/init.d/mysql restart

    # wget http://joomlacode.org/gf/download/frsrelease/17609/76803/Joomla_3.0.1-Spanish-Pack_Completo.tar.gz

    http://www.joomlaspanish.org/http://joomlacode.org/gf/download/frsrelease/17609/76803/Joomla_3.0.1-Spanish-Pack_Completo.tar.gzhttp://joomlacode.org/gf/download/frsrelease/17609/76803/Joomla_3.0.1-Spanish-Pack_Completo.tar.gzhttp://joomlacode.org/gf/download/frsrelease/17609/76803/Joomla_3.0.1-Spanish-Pack_Completo.tar.gzhttp://joomlacode.org/gf/download/frsrelease/17609/76803/Joomla_3.0.1-Spanish-Pack_Completo.tar.gzhttp://www.joomlaspanish.org/
  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    7/19

    By Kr@mer

    Sobre Joomla

    Joomla es un sistema de administracin de contenidos de cdigo abierto construido con PHP bajo

    una licencia GPL. Este administrador de contenidos se usa para publicar portales web en Internet

    mediante la implementacion de un servidor LAMP. En Joomla se incluyen caractersticas como:

    Indexamiento web Feed RSS Versiones imprimibles de pginas Flash con noticias Blogs Foros Encuestas Calendario Bsqueda en el sitio web

    Instalando JoomlaEl proceso para llevar a cabo la instalacin de Joomla sera el siguiente:

    [root@localhost servidores]# tar -zxvf Joomla_3.0.1-Spanish-Pack_Completo.tar.gz -C

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    8/19

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    9/19

    By Kr@mer

    Paso 3) Configuracin FTP

    Los servicios FTP lo dejaremos en blanco, porque no se utilizar.

    Paso 4) Informacin General

    Para finalizar con la configuracin del CMS, seleccionamos que instale una plantilla a modo de

    prueba.

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    10/19

    By Kr@mer

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    11/19

    By Kr@mer

    No alarmarse por el mensaje que se visualiza, slo nos indica que eliminemos el directorio

    installation dentro de /var/www/html y adicionalmente crearemos un fichero configuration.php en

    el cual insertaremos el cdigo que se muestra.

    Procedemos a borrar el directorio installation en/var/www/html

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    12/19

    By Kr@mer

    Para finalizar crear fichero configuration.php en/var/www/html

    e ingresar el codigo que se mostr en Observar en el punto anterior.

    Ingresamos al portal web:

    # touch /var/www/html/configuration.php

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    13/19

    By Kr@mer

    Ingresar al formulario de acceso

    User = admin

    Pass = admin

    Ingresar a zona de administracin para poder realizar actividades de administracin del CMS.

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    14/19

    By Kr@mer

    A ) Creacin de dominios virtuales en Apache

    La creacin de dominios virtuales sobre un servidor web como apache tiene una vital importancia

    cuando se trata de dar hospedaje a varios sitios web dentro del mismo servidor. Lograr implementar

    de manera correcta los dominios virtuales sobre el servidor web apache es tarea sencilla por lo que

    le recomendamos primero haber ledo todas las directivas que pueden ser aplicadas al fichero

    httpd.conf

    A partir de este punto comenzaremos a crear los dominios virtuales, es por ello que pedimos tu total

    concentracin y paciencia para que leas poco a poco estos puntos.

    Paso 1.- Activando la directiva NameVirtualHost

    El primer paso ser abrir el fichero:

    httpd.conf

    el cual esta almacenado en la ruta:

    /etc/httpd/conf/

    En dicho fichero debemos localizar la siguiente linea y descomentarla si es que lo esta

    NameVirtualHost *:80

    La funcin de esta directiva sirve para indicar la direccin IP en la que se esta brindando el servicio

    o bien insertando un asterisco(*) para que est activa en cualquier interfaz del servidor que es como

    nosotros lo debemos tener.

    Paso 2.- Estructura de directorios para dominios virtuales

    Lo siguiente ser crear la estructura que contendr cada uno de los dominios virtuales que sern

    hospedados en nuestro servidor. Ejemplo: Suponga que tenemos 5 nombres de dominio que sern

    hospedados en nuestro servidor web

    www.turbolinux.com.mx

    www.comerciolinux.com www.escuelalinux.edu www.linuxunido.org www.linuxbloger.net porcada dominio se deber crear un directorio, dicho directorio ser nombrado de la misma forma que

    el dominio, solo omitiendo el www.

    [root@ localhost ~]# mkdir turbolinux.com.mx[root@ localhost ]# mkdir comerciolinux.com

    [root@ localhost ]# mkdir escuelalinux.edu

    [root@ localhost ]# mkdir linuxunido.org[root@ localhost ]# mkdir linuxbloger.net

    Estos directorios debern ser creados dentro de la ruta

    /var/www/

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    15/19

    By Kr@mer

    Al final estos directorios debern quedar de la siguiente manera

    /var/www/turbolinux.com.mx

    /var/www/comerciolinux.com/var/www/escuelalinux.edu/var/www/linuxunido.org

    /var/www/linuxbloger.net

    Si no estn en la ruta antes descrita solo debe moverlos con el comando mv Lo siguiente ser

    crear dentro de cada uno de estos directorios la estructura bsica que debe llevar cada uno de estos

    dominios. Esta estructura estar conformada por cuatro directorios:

    html

    cgi-bin

    icons

    error

    por lo que deber crear estos cuatro directorios para cada uno de los directorios de dominio.Ejemplo para el dominio turbolinux.com.mx

    # mkdir /var/www/turbolinux.com.mx/html

    mkdir /var/www/turbolinux.com.mx/cgi-binmkdir /var/www/turbolinux.com.mx/iconsmkdir /var/www/turbolinux.com.mx/error

    y as para los siguientes restantes dominios.

    Paso 3.- Creacin y modificacin de los ficheros de configuracin de los dominios virtuales

    Una vez creadas las carpetas de dominios as como tambin la estructura de cada uno pasaremos al

    ltimo paso, crear los ficheros de configuracin correspondientes a cada dominio. Nuevamente por

    cada dominio se deber crear un fichero de configuracin, dicho fichero ser nombrado de la misma

    forma que el dominio, solo omitiendo el www.

    [root@ localhost ~]# mkdir turbolinux.com.mx.conf

    [root@ localhost ]# mkdir comerciolinux.com.conf[root@ localhost ]# mkdir escuelalinux.edu.conf[root@ localhost ]# mkdir linuxunido.org.conf

    [root@ localhost ]# mkdir linuxbloger.net.conf

    Estos directorios debern ser creados dentro de la ruta

    /etc/httpd/conf.d/

    Al final estos directorios debern quedar de la siguiente manera

    /etc/httpd/conf.d/turbolinux.com.mx.conf/etc/httpd/conf.d/comerciolinux.com.conf

    /etc/httpd/conf.d/escuelalinux.edu.conf

    /etc/httpd/conf.d/linuxunido.org.conf/etc/httpd/conf.d/linuxbloger.net.conf

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    16/19

    By Kr@mer

    Si no estn en la ruta antes descrita solo debe moverlos con el comando mv. Lo siguiente sera

    crear dentro de cada uno de estos ficheros la estructura bsica que deben contener para que puedan

    ser ledos por el fichero principal de configuracin de apache, nos referimos al fichero

    httpd.conf. Esta estructura estar conformada por la siguiente configuracin bsica: Ejemplo deconfiguracin para el dominio turbolinux.com.mx

    ServerAdmin [email protected]

    DocumentRoot "/var/www/turbolinux.com.mx/html"ServerName www. turbolinux.com.mxServerAlias turbolinux.com.mx

    Los parmetros usados son descritos en la siguiente tabla:

    VirtualHost La funcin de esta directiva sirve para indicar la direccin IP en la que se estabrindando o bien insertando un asterisco() para que est activa en cualquier

    interfaz del servidor que es como nosotros lo debemos tener.

    ServerAdmin Esta directiva especifica la persona a la que se le debe notificar los problemas

    referentes al portal web , esto a travs de su cuenta de correo.

    DocumentRoot Esta directiva indica al servidor web la ruta en donde se encuentran

    almacenados los ficheros web de tu sitio principal.

    ServerName Esta directiva especifica el nombre y puerto que el servidor utiliza para

    identificarse. Con una correcta configuracin, este valor se puede determinar

    automticamente, pero es recomendable especificarlo explciatamente para

    evitar problemas durante el arranque.ServerAlias Esta directiva sirve para que el mismo sitio web sea accesible desde distintos

    nombres de dominio.

    Ejemplo: turbolinux.com.mx ---> www.turbolinux.com.mx

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    17/19

    By Kr@mer

    B) Configuracin de Sitios de Red virtuales en Apache

    Puede generarse cualquier archivo con extensin *.conf dentro del directorio /etc/httpd/conf.d/ de

    Apache 2.0.x. Puede incluirse contenido como el siguiente:

    # Definicin del Sitio de Red principalNameVirtualHost 192.168.1.254

    ServerAdmin [email protected]

    DocumentRoot /var/www/html/ServerName www.dominio.com

    # Sitio de Red virtual con definicin de directorio para CGI

    DocumentRoot /var/www/lpt/htmlServerName www.algun-dominio.com

    ServerAlias algun-dominio.comServerAdmin [email protected] /var/www/algun-dominio/logs/error_log

    CustomLog /var/www/algun-dominio/logs/access_log combinedScriptAlias /cgi-bin/ "/var/www/algun-dominio/cgi-bin/"

    AllowOverride None

    Options NoneOrder allow,denyAllow from all

    AddHandler cgi-script .cgi

    # Ms Sitios de Red virtuales

    ServerAdmin [email protected]

    DocumentRoot /usr/share/squirrelmail/ServerName webmail.dominio.com

    ErrorLog logs/webmail.dominio.com-error_logCustomLog logs/webmail.dominio.com-access_log combined

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    18/19

    By Kr@mer

    ServerAdmin [email protected]

    DocumentRoot /var/www/beta/ServerName beta.dominio.com

    ErrorLog /var/www/beta/logs/beta.dominio.com-error_logCustomLog /var/www/beta/logs/beta.dominio.com-access_log combined

    ServerAdmin [email protected] /usr/share/squirrelmail/

    ServerName mail.dominio.com

    ErrorLog logs/mail.dominio.com-error_logCustomLog logs/mail.dominio.com-access_log combined

    ServerAdmin [email protected] /var/www/net/

    ServerName www.dominio.netErrorLog /var/www/net/logs/www.dominio.net-error_logCustomLog /var/www/net/logs/www.dominio.net-access_log combined

  • 7/29/2019 Servidor Lamp Centos 121023195231 Phpapp01

    19/19

    Referencias:

    1. Sobre Apache :http://www.apache.org/2. Linux para todos:http://www.linuxparatodos.net3. Alcance libre:http://www.alcancelibre.org

    http://www.apache.org/http://www.apache.org/http://www.apache.org/http://www.linuxparatodos.net/http://www.linuxparatodos.net/http://www.linuxparatodos.net/http://www.alcancelibre.org/http://www.alcancelibre.org/http://www.alcancelibre.org/http://www.alcancelibre.org/http://www.linuxparatodos.net/http://www.apache.org/