0% encontró este documento útil (0 votos)
24 vistas6 páginas

Lamp

El documento detalla el proceso de instalación y configuración de un sistema LAMP (Linux, Apache, MySQL, PHP), explicando la importancia de cada componente y los pasos necesarios para su correcta implementación. Se abordan aspectos como la instalación de Apache y PHP, la configuración de MySQL y la instalación de PhpMyAdmin, así como la estructura y configuración de Apache. Además, se mencionan las mejores prácticas para la gestión de usuarios en MySQL y la personalización de la configuración de Apache.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas6 páginas

Lamp

El documento detalla el proceso de instalación y configuración de un sistema LAMP (Linux, Apache, MySQL, PHP), explicando la importancia de cada componente y los pasos necesarios para su correcta implementación. Se abordan aspectos como la instalación de Apache y PHP, la configuración de MySQL y la instalación de PhpMyAdmin, así como la estructura y configuración de Apache. Además, se mencionan las mejores prácticas para la gestión de usuarios en MySQL y la personalización de la configuración de Apache.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Instalar 

LAMP

Introducción a LAMP
El servidor Apache nos permite alojar sitios webs. Hay webs estáticos y dinámicos. Cuando un sitio web 
es estático, sólo muestra páginas que no producen cambios, es decir, que siempre están igual que cuando 
se crearon. Por otra parte, un sitio web dinámico es aquel que cambia su aspecto. 
Apache aloja páginas estáticas, si queremos utilizar páginas dinámicas tendremos que añadir a la 
instalación del servidor Web otros programas o módulos para ejecutar cgi, php, etc. En nuestro caso, 
añadiremos una base de datos (MySQL) y el lenguaje PHP. 
Este conjunto de programas (Linux ­ Apache ­ MySQL ­ PHP) se llama LAMP, y son los que veremos a 
continuación.

Por qué instalar un sistema LAMP
Podemos hacerlo por diferentes motivos, algunos de éstos son:

• Dar servicio de hosting.
• Alojar la web de una o varías empresas.
• Para desarrollar páginas y probarlas antes de montarlas en el servidor.

Por lo tanto, como administradores de un sistema informático (gnu­linux) hay que conocer como instalar 
y configurar un sistema LAMP. 
El servidor Apache es software libre y además uno de los más utilizado en el mundo. Instalar y 
configurar un servidor LAMP no es difícil, pero tiene varios pasos y hay que ir con cuidado para no 
cometer errores.
La instalación la podremos hacer de diferentes formas, por una parte podemos utilizar una instalación 
automatizada (yast de Suse, synaptic de Debian, etc), pero nosotros vamos a hacerlo paso a paso y de 
forma manual. Otro tipo de instalación es utilizado el paquete XAMPP (más info. sobre este método 
podemos visitar la página [Link]

Instalación de LAMP

Instalando Apache y PHP
Para realizar la instalación ejecutaremos la siguiente orden:

# apt-get install apache2 apache2.2-common apache2-utils ssl-cert

Esta orden sirve para instalar Apache versión 2 o superior. Una vez instalado para conocer si la 
instalación se ha realizado correctamente, abrimos el navegador y metemos la dirección 
[Link]

Una vez instalado Apache y probado que funcione, instalaremos PHP5. Para hacerlo ejecutaremos la 
siguiente orden:

# apt-get install php5 libapache2-mod-php5 php5-common

Para verificar que PHP se ha instalado correctamente, hay una orden de php que nos dará la información 
necesaria. Para hacerlo crearemos un fichero nombrado [Link] con un editor de texto y lo 
guardaremos en el directorio por defecto para las páginas web (/var/www). 
Dentro del archivo escribiremos:
<?php
phpinfo()
?>
Ejecutamos esta página por medio del navegador con la url 
[Link]
Si todo va bien obtendremos una pantalla parecida a la siguiente. Si no funciona hay que verificar que el 
módulo de php lo tenemos cargado (mods­enabled).
Instalación de MySql
Si utilizamos PHP, lo normal es que queramos utilizarlo con una base de datos. Entre las más populares 
está MySql. A continuación instalaremos el servidor y el cliente MySql.
Para realizar la instalación ejecutaremos:

# apt-get install mysql-server mysql-client php5-mysql

Para poder utilizar mysql tendremos que crear usuarios y también cambiar la contraseña de "root". Por 
defecto mysql crea un usuario root sin contraseña (en el proceso de instalación quizás éste pida la 
introducción de una contraseña), por lo tanto tenemos que crear la contraseña de root. Para hacerlo 
ejecutaremos la siguiente orden:

# mysql -u root
mysql> use mysql;
mysql> update user set password=PASSWORD('nueva_contrasenya') where user='root';
mysql>flush privileges;

No hay que utilizar al usuario root para acceder a la base de datos porque tiene todos los privilegios y, 
por lo tanto, es peligroso. Es muy recomendable crear un usuario por cada base de datos que creamos, o 
un usuario para varías bases de datos.
Para crear un usuario lo podíamos hacer desde consola, pero resulta más sencillo hacerlo desde una 
herramienta más visual: "phpmyadmin" o "webmin".

Instalar PhpMyAdmin
Este software de administración se puede utilizar desde el navegador web, es bastante fácil de configurar 
y además se gratuito. Para instalarlo ejecutaremos la siguiente orden:

# apt-get install phpmyadmin

Normalmente al instalar phpmyadmin ya nos configurará la herramienta y podremos acceder desde el 
navegador:
[Link]

Nota: sólo en caso de no funcionar correctamente el phpmyadmin.
Tendremos que incluir la siguiente línea en el [Link]:
include /etc/phpmyadmin/[Link]
Se recomendable dejar bajo del todo una línea en blanco. Después sólo hay que reiniciar el  
servicio apache (/etc/init.d/apache2 restart). Para comprobar que todo funciona bien  
abriremos de nuevo el navegador y meteremos la dirección anterior.

Una vez que hemos entrado dentro de la herramienta como root, para crear usuarios seguiremos los 
pasos del link "Privilegios".
Estructura y configuración de Apache

Estructura principal
Los archivos y directorios principales de Apache (que se habrán creado durante el proceso de 
instalación) son los siguientes:
• [Link]: archivo de configuración principal.
• conf.d/: tiene archivos de configuración asociados a módulos específicos. Los archivos de este 
directorio son incluidos mediante la línea: include /etc/apache2/conf.d
• [Link]: archivo vacío.
• magic: datos "mágicos" para el módulo de Apache mod_mime_magic (documentado en 
htdocs/manual/mod/mod_mime_magic.html). Se utiliza para determinar el tipo MIME del 
archivo mirando unos pocos bytes del contenido.
• mods­available: este directorio contiene una serie de archivos .load y .conf. Los archivos .load 
tienen directivas de configuración Apache necesarios para la carga del módulo en cuestión. El 
correspondiente .conf, contiene las directivas de configuración necesarias para la utilización del 
módulo.
• mods­enabled: para activar un módulo para Apache2, es necesario crear un enlace simbólico en 
este directorio a los archivos .load asociados con el módulo en mods­ available. También para 
.conf si existe.
• [Link]: directivas de configuración que indican puertos y direcciones IP a escuchar.
• sites­available: similar mods­availables, excepto que contiene archivos de configuración para 
diversos hosts virtuales que podrían ser utilizados por Apache2. Observar que el hostname no 
tiene que corresponder exactamente con el nombre del archivo. "Default" es el nombre por 
defecto.
• sites­enabled: funcionalidad parecida a mods­enabled, y que contiene enlaces simbólicos en 
sitios de sites­available que el administrador quiere activar.

Que es un módulo Apache
Un módulo Apache es una forma de agrupar una determinada funcionalidad para el servidor web. Hay 
una gran cantidad de módulos disponibles para Apache, podemos encontrar una lista en:
[Link]

Una de las razones principales por lo que se utilizan módulos en Apache es que no todas las 
instalaciones necesitan las mismas funcionalidades y, por lo tanto, no hay que cargar con funcionalidades 
que no son necesarias en nuestro caso.
Hay dos tipos de módulos:
1. Los compilados de forma estática cada vez que se compila Apache.
2. Los que se cargan dinámicamente sin tener que recompilar Apache. Esta opción se llama DSO 
(Dynamic Shared Object), y los archivos que pertenecen a esta opción tienen la extensión .so.

Para que Apache conozca qué módulos tiene que cargar tiene dentro del directorio /etc/apache2  dos 
directorios:
– en uno está la lista de módulos disponibles (mods­available)
–  y en otro la lista de módulos activados (mods­enabled). 
Por defecto la propia instalación de Apache ya instala una serie de módulos básicos, podemos verlos con 
el orden:
# apache2 -l

Para reiniciar al apache podemos hacerlo desde el modo gráfico (Sistema/Administración/Servicios) o 
modo comando: 
$ sudo /etc/init.d/apache2 restart
Configuración apache

Antiguamente se hacía todo con el [Link], actualmente este fichero está partido en varios. Los 
ficheros de configuración están en el directorio /etc/apache2. Allí encontramos los ficheros:
[Link] ­> Es el principal.

Esta son las lineas más importantes:

#ServerRoot: directorio donde se encuentra la configuración del apache
ServerRoot "/etc/apache2"

# PidFile: Fichero que guarda el número de proceso (por si lo quieres matar)
PidFile /var/run/[Link]

# Timeout: Número de segundos antes de “cabrearse”.
Timeout 300

# KeepAlive: Acepta o no conexiones persistentes (más de una petición por conexión)
KeepAlive On

# MaxKeepAliveRequests: Número máximo de peticiones por conexión.
MaxKeepAliveRequests 100

# KeepAliveTimeout: Número de segundos de espera para la siguiente petición en la misma conexión.
KeepAliveTimeout 15

# Usuario y grupo del apache
User www­data
Group www­data

# Fichero de bitácora de errores
ErrorLog /var/log/apache2/[Link]

# Otros ficheros de configuración
# Configuración de módulos:
Include /etc/apache2/mods­enabled/*.load
Include /etc/apache2/mods­enabled/*.conf

# Configuración para todos los usuarios:
Include /etc/apache2/[Link]

# Puertos que escucha
Include /etc/apache2/[Link]

# Otros (directorios virtuales)
Include /etc/apache2/conf.d/[^.#]*

# Alias a iconos por defecto
Alias /icons/ "/usr/share/apache2/icons/"
<Directory "/usr/share/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
# Ficheros por defecto
DirectoryIndex [Link] [Link] [Link] [Link] [Link]

#Fichero de directivas en cada directorio
AccessFileName .htaccess

<Files ~ "^\.ht">
Order allow, deny
Deny from all
</Files>

#Lenguas
AddLanguage en. en
AddLanguage fr. fr
AddLanguage casa. casa
AddLanguage se. se

LanguagePriority casa se en da nl te fr del it ya ko no pl pt pt­br ltz sv tw

#Juegos de caracteres
AddCharset ISO­8859­1 .iso8859­1 .latin1
AddCharset ISO­8859­2 .iso8859­2 .latin2 .cen
AddCharset UTF­8 .utf8

#Aplicaciones por tipo de ficheros
AddType application/x­tar .tgz

# Configuraciones de host virtuales:
Include /etc/apache2/sites­enabled/[^.#]*

Dentro de un servidor apache podemos tener: Hosts virtuales y Directorios

Host virtual
Los host virtuales son como darle otro nombre a nuestro servidor a fin de que al invocarlo no vaya al 
host directamente, sino que vaya a otro directorio que no sea el DocumentRoot (/var/www). Quiere 
decir que si tengo un servidor [Link] como host, pueda tener también un virtual host como 
[Link] que será redireccionado a otro directorio. En apache se pueden tener varios 
servers virtuales.
Tenemos que decir que ya existe un host virtual que es el que crea apache por defecto, que es el principal 
y que redirecciona todo a /var/www/ (si no lo cambiamos).
El fichero de configuración de este host lo tenemos a /etc/apache/sites­available/default e incluye:
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost

DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>
</VirtualHost>
Las directivas más importantes son el nombre que le demos al host y el DocumentRoot que es el 
directorio donde irá a buscar el fichero. (No vamos a profundizar más)

Directorios

Otra manera de crear contenido para nuestro apache es creando directorios. Está claro que podemos 
colgarles del directorio /var/www/ pero esa no es una buena política en términos de seguridad. Es 
mejor colgarlos en otro sitio.
Podemos hacerlo creando enlaces virtuales desde /var/www/ o bien utilizando los ficheros de 
configuración del apache. Si instalamos el módulo moodle veremos que accede a él con 
[Link]
pero no hay ningún directorio /var/www/moodle. Eso es por que hay un fichero 
/etc/apache2/conf.d/moodle con los parámetros de configuración de ese directorio:

Alias /moodle /usr/share/moodle/

<DirectoryMatch /usr/share/moodle/>

Options +FollowSymLinks
AllowOverride None

order deny,allow
deny from all
allow from [Link]/[Link]
# allow from all

<IfModule mod_dir.c>
DirectoryIndex [Link]
</IfModule>

</DirectoryMatch>

Lo que hace es crear un alias con el directorio /usr/share/moodle que es donde están los ficheros del 
moodle. Si quisiera crear otro sólo tendría que copiar el fichero con otro nombre al mismo directorio y 
cambiar las rutas.

También podría gustarte