====== Введение ====== Официальная инфорамация об установке 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|Создание проектов]]