Развертывание WEB интерфейса к VOMS серверу
Для корректной работы нам понадобится:
- http сервер
- php интерпретатор
- модуль для поддержки http сервером протокола https
- расширение php для работы с mysql
- набор сертификатов авторизованных для работы с нашим VOSM сервером CA
Устанавливаем необходимые пакеты:
yum install -y httpd php php-mysql mod_ssl
Копируем сертификаты в /etc/grid-security/certificates. Файлы в этом каталоге должны называться в соответствии с хэшом сертификата и оканчиваться на .0 Если под рукой нет файлов в таком виде их можно получить самостоятельно, выполнив следующую команду:
ln -s ca.crt `openssl x509 -hash -noout -in ca.crt`.0
добавляем в /etc/httpd/conf.d/ssl.conf:
<Directory "/var/www/html"> SSLRequireSSL SSLVerifyClient require SSLVerifyDepth 5 </Directory> SSLCACertificationPatth /etc/grid-security/certificates
(здесь и далее подразумевается, что DocumentRoot у нас /var/www/html и php интерфейс мы ставим туда же)
Копируем файлы web интерфейса:
cd /var/www/html svn co http://svn.nordugrid.org/repos/nordugrid/contrib/pva/trunk .
правим /var/www/html/.htaccess: у нас новый RewriteBase
правим /var/www/html/conf/config.inc:
$pva_install_path="/var/www/html"
Добавляем VO, которыми хотим управлять. Файл конфигурации для каждой VO должен быть расположен в conf/vomses и выглядеть примерно так:
cat conf/vomses/VO4444.conf
<?php
$dbhost="localhost";
$dbname="voms_VO4444";
$dbuser="voms_VO4444";
$dbpasswd="super_DB_password";
$vo_port="8445";
$vo_host="";
$vo_cert="/etc/grid-security/hostcert.pem";
$vo_rules_link="http://some.url/for_link_VO_s_Usage_Rules";
?>
- $dbhost - адрес сервера, на котором крутится voms сервер для данной VO
- $dbname - имя БД VO
- $dbuser - пользователь, по которым осуществляется вход в базу
- $dbpasswd - его пароль
- $vo_port - порт, который слушает сервер
- $vo_host - url для VO
- $vo_cert - сертификат VO
- $vo_rules_link - по этой ссылке будут переходить пользователи, если захотят просмотреть правила данной VO
В тестовой установке voms сервер находился на том же компьютере, что и web интерфейс, приведенный в примере файл был сгенерирован автоматически и детально разобраться со смыслом полей $vo_host и $vo_cert не удалось
Данные можно взять из /etc/voms/*/ на voms сервере для существующих VO. Для новых vo можно использовать скрипт /var/www/html/addvo. Пример конфигурационного файла для этого скрипта - addvo.conf
