Import the working directory of the Git repository as a single general project.

Start XAMPP and go to http://localhost/epsilon.

You are now ready to start playing with the Epsilon site locally.

Once you've happy with the changes you've made, go back to the epsilon project in Eclipse, refresh and then commit and push the changes to Git. The site should be updated within a few minutes.

Using lighttpd instead of XAMPP

You can also use lighttpd with PHP instead of XAMPP, following this tutorial and pointing server.document-root to your htdocs directory, checked out as above. Alternatively, in most Debian-based GNU/Linux distributions, installing the lighttpd and php5-cgi packages and adapting this minimal configuration should be enough:

-e robots=off makes wget ignore robots.txt. This is OK in this case, as we're running the spider on our own local server.

--spider prevents wget from downloading page requisites that do not contain links

-r makes wget traverse through links

--no-parent prevents wget from leaving /gmt/epsilon/

-o wget_errors.txt collects all messages in the wget_errors.txt file

Once it's done, we can simply search for the word "404" in the log, with:

grep -B2 -w 404 wget_errors.txt

We will get a list of all the URLs which reported 404 (Not Found) HTTP error codes.

To find broken links in the Epsilon blog, it is better to use -l 3 (3 levels of recursion for the spider) rather than --no-parent, as we might want to check if external links are broken as well. We use three levels so we can go to the month in the "Archives", then to the full article, and finally to the external link itself.