librelist archives

« back to archive

HOWTO: Build a mongrel2-Tir-mongodb application stack on Ubuntu server 10.10

HOWTO: Build a mongrel2-Tir-mongodb application stack on Ubuntu server 10.10

From:
Matt Towers
Date:
2011-01-21 @ 23:50
Hi folks,

	With some very generous help from Evan Wies of the luamongo project and 
Zed, I think I have a procedure for setting up a full application stack 
using mongrel2, Tir and mongodb.  If you try it out and find any errors or
omissions or have any suggestions, please let me know!

Enjoy...

✈ Matt



App stack components to be installed:

1.  mongrel2
2.  zeroMQ
3.  Tir
4.  luamongo (mongodb driver for Lua)
5.  mongodb

Prerequisites:

1.  A minimal install of Ubuntu 10.10 server

------------------------------------------------

#  install prerequisites for building
sudo apt-get install build-essential
sudo apt-get install uuid-dev

# START - install mongrel2
# NOTE:  check http://mongrel2.org/doc/tip/docs/manual/book.wiki for updates

# install zeroMQ
mkdir ~/tmp
cd ~/tmp
wget http://download.zeromq.org/zeromq-2.0.10.tar.gz
tar -xzvf zeromq-2.0.10.tar.gz
cd zeromq-2.0.10/
./configure
make
sudo make install

# install sqllite3
sudo apt-get install sqlite3
sudo apt-get install libsqlite3-dev

#install mongrel2 proper
cd ~/tmp
wget http://mongrel2.org/static/downloads/mongrel2-1.5.tar.bz2
tar -xjvf mongrel2-1.5.tar.bz2
cd mongrel2-1.5/
sudo make all install

# END - install mongrel2


# START -  install Tir
# NOTE:  check http://tir.mongrel2.org/wiki?name=Install for updates on 
howto install Tir

# install Lua 5.1
sudo apt-get install lua5.1

# install luarocks package manager
sudo apt-get install luarocks

# enable 64-bit compilation for luarocks packages (required for lua_signal)
sudo echo "variables.CFLAGS=\"-O2 -fPIC\"" >> /etc/luarocks/config.lua

# install lua_signal
sudo apt-get install unzip
sudo luarocks install lua_signal

#install git client
sudo apt-get install git

# install lua-zeroMQ bindings
cd ~/tmp
wget 
https://github.com/iamaleksey/lua-zmq/raw/master/rockspecs/lua-zmq-scm-0.rockspec
--no-check-certificat
sudo luarocks install lua-zmq-scm-0.rockspec

# install mongrel2-lua bindings
wget 
https://github.com/jsimmons/mongrel2-lua/raw/master/rockspecs/mongrel2-lua-scm-0.rockspec
--no-check-certificate
sudo luarocks install mongrel2-lua-scm-0.rockspec

# install Tir proper
sudo luarocks install http://tir.mongrel2.org/downloads/tir-0.9-1.rockspec

# END - install Tir


# START - install mongodb 1.6.3 
# NOTE:  do NOT use the default mongodb package or current instructions on
mongodb website.  It installs mongodb 1.4!
# SEE:  check http://www.mongodb.org/display/DOCS/Building+for+Linux for update

# install devscripts package
cd ~/tmp
sudo apt-get install devscripts
# when prompted, answer OK and then "No configuration" and then OK again

# install mongo dependencies
sudo apt-get -y install tcsh git-core scons g++
sudo apt-get -y install libpcre++-dev libboost-dev libreadline-dev xulrunner-dev
sudo apt-get -y install libboost-program-options-dev libboost-thread-dev 
libboost-filesystem-dev libboost-date-time-dev

# install mongodb proper
wget 
http://archive.ubuntu.com/ubuntu/pool/universe/m/mongodb/mongodb_1.6.3-1ubuntu1.dsc
wget 
http://archive.ubuntu.com/ubuntu/pool/universe/m/mongodb/mongodb_1.6.3.orig.tar.gz
wget 
http://archive.ubuntu.com/ubuntu/pool/universe/m/mongodb/mongodb_1.6.3-1ubuntu1.debian.tar.gz
dpkg-source -x mongodb_1.6.3-1ubuntu1.dsc
cd mongodb-1.6.3/
debuild  #this will take a while to run - go catch up on your pr0n surfing
cd ..
sudo dpkg -i *.deb

# END - install mongodb 1.6.3


# install luamongo driver
cd ~/tmp
sudo apt-get install subversion
svn checkout http://luamongo.googlecode.com/svn/trunk/ luamongo
cd luamongo
sudo apt-get install liblua5.1-dev
debuild
#  "continue anyway?"   YES
sudo dpkg -i ../liblua5.1-mongo_0.4-1_amd64.deb

Re: [mongrel2] HOWTO: Build a mongrel2-Tir-mongodb application stack on Ubuntu server 10.10

From:
Sabin Iacob
Date:
2011-01-22 @ 00:06
On 01/22/2011 01:50 AM, Matt Towers wrote:
> Hi folks,
>
> 	With some very generous help from Evan Wies of the luamongo project and
Zed, I think I have a procedure for setting up a full application stack 
using mongrel2, Tir and mongodb.  If you try it out and find any errors or
omissions or have any suggestions, please let me know!
>
> Enjoy...
>
> ✈ Matt
>
>
>
> App stack components to be installed:
>
> 1.  mongrel2
> 2.  zeroMQ
> 3.  Tir
> 4.  luamongo (mongodb driver for Lua)
> 5.  mongodb
>
> Prerequisites:
>
> 1.  A minimal install of Ubuntu 10.10 server
>
> ------------------------------------------------
>
> #  install prerequisites for building
> sudo apt-get install build-essential
> sudo apt-get install uuid-dev
>
> # START - install mongrel2
> # NOTE:  check http://mongrel2.org/doc/tip/docs/manual/book.wiki for updates
>
> # install zeroMQ
> mkdir ~/tmp
> cd ~/tmp
> wget http://download.zeromq.org/zeromq-2.0.10.tar.gz
> tar -xzvf zeromq-2.0.10.tar.gz
> cd zeromq-2.0.10/
> ./configure
> make
> sudo make install

add-apt-repository ppa:chris-lea/zeromq
apt-get update
apt-get install python-zeromq

> # install sqllite3
> sudo apt-get install sqlite3
> sudo apt-get install libsqlite3-dev
>
> #install mongrel2 proper
> cd ~/tmp
> wget http://mongrel2.org/static/downloads/mongrel2-1.5.tar.bz2
> tar -xjvf mongrel2-1.5.tar.bz2
> cd mongrel2-1.5/
> sudo make all install
>
> # END - install mongrel2

add-apt-repository ppa:iacobs/mongrel2
apt-get update
apt-get install mongrel2

>
> # START -  install Tir
> # NOTE:  check http://tir.mongrel2.org/wiki?name=Install for updates on 
howto install Tir
>
> # install Lua 5.1
> sudo apt-get install lua5.1
>
> # install luarocks package manager
> sudo apt-get install luarocks
>
> # enable 64-bit compilation for luarocks packages (required for lua_signal)
> sudo echo "variables.CFLAGS=\"-O2 -fPIC\"">>  /etc/luarocks/config.lua
>
> # install lua_signal
> sudo apt-get install unzip
> sudo luarocks install lua_signal
>
> #install git client
> sudo apt-get install git
>
> # install lua-zeroMQ bindings
> cd ~/tmp
> wget 
https://github.com/iamaleksey/lua-zmq/raw/master/rockspecs/lua-zmq-scm-0.rockspec
--no-check-certificat
> sudo luarocks install lua-zmq-scm-0.rockspec
>
> # install mongrel2-lua bindings
> wget 
https://github.com/jsimmons/mongrel2-lua/raw/master/rockspecs/mongrel2-lua-scm-0.rockspec
--no-check-certificate
> sudo luarocks install mongrel2-lua-scm-0.rockspec
>
> # install Tir proper
> sudo luarocks install http://tir.mongrel2.org/downloads/tir-0.9-1.rockspec
>
> # END - install Tir
>
>
> # START - install mongodb 1.6.3
> # NOTE:  do NOT use the default mongodb package or current instructions 
on mongodb website.  It installs mongodb 1.4!
> # SEE:  check http://www.mongodb.org/display/DOCS/Building+for+Linux for update

even better, see 
http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages

> # install devscripts package
> cd ~/tmp
> sudo apt-get install devscripts
> # when prompted, answer OK and then "No configuration" and then OK again
>
> # install mongo dependencies
> sudo apt-get -y install tcsh git-core scons g++
> sudo apt-get -y install libpcre++-dev libboost-dev libreadline-dev xulrunner-dev
> sudo apt-get -y install libboost-program-options-dev libboost-thread-dev
libboost-filesystem-dev libboost-date-time-dev
>
> # install mongodb proper
> wget 
http://archive.ubuntu.com/ubuntu/pool/universe/m/mongodb/mongodb_1.6.3-1ubuntu1.dsc
> wget 
http://archive.ubuntu.com/ubuntu/pool/universe/m/mongodb/mongodb_1.6.3.orig.tar.gz
> wget 
http://archive.ubuntu.com/ubuntu/pool/universe/m/mongodb/mongodb_1.6.3-1ubuntu1.debian.tar.gz
> dpkg-source -x mongodb_1.6.3-1ubuntu1.dsc
> cd mongodb-1.6.3/
> debuild  #this will take a while to run - go catch up on your pr0n surfing
> cd ..
> sudo dpkg -i *.deb
>
> # END - install mongodb 1.6.3
>
>
> # install luamongo driver
> cd ~/tmp
> sudo apt-get install subversion
> svn checkout http://luamongo.googlecode.com/svn/trunk/ luamongo
> cd luamongo
> sudo apt-get install liblua5.1-dev
> debuild
> #  "continue anyway?"   YES
> sudo dpkg -i ../liblua5.1-mongo_0.4-1_amd64.deb

Re: [mongrel2] HOWTO: Build a mongrel2-Tir-mongodb application stack on Ubuntu server 10.10

From:
Loic d'Anterroches
Date:
2011-01-22 @ 08:04
Hello,

to install git, you need to install the git-core package and not the git 
package.

I wish github had paid the $20 extra per year to get a correct 
certificate including the "github.com" domain. Again and again I hit 
against the --no-check-certificate option to add. Annoying. If some 
github folks are reading this mailing list, please, upgrade :)

loïc


On 2011-01-22 01:06, Sabin Iacob wrote:
> On 01/22/2011 01:50 AM, Matt Towers wrote:
>> Hi folks,
>>
>> 	With some very generous help from Evan Wies of the luamongo project 
and Zed, I think I have a procedure for setting up a full application 
stack using mongrel2, Tir and mongodb.  If you try it out and find any 
errors or omissions or have any suggestions, please let me know!
>>
>> Enjoy...
>>
>> ✈ Matt
>>
>>
>>
>> App stack components to be installed:
>>
>> 1.  mongrel2
>> 2.  zeroMQ
>> 3.  Tir
>> 4.  luamongo (mongodb driver for Lua)
>> 5.  mongodb
>>
>> Prerequisites:
>>
>> 1.  A minimal install of Ubuntu 10.10 server
>>
>> ------------------------------------------------
>>
>> #  install prerequisites for building
>> sudo apt-get install build-essential
>> sudo apt-get install uuid-dev
>>
>> # START - install mongrel2
>> # NOTE:  check http://mongrel2.org/doc/tip/docs/manual/book.wiki for updates
>>
>> # install zeroMQ
>> mkdir ~/tmp
>> cd ~/tmp
>> wget http://download.zeromq.org/zeromq-2.0.10.tar.gz
>> tar -xzvf zeromq-2.0.10.tar.gz
>> cd zeromq-2.0.10/
>> ./configure
>> make
>> sudo make install
>
> add-apt-repository ppa:chris-lea/zeromq
> apt-get update
> apt-get install python-zeromq
>
>> # install sqllite3
>> sudo apt-get install sqlite3
>> sudo apt-get install libsqlite3-dev
>>
>> #install mongrel2 proper
>> cd ~/tmp
>> wget http://mongrel2.org/static/downloads/mongrel2-1.5.tar.bz2
>> tar -xjvf mongrel2-1.5.tar.bz2
>> cd mongrel2-1.5/
>> sudo make all install
>>
>> # END - install mongrel2
>
> add-apt-repository ppa:iacobs/mongrel2
> apt-get update
> apt-get install mongrel2
>
>>
>> # START -  install Tir
>> # NOTE:  check http://tir.mongrel2.org/wiki?name=Install for updates on
howto install Tir
>>
>> # install Lua 5.1
>> sudo apt-get install lua5.1
>>
>> # install luarocks package manager
>> sudo apt-get install luarocks
>>
>> # enable 64-bit compilation for luarocks packages (required for lua_signal)
>> sudo echo "variables.CFLAGS=\"-O2 -fPIC\"">>   /etc/luarocks/config.lua
>>
>> # install lua_signal
>> sudo apt-get install unzip
>> sudo luarocks install lua_signal
>>
>> #install git client
>> sudo apt-get install git
>>
>> # install lua-zeroMQ bindings
>> cd ~/tmp
>> wget 
https://github.com/iamaleksey/lua-zmq/raw/master/rockspecs/lua-zmq-scm-0.rockspec
--no-check-certificat
>> sudo luarocks install lua-zmq-scm-0.rockspec
>>
>> # install mongrel2-lua bindings
>> wget 
https://github.com/jsimmons/mongrel2-lua/raw/master/rockspecs/mongrel2-lua-scm-0.rockspec
--no-check-certificate
>> sudo luarocks install mongrel2-lua-scm-0.rockspec
>>
>> # install Tir proper
>> sudo luarocks install http://tir.mongrel2.org/downloads/tir-0.9-1.rockspec
>>
>> # END - install Tir
>>
>>
>> # START - install mongodb 1.6.3
>> # NOTE:  do NOT use the default mongodb package or current instructions
on mongodb website.  It installs mongodb 1.4!
>> # SEE:  check http://www.mongodb.org/display/DOCS/Building+for+Linux for update
>
> even better, see
> http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages
>
>> # install devscripts package
>> cd ~/tmp
>> sudo apt-get install devscripts
>> # when prompted, answer OK and then "No configuration" and then OK again
>>
>> # install mongo dependencies
>> sudo apt-get -y install tcsh git-core scons g++
>> sudo apt-get -y install libpcre++-dev libboost-dev libreadline-dev 
xulrunner-dev
>> sudo apt-get -y install libboost-program-options-dev 
libboost-thread-dev libboost-filesystem-dev libboost-date-time-dev
>>
>> # install mongodb proper
>> wget 
http://archive.ubuntu.com/ubuntu/pool/universe/m/mongodb/mongodb_1.6.3-1ubuntu1.dsc
>> wget 
http://archive.ubuntu.com/ubuntu/pool/universe/m/mongodb/mongodb_1.6.3.orig.tar.gz
>> wget 
http://archive.ubuntu.com/ubuntu/pool/universe/m/mongodb/mongodb_1.6.3-1ubuntu1.debian.tar.gz
>> dpkg-source -x mongodb_1.6.3-1ubuntu1.dsc
>> cd mongodb-1.6.3/
>> debuild  #this will take a while to run - go catch up on your pr0n surfing
>> cd ..
>> sudo dpkg -i *.deb
>>
>> # END - install mongodb 1.6.3
>>
>>
>> # install luamongo driver
>> cd ~/tmp
>> sudo apt-get install subversion
>> svn checkout http://luamongo.googlecode.com/svn/trunk/ luamongo
>> cd luamongo
>> sudo apt-get install liblua5.1-dev
>> debuild
>> #  "continue anyway?"   YES
>> sudo dpkg -i ../liblua5.1-mongo_0.4-1_amd64.deb
>

-- 
Dr Loïc d'Anterroches
Founder Céondo Ltd

w: www.ceondo.com       |  e: loic@ceondo.com
t: +44 (0)207 183 0016  |  f: +44 (0)207 183 0124

Céondo Ltd
Dalton House
60 Windsor Avenue
London
SW19 2RR / United Kingdom

[OT] Re: [mongrel2] HOWTO: Build a mongrel2-Tir-mongodb application stack on Ubuntu server 10.10

From:
Tordek
Date:
2011-01-23 @ 07:07
On 22/01/11 05:04, Loic d'Anterroches wrote:
> Hello,
>
> I wish github had paid the $20 extra per year to get a correct
> certificate including the "github.com" domain. Again and again I hit
> against the --no-check-certificate option to add. Annoying. If some
> github folks are reading this mailing list, please, upgrade :)

Github blames wget. Says curl works fine. https://twitter.com/githubhelp

>
> loïc
>
-- 
Guillermo O. «Tordek» Freschi. Programador, Escritor, Genio Maligno.
http://tordek.com.ar :: http://twitter.com/tordek
http://www.arcanopedia.com.ar - Juegos de Rol en Argentina

Re: [OT] Re: [mongrel2] HOWTO: Build a mongrel2-Tir-mongodb application stack on Ubuntu server 10.10

From:
Loic d'Anterroches
Date:
2011-01-23 @ 09:19

On 2011-01-23 08:07, Tordek wrote:
> On 22/01/11 05:04, Loic d'Anterroches wrote:
>> Hello,
>>
>> I wish github had paid the $20 extra per year to get a correct
>> certificate including the "github.com" domain. Again and again I hit
>> against the --no-check-certificate option to add. Annoying. If some
>> github folks are reading this mailing list, please, upgrade :)
>
> Github blames wget. Says curl works fine. https://twitter.com/githubhelp

Good to know, I tried against a series of certificates I have and 
effectively as soon as the certificate matches only through the "Subject 
Alternative Name", wget fails. :/

I will wait for a better version of wget in Debian... and I stop my OT rant.

loïc

Re: [mongrel2] HOWTO: Build a mongrel2-Tir-mongodb application stack on Ubuntu server 10.10

From:
Matt Towers
Date:
2011-01-22 @ 00:43
As I recall, the 10gen packages referenced on that page don't install the 
dev libs which are required to compile luamongo.

✈ Matt



On Jan 21, 2011, at 16:06 , Sabin Iacob wrote:

> even better, see 
> http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages

Re: [mongrel2] HOWTO: Build a mongrel2-Tir-mongodb application stack on Ubuntu server 10.10

From:
Sabin Iacob
Date:
2011-01-22 @ 01:20
On 01/22/2011 02:43 AM, Matt Towers wrote:
> As I recall, the 10gen packages referenced on that page don't install 
> the dev libs which are required to compile luamongo.
>
> ✈ Matt

well, they do install a ton of dependencies (mostly due to the fact that 
they build against xulrunner), but what exactly does luamongo require? 
pymongo can work as a pure Python thing, and gets a speed boost if it 
can compile a bson C extension, but that doesn't need any includes from 
mongodb

BTW, I made a typo at teh zeromq thingy, 'twas libzmq0, of course, you 
don't need python bindings to do something in lua :)) (I blame the fever)

but my point remains: unless you are doing a one-off thing, using 
packages is a very good idea when using a package-based distro; even for 
a source-based distro like Gentoo it's advisable to find/write an 
ebuild, and I guess that folks outside the Linux land (*BSD/Mac) would 
say the same.

Re: [mongrel2] HOWTO: Build a mongrel2-Tir-mongodb application stack on Ubuntu server 10.10

From:
Matt Towers
Date:
2011-01-26 @ 05:55
Got a little more information on this one.  At the moment luamongo 
definitely won't compile against the 10gen packages as they don't include 
the client libraries.  The only other packaged version of mongodb I've 
found is the official ubuntu one, which is still at version 1.4.4.  Not 
sure if the latter installs any client libs or no.

So far, the only way I've been able to figure out how to do it is to pull 
the 1.6.3 source and build/install from there, which seems to install the 
client libraries and headers as well.

✈ Matt

PS.  Here's the debian control file for luamongo.  The complete list of 
dependencies is in there.  
http://code.google.com/p/luamongo/source/browse/trunk/debian/control



On Jan 21, 2011, at 17:20 , Sabin Iacob wrote:

> On 01/22/2011 02:43 AM, Matt Towers wrote:
>> 
>> As I recall, the 10gen packages referenced on that page don't install 
the dev libs which are required to compile luamongo.
>> 
>> ✈ Matt
> 
> well, they do install a ton of dependencies (mostly due to the fact that
they build against xulrunner), but what exactly does luamongo require? 
pymongo can work as a pure Python thing, and gets a speed boost if it can 
compile a bson C extension, but that doesn't need any includes from 
mongodb
> 
> BTW, I made a typo at teh zeromq thingy, 'twas libzmq0, of course, you 
don't need python bindings to do something in lua :)) (I blame the fever)
> 
> but my point remains: unless you are doing a one-off thing, using 
packages is a very good idea when using a package-based distro; even for a
source-based distro like Gentoo it's advisable to find/write an ebuild, 
and I guess that folks outside the Linux land (*BSD/Mac) would say the 
same.

Re: [mongrel2] HOWTO: Build a mongrel2-Tir-mongodb application stack on Ubuntu server 10.10

From:
Zed A. Shaw
Date:
2011-01-26 @ 19:10
On Tue, Jan 25, 2011 at 09:55:50PM -0800, Matt Towers wrote:
> So far, the only way I've been able to figure out how to do it is to
> pull the 1.6.3 source and build/install from there, which seems to
> install the client libraries and headers as well.

That sort of sucks, but I guess it's expected with fairly new software
on Debian.

> PS.  Here's the debian control file for luamongo.  The complete list
> of dependencies is in there.
> http://code.google.com/p/luamongo/source/browse/trunk/debian/control

I'll take a further look at this later today.  I'm setting aside some
Mongrel2 docs time today.

-- 
Zed A. Shaw
http://zedshaw.com/

Re: [mongrel2] HOWTO: Build a mongrel2-Tir-mongodb application stack on Ubuntu server 10.10

From:
Matt Towers
Date:
2011-01-26 @ 19:21
FWIW, I've asked the owner of luamongo about the possibility of setting up
a PPA to house it, at least until an official home can be found.

I also put in an email to 10gen asking about creating a mongodb package 
that contains the development libraries.  No reply as of yet.

✈ Matt



On Jan 26, 2011, at 11:10 , Zed A. Shaw wrote:

> On Tue, Jan 25, 2011 at 09:55:50PM -0800, Matt Towers wrote:
>> So far, the only way I've been able to figure out how to do it is to
>> pull the 1.6.3 source and build/install from there, which seems to
>> install the client libraries and headers as well.
> 
> That sort of sucks, but I guess it's expected with fairly new software
> on Debian.
> 
>> PS.  Here's the debian control file for luamongo.  The complete list
>> of dependencies is in there.
>> http://code.google.com/p/luamongo/source/browse/trunk/debian/control
> 
> I'll take a further look at this later today.  I'm setting aside some
> Mongrel2 docs time today.
> 
> -- 
> Zed A. Shaw
> http://zedshaw.com/

Re: [mongrel2] HOWTO: Build a mongrel2-Tir-mongodb application stack on Ubuntu server 10.10

From:
Matt Towers
Date:
2011-01-24 @ 18:48
I'm not 100% certain of the exact dependencies for luamongo, though I did 
try using the 10gen package and was not able to build.  I'll look in to it
some more and let you know what I find. 

✈ Matt



On Jan 21, 2011, at 17:20 , Sabin Iacob wrote:

> On 01/22/2011 02:43 AM, Matt Towers wrote:
>> 
>> As I recall, the 10gen packages referenced on that page don't install 
the dev libs which are required to compile luamongo.
>> 
>> ✈ Matt
> 
> well, they do install a ton of dependencies (mostly due to the fact that
they build against xulrunner), but what exactly does luamongo require? 
pymongo can work as a pure Python thing, and gets a speed boost if it can 
compile a bson C extension, but that doesn't need any includes from 
mongodb
> 
> BTW, I made a typo at teh zeromq thingy, 'twas libzmq0, of course, you 
don't need python bindings to do something in lua :)) (I blame the fever)
> 
> but my point remains: unless you are doing a one-off thing, using 
packages is a very good idea when using a package-based distro; even for a
source-based distro like Gentoo it's advisable to find/write an ebuild, 
and I guess that folks outside the Linux land (*BSD/Mac) would say the 
same.