Installing Campsite 3.1 under Windows Vista

The Campsite content management system is an extremely flexible and powerful tool for news websites. And since the 3.0 version of Campsite, it can be installed under Windows relatively easily. This howto has been written for users of Windows Vista, but the steps should be similar, if not easier, for other versions of Windows as well.

The main advantage of having Campsite installed under Windows is that it greatly simplifies the process of creating and altering site templates; proprietary design and image editing tools such as Photoshop, Illustrator and Dreamweaver run under Windows but not on Linux. Having a local version of Campsite running means that a template designer can easily alter site graphics without having to either use a remote server or reboot into Linux.

This howto is not intended for production servers running under Windows.

Prerequisites

To install Campsite under Windows, you will need the Windows versions of the following software packages:

  • Apache 2.2 (this installation used apache-2.2.8-win32-x86-openssl-0.9.8g.msi from http://httpd.apache.org/download.cgi)
  • PHP 5.25 (http://www.php.net/get/php-5.2.5-win32-installer.msi/from/a/mirror)
  • MySQL (this installation used mysql-essential-5.0.51a-win32.msi, downloadable from http://dev.mysql.com/downloads/mysql/5.0.html#win32)
  • Campsite 3.1 (http://sourceforge.net/project/showfiles.php?group_id=66936)

Optional programs:

  • 7-zip (for opening and working with tar.gz files): http://sourceforge.net/project/showfiles.php?group_id=14481&package_id=29413
  • Resource Hacker (for making changes to MySQL so that it will install under Windows Vista): http://www.angusj.com/resourcehacker
  • Notepad++ (for making changes to various text files. It's like gEdit under Linux): http://downloads.sourceforge.net/notepad-plus/npp.4.8.Installer.exe?modtime=1204074249&big_mirror=0

Installing MySQL under Windows Vista

MySQL has a number of known issues installing under Windows Vista. You must:

  • There is a known issue regarding side-by-side installation if you try to install MySQL directly from the .msi package. You will have to change a file in the MySQL installer in order for it to install properly. The steps below are taken from a post to the MySQL forums at this address: http://forums.mysql.com/read.php?11,195569,195569#msg-195569

To install MySQL Server 5.0.51a in Vista

  1. Disable the UAC in Windows Control Panel->User Accounts
  2. Use mysql-essential-5.0.51a-win32.msi
  3. In the final step uncheck "Configure MySQL Server now"
  4. Download and run Resource Hacker http://www.angusj.com/resourcehacker/[[BR]]
  5. Open ...\MySQL Server 5.0\bin\MySQLInstanceConfig.exe with Resource Hacker
  6. Navigate to 24\1\1033
  7. Change <requestedExecutionLevel level="asAdministrator" uiAccess="false"> to <requestedExecutionLevel level="requireAdministrator" uiAccess="false">
  8. Press "Compile script"
  9. Exit Resource Hacker and save the result (overwrite the initial MySQLInstanceConfig.exe)
  10. Now MySQLInstanceConfig.exe should start normally.
  11. Configure the server.
  12. Sometimes the server doesn't start:
    a) Check Windows Firewall settings (3306/TCP)
    b) Try changing the compability mode for the file ...\MySQL Server 5.0\bin\mysqld-nt.exe to Windows XP-SP2.
  13. That's all.

Go through the MySQL installation process and make a note of your MySQL root password. You will need this later.

Installing Apache 2.2

Apache 2.2 installed using the Windows Installer without problems under Windows Vista. Once installed, it even has a small icon for starting, restarting and stopping Apache which runs in the system tray. The Apache folders are in this directory:

C:/Program Files/Apache Software Foundation/Apache 2.2/htdocs

(This is the equivalent of /var/www/ under Linux)

You will have to change your Apache virtual host configuration. This involves making changes to two files, httpd-vhosts.conf and httpd.conf. You can find httpd.conf in C:/Program Files/Apache Software Foundation/Apache 2.2/conf

and you will find httpd-vhosts.conf in C:/Program Files/Apache Software Foundation/Apache 2.2/conf/extra

Open C:/Program Files/Apache Software Foundation/Apache 2.2/conf/httpd.conf

Make a backup of this file. Give it a name like 'httpd.conf.backup'

Reopen the httpd.conf file.

Search for the line that says:

#Virtual Hosts
#Include conf/extra/httpd-vhosts.conf

Remove the # mark from the line to uncomment the Virtual Hosts directive:

#Virtual Hosts
Include conf/extra/httpd/vhosts.conf

In that file you should also make sure that the mod_dir.so and mod_rewrite.so modules are loaded in order for Campsite to work properly:

LoadModule dir_module modules/mod_dir.so
LoadModule rewrite_module modules/mod_rewrite.so

Save and close.

Open the file for virtual hosts under Apache in C:/Program Files/Apache Software Foundation/Apache 2.2/conf/extra/httpd-vhosts.conf

There are a number of directives Campsite needs in order to run. Here is how I set up my Apache virtual host using the name of 'mycampsite' on my local host:

<VirtualHost *:80>
	ServerAdmin webmaster@mycampsite.localhost
	DocumentRoot "C:/Program Files/Apache Software Foundation/Apache 2.2/htdocs/mycampsite"
	ServerName mycampsite.localhost
	ServerAlias www.mycampsite.localhost
	DirectoryIndex index.php
	<Directory "C:/Program Files/Apache Software Foundation/Apache 2.2/htdocs/mycampsite">
		Options -Indexes FollowSymlinks MultiViews
		AllowOverride All
        	Order allow,deny
		Allow from all
	</Directory>
	ErrorLog "logs/mycampsite.localhost-error.log"
	CustomLog "logs/mycampsite.localhost-access.log" common
</VirtualHost>

You must make separate virtual hosts for every Campsite instance you want to run.

Editing the Windows system's 'hosts' file. In order for mycampsite.localhost to be visible, you need to tell Windows that you've added this new subdomain to 'localhost'. To do this, you must go to C:/Windows/System32/drivers and edit the file. Or you can go to C:/Windows/System32 and search for 'hosts'.

Your file will look like this in the main part:

127.0.0.1     localhost
::1           localhost

You need to add a line to include your site name (in this case it was 'mycampsite'):

127.0.0.1      localhost
127.0.0.1      mycampsite.localhost
::1            localhost

You may need to restart for this to take effect.

Installing PHP

Installing PHP was fairly straightforward.

Select Apache 2.2 as the version you are using and point it to the Apache configuration directory is located (C:/Program Files/Apache Software Foundation/Apache 2.2/conf).

During the installation process, you will be asked if you want to install PHP extensions. You will need the following:

  • GD2
  • MySQL

They are located in the Extensions tree and are not installed by default, so you will have to find them in the tree and select them for installation.

You might need PEAR, so it's a good idea to enable that as well under 'Extras-> PEAR Install'.

If you miss it the first time around, you can always go back and re-enable them by going to Control Panel -> Uninstall -> PHP5 -> Change and this will restart the setup.

Installing Campsite 3.1

If you haven't done so already, download Campsite 3.1: http://sourceforge.net/project/showfiles.php?group_id=66936

Unpack the files using 7-zip.

The Campsite INSTALL file included in the tarball is written for Unix users, and things are a bit different under Windows. For example, you will have to copy the implementation/site folder to your Apache document root. If you did not change anything, the Apache document root will be in this directory: C:/Program Files/Apache Software Foundation/Apache 2.2/htdocs

In a separate window, go to where you unpacked the Campsite 3.1 tar file (in this case the folder was named campsite-3.1.0.tar), open the folder marked 'implementation' and then the folder marked 'site'. Select all the files in implementation/site and copy them.

Go to the Apache document root (C:/Program Files/Apache Software Foundation/Apache 2.2/htdocs) and create a new folder with the name of your Campsite implementation. In this case the folder was named 'mycampsite'. Open that folder and paste the files you copied from the implementation/site folder into your new folder.

Rename the file htaccess to .htaccess and be sure your apache installation is able to read it in order for Campsite to work well on this platform.

If all the other programs (Apache, MySQL, PHP) have been installed correctly, you should be able to start the Campsite web installer by opening this address in your browser:

mycampsite.localhost

follow the steps in the Campsite web installer and you should be on your way.

Once the installation is done, you can open your Campsite administration interface in a browser at this address:

mycampsite.localhost/admin

Notes:

Because this howto is using the MySQL database only for Campsite and only for testing/development, it used the MySQL root username and password. You should use a different username/password if you will be using MySQL for other purposes on your Windows install.

For users of previous versions of Campsite, you have to pay special attention to the last page of the web config. The old default username/password combination of admin/admn00 has changed. Now you set your password on the last page of the web installer so that your username is admin and the password is whatever you set.