Archive

Archive for January, 2013

Cursos presenciales de configuración de Apache, Lima, Perú

January 25, 2013 Leave a comment

Frente a la maduración progresiva de los servicios digitales orientados a consumo masivo, por internet, de servicios brindados por empresas peruanas, hemos detectado un gran incremento, durante los últimos meses, del interés hacia la optimización de configuraciones web para la disminución del uso de recursos y la entrega rápida y a menor costo de productos o servicios a los consumidores, ya sea a través de dispositivos móviles (menor contenido, más necesidad de velocidad) como de dispositivos clásicos (mayor contenido sobre líneas más rápidas).

Por ello, BeezNest, consultora con especialización en optimización de sitios web y desarrollo de soluciones e-learning en internet, decidió plantear una propuesta de cursos adaptada a la demanda creciente, empezando por un curso sobre el elemento más básico y esencial de la optimización de servicios web: el servidor web.

Este mes de Marzo 2013, estamos planificando una serie de mini-talleres de 4 horas para aprender en más detalles lo que es Apache 2.2 y como configurarlo bien.

Cada curso tendrá un costo de S/.100 (US$35) por persona, y el programa está indicado a continuación. Para iniciar el curso, se requiere de un mínimo de 10 participantes.

El último curso será seguido de un examen (opcional) de 20 preguntas (de un valor de S/.100 también) que llevará a la certificación (o no) de las personas que han tomado el curso por parte del grupo BeezNest. También entregará una constancia a los participantes del conjunto completo de cursos (con la excepción del curso 1 que es opcional). NO se entregarán constancias para participaciones parciales (que no hayan asistido a todos los cursos). Los alumnos tendrán acceso al material del curso en línea en nuestro portal Chamilo de cursos por un plazo de un año.

Las personas que pasen (con éxito) el examen de certificación serán publicadas, con sus detalles de contacto, en la página correspondiente del sitio web de BeezNest, la cual será promocionada por el equipo de BeezNest frente a cualquier consulta por técnicos con habilidades de cofiguración de Apache.

Ciertos (pocos) elementos del curso usan ejemplos de PHP, pero serán fácilmente adaptables a otros lenguajes.

Curso 1: Introducción a la noción de servidores web (4h, S/.100)

  • Que es un servidor web?
  • Que servidores web existen en la actualidad?
  • Que son los VirtualHosts y como usarlos?
  • Que es Apache y como configurarlo de forma básica?

Curso 2: Configuración básica de Apache (4h, S/.100)

  • La configuración por defecto de Apache: como modificarla
  • Access y Error logs: formatos por defecto y custom-made
  • Como declarar Virtual Hosts de la manera correcta
  • Directiva <Directory>
  • Directivas de configuración de PHP (mod_php)

Curso 3: MPMs, Rewrite y Aliases: como manipular y modificar las pedidas usuarios (4h, S/.100)

  • Que son los MPMs y como afectan el rendimiento de mi sitio? MPM-event, MPM-prefork, MPM-worker
  • ModRewrite: Redirigir y generar URLs amigables: introducción
  • ModAlias: Incluir carpetas externas dentro de un sitio

Curso 4: Optimización de Apache: Haz que tu sitio vuela! (parte 1) (4h, S/.100)

  • Entender los tipos de datos: medios estáticos, medios dinámicos y páginas dinámicas
  • Entender el flujo de datos. HTTP, HTML, AJAX y PHP
  • Sprites y agregación CSS/JS: Entender el peso de muchos archivos

Curso 5: Optimización de Apache: Haz que tu sitio vuela! (parte 2) (4h, S/.100)

  • Content Delivery Networks (CDN): multiplicar las pedidas simultáneas para acelerar su sitio
  • ModRPAF: Usar Apache con un reverse proxy
  • ModExpires: aprovechar del caché del navegador del usuario para reducir el tráfico
  • ModHeaders: cambiar las cabeceras de los archivos para customizaciones más finas

Para inscribirse, escribir a ventas@beeznest.com, con asunto: “Curso Apache Marzo 2013”.

Sobre BeezNest

BeezNest es un grupo empresarial fundado en el 2002 y presente en Europa (sede Bélgica) y América Latina (sede Perú) con especialización en soluciones e-learning y optimización de infraestructura. BeezNest es la empresa atrás del software libre Chamilo LMS, que cuenta con 3 millones de usuarios libres a través del mundo, que usan este sistema para aumentar la disponibilidad de recursos y servicios educativos de calidad. BeezNest también se encarga de optimizar grandes sitios web en infraestructuras dedicadas seguras, y vigilar parques de servidores contra ataques, sobrecargas y vulnerabilidades.

Contacto: info@beeznest.com

Advertisements
Categories: cursos, Spanish Tags: ,

Varnish stops file download after 60 seconds

January 23, 2013 3 comments

Varnish Cache logoThe default installation of Varnish 3 on Debian-based system (including Ubuntu) will set a default timeout for sending files to users (i.e. for users files download) to 60 seconds.

To change this limit, it is necessary to update your default Varnish configuration, in /etc/default/varnish.

For example, if you have something like this:

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"

make sure you add the send_timeout param, like this (see the -p line):

DAEMON_OPTS=”-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-p send_timeout=900 \
-s malloc,256m”

This will obviously increase the maximum download time to 900 seconds (15 minutes), which will make it much more practical and less stressfull to download large files.

The logic behind this very short limit is that, if you’re optimizing your site with Varnish, you shouldn’t make it busy with handling one long-term connection with a large file like this (meanwhile, thousands of other connections could have been treated) and your large files should reside on a CDN or something like this.

Chamilo 1.9.4 released, clear the way!

January 18, 2013 Leave a comment

Logo por omisión del campus de ChamiloToday we release Chamilo 1.9.4, with a number of notable improvements in speed, usability and features, but you know… that’s nothing compared to what we’re preparing for version 1.10. We’ve got a pocket full of kryptonite ready to blow your eyes out this year, but let’s focus on 1.9.4 for now. You can download it from here: http://www.chamilo.org/en/download. The free campus will be upgraded, probably this week-end, to have everybody enjoying the improvements.

For this great release, I’d like to personally thank our AMAZING team. We’ve all been hard at work, and they deserve some praise. In particular, thanks to Julio, Yoselyn, Hubert, Jérémie, José, Laura, Noa and, of course, Michela for their efforts in all directions, helping Chamilo spread like crazy and helping build this brilliant piece of software that you’re probably downloading already. Many more people deserve thanks. They’ve all (I hope I didn’t forget anybody) figuring in the Chamilo 1.9.4 credits. My sincere apologies to the Chamilo translators for having failed once again to distinguish their contributions and thank them properly for that. You make Chamilo a better tool for your communities and this is invaluable!

You can find the full changelog of Chamilo 1.9.4, as always, on http://stable.chamilo.org/documentation/changelog.html, but if you prefer a short version, have it here:

  • Teachers can now generate an export in PDF all the certificates of their students at once (and print them as one big file)
  • Improvement to the attendances tool, allowing you to mark “late” students and warning you about overlaps
  • Stylesheets can now be uploaded *and downloaded* directly from the admin page, so happy editing!
  • Exercises now generate score reports by questions categories (nice!)
  • You can now group questions by the same media resource (a large text, a video, etc)
  • LP image is now shown as a starter icon on the course homepage if you want to
  • You can now create student classes through CSV import
  • General reports now show IP address to identify where this student was connecting from (you know… his exam seemed so good, for once…!?)
  • Considerably improved learning path usability
  • Single Sign On class has improved security with blocking per IP (or IP range) the Single Sign On origin
  • Improved responsive design: better positionning of most blocks
  • HTML5 support improvements
  • WCAG improvements (alt/title tags and other stuff)
  • SEO improvements: H1 and H2 tags reorganized
  • BigBlueButton plugin improvements and fixes
  • Fixed issues with IE9 (with and without compatibility mode) in exercises
  • Fixed problem with accentuated chars in image zones question types
  • Fixed issues with files upload in HTTPS
  • Fixed XLS questions import
  • Fixed courses copy bugs
  • Translation to Tagalog

But 1.9.4 is just one step further from 1.9.0, with 1.10 looming in th background for the big leap. 1.9.6 should be ready in about two months from now (mid March?), with just around 50 issues to review and fix (which will give us plenty of time to look at other important Chamilo stuff), then 1.10 should come out somewhere around May (that’s a very wide guess). I don’t want to sell it too early, so you’ll just have to believe that what is coming is much more than what 1.9 was in comparison to 1.8. With 1.10, we should get a large foot into the large corporate environment scale, with Chamilo being used progressively by hundreds of thousands of users on a few portals, with more features, better efficiency (still) and a more reliable behaviour.

To match our ambitions, we’ve worked even harder so that Chamilo could now be automatically tested, documented, analyzed (and soon packaged) by our brand new Jenkins server at http://testing.chamilo.org. With this one, we’ll be able to optimize our review cycle, spending more time on important stuff, and less time fighting against undetected regressions. Including the new Symfony framework bits that we’ve been adding recently, Chamilo LMS (just that branch) has now about 1 million lines of code, which makes it a huge development project, so it was time for us to get armed with the proper weapons. Two new developers (maybe more) will soon be joining the team as well. Our previous projects have won us a long series of good relationships and we are on our way to grow, both as an association and as a group of companies. Talking about that, the association subscribed almost 50 new personal members last year, so if you’re interested, don’t hesitate to check out the guide on how to become a member.

Our crowdfunding portal is on its way too, so you’ll be able to show your support for a specific feature. More about this soon…

And finally, Chamilo certification exams will soon be updated to Chamilo 1.9.4. You can buy an exam attempt at https://shop.beeznest.com. The process is completely automated. Video courses will be available for sale soon too.

Want to have your own Chamilo 1.9.4 portal? Why not try Chamihost for free for 15 days?

Oh, by the way, today’s Chamilo’s 3rd birthday!

The amazing Chamilo project is warming up for 2013. Are you?

Answering to different addresses with Chamilo

January 15, 2013 9 comments

One possible annoying element of Chamilo is it can only answer to one address at a time. This simply comes from a very old codebase and the fact that, at some point in the past, it wasn’t that easy to get the address from the URL or the HTTP headers in a reliable way.

Nowadays, though, it’s completely reliable to say that your host is (in PHP) $_SERVER[‘HTTP_HOST’], so you could hack the configuration file of Chamilo (main/inc/conf/configuration.php) like this:

  $_configuration['root_web'] = 'http://my.chamilo19.net/';
  if (!empty($_SERVER['HTTP_HOST'])) {
    $_configuration['root_web'] = 'http://'.$_SERVER['HTTP_HOST'].'/';
  }

This might have a security impact, we are still assessing this. However, it is likely that this does not really impact security, as other similar systems (like Drupal, Joomla, etc) also let the HTTP_HOST determine the web root path. One alteration to this would be to manually allow for the definition of a “list” of authorized hosts.
If we cannot find any clear reason to prevent the use of this technique in Chamilo, it is likely versions starting from 1.10 will rely on this to avoid the strict dependency on the host defined in $_configuration[‘root_web’].
There will likely be a requirement on $_SERVER[‘SERVER_PROTOCOL’] as well to identify cases where we use HTTPS (SSL certificates).

Kudos to GMP Perú for passing this requirement on to us so we could work on it and find a good solution.
BT#5737

2014-02 edit:
Another customer has reported that, when using what they call a “safe browser” (proprietary piece of software, as far as we could tell), they ran into issues when moving to the next question in an exam.

Apparently, the so called “safe browser” tries to force HTTPS on top of a non-HTTPS communication, or to proxy the URLs in some way. This falls into the same kind of issues as above, as the server does not accept different URLs.

To fix this, we had to include HTTPS processing to the above code:
 
  $_configuration['root_web'] = 'http://my.chamilo19.net/';
  if (!empty($_SERVER['HTTP_HOST'])) {
    if (!empty($_SERVER['HTTPS'])) {
      $_configuration['root_web'] = 'https://'.$_SERVER['HTTP_HOST'].'/';
    } else {
      $_configuration['root_web'] = 'http://'.$_SERVER['HTTP_HOST'].'/';
    }
  }

2014-04 edit:

It seems that more and more weird requirements are appearing around this. Another customer wants to support both a local IP address with a sub-folder in which Chamilo lies (for example http://172.34.13.45/chamilo) *and* a normal public domain like http://my.chamilo19.net/.

This is a slight issue in Chamilo, as we clearly differenciate between installations in a subfolder and installations in a “root” folder (o better said, “root domain path”).

Nevertheless, the following has been lightly tested and seems to be working just fine, as the only difference between sub-folder mode and root folder mode is the url_append element of the $_configuration array.

  // "/chamilo" is the subfolder, "172.34.13.45" is the local IP,
  // "my.chamilo19.net" is the "root domain"
  $_configuration['url_append'] = '/chamilo';
  $_configuration['root_web'] = 'http://172.34.13.45/chamilo/';
  if (!empty($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] != '172.34.13.45') {
    if (!empty($_SERVER['HTTPS'])) {
      $_configuration['root_web'] = 'https://my.chamilo19.net/';
    } else {
      $_configuration['root_web'] = 'http://my.chamilo19.net/';
    }
    $_configuration['url_append'] = '';
  }

This type of configuration will NOT work, however, with a single SSL certificate, and will definitely not work with the IP address (you need to define a real host name to get a certificate for).

Volumen de alertas de Skype en Ubuntu

Si tiene el mismo problema que yo con el audio de Skype que no se escucha bajo Ubuntu, la respuesta está aquí: http://ubuntuforums.org/showthread.php?p=12440872#post12440872

El problema es que Skype usa Pulse Audio por defecto y que este no se configura por el gestor de volumen normal de Ubuntu. En realidad, si pone su audio a lo máximo, escuchará que sí suena, pero muy muy *muy* bajo.

Para arreglar, basta con instalar un gestor de volumen de Pulse Audio y cambiar el volumen:

sudo apt-get install pavucontrol

pavucontrol

y ahí verá que la prima barra deslizable de volumen se llama “Sonidos del sistema”. Póngala a 100%. Ya está, ahora Skype suena normal (puede probarlo llendo en las opciones de Skype > Alertas > Reproducir el audio de “Llamada entrante”, por ejemplo).

Bueno, queda claro que no debería usar skype en un primer lugar porque no es software libre, pero si tiene que comunicarse con alguien lejos que no tiene un buen teléfono IP con su central para mejorar software libre… queda siendo una alternativa interesante.

%d bloggers like this: