[[PageOutline]] = 架設 BOINC Server = BOINC Server 的架設方式有兩種: 1. 使用 [http://boincdl.ssl.berkeley.edu/dl/debian-40r0-i386-boinc.zip Berkeley BOINC 團隊提供的 VMWare Image - Debian Etch 4.0r0 32bit] * Linux 上如果遇到權限問題, 請確認解壓縮之後, vmx 檔案是否具備執行權限(Execution) * 狀況: 網路卡一直無法正常啟動, 故轉而使用自行製作的 vmware image. 2. 使用自製 Debian Etch 4.0r0 版本的 Xen VM 並執行 [#自行安裝 自行安裝] 的步驟 == 使用 BOINC 官方 VMWare Image == 根據[http://boinc.berkeley.edu/trac/wiki/VirtualMachines 官方文件]的說明, 安裝 BONIC Server 最容易的方法是安裝[http://www.vmware.com/download/player/ VMWare player] (免費軟體/freeware)。目前有兩個 VMWare Image 可以下載: * [http://boincdl.ssl.berkeley.edu/dl/debian-40r0-i386-boinc.zip Berkeley BOINC 團隊提供的 VMWare Image - Debian Etch 4.0r0 32bit] * [http://boincdl.ssl.berkeley.edu/dl/ubuntu-server-7.04-i386-boinc.zip Berkeley BOINC 團隊提供的 VMWare Image - Ubuntu Feisty 7.04 32-bit] == 自行安裝 == === 前置作業: Based Xen Hypervisor === * 以下的步驟是在 Xen 的環境下完成, Xen 的安裝步驟請參考 [wiki:Xen_Installation 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 相關軟體 === * [參考文獻] [http://boinc.berkeley.edu/trac/wiki/ServerIntro#cookbook-debian40 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 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# ln -s bioinfo.httpd.conf boinc-server:/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 範例 * 專案計畫首頁 - http://140.110.240.194/bioinfo * 專案管理首頁 - http://140.110.240.194/bioinfo_ops/