Folding@home is a distributed computing project started by Stanford University to help understand protein folding, misfolding, and related diseases. The project uses the idle processing resources of thousands of personal computers belonging to people that have installed the Folding@home software on their systems. In this post I will describe how to install and configure the Folding@home client software on Ubuntu server. All steps assume that the Apache http server on Ubuntu server is installed and operating correctly.
Software versions used in this post were as follows:
- Ubuntu server 16.04.3 LTS
- fahclient_7.4.4_amd64.deb
So let’s get started…
Download and Install
First, update your package list:
1 |
sudo apt-get update |
Then download and install the latest 64-bit version of the Debian-based Folding@home client to a location of your choice. In this example we’ll use the user’s home directory:
1 2 |
cd ~ wget --no-check-certificate https://fah.stanford.edu/file-releases/public/release/fahclient/debian-testing-64bit/v7.4/fahclient_7.4.4_amd64.deb |
Note that fahclient_7.4.4_amd64.deb was the most current version of the client at the time this post was published. You may need to update the file name in this command in order to fetch the most recent version of the software.
Now lets install the client:
1 2 |
cd ~ sudo dpkg -i --force-depends fahclient_7.4.4_amd64.deb |
The installer will request you to enter a Folding@home donor name, team number, passkey (optional), whether the client should be automatically started at system boot, and how much of your system resources should be used (See Figures 1-5, repectively).
If you have an existing Folding@home donor name enter that name here, else enter a new donor name:
If you’re joining an existing Folding@home team, enter that team number here, else simply enter 0 for no team:
The Folding@home passkey is a unique identifier that ties your Folding@home contributions directly to you (not just those with your username). The passkey uniquely identifies you as an individual donor and is associated with the results that you have completed. If you have an Folding@home passkey and would like to use it enter it here. If you don’t have a passkey and would like one, you can request one from Folding@home. Else simply select “Ok” here to move to the next screen:
Choose whether or not you want the Folding@home client to startup automatically when the Ubuntu server boots:
Finally, you can select how aggressively the client uses your system’s CPU resources:
The installer will finish and automatically start the Folding@home client. You can verify that the client is running using the following command:
1 2 |
sudo /etc/init.d/FAHClient status fahclient is running with PID 30562 |
You can now delete the installation Folding@home package fahclient_7.4.4_amd64.deb from your home directory, if desired.
Configure
Now that the Folding@home client has been installed it’s time to configure Web Control, Folding@home’s graphical interface. Web Control is the default control program for monitoring your Folding@home client via an easy to use web page.
First, stop your running Folding@home client:
1 |
sudo /etc/init.d/FAHClient stop |
Then use sudo and your favorite editor to append the following lines to /etc/fahclient/config.xml, which will grant access to the Web Control dashboard to a specific IP address. Unfortunately Web Control can only grant access to a single IP address. In this example we’ve chosen to grant access to the host with the IP address 192.168.10.100:
1 2 3 |
<!-- Grant remote web access to the following IP --> <allow>192.168.10.100</allow> <web-allow>192.168.10.100</web-allow> |
Finally, restart the Folding@home client:
1 |
sudo /etc/init.d/FAHClient start |
You should now be able to access the Folding@home Web Control dash board at http://your-ubuntu-server-IP-address:7396/ (See Figure 6)
Conclusion
There you have it. A few minutes of your time and you can easily have Folding@home up and running on your Ubuntu server. I think Folding@Home is a great cause and have created my own Folding@Home team to contribute some of my spare CPU cycles. How about you? If you have a few cycles to spare how about dedicating some to Folding@home’s efforts? You’re also welcome to join join my team. To join, simply enter the team number 78746 when you install folding@home.
References
https://en.wikipedia.org/wiki/Folding@home
https://foldingathome.org/support/
Hi
thanks for your how to
Do you now if is it possible to change the web control port ?
Regards
Hi Zak. I think it may be. I am not currently running F@H on Linux, but I pulled the following code from the config.xml in my Windows implementation. You might try dropping it into your config.xml and playing around with it.
Hello,
I followed your instructions and everything worked perfectly. Now when I want to use the Web control dashboard, it doesn’t show any results and it always refreshes itself. Do you know maybe reason and solution for this?
Regards
Max, sorry I do not know what might be causing this at the moment. If I get some time I will stand up Ubuntu server again and see if I can duplicate the problem.
so I tried to run it, on my server where i have two domains running on nginx through proxies and ssl, so if i do ip:7396 it surely doesnt work.
so I tried to put in my nginx config file on one server block with domain1.com
location /fah {
proxy_pass http://localhost:7396;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade’;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
and when i hit domain.com/fah it says access denied
but /var/lib/fahclient/ has all permissions except w on last one
any idea that could help?
Sorry, sipmarch7. I’ve no experience with nginx.