You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Dave Ray <da...@gmail.com> on 2010/01/18 20:51:18 UTC

Installing Couch on a machine with no internet and other issues

Hi. I'm in the situation where I'm going to be installing CouchDB on a
machine (RedHat Enterprise Linux)  with a couple limitations.

First, it has no internet access. I can bring software to it on CD or
DVD (after a thorough security process), but can't install anything
through a mechanism that requires internet access.
Second, it has very little installed on it, in particular no gcc, so
building from source would be difficult.

I'm by no means an expert on Linux package management systems so I'm
looking for suggestions for easily getting a pre-built (with all
required dependencies) CouchDB onto this machine. I have successfully
set up Couch on a very similar machine, but in that case, had internet
access so I could install gcc, Erlang, etc and then build Couch from
source.

For what it's worth, I do have root access on this machine.

Any thoughts?

Thanks,

Dave

Re: Installing Couch on a machine with no internet and other issues

Posted by Miles Fidelman <mf...@meetinghouse.net>.
On Mon, Jan 18, 2010 at 02:51:18PM -0500, Dave Ray wrote:
>> Hi. I'm in the situation where I'm going to be installing CouchDB on a
>> machine (RedHat Enterprise Linux)  with a couple limitations.
>>
>> First, it has no internet access. I can bring software to it on CD or
>> DVD (after a thorough security process), but can't install anything
>> through a mechanism that requires internet access.
>> Second, it has very little installed on it, in particular no gcc, so
>> building from source would be difficult.
>>      
You could build CouchDB in a virtual machine image, than move that image 
to your stand-alone machine.

-- 
In theory, there is no difference between theory and practice.
In practice, there is.   .... Yogi Berra

-- 
Miles R. Fidelman, Director of Government Programs
Traverse Technologies
145 Tremont Street, 3rd Floor
Boston, MA  02111
mfidelman@traversetechnologies.com
857-362-8314
www.traversetechnologies.com


Re: Installing Couch on a machine with no internet and other issues

Posted by Nils Breunese <N....@vpro.nl>.
Brian Candler wrote:

> On Mon, Jan 18, 2010 at 10:18:21PM +0100, Nicolas Steinmetz wrote:
>>> That doesn't tell you how to write a .spec file though. As a first call,
>>> I'd start googling for them. There are several public RPM repositories out
>>> there which publish spec files for thousands of packages.
>>>
>> You can grab if from Fedora SRPMS.
> 
> Good suggestion.
> 
> Oh, and I forgot to check EPEL. It looks like you're in luck: there's a
> reasonably up-to-date couchdb there (0.10) and Erlang (R12B5) and presumably
> all other necessary dependencies.
> 
> https://fedoraproject.org/wiki/EPEL
> 
> Choose between i386 and x86_64, and RHEL4 and RHEL5. These are binary
> packages so no need to build anything. Copy them to the target machine
> and rpm -Uvh couchdb*.rpm; if it reports missing dependencies, fetch those
> too and try again.

Yes, if the CouchDB version in EPEL is good for you, using the CouchDB 
EPEL package and figuring out which dependencies you'll need to bring 
along is absolutely the easiest way to get this to work.

Nils Breunese.

Re: Installing Couch on a machine with no internet and other issues

Posted by Brian Candler <B....@pobox.com>.
On Mon, Jan 18, 2010 at 10:18:21PM +0100, Nicolas Steinmetz wrote:
> > That doesn't tell you how to write a .spec file though. As a first call,
> > I'd start googling for them. There are several public RPM repositories out
> > there which publish spec files for thousands of packages.
> >
> 
> You can grab if from Fedora SRPMS.

Good suggestion.

Oh, and I forgot to check EPEL. It looks like you're in luck: there's a
reasonably up-to-date couchdb there (0.10) and Erlang (R12B5) and presumably
all other necessary dependencies.

https://fedoraproject.org/wiki/EPEL

Choose between i386 and x86_64, and RHEL4 and RHEL5. These are binary
packages so no need to build anything. Copy them to the target machine
and rpm -Uvh couchdb*.rpm; if it reports missing dependencies, fetch those
too and try again.

HTH,

Brian.

Re: Installing Couch on a machine with no internet and other issues

Posted by Nicolas Steinmetz <ns...@gmail.com>.
2010/1/18 Brian Candler <B....@pobox.com>

> On Mon, Jan 18, 2010 at 02:51:18PM -0500, Dave Ray wrote:
>


> That doesn't tell you how to write a .spec file though. As a first call,
> I'd start googling for them. There are several public RPM repositories out
> there which publish spec files for thousands of packages.
>

You can grab if from Fedora SRPMS.

I used to recompile PHP packages from Fedora for our own RHEL 5.x systems.
It worked well with FC 10 packages. I started to have troubles with FC11 and
mainly with FC12 packages. It's due to the fact that bases from RHEL 5.x is
less and less closed to FC11/12 base system.

For some FC12 packages (less complex than PHP & related dependancies), it
worked well, so you can have a try :-)

HTH,
Nicolas



-- 
Nicolas Steinmetz
http://www.steinmetz.fr - http://nicolas.steinmetz.fr/

Re: Installing Couch on a machine with no internet and other issues

Posted by Brian Candler <B....@pobox.com>.
On Mon, Jan 18, 2010 at 02:51:18PM -0500, Dave Ray wrote:
> Hi. I'm in the situation where I'm going to be installing CouchDB on a
> machine (RedHat Enterprise Linux)  with a couple limitations.
> 
> First, it has no internet access. I can bring software to it on CD or
> DVD (after a thorough security process), but can't install anything
> through a mechanism that requires internet access.
> Second, it has very little installed on it, in particular no gcc, so
> building from source would be difficult.
> 
> I'm by no means an expert on Linux package management systems so I'm
> looking for suggestions for easily getting a pre-built (with all
> required dependencies) CouchDB onto this machine. I have successfully
> set up Couch on a very similar machine, but in that case, had internet
> access so I could install gcc, Erlang, etc and then build Couch from
> source.
> 
> For what it's worth, I do have root access on this machine.
> 
> Any thoughts?

Looks like you need an RPM you can copy to the target machine, and RPMs for
all its dependencies (particularly erlang of course, but also things like
spidermonkey)

I've not built RPMs for couchdb, as all my work has been on Ubuntu boxes.
But I've built RPMs in the past, and the best way I've found is to build
them inside a chroot cleanroom environment using 'mach'. This guarantees
that you'll have all your dependencies properly sorted.

I've documented it here:
http://www.howtoforge.com/building-rpm-packages-in-a-chroot-environment-using-mach

Tell mach that you're building for CentOS <N>, and the binary package will
happily run on RedHat Enterprise <N>.

That doesn't tell you how to write a .spec file though. As a first call,
I'd start googling for them. There are several public RPM repositories out
there which publish spec files for thousands of packages.

HTH,

Brian.