Installing BOINC / World Community Grid on Ubuntu (not Centos)

Installing BOINC

Some of you may have read our previous article on world community grid, saying why it is a good idea to donate your spare cpu time. We recommended this for desktop computers mostly, but also servers if they are completely idle. If you want, you can also join team IOFLOOD on world community grid. IOFLOOD.com has donated, as of this writing, over 37 years of idle server compute time to world community grid, and we’d love for you to join us.

We felt a followup article on actually installing and using world community grid would be called for here. Although installing the windows client is quick and painless, you may be at a bit of a loss on how to install this under linux. After looking through various tutorials, installing packages, dependencies, etc, I can tell you it’s a bit of a mess! So I’d like to help with that process with a simple guide.

 


First, some assumptions:

 

1) You are installing this remotely, on a computer with no readily accessible GUI

Most of the guides out there assume you’re installing this on your desktop computer with a linux GUI, so naturally, our guide is more helpful if you’re installing this on a linux server

 

2) You’re installing this on Ubuntu and NOT Centos

Although I love Centos, trying to get BOINC installed under Centos just leaves you in dependency hell. By comparison, installing in Ubuntu is quick and painless, so we’re focusing this guide there. If we figure out an easy way to get this installed in Centos, we’ll post a followup guide in the future.

 

3) You’ll be running commands over SSH, and are comfortable editing text files in linux via ssh (using a program such as nano)

If you’re not sure how to SSH login to your server, or don’t know how to edit text files in linux, this guide won’t include enough detail for you.

 

4) You want to run the BOINC client as a daemon, that is, 24/7

These steps will configure the BOINC client to run 24/7 including at bootup. It will still honor your configuration for what time of day to do CPU crunching, but the control process will always be running in the background.

 


Next, the steps:

 

1) Install a reasonably up to date copy of Ubuntu, if you haven’t already.

Getting this done is outside the scope of this article, but there are plenty of other guides available online.

 

2) Login to your Ubuntu computer / server over SSH.

The remaining steps assume you’ll be running shell commands over an SSH login

 

3) Make sure apt-get is up to date and cleaned up.

Run the command “apt-get update”

This may be necessary if your computer did not have internet access at the time you installed ubuntu initially.

 

4) Install BOINC with the command: “apt-get install boinc-client -y”

If apt-get is working, and you have a reasonably new-ish copy of Ubuntu, just wait a bit and that’s it for this step. If only the Centos install process could be this easy!

 

5) Kill the running copy of boinc and edit the config file

Run the following shell commands:

killall boinc
cd /etc/boinc-client/
nano /etc/init.d/boinc-client

This will now open a text editor. Scroll to the portion that says “enabled = 0” and change it to “enabled = 1”. Save your changes and exit the text editor. This will run BOINC at bootup

 

6) Add a password for remote configuration of BOINC

Run the following shell command to open an editor for the password file:

nano gui_rpc_auth.cfg

Enter in a password of your choice. Save your changes and exit the text editor. You will be using this to manage the BOINC install.

 

7) Add a list of hosts you want to be able to connect to BOINC remotely

Run the following shell command to open an editor for the hosts access list:

nano remote_hosts.cfg

Add the IP addresses of the computers that will be accessing this copy of BOINC remotely. Then save your changes and exit the text editor.

It is best if you access BOINC from an IP address that does not change so that you won’t need to update this file in the future. If all your BOINC computers are local, you can enter your local IP address (192.168.x.x or 10.x.x.x). If the BOINC server you’re installing is on a remote network, you’ll need to enter the public IP your computer uses on the internet. If you are not sure what public IP address your local computer has, you can check your current IP address at www.ipchicken.com

 

8) Start running BOINC as a Daemon

Run the following shell command to start BOINC with the new settings:

/usr/bin/boinc --daemon

 

9) Connect to your remote BOINC install

From your World Community Grid GUI client on your desktop computer, click “advanced” and then “select computer”.

Where it asks for “hostname”, Enter the IP address of the computer where you just installed BOINC. If you and the BOINC computer are on the same local network, enter the local IP of the BOINC computer (192.168.x.x). If the BOINC computer is on a remote network, enter the public static IP of the BOINC computer. If the remote BOINC computer does not have a public static IP, you will need to set up port forwarding, which is beyond the scope of this article. Under “password”, enter the password you configured earlier.

If the remote BOINC computer is accessible, you’ve selected the correct IP for the remote computer, and you are accessing it from an allowed IP address (configured in step 6), then it should now ask you to add a project to the BOINC install for that computer. From this point onwards, just do what you would normally do for installing BOINC under windows.

 


Congratulations!

You’ve now installed your first copy of BOINC under Ubuntu Linux. The first time is always a bit tricky, but after you’ve done it before, the next few times should be a piece of cake. If you feel any important steps were missing, or have anything else to contribute to this guide, please email us at sales [at] ioflood.com.

If you liked this tutorial, you might consider helping us out by joining team IOFLOOD on world community grid. Together we hope to help make progress on scientific research.

 

If you have any questions about this information, or want to learn about ioflood.com dedicated servers, email us at sales [at] ioflood.com