Tu número de la suerte!

Anuncio
404!
Tu número de la suerte!
(Servidores Web)
SO, Web Server, DataBase server, language.
Web Servers:
1. Apache Tomcat (http://www.apache.org)
2. Lighttpd (http://www.lighttpd.net)
3. nginx (http://www.nginx.net)
DataBase server:
1. Mysql (http://www.mysql.com)
2. Sqlite (http://www.sqlite.org)
3. PostgreSQL (http://www.postgresql.org) Languages:
1. Php
2. Python
3. Perl
http://www.netcraft.com
¿Con cuál nos quedamos? APACHE...
# apt­get install apache2 apache2­doc apache2­mpm­prefork apache2­utils ssl­cert
• "El MPM «prefork» proporciona una implementación sin hilos que gestiona las peticiones de manera similar a Apache 1.3. No es tan rápido como los modelos con hilos, pero se considera más estable."
• ab (herramienta de medición del rendimiento de Apache) logresolve (Resuelve direcciones IP a nombres de máquina en los archivos de registro).
htpasswd (Manipula archivos de autenticación básica).
htdigest (Manipula archivos de autenticación con «hash»).
• Para generar certificados SSL.
Apache
• Configuración dividida en 3 secciones
o Configuraciones al proceso (global environment)[1].
o Configuraciones de respuesta por defecto para los dominios, y virtual hosts[2].
o Configuraciones de virtual hosts para "atender" diferentes dominios[3].
o http://httpd.apache.org/docs/2.2/mod/quickreference.html
• Por defecto apache define que estas configuraciones están en /etc/apache2/httpd.conf excepto en Lihuen
(/etc/apache2/apache2.conf[1] /etc/apache2/conf.d/[2] /etc/apache2/sites­available[3])
/etc/apache2/apache2.conf
1. ServerRoot "/etc/apache2" //Directorio donde se almacenara la configuración del servicio. 2. Timeout 300 //Tiempo de espera en segundos para enviar un Time out en la conexión. 3. KeepAlive On //Para tener conexiones persistentes o no (http 1.0).
4. MaxKeepAliveRequest 100 //Cantidad de solicitudes cuando KeepAlive esta activado.
5. KeepAliveTimeout 15 //Tiempo de espera para respuesta a un cliente en la misma conexión.
<IfModule mpm_prefork_module>
• StartServers //cantidad de procesos cuando se arranca el servicio.
• MinSpareServers //Idle process ( que no está atendiendo una respuesta).
• MaxSpareServer
• MaxClients //Cantidad máxima de clientes a atender.
• MaxRequestsPerChild //Cantidad máxima de consultas por proceso, 0 = infinito, cuando se cumpla el valor, el proceso morirá.
/etc/apache2/conf.d
• Security
o ServerTokens //Contiene cabeceras que son enviadas al cliente con información de los módulos compilados.
o ServerSignature //información adicional que permite mostrar información sobre el servicio.
/etc/apache2/mods­available/dir.conf
• Configura los archivos que serán interpretados por el servidor.
/etc/apache2/sites­available/
• En este directorio definiremos todos los sitios que puede manejar el servidor.
Definiendo VirtualHosts
• <VirtualHost Dirección:Puerto></VirtualHost>
• DocumentRoot //Directorio que almacena el sitio.
• ServerAdmin // Cuenta de correo del responsable del sitio (utilizada por ServerSignature).
• ServerName //Especifica el nombre y puerto para respuesta de una petición.
• SeverAlias //Permite nombres alternativos de respuesta.
# apt­get install libapache2­mod­php5 php5 php5­mysql php5­mcrypt php5­mhash php5­gd php5­cli php5­cgi
#apt­get install mysql­server mysql­client
Probando....
Php:
Generamos un archivo index.php con la siguiente línea:
<?php phpinfo(); ?>
Mysql:
<?php $conexion = mysql_connect("localhost", "root", "unacontraseñasegura");
mysql_select_db("mysql", $conexion);
$consulta = "SELECT User FROM user";
$usuarios = mysql_query($consulta, $conexion);
while ($usuario = mysql_fetch_assoc($usuarios)) {
echo "<strong>".$usuario['User']."</strong> Pass:";
echo "<strong>".$usuario['Password']."</strong><br> ";
}
?>
tunumerodelasuerte.com
Es el momento de poner en marcha un sitio funcional, sin necesidad de desarrollar todo el código (∙v∙), por lo que utilizamos algún CMS.
Probando...
1. Configuramos el virtualhost.
http://www.bily.cl/bily/
2. Como no tenemos un servidor de dns editamos /etc/hosts.
3. Desempaquetamos wordpress.
4. Luego deberemos crear una base de datos para que interactúe con el sitio..
#mysql ­u root ­p //Con esto nos conectamos a la base de datos
#Create database luckynumber; //creamos la base de datos
#Grant all on luckynumber.* to luckyuser@localhost identified by 'micontraseña';
#Flush privileges; 5. Instalamos wordpress.
Problemas¿?
•
•
•
•
Me cambió la dirección ip :­(
Dominios .com.ar
Quiero un sitio que sea privado
seguridad
Dirección IP • http://www.no­ip.com
• http://www.zoneedit.com
• http://www.dyndns.com
En caso de que tengamos una ip dinámica (dhcp) deberemos configurar algún servicio para redirigir automáticamente.
http://fcomvalores.files.wordpress.com
Protegiendo la intimidad
• Configuramos .htaccess
AuthName "Restricted Area"
AuthType Basic|Digest
AuthUserFile /var/www/tunumerodelasuerte/.htpasswd
require valid­user
• Generamos el .htpasswd
OUCH!!! tráfico inseguro..!
Al no tener ningún método de seguridad en nuestro servidor, en caso de acceder de un lugar remoto, nuestros datos viajarán sin encriptar...
SOLUCIÓN: conexión por https (hyper text transfer protocol secure)
https://www.startssl.com/?app=1
Habilitando SSL
Por defecto en Lihuen, la configuración para ssl viene incluída (/etc/apache2/ports.conf), sólo hace falta habilitar el módulo de apache #a2enmod ssl y crear los certificados.
#openssl req ­new ­x509 ­nodes ­out /etc/ssl/certs/lamp.com_self.crt ­keyout /etc/ssl/private/lamp.com_self.key
editamos /etc/apache2/sites­available/default­ssl y ya disponemos de una conexión con cifrado a nivel de capa de transporte.
¿Preguntas?
Están todo invitados a la 1º Reunión del Plug.
Lugar: Duff (2 y Diag 73)
Hora: 20:00 GRACIAS!!
avizcaino@linti.unlp.edu.ar
http://lihuen.linti.unlp.edu.ar/foros
Descargar