Installing Bricolage
by David WheelerOctober 28, 2004
Now that Content Management with Bricolage has piqued your interest, you might be wondering what you need to do to install it. I'll be the first to admit that installing Bricolage is not trivial, given that it requires several third-party applications and modules to do its job. That said, the installer tries hard to identify what pieces you have and which ones you don't, to help you through the process. Even still, it can help to have a nice guide to step you through the process.
This article is here to help.
Packaging Systems
First off, depending on your operating system, you may be able to install Bricolage via the supported packaging system. If you run FreeBSD, you can install a recent version from the Free BSD ports collection. To do so, update your ports tree, and then:
% cd /usr/ports/www/bricolage
% make
% make install
A Debian package is also available. To install it, add these lines to your /etc/apt/sources.list file:
# bricolage
deb http://tetsuo.geekhive.net/mark/debian/unstable /
deb-src http://tetsuo.geekhive.net/mark/debian/unstable /
Then you can install Bricolage using apt-get:
# apt-get install bricolage-db
# apt-get install bricolage
|
Related Reading
|
The packaged distributions of Bricolage are great because they handle all of the dependencies for you, making installation extremely easy. The downside, however, is that there is frequently a lag behind a new release of Bricolage and the updating of the relevant packages. For example, the current stable release of Bricolage is 1.8.2, but the FreeBSD ports package is currently at 1.8.1. The Debian port is at 1.8.0. Furthermore, as of this writing, neither packaging system supports upgrading an existing installation of Bricolage, which may require database updates.
Building Bricolage
The alternative is to compile and install Bricolage and all of its
dependencies yourself. This is not as difficult as it might at first sound,
because Bricolage is a 100% Perl application and therefore requires no
compilation. Many of the dependencies, however, do require compilation
and have their own histories of successful installation on a given platform.
For the most part, however, they have solid histories of success, and in the
event of trouble, there are lots of resources for help on the Internet (see,
for example, my articles on building
Apache/mod_perl on Mac OS X). The platform-specific
README files that come with Bricolage also contain useful information
to help with your installation.
The next few sections of this article cover manual installation of Bricolage. If you're happy with a package install, this information can still be very useful for understanding Bricolage's requirements. If you're antsy, skip to the end to find out where to go next.
Prerequisites
First: did you read the README file for your platform?
The most important prerequisites for Bricolage are:
- Perl
-
What kind of Perl.com article wouldn't have this requirement? Bricolage requires Perl 5.6.1 or later, but if you're going to work with any kind of non-ASCII characters in your content, I strongly recommend Perl 5.8.3 or later for its solid Unicode support. All text content managed by Bricolage is UTF-8, so for sites such as Radio Free Asia the newer versions of Perl are a must.
Experience has also shown that some vendor versions of Perl don't work too well. Red Hat's Perl, in particular, seems to have several problems that just go away once a sys-admin decides to compile her own. Caveat Perler.
- Apache
-
Bricolage doesn't serve content, but it does require a web server to serve its interface. It requires Apache 1.3.12 or later, with a strong recommendation for the latest, 1.3.31. Bricolage does not yet support Apache 2, though the upcoming release of
mod_perl2 will lead to a port. mod_perl-
Speaking of
mod_perl, Bricolage requiresmod_perl1.25 or later, with a strong recommendation to use the latest, 1.29. You can either statically compilemod_perlinto Apache or, as of the recent release of Bricolage 1.8.2, compile it as a dynamically shared object library (DSO). However, in order to usemod_perlas a DSO, you must have compiled with a Perl that was configured with-Uusemymallocor-Ubincompat5005. See thismod_perlFAQ for more details. Bricolage's installer will check this configuration against the Perl you use to run the installation and will complain if the installing Perl lacks these attributes. However, this check is only valid if the Perl running the installation is the same as the Perl used bymod_perl, so it pays to be aware of this issue.As I said, Bricolage does not currently support
mod_perl2. However, now thatmod_perl2 is nearing release, there is greater interest in porting Bricolage to it (and therefore to Apache 2). Some work has begun in this area, and we hope to be able to announcemod_perl2 support by the end of the year. - PostgreSQL
-
Bricolage stores all of its data in a PostgreSQL database. For those not familiar with PostgreSQL, it is an advanced, ACID-compliant, open-source object-relational database management system. I've found the compilation very easy on all platforms I've tried it on (although I have had to install libreadline on Mac OS X, first). Bricolage requires PostgreSQL 7.3 or later and recommends version 7.4. Bricolage will support the forthcoming PostgreSQL 8.0 around the time of its release, but to date no one has tested them together.
The one other recommendation I make is that you specify
--no-localeor--locale=Cwhen you initialize the PostgreSQL database. This is especially important if you will be managing content in more than one language, as it will prevent searches and sort ordering from being specific to one language and possibly incompatible with others. A Unicode and searching discussion on the pgsql-general mail list provides a broader perspective. mod_sslorapache-ssl-
If you want encrypted communications between Bricolage and its clients, install either
mod_sslorapache-ssl. SSL is optional in Bricolage, but I recommend using it for security purposes. Bricolage can use SSL for all requests or just for authentication and password changing requests. Tune in for the next article in this series,Bricolage Runtime Configuration
, for information on configuring SSL support. - Expat
-
Bricolage uses the XML::Parser Perl module, which in turn requires the Expat XML parser library. Most Unix systems have a version of Expat installed already, but if you need it, install it from the Expat home page.
- CPAN Modules
-
Bricolage uses a very large number of CPAN modules. Most of those required in turn require still more modules. For the most part, we recommend that you let the Bricolage installer install the required modules. It will determine which modules you need and install them using the
CPANmodule. If you want to get ahead of the game, use theCPANmodule to install them yourself, first. The easiest way to do it is to install Bundle::Bricolage. This module bundles up all of the required modules so thatCPANwill install them for you:% perl -MCPAN -e 'install Bundle::Bricolage'There are also several optional modules. Install these all in one command by using the Bundle::BricolagePlus module:
% perl -MCPAN -e 'install Bundle::BricolagePlus'Installing the Perl modules yourself can be useful if you expect to have trouble with one or more of them, as you can easily go back and manually install any troublesome modules. If you want to install them all yourself, without using the bundles, the INSTALL file has a complete list (copied from Bric::Admin). I don't recommend this approach, however; it will take you all night!
Note: Bricolage currently does not run on Windows. This
situation will likely change soon, with the forthcoming introduction of
PostgreSQL 8.0 with native Windows support as well as mod_perl 2.
Watch the Bricolage web site for announcements in the coming months.

