Browse Source

fix docs

devel
Dmitry Novikov 7 years ago
parent
commit
ab578cb72f
  1. 2
      README.md
  2. 30
      djing/local_settings.py.example
  3. 43
      docs/install.md
  4. 26
      install/install_debian.sh

2
README.md

@ -1,7 +1,7 @@
# djing # djing
Бесплатная биллинговая система интернет провайдера. djing сокращение от **dj**ango-bill**ing**. Это web интерфейс управления абонентами Бесплатная биллинговая система интернет провайдера. djing сокращение от **dj**ango-bill**ing**. Это web интерфейс управления абонентами
интернет-провайдера. интернет-провайдера.
Сейчас идёт тестирвоание работы на Mikrotik, функционал пока минимальный, т.к. пишу в свободное время.
Сейчас идёт тестирование работы на Mikrotik, функционал пока минимальный, т.к. пишу в свободное время.
Работает в реальной сети на реальных абонентах. Работает в реальной сети на реальных абонентах.
Использовано python 3, django 2, bootstrap 3, и другое в файле requirements.txt Использовано python 3, django 2, bootstrap 3, и другое в файле requirements.txt

30
djing/local_settings.py.example

@ -15,21 +15,21 @@ SECRET_KEY = '!!!!!!!!!!!!!!!!!!!!!!!!YOUR SECRET KEY!!!!!!!!!!!!!!!!!!!!!!!!'
DATABASES = { DATABASES = {
'default': { 'default': {
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES', default_storage_engine=INNODB",
'isolation_level': 'read uncommitted'
},
#'ENGINE': 'django.db.backends.sqlite3',
#'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djing_db',
'USER': 'DJING_MYSQL_USERNAME', # You can change the user name
'PASSWORD': 'DJING_MYSQL_PASSWORD', # You can change the password
'HOST': 'localhost',
'TEST': {
'CHARSET': 'utf8',
'COLLATION': 'utf8_general_ci'
}
#'OPTIONS': {
# 'init_command': "SET sql_mode='STRICT_TRANS_TABLES', default_storage_engine=INNODB",
# 'isolation_level': 'read uncommitted'
#},
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
#'ENGINE': 'django.db.backends.mysql',
#'NAME': 'djing_db',
#'USER': 'DJING_MYSQL_USERNAME', # You can change the user name
#'PASSWORD': 'DJING_MYSQL_PASSWORD', # You can change the password
#'HOST': 'localhost',
#'TEST': {
# 'CHARSET': 'utf8',
# 'COLLATION': 'utf8_general_ci'
#}
} }
} }

43
docs/install.md

@ -2,7 +2,7 @@
Работа предполагается на python3. Работа предполагается на python3.
Я предпочитаю запускать wsgi сервер на связке uWSGI + Nginx, так что ставить будем соответствующие пакеты. Я предпочитаю запускать wsgi сервер на связке uWSGI + Nginx, так что ставить будем соответствующие пакеты.
##### На Fedora25 нужные пакеты можно установить так:
##### Подготовка системы
Для начала подготовим систему, очистим и обновим пакеты. Процесс обновления долгий, так что можно пойти заварить себе чай :) Для начала подготовим систему, очистим и обновим пакеты. Процесс обновления долгий, так что можно пойти заварить себе чай :)
``` ```
@ -10,37 +10,41 @@
# dnf -y update # dnf -y update
``` ```
Затем установим зависимости
Затем установим зависимости, в Fedora 25 пакеты называются так:
``` ```
# dnf -y install python3 python3-devel python3-pip python3-pillow mariadb mariadb-devel uwsgi nginx uwsgi-plugin-python3 net-snmp net-snmp-libs net-snmp-utils net-snmp-devel net-snmp-python git redhat-rpm-config curl-devel
# dnf -y install python3 python3-devel python3-pip python3-pillow mariadb mariadb-devel uwsgi nginx uwsgi-plugin-python3 net-snmp net-snmp-libs net-snmp-utils net-snmp-devel net-snmp-python git redhat-rpm-config curl-devel expect
``` ```
Необходимо чтоб версия python по умолчанию была третья:
Для Debian 9 это выглядит так:
``` ```
# ln -sf python3 /usr/bin/python
# apt install mariadb-server libmariadb-dev mariadb-client python3-dev python3-pip python3-pil uwsgi nginx uwsgi-plugin-python3 libsnmp-dev git gettext libcurl4-openssl-dev libssl-dev expect
``` ```
Условимся что путь к папке с проектом находится по адресу: */var/www/djing*. Условимся что путь к папке с проектом находится по адресу: */var/www/djing*.
Дальше создадим каталок для web, затем обновляем pip и ставим проект через pip:
Дальше создадим каталок для web, затем создаём virtualenv, обновляем pip и ставим проект через pip:
``` ```
# mkdir /var/www # mkdir /var/www
# cd /var/www # cd /var/www
# pip3 install --upgrade pip
# git clone https://github.com/nerosketch/djing.git
# export PYCURL_SSL_LIBRARY=openssl
# pip3 install -r djing/requirements.txt
# git clone --depth=1 https://github.com/nerosketch/djing.git
# chown -R http:http djing
# python3 -m venv venv
# sudo -u http -g http bash
$ cd djing
$ source ./venv/bin/activate
$ pip3 install --upgrade pip
$ export PYCURL_SSL_LIBRARY=openssl
$ pip3 install -r djing/requirements.txt
``` ```
Скопируем конфиги из примеров в реальные:
Скопируем конфиг из примера в реальные:
``` ```
$ cd /var/www/djing $ cd /var/www/djing
# cp djing/settings_example.py djing/settings.py
# cp agent/settings.py.example agent/settings.py
$ cp djing/local_settings.py.example djing/settings.py
``` ```
Затем отредактируйте конфиги для своих нужд.
Затем отредактируйте конфиг для своих нужд.
Для удобства я создаю пользователя и группу http:http, и всё что связано с web-сервером запускаю от имени http.
Для удобства в Fedora я создаю пользователя и группу http:http, и всё что связано с web-сервером запускаю от имени http.
``` ```
# groupadd -r http # groupadd -r http
# useradd -l -M -r -d /dev/null -g http -s /sbin/nologin http # useradd -l -M -r -d /dev/null -g http -s /sbin/nologin http
@ -50,6 +54,15 @@ $ cd /var/www/djing
# chown -R http:http /run/uwsgi/ # chown -R http:http /run/uwsgi/
``` ```
В Debian использую пользователя www-data, остаётся только назначить владельца на папки:
```
# chown -R http:http /var/www
# chown -R http:http /etc/nginx
# chown -R http:http /etc/uwsgi.*
# chown -R http:http /run/uwsgi/
```
### Настройка WEB Сервера ### Настройка WEB Сервера
Конфиг Nginx на моём рабочем сервере выглядит так: Конфиг Nginx на моём рабочем сервере выглядит так:
```nginx ```nginx

26
install/install_debian.sh

@ -1,14 +1,28 @@
/usr/bin/bash -
#!/bin/bash
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
PATH=/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
apt update
apt upgrade
apt-get install postgresql python3-dev python3-pip python3-pil uwsgi nginx uwsgi-plugin-python3 libsnmp-dev git gettext libcurl4-openssl-dev libssl-dev
apt-get -y update
chown -R www-data:www-data /var/www
sleep 1
apt-get -y upgrade
sleep 1
apt-get -y install mariadb-server libmariadb-dev mariadb-client python3-dev python3-pip python3-pil python3-venv uwsgi nginx uwsgi-plugin-python3 libsnmp-dev git gettext libcurl4-openssl-dev libssl-dev expect
sleep 3
mkdir -p /var/www
cd /var/www cd /var/www
git clone https://github.com/nerosketch/djing.git -b devel djing git clone https://github.com/nerosketch/djing.git -b devel djing
cd djing
python3 -m venv venv
source ./venv/bin/activate
pip3 install --upgrade pip
export PYCURL_SSL_LIBRARY=openssl
pip3 install -r requirements.txt
cp djing/local_settings.py.example djing/settings.py
deactivate
chown -R www-data:www-data /var/www
Loading…
Cancel
Save