Skip to Content

develCuy's blog

by Fernando Paredes García


Lua

MeQuejo.PE: caso de prueba de Ophal

Con el fin de probar Ophal en un caso de uso real, acabo de implementar una prueba de concepto.

El resultado es el pre-alpha de: MeQuejo.PE, que a simple vista parece un agregador de noticias, pero en realidad es un listado de resultados de búsqueda provistos por Google Custom Search API, gracias a un motor de búsqueda con varios criterios personalizados. Dichos resultados son consumidos con la ayuda del módulo Lua Spore.


Nacimiento del proyecto Ophal

Estuve muy frustrado con PHP en mis inicios en desarrollo web (8 años a la fecha). Pero 2 años atrás descubrí mi lenguaje de programación favorito: Lua, y entonces decidí dar inicio al proyecto Nutria. Por más de un año intenté varias formas de "portar" mi conocimiento web a Lua, y finalmente hace dos meses decidí usar mis nuevas habilidades en Lua para desarrollo web real.

Y el resultado es: "Ophal... un plataforma web altamente escalable, fácil de mantener y extender. No está casada con una tecnología en particular, solo la esencia se mantendrá en cualquier cambio mayor necesario para alcanzar su misión". Cabe resaltar que Ophal tiene muchas influencias, pero la mayor viene de Drupal, explicaré más acerca de esto en el futuro. También, estoy dando mucho crédito a Lua, pero LuaJIT es de hecho el compilador tras bambalinas.


Playing with LuaJIT FFI

Lua was for long time one of the fastest programming languages, and perhaps sounds new to you but it is older than PHP. LuaJIT has emerged as an improved implementation that can make V8 look like a turtle.


HOWTO phplua + PHP 5.2 on Ubuntu

Lua is an embeddable scripting language. If you are trying to embed it in PHP follow this instructions that may help you:

$ sudo apt-get install phpize liblua5.1-0-dev 
$ git clone git://repo.or.cz/phplua.git src
$ cd src/
$ phpize
$ ./configure

At this point you are almost done, BUT please edit the file Makefile and change the line:

LUA_SHARED_LIBADD = -llua

by:

LUA_SHARED_LIBADD = -llua5.1

Then is time to finish cooking:

$ make
$ sudo make install

Almost done, do a test:

<

pre>
$ make tests #all will fail, that is fine by now


HOWTO Apache 2 + Lua 5.1 + FastCGI in Ubuntu

Install basement

$ sudo apt-get install apache2-mpm-worker liblua5.1-0-dev
$ sudo apt-get install libfcgi-dev libapache2-mod-fcgid

Install Luarocks

Download latest version from: http://luarocks.org/releases/, extract it, open a terminal and do a "cd" into its directory, then:

$ ./configure --with-lua-include=/usr/include/lua5.1/
$ make
$ sudo make install

Install WSAPI

$ sudo luarocks install wsapi-fcgi

Configure Apache



Distribuir contenido