Публичният сайт на http://www.obshtestvo.bg.
Проектът е написан на Python и Django, и използва MySQL.
Нужни са ви единствено:
- Vagrant, ако нямате – сваляте и инсталирате
- VirtualBox, ако нямате – сваляте и инсталирате
- hashicorp/precise32 VM, ако нямате –
vagrant box add hashicorp/precise32 https://vagrantcloud.com/hashicorp/precise32/version/1/provider/virtualbox.box
В директорията на проекта пускате 1 команда:
vagrant upТова може да отнеме няколко минути, след което имате работещ сайта на адрес: http://localhost:8888/
Администратор на сайта е admin с парола admin, чрез който имате достъп до административния панел.
Автоматичната настройка създава виртуална машина заемаща 384MB RAM памет и 2GB на диска. Може да я спирате и пускате с команди от директорията на проекта:
vagrant halt # изключва
vagrant up # включваЗа още детайли вижте какво се инсталира в нея.
-
Нужен ви е Python 2.7. Проектът не е тестван на други версии.
-
Трябва да имате MySQL 5.x, плюс header файлове. Както и Node.js.
-
Инсталирайте pip, ако нямате –
easy_install pipилиsudo easy_install pip -
Инсталирайте bower, ако нямате –
npm install -g bowerилиsudo npm install -g bower. -
Инсталирайте virtualenvwrapper –
pip install virtualenvwrapperилиsudo pip install virtualenvwrapper. -
Заредете командите на virtualenvwrapper:
source /usr/local/bin/virtualenvwrapper.sh– дава достъп доmkvirtualenvи други. -
mkvirtualenv recycle --no-site-packages– ще създаде виртуална среда за инсталиране на pip пакети в~/.virtualenvs/obshtestvobg. -
workon recycleза да превключите на това обкръжение. -
Клонирайте хранилището и влезте в директорията на проекта.
-
Зависимостите за frontend (CSS и JS):
(cd web && bower install) -
Зависимостите на проекта:
pip install -r requirements.txtАко компилацията на MySQL адаптера не мине, може да се наложи да се изпълни
export CFLAGS=-Qunused-arguments(реф.) и да се стартира отново командата. -
Създайте база данни в MySQL:
mysql -uroot -p -e "CREATE DATABASE recycle CHARACTER SET utf8 COLLATE utf8_general_ci" -
Създайте файл със специфичните за локалното ви копие настройки, като копирате
server/settings_app.py.sampleкатоserver/settings_app.pyи въведете там параметрите за достъп до MySQL базата данни. -
Подгответе базата за първото пускане на миграциите:
python manage.py syncdb --noinput -
Пуснете миграциите:
python manage.py migrate -
Направете си админ потребител с
python manage.py createsuperuser -
Пуснете си сървър с
python manage.py runserver
Би трябвало да може да достъпите приложението на http://localhost:8000/.
Инсталирайте приложението, използвайки инструкциите в предишната секция за ръчни настройки, с тези разлики:
-
В
server/settings_app.py:- Променете
DEBUG = TrueнаDEBUG = False. - Генерирайте нова стойност на
SECRET_KEY(сapg -m32например).
- Променете
-
Настройте уеб сървъра си да сервира статичните файлове, намиращи се в
STATIC_ROOT(обикновено папкатаstatic/в корена на проекта) на URL/static/. -
Уверете се, че по време на deployment се изпълнява командата
python manage.py collectstatic -l, за да се копират статичните файлове от приложението вSTATIC_ROOT. -
Използвайте Nginx или Apache сървър, плюс 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.