Skip to content

Setting Up Your Development Environment

Peter Hurford edited this page Jul 5, 2015 · 15 revisions

Getting Started

Step 1: Install VirtualBox and Vagrant

Step 2: Make the Virtual Machine

Before you begin, make sure you're developing on a case-sensitive filesystem. This is almost certainly the case for Linux users.

If you're on OS X, (1) make a case-sensitive disk image using the application called Disk Utility. Open Disk Utility and create a new disk image like here:

Then cd to that disk image, and git clone the EA Forum within that disk image.

Step 3: Run the following submodules

Check out the submodules (except config/cap-tasks, which is only relevant for production):

/path/to/lesswrong$ git submodule init
/path/to/lesswrong$ git submodule deinit config/cap-tasks
/path/to/lesswrong$ git submodule update

Step 4: Run the Vagrantfile

The Vagrantfile is in the root of the repository. cd there and run vagrant up, then wait a little. It may take awhile.

Step 5: Edit etc/hosts

You should now have a running VM, but there are still a couple of things left to do:

EA Forum likes to be served from a given domain. Make an entry in /etc/hosts:

127.0.0.1	lesswrong.local

You may need to use sudo vim or something to edit it, as it's a readonly file by default.

Step 6: Start the Actual Server

Start the paster server:

/path/to/eaforum$ vagrant ssh
vagrant@precise64:~$ cd /vagrant/r2
vagrant@precise64:/vagrant/r2$ paster serve --reload development.ini

If you see 2015-07-05 23:00:23 : WSGIServer starting up, that means the server is running -- go to the next step.

Here's an example of the command history from all the above steps, and the full terminal output from this.

Step 7: Browse

You can now point your browser to http://lesswrong.local:8080 and get sensible-looking pages. If that address doesn't work, try http://lesswrong.local:3000. An admin user has been created with a default password of swordfish.

Step 8: Run Tests

The various testing methods (unit tests, manual tests, Selenium tests) are all specified in the hacking page.

Step 9: Contribute!

TrikeApps updates the site based on pull requests through GitHub - Peter is handling these at the moment.

Additional Resources

  • You can see questions and answers with a Less Wrong developer here (note that the deadline has passed for the prize described in the post).

Clone this wiki locally