PDF de programación - Servidor web y Samba

Imágen de pdf Servidor web y Samba

Servidor web y Sambagráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 26 de Noviembre del 2017)
637 visualizaciones desde el 26 de Noviembre del 2017
482,9 KB
48 paginas
Creado hace 5a (06/02/2015)
Servidor web y Samba

Servidor web ¿Qué es?

Cuando se usa el término “servidor web” puede hacer referencia al equipo de
computo (hardware) como al software que gestiona las peticiones http.

En el servidor web (hw) se alojan una gran cantidad de archivos que
generalmente están escritos en html (Lenguaje de marcado) o en otros
lenguajes dinámicos como ruby, php, python, etc.

Debido a la complejidad del mantenimiento de un servidor web casero, se
recurre a empresas que ofrecen este servicio denominado hosting que junto
con un dominio de internet puede hacerse de su propio servidor web.

Servidor web ¿Qué es?

El servidor web como software tiene como principal tarea “ofrecer páginas
web”, es decir, responder a peticiones de los navegadores vía http (clientes) y
enviarles los datos que solicitan.


Programas para servidores web

Existen muchos servidores web (programas):

● Apache: Apache foundation
● nginx: Igor Sysoev (cache)
● IIS (Internet Information Services): Microsoft
● Apache Tomcat: páginas jsp (java web)
● lighttpd: FreeBSD

Servidor HTTP Apache










Apache es un servidor HTTP bastante utilizado por su configuración y su
flexibilidad.

Puede asignar peticiones a sus procesos hijos, lo que permite que el servidor
funcione de forma más dinámica.

Apache permite agregar módulos de funcionalidad. Con ésto se evita reiniciar
el servidor. Sólamente se debe leer de nuevo su configuración al añadir un
módulo.





Servidor HTTP Apache

Comandos:


● /etc/init.d/httpd start #Comando para iniciar el servicio

● /etc/init.d/httpd stop #Comando para detener el servicio

● /etc/init.d/httpd restart #Comando para reiniciar el servicio







● /etc/init.d/httpd reload #Comando para revisar las configuraciones del

servicio, sin reiniciar


● # service apache2 [start | stop | restart | reload | status] => debian












Servidor HTTP Apache

Comandos:


● a2enmod : habilita un módulo apache
● a2dismod : deshabilita un módulo del servidor web apache
● a2ensite : habilita un sitio web configurado en conf.d
● a2dissite : deshabilita un sitio web

● apache2 -l : lista de módulos compilados





Configuración /etc/apache2

● Configuración principal en el archivo apache2.conf / httpd.conf
● ports.conf : configuración de puertos, el puerto ssl debe agregarse aquí
● conf.d/ : configuraciones específicas de servidor web
● sites-available/ : archivos de configuración para sitios web
● sites-enabled/ : sitios web que actualmente están siendo usados
● Los módulos se encuentran en:

o /etc/apache2/mods-available/ : módulos disponibles
o /etc/apache2/mods-enabled/ : módulos cargados



● Páginas web se almacenan en /var/www o /srv/www

Parámetros de httpd.conf / apache2.conf

ServerRoot: El directorio donde se encuentran los archivos de configuración.
Ej: /etc/httpd ; /etc/apache2
Listen: Puerto(s) por donde apache recibirá peticiones. Por defecto, puerto 80.
User: Usuario creado para los procesos Apache
Group: Grupo de usuarios para los procesos Apache
ServerAdmin: Dirección de correo electrónico del administrador
ServerName: Nombre del anfitrión. No corresponde con el nombre de la
máquina.


Directorios, Alias y Ubicaciones

a. Etiqueta <Directory> … </Directory>
Permiten agrupar directivas que se aplicarán a directorios y subdirectorios.

Opciones:

● Indexes → Muestra el contenido del directorio como un listado si no

hay archivos HTML por defecto (index.html ó index.php)

● ExecCGI → Autoriza la ejecución de scripts CGI
● FollowSymLinks → Ordena que el servidor siga enlaces simbólico
● All → Todas las opciones



Directorios, Alias y Ubicaciones

● DirectoryIndex: Específica archivos HTML o CGI por defecto. Se buscará

index.php o después index.html

● allow: Indica permisos para los clientes. Pueden ser todos, un dominio,

una IP, una subred, un par red/subred, entre otros. Para denegar permisos
se utiliza deny. Se determina el orden por la directiva Order.

● AllowOverride: específica si el archivo .htaccess puede sobrescribir las

configuraciones globales de apache para ese directorio específico


La etiqueta <Location> permite aplicar las mismas directivas de <Directory>
pero basadas en la URL


Directorios, Alias y Ubicaciones

b. Alias

Permite crear un atajo entre el árbol lógico del sitio web y una ruta del sistema
de archivos.

Ej:

Alias /help “/usr/share/doc/html”


Aquí se reemplaza /var/www/html/help por /usr/share/doc/html para la
búsqueda de la página “help”.


Anfitriones Virtuales

Se crean para administrar varios sitios web en el mismo servidor.

NameVirtualHost: Especifica la dirección IP donde se recibirán las peticiones.

<VirtualHost> : Esta etiqueta utiliza esa dirección IP para definir un anfitrión


Adicionar en /etc/apache2/sites-enabled/000-default después del virtualhost por defecto,
el siguiente ejemplo:

Anfitriones Virtuales



NameVirtualHost 192.168.1.3


<VirtualHost 192.168.1.3>



ServerAdmin ecaldon@innova.co
DocumentRoot /var/www/innovaco

ServerAlias innova.co
ServerName www.innova.co



LogLevel warn

ErrorLog /var/log/apache2/innova-error.log
CustomLog /var/log/apache2/innova-access.log combined


Anfitriones Virtuales



<Directory /var/www/innovaco>

Options FollowSymLinks Multiviews
AllowOverride None


</Directory>
</VirtualHost>

Order allow, deny
allow from all





Reiniciar el servicio web: service apache2 restart



Anfitriones Virtuales

Configurar en /etc/hosts el dominio www.innova.co:


192.168.1.3 www.innnova.co innova.co



Abrir un navegador e ir a http://www.innova.co , se mostrará el sitio web
alojado en /var/www/innova

Archivo .htaccess

Permite configurar parámetros para los directorios y subdirectorios sin
necesidad de modificar el archivo de configuración principal de Apache.

El sufijo “access” se utiliza porque en este archivo se especifican parámetros
de seguridad. Permiten bloquear a usuarios por su dirección IP y/o dominio,
bloquear bots y arañas web (bots).

Este archivo también sirve para modificar las URL’s, permitiendo que éstas
sean menos extensas (usan el módulo rewrite).

Configurar sitios web personales

Sitios al estilo artemisa.unicauca.edu.co/~ecaldon


Módulo userdir.mod: Permite crear sitios web personales



1. Crear enlace virtual de los módulos en /etc/apache2/mods-enabled:


# cd /etc/apache2/mods-enabled
# ln -s ../mods-available/userdir.conf userdir.conf
# ln -s ../mods-available/userdir.load userdir.load

Otra posobilidad es usar el comando a2enmod:


# a2enmod userdir

Configurar sitios web personales

2.

Incluir dentro del dominio los módulos que se acaban de ingresar.
# Include /etc/apache2/mods-available/userdir.conf
# Include /etc/apache2/mods-available/userdir.load

En debian, estos módulos se incluyen automáticamente a través de las
sentencias Include mods-enabled/*.load e Include mods-enabled/*.conf del
archivo de configuración apache2.conf


2. Reiniciar el servidor web



2. Crear el directorio public_html en el directorio del usuario y un archivo

index.html dentro de él.

Configurar sitios web personales

Si se quiere cambiar el directorio por defecto para los sitios web personales,
configurarlo en /etc/apache2/sites-enabled/000-default :


UserDir web

<Directory /home/*/web>
Options Indexes Multiviews FollowSymLinks
Allowoverride None
Order allow,deny
allow from all
</Directory>


Sitios web con ssl

Secure Sockets Layer = Capa de Conexión Segura. SSL utiliza criptografía
para autenticar el servidor en una conexión.

Certificados de seguridad, sitios el estilo https://www.imperialviolet.org/

#apt-get install openssl


1. Generar llave privada RSA de 1024 bits y usando triple DES



#openssl genrsa -des3 -out servidor.key 1024

Sitios web con ssl

2. Guardar llave privada

# mv servidor.key servidor.key.old
# openssl rsa -in servidor.key.old -out servidor.key

Enter pass phrase for servidor.key.old: <contraseña>
writing RSA key






Sitios web con ssl

3. Crear un CSR (Certificate Signing Request):

# openssl req -new -key servidor.key -out servidor.csr

Country Name (2 letter code) AU:ES
State or Province Name (full name) Some-State:Madrid
Locality Name (eg, city) []:Madrid
Organization Name (eg, company) Internet Widgits Pty Ltd: <Tu organización>
Organizational Unit Name (eg, section) []: <Tu departamento>
Common Name (eg, YOUR name) []: <Nombre de sevidor en el DNS o Direccion
IP>
Email Address []: <email>
#No pongas nada en lo siguiente
Please enter the following 'extra' attributes to be sent with your certificate request
A challenge password []: <contraseña>
An optional company name []:

Sitios web con ssl

Para crear un certificado autofirmado:

#openssl x509 -req -days 365 -in servidor.csr -signkey servidor.key -
out servidor.crt

Este certificado no será reconocido por los navegadores.


4. Guardar los archivos en el directorio /etc/apache2/ssl


# mkdir /etc/apache2/ssl
# mv servidor.key servidor.crt /etc/apache2/ssl
# chmod 500 /etc/apache2/ssl/servidor*



Sitios web con ssl

Configuración de Apache para SSL:

1.

Instalar el módulo SSL en Apache

#a2enmod ssl

1. Revisar el archivo /etc/apache2/ports.conf

NamemeVirtualHost *:80
NameVirtualHost *:8080
Listen 80
Listen 8080
<IfModule mod_ssl.c>
Listen 443
</IfModule>

<IfModule mod_gnutls.c>
Listen 443
</IfModule>



Sitios web con ssl

2. Editar el archivo /etc/apache2/sites-available/default-ssl

<VirtualHost *:443>

ServerAdmin <<webmaster@tudomonio>>
ServerName <<www.tudominio.com>>
ServerAlias <<tud
  • Links de descarga
http://lwp-l.com/pdf7710

Comentarios de: Servidor web y Samba (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad