martes, 15 de julio de 2008

Configuración eficiente de Apache

Un día mire un programa complemento de firefox llamado YSlow que sigue los estandares de yahoo y vi utilidad en esto. Investigue y encontre que se puede hacer más eficiente la transmisión de datos por la red ahorrando un 70% de estos comprimiendolos y dandoles algunas características en el cacheo de los archivos publicos (imagenes, css, js, etc..). Como yo uso Apache y PHP lo configure para estos especialmente.

Para ello necesitamos cargar unos modulos en Apache:
  • mod_deflate: El cual se encarga de comprimir la salida del bufer de nuestro Servidor Web.
  • mod_expire: Nos da la posibilidad de controlar la expiracion de archivos.
Pasos:
  1. Instale los modulos al Apache.
  2. Agrege a httpd.conf en htdocs o directorio raiz de su servidor web lo siguiente:
  • Para el DEFLATE:
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/xml text/css
AddOutputFilterByType DEFLATE text/javascript text/x-javascript text/js text/x-js
AddOutputFilterByType DEFLATE application/javascript application/x-javascript application/js application/x-js
AddOutputFilterByType DEFLATE application/x-www-form-urlencoded

# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won't work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html


  • Para el Expire (expirara cada 72 horas los archivos con estas extensiones):
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType text/css A2592000
ExpiresByType application/javascript A2592000

  • Para Etags (El cual nos sirve para saber cuando volver a cachear un archivo):
FileETag none

viernes, 11 de julio de 2008

Configurar Servidor SSH en Windows

Pasos:

  1. Instalar CYGWIN con paquetes Default + Openssh (NET) + VIM(EDITORs)

  2. Abrir el CYGWIN y ejecutar el comando "ssh-host-config -y"

  3. Dar permisos y crear archivos:

    • cd /

    • chmod -R og-w .

    • chmod og+w /tmp

    • touch /var/log/sshd.log

    • chown system:system /var/log/sshd.log /var/empty /etc/ssh_h*

    • chmod 755 /var/empty



  4. Iniciamos el servido de SSH: "cygrunsrv -S sshd"

  5. Probamos que todo este bien: "ssh localhost"





Refrencias:
  • http://www.cs.princeton.edu/~sudhakar/linux/cache/cygwin-sshd.html