вторник, 8 мая 2012 г.

Установка django 1.4 на ubuntu 12.04

Установил django 1.4 на ubuntu 12.04 (VirtualBox) из официального релиза следующими командами:

Новые возможности и описание изменений django 1.4 здесь:
Как это установить и настраивать - есть много ссылок, а так же документация. Пример одной из ссылок:

Установил необходимые пакеты.
apt-get install libapache2-mod-wsgi python-mysqldb phpmyadmin
Скачал и установил последнию версию django
wget "http://www.djangoproject.com/download/1.4/tarball/" -O Django-1.4.tar.gz
tar xzvf Django-1.4.tar.gz
cd Django-1.4
sudo python setup.py install

Проверка установки, запускаем python ... :

import django
>>> django.VERSION
(1, 1, 0, 'alpha', 0)
Выбрал место где будут создаваться проекты:
/home/djcode/
Создал проект "mysite"
django-admin.py startproject mysite
Получилось:
/home/djcode/mysite/

Структура проекта в версии 1.4 отличается от предыдущих версий. Управляющий файл manage.py теперь находится на на внешнем уровне по отношению файлов настроек. И второе отличие - это поддержка режима wsgi по умолчанию. Файл настроек уже создан и находится в моем случае: 
/home/djcode/mysite/mysite/wsgi.py 

Создал новое тестовое приложение "books"
python manage.py startapp books

Настроил apache и создал виртуальный хост. Это мои конфигурационные фалы:
/etc/apache2/httpd.conf
Last login: Thu May 10 13:47:21 2012
WSGIScriptAlias / /home/djcode/mysite/mysite/wsgi.py
WSGIPythonPath /home/djcode/mysite

<Directory /home/djcode/mysite/mysite>
<Files wsgi.py>
    Order deny,allow
    Allow from all
</Files>
</Directory>

MaxRequestsPerChild 1


/etc/apache2/site-available/mysite
<VirtualHost *:80>
    ServerAdmin root@localhost
    ServerName mysite.local

    <Directory /home/djcode/mysite/>
            Order allow,deny
            allow from all
    </Directory>

    WSGIScriptAlias / /home/djcode/mysite/mysite/wsgi.py
    <Directory /home/djcode/mysite/mysite>
             Order allow,deny
             allow from all
    </Directory>

    ErrorLog /home/djcode/mysite/apache/error.log

    LogLevel warn

    CustomLog /home/djcode/mysite/apache/access.log combined

    Alias /media/ "/home/djcode/mysite/media/"
    <Directory "/home/djcode/mysite/media/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Allow from all
    </Directory>

</VirtualHost>

Выполнил команду создания виртуального хоста:
a2ensite mysite

*** 

Это нужно обязательно на тестовом сервере, чтобы изменения в django были видны сразу.
MaxRequestsPerChild 1 
В Windows настроил в файле host адрес и для моего сайта mysite.local
Проверил в браузере и получил стандартный ответ - все  работает.

It worked!
Congratulations on your first Django-powered page
Чтобы изолировать код проекта от остальной системы создаю нового пользователя.
создается системная группа
addgroup --quiet --system dw
создается системный пользователь
adduser --quiet --system --ingroup dw --no-vreate-home --no-create-home dw
новый владелец проекта
chown dw:www-data -R /home/djcode/mysite
права доступа
chmod u=rwx, g=rwx, o= -R /home/djcode/mysite
Еще от себя добавил пользователя "sa" в вторичную группу "www-data" (если команда без опции -a то просто поменяли первичную группу у пользователя), для того чтобы можно было подключатся к серверу по ftp и редактировать файлы (имитация удаленной работы).
usermod -a -G www-data sa

Комментариев нет:

Отправить комментарий