Servidor LAMP en CentOS 6.3

5,083 views
4,934 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,083
On SlideShare
0
From Embeds
0
Number of Embeds
170
Actions
Shares
0
Downloads
203
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Servidor LAMP en CentOS 6.3

  1. 1. Servidor LAMP en CentOS 6.3Sobre LAMPUn servidor LAMP es un conjunto de aplicaciones instaladas en un servidor Linux los cuales, altrabajar en conjunto logran dar vida a una aplicación mucho mas grande y robustaGeneralmente 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 programación.De ahí el nombre de servidor LAMPAlgunas aplicaciones que hacen uso de un servidor LAMP son las siguientes: • Zimbra.-Servidor de Correo Electrónico • Openfire.-Servidor de Mensajería Instantánea • CMS.- Gestores de Contenidos (Joomla,Drupal,Wordpress)Proceso de instalación de LAMPEn este capitulo te enseñaremos como se instala y configura un servidor de LAMP mediante laimplementacion de un gestor de contenidos que en este caso sera un Joomla.Instalando el servidor LAMP(Apache+MySQL+PHP)La instalación de un servidor LAMP requiere de aplicaciones previamente instaladas como es elcaso 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 instalación de los paquetes del servidorLAMP [root@ localhost ~]# yum install -y httpd mysql mysql-server php-mysql php php-cli php-commonRecuerde que este comando se debe ejecutar como root Por ultimo solo deberá iniciar (o en su casoreiniciar) servicios como el servidor web apache asi como también el manejador de bases de datosMySQL [root@ localhost ~]# /etc/init.d/httpd start [root@ localhost ]# /etc/init.d/mysql startIniciar servicio y añadir el servicio al arranque del sistema.Apache es un servicio que por fortuna sólo es necesario instalar e iniciar, sin modificacionesadicionales para su funcionamiento básico. Para añadir el servicio al arranque del sistema, ejecute losiguiente: [root@ localhost ]# chkconfig httpd on By Kr@mer
  2. 2. Para iniciar el servicio por primera vez, ejecute lo siguiente: root@ localhost ]# service httpd startPara reiniciar el servicio, considerando que este procedimiento interrumpirá todas las conexionesestablecidas en ese momento, sólo se necesita ejecutar: root@ localhost ]# service httpd restartSi el servicio ya está funcionando, también puede ejecutar lo siguiente, con el fin de que Apachevuelva a leer y cargar los cambios en la configuración, sin interrumpir el servicio y con estomantener activas las conexiones establecidas. root@ localhost ]# service httpd reloadPara detener el servicio, ejecute lo siguiente: root@ localhost ]# service httpd stopProbando APACHEVerificar si apache esta activo: ingresa al navegador e ingresa localhost o 127.0.0.1, deberíamostrarte lo siguiente: By Kr@mer
  3. 3. En el directorio /var/www/html crear el fichero index.html con el siguiente contenido:<html> <head><title>Administración de Servidores</title></head> <body> <h1>Hola esto es una prueba </body></html>Debería de visualizar lo siguiente:Verificar soporte con PHPPara verificar el soporte php, realizar lo siguiente: en /var/www/html crear el fichero info.php root@ localhost ]# touch /var/www/html/info.phpingrese el siguiente contenido:<?php phpinfo(); ?>Para verificar si el soporte php está activo, en el navegador web poner lo siguiente:127.0.0.1/info.phpDebería de mostrar lo siguiente: By Kr@mer
  4. 4. Configurando MySQLAcerca de MySQLMySQL es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más deseis millones de instalaciones. Por un lado se ofrece bajo la GNU GPL para cualquier usocompatible con esta licencia, pero las empresas que quieran incorporarlo en productos privativospueden comprar a la empresa una licencia específica que les permita este uso. Está desarrollado ensu mayor parte en ANSI C.Al contrario que proyectos como Apache, donde el software es desarrollado por una comunidadpública y el copyright del código 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 código.Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de laventa de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratantrabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por DavidAxmark, Allan Larsson, y Michael Widenius y desde enero de 2008 es una subsidiaria de SunMicrosystemsConfigurando la cuenta de root en el manejador MySQLPara comenzar a manipular los accesos del usuario root al manejador MySQL primero tendrá quetener levantado a MySQL de lo contrario le arrojara un error en consola cuando intente entrar aMySQL . Si aun no levanta el servicio de MySQL hágalo [root@localhost]# /etc/init.d/mysqld startsi lo tiene levantado haga caso omiso de este comentario Una vez levantado el servidor MySQLdeberemos asignar un “password” a la cuenta de root , para ello teclearemos en consola lo siguiente: [root@localhost]# mysql -u rootWelcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 2 toserver version: 5.0.27 Type help; or h for help. Type c to clear the buffer. mysql> <---[En estepunto hemos entrado al modo consola de MySQL]Para asignar un “password” al usuario “root” solo bastara con teclear la siguiente sentencia SQL mysql>SET PASSWORD FOR root@localhost = PASSWORD(123456);Obviamente deberá cambiar la palabra “PASSWORD” por la contraseña que desea asignar a root.Si todo marcho, salga del manejador de datos MySQL y trate de logearse nuevamente a MySQLpero ahora proporcionando la contraseña que acaba de asignar mediante el uso del parámetro -p [root@localhost]# mysql -u root -pEnter password: xxxxxxxx Welcome to the MySQL monitor. Commands end with ; or g. YourMySQL connection id is 2 Server version: 5.0.67 Source distributionType help; or h for help. Type c to clear the buffer.mysql> By Kr@mer
  5. 5. Integrando MySQL con JoomlaAhora que tenemos ya instalado tanto al gestor de contenidos Joomla como el manejador de Basesde datos MySQL , solo nos resta integrar estas dos aplicaciones para que operen de maneraconjunta.Para ello tendremos que generar en el manejador MySQL lo siguiente: Esta cuenta de usuario sera la asignada alUna cuenta para el aministrador de Joomla administrador del gestor de contenidos JoomlaUn password para la cuenta de administrador de Sera el password asignado a la cuenta delJoomla administrador del gestor de contenidos Joomla Base de Datos en la cual serán dados de alta losUna base de Datos para el gestor de contenidos usuarios de este gestor de contenidos, nosJoomla referimos nuevamente a JoomlaUna vez leído lo anterior comenzaremos por crear la base de datos que usara el gestor de contenidosJoomla asi como también el alta de la cuenta de administrador de Joomla y la asignación de unpassword para el mismo, para ello abriremos una terminal y nos pasaremos al modo consola deMySQL como se muestra a continuación:El siguiente paso es asignarle al administrador de joomla una cuenta dentro de MySQL y luego deello asignarle a este usuario permisos de lectura, escritura y ejecución sobre la base de datos queantes creamos, esto se consigue de la siguiente manera. mysql> GRANT ALL ON joomla.* TO adminjoomla@localhost IDENTIFIED BY adminjoomla WITH GRANT OPTION;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 contraseña que desea asignar alusuario adminjoomla. Al terminar teclee la palabra “exit” para salir de MySQL. mysql>exitBye By Kr@mer
  6. 6. Por ultimo,solo tendrá que reiniciar el servidor de bases de datos MySQL así como también el deapache [root@ localhost ~]# /etc/init.d/httpd restart [root@ localhost ]# /etc/init.d/mysql restartSolo para recordar lo antes visto te posteo una tabla de bastante utilidadNombre de la cuenta del adminsitrador de Joomla adminjoomlaContraseña asignada a “adminjoomla” Recuerde que esta contraseña la asigna ustedNombre de la base de datos asignada a Joomla joomlaNOTA: Si usted olvido la contraseña que asigno para el administrador de Joomla no se preocupe, elfichero.mysql_historyGuarda el histórico de las acciones que se llevaron a cabo en el servidor de base de datos deMySQL por lo que podrá consultarlo para obtener la contraseña si es que la olvido.Generalmente este fichero se encuentra depositado en el directorio de trabajo de rootDescargando JoomlaDescargue Joomla del siguiente portal web:http://www.joomlaspanish.org/ # wget http://joomlacode.org/gf/download/frsrelease/17609/76803/Joomla_3.0.1- Spanish-Pack_Completo.tar.gzComo puede observarse usted puede descargar Joomla de tres formas distintas, la única diferenciaradica en la forma en la que esta empaquetado el paquete.Instalación de JoomlaUna vez confirmada esta información podemos continuar con la ultima parte de este capitulo, nosreferimos a la instalación del gestor de contenidos Joomla By Kr@mer
  7. 7. Sobre JoomlaJoomla es un sistema de administración de contenidos de código abierto construido con PHP bajouna licencia GPL. Este administrador de contenidos se usa para publicar portales web en Internetmediante la implementacion de un servidor LAMP. En Joomla se incluyen características como: • Indexamiento web • Feed RSS • Versiones imprimibles de páginas • Flash con noticias • Blogs • Foros • Encuestas • Calendario • Búsqueda en el sitio webInstalando JoomlaEl proceso para llevar a cabo la instalación de Joomla sera el siguiente: [root@localhost servidores]# tar -zxvf Joomla_3.0.1-Spanish-Pack_Completo.tar.gz -C /var/www/html/ By Kr@mer
  8. 8. En el navegador web ingresar: 127.0.0.1Usted puede acceder a cualquiera de los otros cuatro que se crearon. Una vez dentro del portal webpodremos visualizar el Instalador de Joomla el cual consta de 4 pasos para su instalación Estospasos son:Paso 1) Seleccionando el idioma para la instalación, cuenta de administrador, etc.Este paso es relativamente sencillo, solo debemos elegir el idioma en el cual queremos que seinstale Joomla, es este caso nuestra elección sera es-ES-Spanish (Español Internacional) y darclic Siguiente.Paso 2) Base de DatosSeleccionamos el tipo de base de datos en este caso MySQL, así mismo asignamos el nombre delhost (localhost), en usuario ingresamos la cuenta que creamos en la Base de Datos (adminjoomla),contraseña (adminjoomla) y en nombre de la base de datos (joomla) By Kr@mer
  9. 9. Paso 3) Configuración FTPLos servicios FTP lo dejaremos en blanco, porque no se utilizará.Paso 4) Información GeneralPara finalizar con la configuración del CMS, seleccionamos que instale una plantilla a modo deprueba. By Kr@mer
  10. 10. By Kr@mer
  11. 11. No alarmarse por el mensaje que se visualiza, sólo nos indica que eliminemos el directorioinstallation dentro de /var/www/html y adicionalmente crearemos un fichero configuration.php enel cual insertaremos el código que se muestra.Procedemos a borrar el directorio installation en /var/www/html By Kr@mer
  12. 12. Para finalizar crear fichero configuration.php en /var/www/html # touch /var/www/html/configuration.phpe ingresar el codigo que se mostró en Observar en el punto anterior.Ingresamos al portal web: By Kr@mer
  13. 13. Ingresar al formulario de accesoUser = adminPass = adminIngresar a zona de administración para poder realizar actividades de administración del CMS. By Kr@mer
  14. 14. A ) Creación de dominios virtuales en ApacheLa creación de dominios virtuales sobre un servidor web como apache tiene una vital importanciacuando se trata de dar hospedaje a varios sitios web dentro del mismo servidor. Lograr implementarde manera correcta los dominios virtuales sobre el servidor web apache es tarea sencilla por lo quele recomendamos primero haber leído todas las directivas que pueden ser aplicadas al ficherohttpd.confA partir de este punto comenzaremos a crear los dominios virtuales, es por ello que pedimos tu totalconcentración y paciencia para que leas poco a poco estos puntos.Paso 1.- Activando la directiva NameVirtualHostEl primer paso será abrir el fichero:httpd.confel cual esta almacenado en la ruta:/etc/httpd/conf/En dicho fichero debemos localizar la siguiente linea y descomentarla si es que lo estaNameVirtualHost *:80La función de esta directiva sirve para indicar la dirección IP en la que se esta brindando el servicioo bien insertando un asterisco(*) para que esté activa en cualquier interfaz del servidor que es comonosotros lo debemos tener.Paso 2.- Estructura de directorios para dominios virtualesLo siguiente será crear la estructura que contendrá cada uno de los dominios virtuales que seránhospedados en nuestro servidor. Ejemplo: Suponga que tenemos 5 nombres de dominio que seránhospedados en nuestro servidor webwww.turbolinux.com.mxwww.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 queel 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.netEstos directorios deberán ser creados dentro de la ruta/var/www/ By Kr@mer
  15. 15. Al final estos directorios deberán 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.netSi no están 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 básica que debe llevar cada uno de estosdominios. Esta estructura estará conformada por cuatro directorios: html cgi-bin icons errorpor 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-bin mkdir /var/www/turbolinux.com.mx/icons mkdir /var/www/turbolinux.com.mx/errory así para los siguientes restantes dominios.Paso 3.- Creación y modificación de los ficheros de configuración de los dominios virtualesUna vez creadas las carpetas de dominios así como también la estructura de cada uno pasaremos alúltimo paso, crear los ficheros de configuración correspondientes a cada dominio. Nuevamente porcada dominio se deberá crear un fichero de configuración, dicho fichero será nombrado de la mismaforma 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.confEstos directorios deberán ser creados dentro de la ruta/etc/httpd/conf.d/Al final estos directorios deberán 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 By Kr@mer
  16. 16. Si no están en la ruta antes descrita solo debe moverlos con el comando “mv”. Lo siguiente seracrear dentro de cada uno de estos ficheros la estructura básica que deben contener para que puedanser leídos por el fichero principal de configuración de apache, nos referimos al fichero“httpd.conf”. Esta estructura estará conformada por la siguiente configuración básica: Ejemplo deconfiguración para el dominio turbolinux.com.mx<VirtualHost *:80>ServerAdmin administrador@tuDominio.netDocumentRoot "/var/www/turbolinux.com.mx/html"ServerName www. turbolinux.com.mxServerAlias turbolinux.com.mx</VirtualHost>Los parámetros usados son descritos en la siguiente tabla:VirtualHost La función de esta directiva sirve para indicar la dirección IP en la que se esta brindando 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 través 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 configuración, este valor se puede determinar automáticamente, pero es recomendable especificarlo explíciatamente 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 By Kr@mer
  17. 17. B) Configuración de Sitios de Red virtuales en ApachePuede generarse cualquier archivo con extensión *.conf dentro del directorio /etc/httpd/conf.d/ deApache 2.0.x. Puede incluirse contenido como el siguiente:# Definición del Sitio de Red principalNameVirtualHost 192.168.1.254<VirtualHost 192.168.1.254> ServerAdmin webmaster@dominio.com DocumentRoot /var/www/html/ ServerName www.dominio.com</VirtualHost># Sitio de Red virtual con definición de directorio para CGI<VirtualHost 192.168.1.254> DocumentRoot /var/www/lpt/html ServerName www.algun-dominio.com ServerAlias algun-dominio.com ServerAdmin webmaster@algun-dominio.com ErrorLog /var/www/algun-dominio/logs/error_log CustomLog /var/www/algun-dominio/logs/access_log combined ScriptAlias /cgi-bin/ "/var/www/algun-dominio/cgi-bin/" <Directory "/var/www/algun-dominio/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> AddHandler cgi-script .cgi</VirtualHost># Más Sitios de Red virtuales<VirtualHost 192.168.1.254> ServerAdmin webmaster@dominio.com DocumentRoot /usr/share/squirrelmail/ ServerName webmail.dominio.com ErrorLog logs/webmail.dominio.com-error_log CustomLog logs/webmail.dominio.com-access_log combined</VirtualHost> By Kr@mer
  18. 18. <VirtualHost 192.168.1.254> ServerAdmin webmaster@beta.dominio.com DocumentRoot /var/www/beta/ ServerName beta.dominio.com ErrorLog /var/www/beta/logs/beta.dominio.com-error_log CustomLog /var/www/beta/logs/beta.dominio.com-access_log combined</VirtualHost><VirtualHost 192.168.1.254> ServerAdmin webmaster@dominio.com DocumentRoot /usr/share/squirrelmail/ ServerName mail.dominio.com ErrorLog logs/mail.dominio.com-error_log CustomLog logs/mail.dominio.com-access_log combined</VirtualHost><VirtualHost 192.168.1.254> ServerAdmin webmaster@dominio.net DocumentRoot /var/www/net/ ServerName www.dominio.net ErrorLog /var/www/net/logs/www.dominio.net-error_log CustomLog /var/www/net/logs/www.dominio.net-access_log combined</VirtualHost> By Kr@mer
  19. 19. Referencias:1. Sobre Apache : http://www.apache.org/2. Linux para todos: http://www.linuxparatodos.net3. Alcance libre: http://www.alcancelibre.org By Kr@mer

×