Skip to content

emohamed/obshtestvo.bg

 
 

Repository files navigation

Публичен сайт на Общество

Публичният сайт на http://www.obshtestvo.bg.

Инсталация на проекта (за програмисти)

Проектът е написан на Python и Django, и използва MySQL.

Бележка: master клонът в момента се ползва и за development версия на проекта, понеже и самия сайт obshtestvo.bg е в разработка.

Development среда

Автоматична настройка

Нужни са ви единствено:

В директорията на проекта пускате 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
Ако се случи сайтът да спре да работи след като pull-нете

Пробвайте да рестартирате vagrant:

vagrant reload

Най-вероятно в новата версия, която сте свалили има някакво dependancy, което не обновено. По време на рестартирането ще се обнови.

Детайли

Автоматичната настройка създава виртуална машина заемаща 384MB RAM памет и 2GB на диска. Може да я спирате и пускате с команди от директорията на проекта:

vagrant halt # изключва
vagrant up # включва

За още детайли вижте какво се инсталира в нея.

Специфика при работата django

Проекта извлича някои настройки от environment variables.

За целта се ползва .env файл, който съхранява желаните стойности за тези променливи.

За коректна работа на manage.py трябва или да зададете стойности за тези променливи в конзолота или да укажете къде се намира .env файла:

export PROJECT_ENV_FILE=/path/to/project/server/.env
python manage.py

Ръчна настройка

Моля разгледайте скрипта, който инсталира проекта във виртуалната машина. Написан е за debian-базирани системи. Ако не го разбирате напълно, и искате още инфо, моля отворете issue.

Production среда

След инсталация:

  1. В server/.env:

    • Променете DEBUG=True на DEBUG=Frue.
    • Генерирайте нова стойност на SECRET_KEYapg -m32 например).
  2. Настройте уеб сървъра си да сервира статичните файлове, намиращи се в папката static/ в корена на проекта на URL /static/.

  3. Уверете се, че по време на deployment се изпълнява командата python manage.py collectstatic -l, за да се копират статичните файлове от приложението в static/.

  4. Използвайте Nginx плюс uwsgi server и uwsgi python plugin. Могат да се използват съответните конфигурационни файлове в папка server/.

Почистване на кеша на production системата
find /var/cache/nginx/ -type f | xargs rm

Deployment

След първоначалната инсталация, проектът се качва на сървъра с fab deploy. Копирайте fabric_settings.py.sample във fabric_settings.py и го редактирайте, за да отговаря на вашите настройки за deploy. След това, процедурата е следната:

  1. Правите промени.
  2. git commit и git push на промените.
  3. Изпълнявате fab deploy от корена на вашето локално копие.

Скриптът за deploy върши доста от нещата, описани в предишните секции.

Примерна инсталация на Debian-базирана машина

Вижте командите в инсталационния файл за Vagrant.

About

Сайт на Общество

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 48.0%
  • HTML 24.8%
  • CSS 19.0%
  • JavaScript 7.8%
  • Shell 0.4%