Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
HOWTO: Running Bricolage on the Same Machine as the Front End Server
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.
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: The front-end Apache Web server. This is the server that serves content to your site’s visitors.
Apache installation: An
installationof Apache consists of all of the actual files installed during the normal Apache installation process.
Apache instance: An
instanceof 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
# /usr/sbin/httpd -f /usr/local/bricolage/conf/httpd.conf
- /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.
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
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
Output Channels: Your choice
Add a new action:
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.
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.