Это старая версия документа!
Официальная инфорамация об установке boinc-сервера содержится на странице:
http://boinc.berkeley.edu/trac/wiki/ServerIntro
Довольно хорошее описание установки можно найти по адресу:
http://www.spy-hill.net/~myers/help/boinc/Create_Project.html
Данный текст по большей части основан на вышеприведенных веб-страницах.
Из важной информации:
Требования к аппаратным характеристикам:
Для высоконагруженного сервера рекомендуется 8 ГБ оперативной памяти и 64битные процессоры.
1. Отключить SELinux
В CentOS это делается следующим образом:
SELINUX=disabled в /etc/sysconfig/selinux
Если сервер устанавливается в виртуальной машине, этого можно не делать.
2. Добавить группу boinc
groupadd boinc
3. добавить пользователя boincadm (в группу boinc)
adduser --gid boinc boincadm
И назначаем новому пользователю пароль
passwd boincadm
4. Добавить в группу boinc пользователя от лица которого запускается web-сервер. В CentOS имя этого пользователя – apache.
usermod -a -G boinc apache
Перезапускаем веб-сервер
service httpd restart
5. Пользователи boincadm и apache должны иметь umask равным 0002 или 0007
echo "umask 002" >> /home/boincadm/.bashrc
TODO: может лучше в .profile ?? Ведь демоны не запускают баш…
echo "umask 002" >> /etc/sysconfig/httpd service httpd restart
TODO: (требуется проверить, выставляется ли после этого новое значение)
После того как учетные записи пользователей настроены нужно установить программное обеспечение. Зависимости boinc-сервера перечислены на странице http://boinc.berkeley.edu/trac/wiki/SoftwarePrereqsUnix
В данном тексте описывается установка только boinc-сервера, поэтому нижеприведенные команды установять только то ПО от котого зависит boinc-сервер. Boinc-клиент, менеджер и др. устанавливаться не будут.
Команды для Centos 6.2 приведены ниже. Возможно есть что-то лишнее, однако, так работает.
yum install subversion
В настоящее время исходные коды проекта boinc содержаться в git-репозитарии. Соответственно вместо subversion нужно ставить git
yum install git
yum install make m4 libtool autoconf automake gcc yum install gcc-c++ yum install pkgconfig yum install MySQL-python yum install PyXML libxml2-python yum install mysql mysql-devel mysql-libs mysql-server yum install sqlite yum install httpd mod_ssl php php-cli php-common php-devel php-gd php-mysql yum install openssl yum install libcurl libcurl-devel
Подключаем дополнительные репозитории (EPEL)
wget http://mirror.yandex.ru/epel/6/i386/epel-release-6-8.noarch.rpm rpm -i epel-release-6-8.noarch.rpm
Теперь можно установить пакеты fastcgi
yum install fcgi fcgi-devel
Утилиту file
yum install file
Для того, чтобы получить исходные коды boinc'a нужно воспользоваться системой управления репозиториями git.
1. Получаем права пользователя boincadm:
su boincadm cd ~
2. Скачиваем исходные тексты в домашнюю директорию:
git clone git://boinc.berkeley.edu/boinc.git cd boinc
http://boinc.berkeley.edu/trac/wiki/BuildSystem
./_autosetup ./configure --disable-client --disable-manager
На следующие предупреждения об ошибках можно не обращать внимание, так как они вызваны отсутствием графических библиотек, которые не требуются для работы сервера.
================================================================================
WARNING: Development libraries and headers ("-dev") of {openGL, GLU, glut} needed!
The GL, GLU and glut libraries are required in order to build the graphical parts
of the BOINC application API library.
==> only building non-graphical parts of the BOINC API Library for now.
HINT: on MacOS X/Darwin you might consider running configure with the option
'./configure --with-apple-opengl-framework'
in order to use the Mac-native openGL framework
================================================================================
configure: WARNING: libxss missing, disabling X ScreenSaver user idle detection
Если все прошло хорошо, даем команду сборки из исходников
make
Убедиться, что максимальный размер сегмента разделяемой памяти равен 32МБ
# sysctl -A|grep shmmax kernel.shmmax = 33554432
На данном этапе необходимо настроить доступ к базе данных mysql
Стартуем сервис service mysqld start
Вносим mysql в автозагрузку chkconfig mysqld on
Настраиваем права доступа: mysql -u root grant all on *.* to boincadm@localhost identified by 'cluster'; grant all on *.* to boincadm identified by 'cluster'; grant all on *.* to apache@localhost identified by 'cluster'; grant all on *.* to apache identified by 'cluster';
Оптимизация mysql для boinc описана в статье: http://boinc.berkeley.edu/trac/wiki/MysqlConfig
Configure mysql with the --enable-thread-safe-client switch. Set your LD_LIBRARY_PATH to refer to the correct library.
В httpd.conf установить дефолтный MIME type следующим образом DefaultType application/octet-stream
Рекомендуется также добавить опцию -Indexes
В официальной документации есть также некоторые рекомендации по настройке PHP и apache, а также устранение наиболее часто встречающихся проблем.
На данном этапе все. Команда генерации проекта
boinc/tools/make_project –srcdir boinc/ –db_passwd cluster –url_base http://82.196.66.12:8001 my2
Шаги по завершению действий описаны в файле projects/my2/my2.readme (приведены ниже)