Добавить в корзинуПозвонить
Найти в Дзене
Linux code

Установка и настройка Django на Apache в Ubuntu 18.04

Установка виртуального окружения sudo pip3 install virtualenv Настройка виртуального окружения mkdir ~/django-project sudo ln -s ~/django-project /var/www/sitename.site cd /var/www/sitename.site virtualenv venv cd venv активировать виртуальное окружение: source bin/activate Установка Django pip install django Создание проекта cd .. django-admin startproject project Настройка проекта в файле ...project/project/settings.py: ALLOWED_HOSTS = ['sitename.site'] DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(os.path.dirname(BASE_DIR) + '/data', 'db.sqlite3'), } } LANGUAGE_CODE = 'ru-ru' TIME_ZONE = 'Europe/Moscow' STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') Настройка apache python-path указывает на родительский каталог приложения Django python-home указывает на каталог виртуальной среды <VirtualHost *:80> ServerName sitename.site ServerAlias www.sitename.site <Directory /var/www/html/siten
Оглавление

Установка виртуального окружения

sudo pip3 install virtualenv

Настройка виртуального окружения

mkdir ~/django-project
sudo ln -s ~/django-project /var/www/sitename.site
cd /var/www/sitename.site
virtualenv venv
cd venv

активировать виртуальное окружение:

source bin/activate

Установка Django

pip install django

Создание проекта

cd ..
django-admin startproject project

Настройка проекта

в файле ...project/project/settings.py:

ALLOWED_HOSTS = ['sitename.site']
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(os.path.dirname(BASE_DIR) + '/data', 'db.sqlite3'),
}
}
LANGUAGE_CODE = 'ru-ru'
TIME_ZONE = 'Europe/Moscow'
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

Настройка apache

python-path указывает на родительский каталог приложения Django

python-home указывает на каталог виртуальной среды

<VirtualHost *:80>
ServerName sitename.site
ServerAlias www.sitename.site
<Directory /var/www/html/sitename.site/project/project>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess pixart python-path=/var/www/sitename.site/project python-home=/var/www/sitename.site/venv
WSGIProcessGroup pixart
WSGIScriptAlias / /var/www/sitename.site/project/project/wsgi.py
Alias /static /var/www/sitename.site/static
<Directory /var/www/sitename.site/static>
Require all granted
</Directory>
Alias /media /var/www/sitename.site/media
<Directory /var/www/sitename.site/media>
Require all granted
</Directory>
</VirtualHost>

перезагрузить apache:

sudo systemctl reload apache2

Настройка базы данных

cd /var/www/sitename.site
mkdir data
cd /var/www/sitename.site/project
python manage.py migrate