wiki:BOINC/Server

Version 13 (modified by jazz, 16 years ago) (diff)

--

架設 BOINC Server

BOINC Server 的架設方式有兩種:

  1. 使用 Berkeley BOINC 團隊提供的 VMWare Image - Debian Etch 4.0r0 32bit
    • Linux 上如果遇到權限問題, 請確認解壓縮之後, vmx 檔案是否具備執行權限(Execution)
    • 狀況: 網路卡一直無法正常啟動, 故轉而使用自行製作的 vmware image.
  2. 使用自製 Debian Etch 4.0r0 版本的 Xen VM 並執行 自行安裝 的步驟

使用 BOINC 官方 VMWare Image

根據官方文件的說明, 安裝 BONIC Server 最容易的方法是安裝VMWare player (免費軟體/freeware)。目前有兩個 VMWare Image 可以下載:

自行安裝

前置作業: Based Xen Hypervisor

  • 以下的步驟是在 Xen 的環境下完成, Xen 的安裝步驟請參考 Xen Installation How-To
  • 前置作業: 建立 BOINC Server Xen VM (Etch)
    xen-server:~# xen-create-image -dir /home/xen --dist etch --debootstrap --fs reiserfs --accounts --kernel /boot/vmlinuz-2.6.18-6-xen-vserver-amd64 --initrd /boot/initrd.img-2.6.18-6-xen-vserver-amd64 --hostname boinc-server --ip 140.110.240.194 --gateway 140.110.240.254 --netmask 255.255.255.0 --mirror http://free.nchc.org.tw/debian
    xen-server:~# xm create /etc/xen/boinc-server.cfg
    xen-server:~# xm list
    Name                                      ID Mem(MiB) VCPUs State   Time(s)
    Domain-0                                   0     1878     4 r-----   1478.4
    bonic-server                               1      128     1 -b----   1035.7
    
  • 使用 root 帳號登入, 別忘了要設定密碼喔!! 否則用 xen-create-image 產生 VM 時請記得加 --passwd
    xen-server:~# xm console bonic-server
    boinc-server login: root
    boinc-server:~# passwd
    

安裝 BOINC Server 相關軟體

  • [參考文獻] Cookbook for Debian 4.0
  • BOINC Server 基本的套件需求
    boinc-server:~# apt-get update
    boinc-server:~# apt-get upgrade
    boinc-server:~# apt-get install m4 make autoconf automake gcc g++ pkg-config libtool subversion vim apache2-mpm-prefork libapache2-mod-php5 mysql-server mysql-client-5.0 mysql-client-5.0 php5-mysql php5-cli php5-gd phpmyadmin python-mysqldb libmysql++-dev libssl-dev
    
  • 建立 BOINC 管理者帳號
    boinc-server:~# adduser boincadm
    
  • 修改 MySQL Server 預設 root 密碼
    boinc-server:~# mysql_install_db
    boinc-server:~# mysqladmin -h localhost -u root password '新的 MySQL Root 密碼'
    
  • 建立 BOINC SQL 管理者 boincadm 權限
    boinc-server:~# mysql -h localhost -u root -p
    mysql> GRANT ALL ON *.* TO 'boincadm'@'localhost';
    mysql> SET PASSWORD FOR 'boincadm'@'localhost'=''; 
    mysql> quit
    
  • 編譯 BOINC 原始檔
    boinc-server:~# svn co http://boinc.berkeley.edu/svn/trunk/boinc boinc_trunk
    boinc-server:~# cd ~/boinc_trunk
    boinc-server:~/boinc_trunk# svn update
    boinc-server:~/boinc_trunk# ./_autosetup
    boinc-server:~/boinc_trunk# ./configure --disable-client --enable-unicode --without-X
    boinc-server:~/boinc_trunk# make
    
  • 建立 BOINC Project 範例
    boinc-server:~# cd ~/boinc_trunk/tools
    boinc-server:~/boinc_trunk/tools# ./make_project --url_base http://140.110.240.194/ --db_host localhost --db_user boincadm --project_root /var/www/boinc_projects --delete_prev_inst --drop_db_first --test_app bioinfo
    boinc-server:~/boinc_trunk/tools# chown -R www-data:www-data /var/www/boinc_projects
    boinc-server:~/boinc_trunk/tools# cd /var/www/boinc_projects
    boinc-server:/var/www/boinc_projects# cp bioinfo.httpd.conf /etc/apache2/sites-available/bioinfo
    boinc-server:/var/www/boinc_projects# ln -s /etc/apache2/sites-available/bioinfo /etc/apache2/sites-enabled/bioinfo
    boinc-server:/var/www/boinc_projects# apache2ctl -t
    boinc-server:/var/www/boinc_projects# apache2ctl restart
    boinc-server:/var/www/boinc_projects# cat bioinfo.cronjob >> /var/spool/cron/crontabs/root
    boinc-server:/var/www/boinc_projects# bin/xadd
    boinc-server:/var/www/boinc_projects# bin/update_versions
    boinc-server:/var/www/boinc_projects# bin/start
    boinc-server:/var/www/boinc_projects# bin/status
    
  • 檢視 BOINC Project 範例