Публичният сайт на http://www.obshtestvo.bg.
Проектът е написан на Python и Django, и използва MySQL.
Бележка: master
клонът в момента се ползва и за development версия на проекта, понеже и самия сайт obshtestvo.bg е в разработка.
Нужни са ви единствено:
- Vagrant, ако нямате – сваляте и инсталирате
- VirtualBox, ако нямате – сваляте и инсталирате
В директорията на проекта пускате 1 команда:
vagrant up
Това може да отнеме няколко минути, след което имате работещ сайта на адрес: http://localhost:8888/
Администратор на сайта е admin
с парола admin
, чрез който имате достъп до административния панел.
Може би vagrant не може да намери основата на която базираме автоматичната инсталация (hashicorp/precise32 VM). В този случай изпълнете:
vagrant box add hashicorp/precise32 https://vagrantcloud.com/hashicorp/precise32/version/1/provider/virtualbox.box
Пробвайте да рестартирате vagrant:
vagrant reload
Най-вероятно в новата версия, която сте свалили има някакво dependancy, което не обновено. По време на рестартирането ще се обнови.
Автоматичната настройка създава виртуална машина заемаща 384MB RAM памет и 2GB на диска. Може да я спирате и пускате с команди от директорията на проекта:
vagrant halt # изключва
vagrant up # включва
За още детайли вижте какво се инсталира в нея.
Проекта извлича някои настройки от environment variables
.
За целта се ползва .env
файл, който съхранява желаните стойности за тези променливи.
За коректна работа на manage.py
трябва или да зададете стойности за тези
променливи в конзолота или да укажете къде се намира .env
файла:
export PROJECT_ENV_FILE=/path/to/project/server/.env
python manage.py
Моля разгледайте скрипта, който инсталира проекта във виртуалната машина. Написан е за debian-базирани системи. Ако не го разбирате напълно, и искате още инфо, моля отворете issue.
След инсталация:
-
В
server/.env
:- Променете
DEBUG=True
наDEBUG=Frue
. - Генерирайте нова стойност на
SECRET_KEY
(сapg -m32
например).
- Променете
-
Настройте уеб сървъра си да сервира статичните файлове, намиращи се в папката
static/
в корена на проекта на URL/static/
. -
Уверете се, че по време на deployment се изпълнява командата
python manage.py collectstatic -l
, за да се копират статичните файлове от приложението вstatic/
. -
Използвайте Nginx плюс uwsgi server и uwsgi python plugin. Могат да се използват съответните конфигурационни файлове в папка
server/
.
find /var/cache/nginx/ -type f | xargs rm
След първоначалната инсталация, проектът се качва на сървъра с fab deploy
. Копирайте fabric_settings.py.sample
във fabric_settings.py
и го редактирайте, за да отговаря на вашите настройки за deploy. След това, процедурата е следната:
- Правите промени.
git commit
иgit push
на промените.- Изпълнявате
fab deploy
от корена на вашето локално копие.
Скриптът за deploy върши доста от нещата, описани в предишните секции.
Вижте командите в инсталационния файл за Vagrant.