HOWTO: Running Bricolage on the Same Machine as the Front End Server

phillipadsmith edited this page Aug 16, 2010 · 1 revision
Clone this wiki locally

Installing Bricolage when you only have one web server seems to be a confusing point for a lot of users. With only one machine, the front-end Web server and back-end Bricolage server have to run side-by-side, on different ports. Since both the front-end and back-end servers use Apache, it is technically possible to run them both as VirtualHosts, but that isn’t recommended for performance reasons. Instead, it is better to run the servers separately on different ports.

Terminology

  • Bricolage server: The Bricolage Content Mangement System. This is the server that runs, among other things, the Bricolage web user interface. It does not serve your website to visitors. Although this runs on top of Apache, I mean different things when I say “Bricolage server” and Apache server.

  • Apache server: The front-end Apache Web server. This is the server that serves content to your site’s visitors.

  • Apache installation: An installation of Apache consists of all of the actual files installed during the normal Apache installation process.

  • Apache instance: An instance of Apache is a running Apache process that responds to HTTP requests. Different instances can run from the same installation, and can use different configuration files to do different things.

One install, many instances

The best way to run Bricolage on the same machine as your front-end server is to run Bricolage and the front-end server as separate instances. You accomplish this by passing the -f argument to httpd, e.g.

# /usr/sbin/httpd -f /usr/local/bricolage/conf/httpd.conf
  1. /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf

The above starts two instances of Apache, one configured for Bricolage and the other configured for the standard front-end server.


Installation


Front-end Web server


Install the front-end server as you normally would install an Apache Web server. If you’re using a system that supports a package manager (RPM, apt-get, Portage, yum, etc.), no additional configuration will be required.


Manually installing Apache is outside the scope of this HOWTO. You should look up instructions for your distribution. Note that as of version 1.8.2, Bricolage allows mod_perl as a DSO, which means you don’t need to recompile Apache if your distribution’s Apache package does not contain mod_perl statically compiled (e.g. Debian’s apache-perl package).


Bricolage


Installing Bricolage is very straightforward. When asked during normal installation which port to use, pick something other than the one your front-end server will run on. Usually, the front-end server runs on port 80, so you’d probably want to chose something like 8080 for Bricolage. If you’re using SSL, you should choose something like 8443 when asked about the SSL port:


    Apache User: [nobody] your choice
Apache Group: [nobody] your choice
Apache Port: 80 8080
Are you sure you want to use '8080'? [yes]
Apache Server Name: [your.server.name.example.com]

Once you start Bricolage, you will be able to access it by adding the port number to the URL. For example, if your front-end server is running at http://www.example.com/, Bricolage is available at http://www.example.com:8080/.


Setting up destinations


Once Bricolage and the front-end server are installed and running, you need to tell Bricolage to publish your documents to the DocumentRoot of the front-end server so that they can be served to visitors. Bricolage does not serve content to visitors, only to your organization’s content contributors!


Check the httpd.conf of the front-end server to determine where its DocumentRoot is. On many systems, it is in /var/www/htdocs/, /var/www/localhost/htdocs/, /var/www/public_html/, or something similar. An easy way to figure this out is to do:


# grep "DocumentRoot" /etc/httpd/conf/httpd.conf

Next, log into the Bricolage user interface (UI) as an administrator and open Admin > Distribution > Destinations. Add a new destination:




  • Name: Your choice


  • Move Method: File System


  • Copy Resources: Unchecked


  • Publishes: Checked


  • Previews: Unchecked


  • Output Channels: Your choice




Add a new action:




  • Type: Move




Add a new server:




  • Hostname: The base URL used to access your website, e.g. http://www.example.com


  • Document Root: The value for the front-end server’s DocumentRoot, found above (e.g. /var/www/localhost/htdocs)




Now, when you publish an asset in Bricolage, it will be copied to a directory under the front-end server’s DocumentRoot and will be available through a browser.