We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
mod_wsgi
mod_wsgi
Добрый день!
Сперва спасибо огромное за работу. Это просто отличная панель, вчера нашел, сегодня пробую настраивать.
Хочу задать вопрос по поддержке mod_wsgi.
Занимаюсь разработкой на Django/Python и хочу использовать вашу панель чтобы быстро добавить/удалять/активировать/деактивировать сайты.
Помогите пожалуйста советом куда смотреть, что делать или может я могу сам дописать такой модуль.
Смотрите...
Каждый раз когда я добавляю новый Django сайт я делаю следующее.
1. Создаю пользователя.
2. Захожу под ним.
3. Создаю директории для проекта в директории private которую создает VESTA (private/django/НАЗВАНИЕДОМЕНА)
4. В ней создаю виртуальное окружение virtualenv --no-site-packages env
5. Заливаю сюда же исходники сайта, устанавливаю в это виртуальное окружение все что нужно для его работы.
6. Иду в public_html, там пишу .htaccess следующего содержания:
там же создаю файл django.wsgi вот что то вроде такого:
Затем правлю конфиг апача:
Затем перезапускаю апач и пробую открыть сайт. Вот собственно и все.
Подскажите как я могу это дело автоматизировать?
Планируется ли поддержка проектов на wsgi в Vesta?
Спасибо
Сперва спасибо огромное за работу. Это просто отличная панель, вчера нашел, сегодня пробую настраивать.
Хочу задать вопрос по поддержке mod_wsgi.
Занимаюсь разработкой на Django/Python и хочу использовать вашу панель чтобы быстро добавить/удалять/активировать/деактивировать сайты.
Помогите пожалуйста советом куда смотреть, что делать или может я могу сам дописать такой модуль.
Смотрите...
Каждый раз когда я добавляю новый Django сайт я делаю следующее.
1. Создаю пользователя.
2. Захожу под ним.
3. Создаю директории для проекта в директории private которую создает VESTA (private/django/НАЗВАНИЕДОМЕНА)
4. В ней создаю виртуальное окружение virtualenv --no-site-packages env
5. Заливаю сюда же исходники сайта, устанавливаю в это виртуальное окружение все что нужно для его работы.
6. Иду в public_html, там пишу .htaccess следующего содержания:
Code: Select all
AddHandler wsgi-script .wsgi
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.ДОМЕН\.ru$ [NC]
RewriteRule ^(.*)$ http://ДОМЕН.ru/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /django.wsgi/$1 [QSA,PT,L]
Code: Select all
import os, sys
sys.path.insert(0, '/home/USER/web/ДОМЕН/private/django/ДОМЕН/env/lib/python2.6/site-packages')
sys.path.insert(0, '/home/USER/web/ДОМЕН/private/django/ДОМЕН/project/src/shared/')
sys.path.insert(0, '/home/USER/web/ДОМЕН/private/django/ДОМЕН/project/src/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'main.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Code: Select all
<VirtualHost x.x.x.x:81>
....
....
....
добавляю в конец секции вот это
WSGIDaemonProcess apx-idea user=max_dax group=max_dax processes=1 threads=5 display-name=%{GROUP} python-path=/home/USER/web/ДОМЕН/private/django/ДОМЕН/env/lib/python2.6/site-packages
WSGIProcessGroup apx-idea
WSGIApplicationGroup %{GLOBAL}
<Directory /home/USER/web/ДОМЕН/public_html>
AllowOverride FileInfo
Options ExecCGI Indexes
MultiviewsMatch Handlers
Options +FollowSymLinks
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Подскажите как я могу это дело автоматизировать?
Планируется ли поддержка проектов на wsgi в Vesta?
Спасибо
Re: mod_wsgi
Описанную задачу можно решить средствами панели, которые доступны уже сейчас. Через несколько часов я подготовлю подробный ответ по этой теме.
Re: mod_wsgi
Буду вам очень благодарен! Спасибо!skid wrote:Описанную задачу можно решить средствами панели, которые доступны уже сейчас. Через несколько часов я подготовлю подробный ответ по этой теме.
Re: mod_wsgi
Инструкция по установке.
1) Загрузите на сервер шаблон wsgi
2) Укажите шаблон wsgi в пакете default или создайте новый
3) Добавьте пользователя
4) Затем добавьте ему домен
5) Проверяйте результат.
Eсли, что-то не так, отредактируйте файлы шаблонов:
/usr/local/vesta/data/templates/web/httpd/wsgi.stpl
/usr/local/vesta/data/templates/web/httpd/wsgi.tpl
Для создания обычных доменов используется файл с раширением .tpl, а для доменов с поддержкой SSL сертификатов, используется файл stp.
Дополнительный функционал реализован триггером /usr/local/vesta/data/templates/web/httpd/wsgi.sh, тудаже можно добавить копирование файлов джанги. Это уже по желанию. Надеюсь концепция понятна.
После изменения шаблона, необходимо пересоздать конфигурацию вебсервера. Из консоли можно запустить v-rebuild-web-domains $user. В веб-интерфейсе, функция rebuild доступна в меню user, в выпадающем списке. Нужно будет отметить галочками конкретных пользователей или всех.
1) Загрузите на сервер шаблон wsgi
Code: Select all
cd /usr/local/vesta/data/templates/web
wget http://c.vestacp.com/0.9.8/rhel/wsgi/httpd.tar.gz
tar -xzvf httpd.tar.gz
3) Добавьте пользователя
4) Затем добавьте ему домен
5) Проверяйте результат.
Eсли, что-то не так, отредактируйте файлы шаблонов:
/usr/local/vesta/data/templates/web/httpd/wsgi.stpl
/usr/local/vesta/data/templates/web/httpd/wsgi.tpl
Для создания обычных доменов используется файл с раширением .tpl, а для доменов с поддержкой SSL сертификатов, используется файл stp.
Дополнительный функционал реализован триггером /usr/local/vesta/data/templates/web/httpd/wsgi.sh, тудаже можно добавить копирование файлов джанги. Это уже по желанию. Надеюсь концепция понятна.
После изменения шаблона, необходимо пересоздать конфигурацию вебсервера. Из консоли можно запустить v-rebuild-web-domains $user. В веб-интерфейсе, функция rebuild доступна в меню user, в выпадающем списке. Нужно будет отметить галочками конкретных пользователей или всех.
Re: mod_wsgi
Спасибо вам огромное! Буду пробовать.
P.S. После двух дней ознакомления - панель просто мечта!
P.S. После двух дней ознакомления - панель просто мечта!
Re: mod_wsgi
import os, sys
sys.path.insert(0, '/home/admin/web/default.domain/private/django/default.domain/env/lib/python2.6/site-packages')
sys.path.insert(0, '/home/admin/web/default.domain/private/django/default.domain/project/src/shared/')
sys.path.insert(0, '/home/admin/web/default.domain/private/django/default.domain/project/src/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'main.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
при открытии сайта
в чем может быть проблема?
sys.path.insert(0, '/home/admin/web/default.domain/private/django/default.domain/env/lib/python2.6/site-packages')
sys.path.insert(0, '/home/admin/web/default.domain/private/django/default.domain/project/src/shared/')
sys.path.insert(0, '/home/admin/web/default.domain/private/django/default.domain/project/src/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'main.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
при открытии сайта
в чем может быть проблема?
Re: mod_wsgi
Пакет mod_wsgi установлен? Если нет, то запустите
Code: Select all
yum install mod_wsgi
Re: mod_wsgi
Пробую настроить vesta для работы с django под ubuntu, скачал файлы шаблона по инструкции, в пакетах шаблон wsgi не отображается.skid wrote: 2) Укажите шаблон wsgi в пакете default или создайте новый
Re: mod_wsgi
Инструкция для Ubuntu немного другая
Code: Select all
apt-get install libapache2-mod-wsgi
a2enmod wsgi
cd /usr/local/vesta/data/templates/web
wget http://c.vestacp.com/0.9.8/ubuntu/wsgi/apache2.tar.gz
tar -xzvf apache2.tar.gz