Электродневник+Django
Актуально для Ubuntu 12.04
Содержание
Оффсайт проекта
https://github.com/Entropius/recordbook
Скачать проект можно так:
wget https://github.com/Entropius/recordbook/archive/master.zip
или так:
git clone https://github.com/Entropius/recordbook.git
Установка
Пакеты из репозитория
sudo apt-get install apache2 libapache2-mod-wsgi mysql-server python-virtualenv python-mysqldb python-django python-pytils python-django-south git
Загрузка проекта из репозитория git
sudo apt-get install git cd /var/www/ ls sudo rm index.html sudo chmod 777 . git clone git://github.com/Entropius/recordbook.git .
Создание MySQL пользователя=пароля=базы_данных=odaybook (из консоли linux)
mysql -u root -p
далее из консоли MySQL (mysql>):
CREATE USER 'odaybook'@'localhost' identified by 'odaybook'; CREATE DATABASE odaybook CHARACTER SET utf8 COLLATE utf8_unicode_ci; GRANT ALL ON odaybook.* to 'odaybook'@'localhost'; exit
Немного подшаманим дефолтный конфиг
Это нужно, чтобы создание БД при установке системы происходило не под пользователем root с паролем 123, а под созданным нами пользователем odaybook с созданным нами паролем odaybook.
Не у всех же один сервер под одну систему ;-) Так будет правильнее, ИМХО.
Откроем файл:
nano /var/www/odaybook/settings_dist.py
И приведем конфигурацию подключения к БД и название БД в соответствии с нашими требованиями, заодно настроем админа системы е его электропочту.
Пример настроенного файла на администратора с электропочтой admin@nntc.nnov.ru и базу данных, расположенную в MySQL на localhost с логином=паролем=именем_базы_данных=odaybook:
... ADMINS = ( ('admin', 'admin@nntc.nnov.ru'), ) MANAGERS = ADMINS PROJECT_DIR = os.path.dirname(os.path.abspath(__file__)) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 'NAME': 'odaybook', # Or path to database file if using sqlite3. 'USER': 'odaybook', # Not used with sqlite3. 'PASSWORD': 'odaybook', # Not used with sqlite3. 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. 'PORT': '', # Set to empty string for default. Not used with sqlite3. } } ...
Настройка виртуального хоста apache
sudo nano /etc/apache2/sites-enabled/000-default
заменить содержимое файла на
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www Alias /media /var/www/media WSGIScriptAlias / /var/www/webapp.wsgi WSGIDaemonProcess odaybook user=administrator group=administrator threads=1 processes=1 display-name=%{GROUP} maximum-requests=1 WSGIProcessGroup odaybook ErrorLog /var/log/apache2/odaybook_error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel info CustomLog /var/log/apache2/odaybook_access.log combined </VirtualHost>
sudo /etc/init.d/apache2 restart
Установка дневника посредством скриптов
cd /var/www ./build/buildenv.sh ./odaybook/manage.py syncdb
на вопрос типа
You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no):
ответить:
no
далее команда:
python ./odaybook/manage.py shell
откроется консоль python:
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) [GCC 4.5.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>>
в ней пишем:
from odaybook.userextended.models import Superuser Superuser(last_name = 'Pupkin', first_name='Vasya', username='admin', email='pupkin@gmail.com').save() exit()
где
Pupkin - Фамилия Vasya - Имя admin - Имя пользователя pupkin@gmail.com - емэйл, на который придет пароль от учетной записи admin (aka Pupkin Vasya)