Настройка XenWebManager в Ubuntu 10.04

XenWebManager — это web вариант GUI клиента OpenXenManager.

Скачиваем архив с исходным кодом и распаковываем, например, в /opt:

sourceforge.net/projects/xenwebmanager/files/

Или получаем из svn:

cd /opt
svn co https://xenwebmanager.svn.sourceforge.net/svnroot/xenwebmanager xenwebmanager


Устанавливаем необходимые пакеты:

apt-get install python-cherrypy3 python-pybabel python-mako python-simplejson graphviz


Правим cherry.conf… Нам не помешает поддержка https:

Раскоментируем и редактируем пути к сертификату и ключу:

server.ssl_certificate = 'ssl/server.crt'
server.ssl_private_key = 'ssl/server.key'


Также нужна http авторизация:

tools.basic_auth.on = True


Создаем директорию для ключей в директории с XWM и создаем их:

mkdir ./ssl
cd ./ssl


openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt


Для настройки http авторизации создаем md5 хэш желаемого пароля:

echo -n password | md5sum
5f4dcc3b5aa765d61d8327deb882cf99  -


Правим config.py, указав наш хеш:

users = {"admin": "5f4dcc3b5aa765d61d8327deb882cf99"}


Добавляем непривилегированного пользователя, например, user:

useradd -M -d /opt/xenwebmanager/ user -s /sbin/nologin -r


Создаем директории, выставляем права:

mkdir /var/log/xenwebmanager
mkdir /var/lib/xenwebmanager
chmod 770 /var/log/xenwebmanager
chmod 770 /var/lib/xenwebmanager
chown user:user -R /var/log/xenwebmanager/
chown user:user -R /var/lib/xenwebmanager/
chown user:user -R /opt/xenwebmanager/


Создаем в /opt/xenwebmanager/ скрипт start.sh:

#!/bin/sh
cd /opt/xenwebmanager
python ./frontend.py


Назначаем права:

chmod 755 ./start.sh


Запустить XWM от имени пользователя user можно так:

sudo -u user /opt/xenwebmanager/start.sh


Если видим ошибку 500 с текстом:

File "/usr/lib/pymodules/python2.6/cherrypy/__init__.py", line 301, in __getattr__
return getattr(child, name)
AttributeError: 'Response' object has no attribute 'i18n'

Редактируем i18n_tool.py, на 231 строке комментируя:

if 'Content-Language' not in cherrypy.response.headers:
        cherrypy.response.headers['Content-Language'] = str(
                cherrypy.response.i18n.locale)

Комментарии (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.