Электродневник+Django: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Запуск сервера)
(Установка дневника посредством скриптов)
 
(не показано 13 промежуточных версий этого же участника)
Строка 1: Строка 1:
 +
Актуально для Ubuntu 12.04
 +
 
=Оффсайт проекта=
 
=Оффсайт проекта=
  https://github.com/Entropius/recordbook
+
  http://school-record-book.ru/
  
==Скачать проект можно так:==
+
Скачать проект можно так:
 
  wget https://github.com/Entropius/recordbook/archive/master.zip
 
  wget https://github.com/Entropius/recordbook/archive/master.zip
  
==или так:==
+
или так:
 
  git clone https://github.com/Entropius/recordbook.git
 
  git clone https://github.com/Entropius/recordbook.git
  
=Установка Django и зависимых пакетов для работы дневника=
+
=Установка =
  sudo apt-get install python-django python-pytils python-mysqldb python-django-south python-virtualenv python-demjson mysql-server
+
 
 +
==Пакеты из репозитория==
 +
  sudo apt-get install apache2 libapache2-mod-wsgi mysql-server python-virtualenv python-mysqldb python-django python-pytils python-django-south python-demjson 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 пользователя=пароля=базы_данных=odaybook (из консоли linux)==
 
  mysql -u root -p
 
  mysql -u root -p
 
далее из консоли MySQL (mysql>):
 
далее из консоли MySQL (mysql>):
  create user 'odaybook'@'localhost' identified by 'odaybook';
+
  CREATE USER 'odaybook'@'localhost' identified by 'odaybook';
  create database odaybook;
+
  CREATE DATABASE odaybook CHARACTER SET utf8 COLLATE utf8_unicode_ci;
  grant all on odaybook.* to 'odaybook'@'localhost';
+
  GRANT ALL ON odaybook.* to 'odaybook'@'localhost';
 
  exit
 
  exit
  
==Для настройки системы перед установкой на MySQL и изменения информации об администриторе системы и его емэйла файл==
+
==Немного подшаманим дефолтный конфиг==
  /path/to/recordbook-master/odaybook/settings_dist.py
+
Это нужно, чтобы создание БД при установке системы происходило не под пользователем root с паролем 123, а под созданным нами пользователем odaybook с созданным нами паролем odaybook.
 +
 
 +
Не у всех же один сервер под одну систему ;-) Так будет правильнее, ИМХО.
 +
 
 +
Откроем файл:
 +
  nano /var/www/odaybook/settings_dist.py
 +
 
 +
И приведем конфигурацию подключения к БД и название БД в соответствии с нашими требованиями, заодно настроем админа системы е его электропочту.
  
 
Пример настроенного файла на администратора с электропочтой admin@nntc.nnov.ru и базу данных, расположенную в MySQL на localhost с логином=паролем=именем_базы_данных=odaybook:
 
Пример настроенного файла на администратора с электропочтой admin@nntc.nnov.ru и базу данных, расположенную в MySQL на localhost с логином=паролем=именем_базы_данных=odaybook:
 
 
<pre>
 
<pre>
 
...
 
...
 
ADMINS = (
 
ADMINS = (
     ('admin@nntc.nnov.ru', 'admin@nntc.nnov.ru'),
+
     ('admin', 'admin@nntc.nnov.ru'),
 
)
 
)
  
Строка 47: Строка 66:
 
</pre>
 
</pre>
  
=Установка дневника recordbook посредством python-скрипта и запуск сервера=
+
==Настройка виртуального хоста apache==
Перейти в директорию
+
sudo nano /etc/apache2/sites-enabled/000-default
  /path/to/recordbook-master/
+
 
Запустить скрипт установки
+
заменить содержимое файла на
  ./build/install.py
+
<pre>
 +
<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>
 +
</pre>
 +
 
 +
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:
 +
<pre>
 +
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)
 +
>>>
 +
</pre>
 +
 
 +
в ней пишем:
 +
 
 +
from odaybook.userextended.models import Superuser
 +
Superuser(last_name = 'Pupkin', first_name='Vasya', username='admin', email='pupkin@gmail.com').save()
 +
exit()
 +
 
 +
где
 +
 
 +
Pupkin - Фамилия
 +
 
 +
Vasya - Имя
  
==Запуск сервера==
+
admin - Имя пользователя
Перейти в диреторию
 
/path/to/recordbook-master/
 
  
Перед запуском надо записать изменения в базу данных (если она используется):
+
pupkin@gmail.com - емэйл, на который придет пароль от учетной записи admin (aka Pupkin Vasya)
python ./odaybook/manage.py syncdb
 
Также можно проверить на ошибки:
 
python ./odaybook/manage.py validate
 
Запустить проект:
 
python ./odaybook/manage.py runserver
 
Зайти браузером по адресу:
 
http://127.0.0.1:8000/
 

Текущая версия на 21:40, 10 ноября 2013

Актуально для Ubuntu 12.04

Оффсайт проекта

http://school-record-book.ru/

Скачать проект можно так:

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 python-demjson 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)