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

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Установка дневника посредством скриптов)
 
(не показано 20 промежуточных версий этого же участника)
Строка 1: Строка 1:
Установка Django
+
Актуально для Ubuntu 12.04
sudo apt-get install python-django python-pytils python-mysqldb python-django-south python-virtualenv python-demjson
 
  
Оффсайт проекта
+
=Оффсайт проекта=
  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
  
Для настройки системы перед установкой на MySQL и изменения информации об администриторе системы и его емэйле файл
+
=Установка =
  /path/to/recordbook-master/odaybook/settings_dist.py
+
 
 +
==Пакеты из репозитория==
 +
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:
 +
<pre>
 +
...
 +
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.
 +
    }
 +
}
 +
...
 +
</pre>
 +
 
 +
==Настройка виртуального хоста apache==
 +
sudo nano /etc/apache2/sites-enabled/000-default
 +
 
 +
заменить содержимое файла на
 +
<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 - Имя пользователя
 +
 
 +
pupkin@gmail.com - емэйл, на который придет пароль от учетной записи admin (aka Pupkin Vasya)

Текущая версия на 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)