====== Введение ======
Официальная инфорамация об установке boinc-сервера содержится на странице:\\
http://boinc.berkeley.edu/trac/wiki/ServerIntro
Довольно хорошее описание установки можно найти по адресу:\\
http://www.spy-hill.net/~myers/help/boinc/Create_Project.html
Данный текст по большей части основан на вышеприведенных веб-страницах.
Из важной информации:\\
Требования к аппаратным характеристикам:
- минимум 2 ГБ оперативной памяти;
- 40 ГБ свободного места на диске;
- Два ксеона или опертрона
Для высоконагруженного сервера рекомендуется 8 ГБ оперативной памяти и 64битные процессоры.
===== Отключение SELinux =====
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 ======
Для того, чтобы получить исходные коды boinc'a нужно воспользоваться
системой управления репозиториями git.
1. Получаем права пользователя boincadm:
su boincadm
cd ~
2. Скачиваем исходные тексты в домашнюю директорию:
git clone git://boinc.berkeley.edu/boinc-v2.git boinc_repo
or
git clone http://boinc.berkeley.edu/git/boinc-v2.git boinc_repo
cd boinc
===== Компиляция и установка 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
===== Shared Memory =====
Убедиться, что максимальный размер сегмента разделяемой памяти равен 32МБ
# sysctl -A|grep shmmax
kernel.shmmax = 33554432
===== MySQL =====
На данном этапе необходимо настроить доступ к базе данных 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.
===== Apache =====
В 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 (приведены ниже)
Для более подробных инструкций см страницу [[cluster:boinc:projects|Создание проектов]]