BOINC Installing Guide

From Legion
Jump to: navigation, search
Language: English  • Español

This example shows how to install BOINC on Scientific Linux 6 - with a default project for testing with Legion. It is based on the current stable version of the BOINC Server (Revision 22328, http://boinc.berkeley.edu/svn/branches/server_stable/).


Installing BOINC on Scientific Linux 6 for i386

  • Begin installation, Disk Testing (optional), Setup language, storage, network, time, keyboard, etc.

Customize installation (use for base: basic server)

  • Select SL Addons - Yum Repositories - just Epel and RPM Forge Repos
  • Select Databases - MySQL Server - Client
  • Select Development - Development tools - just subversion
  • Select Web Services - Web Server (all default)

Reboot (required by installation) and login as root.

In order to enable http access:

setup # go to firewall, enable www (http)

In order to Init by default MySQL and Apache:

 chkconfig mysqld on
 chkconfig httpd on

Now is time to install dependencies for BOINC and Legion WS:

yum update

yum install make m4 libtool autoconf automake gcc openssl mod_ssl sqlite m4 make gcc libtool m4 autoconf automake pkgconfig mysql-connector-odbc mysql mysql-devel php-mysql mod_auth_mysql php-gd php-cli php-common openssl-devel python-setuptools MySQL-python mysql++ mysql++-devel gcc-c++ python-cherrypy php python-lxml libxml2-devel libxslt-devel Cython python-devel

Current repository version for soaplib is 0.8.1, but we need the 0.8.2. So execute:

 easy_install https://github.com/arskom/spyne/tarball/soaplib-0.8.2

Create de boincadm user:

 useradd boincadm
 groupadd boinc
 groupmems -a apache -g boinc
 groupmems -a boincadm -g boinc


We need to create a user at the MySQL database. Start it if is is not yet started:

mysql

In prompt run:

mysql> GRANT ALL ON *.* TO 'boincadm'@'localhost'; SET PASSWORD FOR 'boincadm'@'localhost' = ;

To check (verify boincadm should be present) try this:

mysql> SELECT user,create_priv,password from mysql.user;

Change to boincadm user and download server_stable from BOINC SVN repository for compiling:

 cd 
 svn co -r 22328 http://boinc.berkeley.edu/svn/branches/server_stable/
 cd /home/boincadm/server_stable/ 
 ./_autosetup 
 ./configure --enable-server --disable-client --without-x 
 make


Now create a BOINC project. Remember to change the {ip} - Let's create a project:

 ./tools/make_project --delete_prev_inst --user_name boincadm --drop_db_first --db_user boincadm --url_base http://{ip}/ CustomApplication 'Custom Application'  

cd /home/boincadm/projects/CustomApplication/

nano html/project/project.inc

    1. Line 70 change the 0 for a 1.

Lets create a user for web administration use:

 cd html/ops/
 htpasswd -c .htpasswd {username}
 {type password}
 {repeat password}


As root run:

 su root
 cd /home/boincadm/projects/CustomApplication/
 cp CustomApplication.httpd.conf /etc/httpd/conf.d/CustomApplication.conf
 chgrp -R apache html/languages
 chmod -R g+w html/languages
 chgrp -R apache upload
 chmod -R g+w upload
 chgrp -R apache log_legion
 chmod -R g+w log_legion
 chgrp -R apache html/cache
 chmod -R g+w html/cache/
 chgrp -R apache html/user_profile
 chmod -R g+w html/user_profile
 chmod -R o+rx html/inc
 chgrp apache download
 chmod g+rxs download
 chgrp apache bin/feeder
 chmod g+xs bin/feeder
 chmod 755 /home/boincadm


Restart apache for changes to take effect:

 service httpd restart

As boincadm run to create the 'integrator' project:

cd /home/boincadm/projects/CustomApplication/apps/ mkdir integrator cd integrator mkdir wrapper_1.0_i686-pc-linux-gnu cd /home/boincadm/server_stable/samples/wrapper/ make cp wrapper /home/boincadm/projects/CustomApplication/apps/integrator/wrapper_1.0_i686-pc-linux-gnu/wrapper_1.0_i686-pc-linux-gnu cd /home/boincadm/projects/CustomApplication/apps/integrator/wrapper_1.0_i686-pc-linux-gnu/ cp /tmp/integrator ./integrator_1.0_i386 # Change the location of the integrator program - We assume /tmp


Create the following file:

nano job.xml=job_1.0.xml # Contents as follows:

 <job_desc>
   <task>
     <application>integrator_1.0_i386</application>
   </task>
 </job_desc>


Register files:

 cd /home/boincadm/projects/CustomApplication
 ./bin/xadd
 ./bin/update_versions


Edit the project file:

nano project.xml #Content as follows (this will enable only linux clients).

 <boinc>
   <platform>
       <name>i686-pc-linux-gnu</name>
       <user_friendly_name>Linux running on an Intel x86-compatible CPU</user_friendly_name>
   </platform>
   <app>
       <name>integrator</name>
       <user_friendly_name>Definite Integral</user_friendly_name>
   </app>
 </boinc>


Edit the config file:

nano config.xml # replace the daemons section with:

 <daemons>
   <daemon>
     <cmd>
       feeder -d 3 
     </cmd>
   </daemon>
   <daemon>
     <cmd>
       transitioner -d 3 
     </cmd>
   </daemon>
   <daemon>
    <cmd>
     file_deleter -d 3 -preserve_result_files -preserve_wu_files -d 3
    </cmd>
   </daemon>
   <daemon>
    <cmd>
      sample_trivial_validator -d 3 -app integrator
    </cmd>
   </daemon>
   <daemon>
    <cmd>
       sample_dummy_assimilator -d 3 -app integrator
    </cmd>
   </daemon>
 </daemons>


To start the daemons:

./bin/start

to check:

./bin/status


Now you've got a boinc server installed!

Troubleshoot

If you got network issues you could try:

  • Comment in the file: /etc/sysconfig/network-scripts/ifcfg-eth0 the following lines:
  1. NM_CONTROLLED
  2. UUID

And changing the following:

  1. ONBOOT=yes
  • Edit the following file:/etc/sysconfig/selinux
  1. set to: disabled

-> For current session run:

 setenforce 0
Personal tools
Namespaces

Variants
Views
Actions
Navigation
Legion Web Interface
Legion Web Service
Installation guide
Centralized BOINC Server Management
navigation end