Рейтинг темы:
  • Голосов: 0 - Средняя оценка: 0
  • 1
  • 2
  • 3
  • 4
  • 5
установка АИСОУ 7.6 под Линукс
#1
основная инструкция по установке на  Ubuntu 16.04 LTS 

Опционально обновим систему до последнего состояния: 

Код:
$ sudo -i 
# apt update && apt upgrade -y 

Установить требуемые пакеты: 

Код:
# apt install python-pip build-essential unzip libmysqlclient-dev python-dev libxml2-dev libxslt1-dev libssl-dev libffi-dev apache2  libapache2-mod-wsgi python-svn 

Распакуем архив с АСИОУ: 

Код:
# unzip /tmp/www7_6.zip -d /var/ 

Установим требуемые пакеты для Python: 

Код:
# pip install -r /var/www/www/requirements.txt 
# pip install --upgrade git+https://github.com/sokolovs/django-piston.git 

Установим MYSQL: 

Код:
# apt install mysql-server mysql-client 

Создадим БД и пользователя СУБД (вместо asiou_prod указать желаемое имя БД, вместо PASSWORD следует задать надежный пароль): 


Код:
# mysql -uroot -p 
mysql> CREATE DATABASE asiou_prod CHARACTER SET utf8 COLLATE utf8_general_ci; 
mysql> GRANT ALL PRIVILEGES ON asiou_prod.* TO 'asiouser'@'localhost' IDENTIFIED BY 'PASSWORD'; 
mysql> FLUSH PRIVILEGES; 

Развернем дамп БД АСИОУ (Файл дампа БД должен быть загружен на сервер заранее): 

Код:
# mysql -uasiouser -p asiou_prod < [ПУТЬ ДО ДАМПА БД] 

Настроим СУБД в АСИОУ для этого отредактируем файл /var/www/asiou/db.ini заполним данными полученными на этапе создание БД (Имя пользователя, пароль, имя БД) 

Подготовим БД для перехода на новую версию АСИОУ: 


Код:
# mysql -uasiouser -p asiou_prod < /var/www/sql/django_migrations.sql 
# cd /var/www 
# python -W ignore manage.py migrate asiou --fake 

Привести файл /etc/apache2/sites-available/000-default.conf к виду: 

Код:
WSGIPythonHome "/usr/local/lib/python2.7" 
<VirtualHost *:80> 
 WSGIDaemonProcess app user=www-data group=www-data processes=1 home=/var/www 
 <Directory /> 
    Options FollowSymLinks 
    AllowOverride None 
    Order deny,allow 
    Deny from all 
 </Directory> 
   #ServerName 10.76.51.28:80 
   WSGIScriptAlias / "/var/www/wsgi.py" 
   <Directory "/var/www"> 
     WSGIProcessGroup app 
     WSGIApplicationGroup %{GLOBAL} 
 WSGIScriptReloading On 
     Order allow,deny 
     Allow from all 
   </Directory> 
</VirtualHost> 
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet 

Сменим владельца каталога АСИОУ: 

Код:
# chown www-data:www-data /var/www -R 

Добавим бит выполнения для файла wsgi.py: 

Код:
# chmod +x /var/www/wsgi.py 

Перезапустим apache: 

Код:
# service apache2 restart 

После чего можно зайти по адресу http сервера в интерфейс АСИОУ 

Примечания: 

Файл логов cont_export.log в каталоге www следует вынести в отдельный каталог логов (проще настроить ротацию, все-таки это не статический файл, а также удобнее монтировать каталог log в хост машину при использовании докера)  

Данная инструкция проверена на уже имеющийся БД АСИОУ, развертка с пустой БД не проводилась, для развертки с нуля требуется информация от разработчиков в каком порядке создавать БД и какие sql файлы использовать 

Так же предлагаю использовать докер для приложения АСИОУ, в этом случае можно избавится от привязки к конкретному дистрибутиву и использовать на любом где можно установить докер
Ответить
#2
centos 6.8 (обновление версии 7.5.9)
Пока сделано частично:

# pip install -r /var/www/www/requirements.txt
# pip install --upgrade git+https://github.com/sokolovs/django-piston.git


Подготовим БД для перехода на новую версию АСИОУ:


Код:

Код:
# mysql -uasiouser -p asiou_prod < /var/www/sql/django_migrations.sql
# cd /var/www
# python -W ignore manage.py migrate asiou --fake


Далее - изменение параметров запуска сервера приложений. Ставим uwsgi и модуль python
Код:
# yum install uwsgi
# yum install uwsgi-plugin-python2

создаем файл, с расширением ini в каталоге /etc/uwsgi.d/asiou.ini
Код:
[uwsgi]

# Настройки, связанные с Django
# Корневая папка проекта (полный путь)
uid = asiou
gid = asiou

chdir           = /home/asiou/www/
# Django wsgi файл
wsgi-file       = /home/asiou/www/wsgi.py
# полный путь к виртуальному окружению
virtualenv      = /home/asiou/.venv/asiou_venv
# общие настройки
# master
master          = true
protocol = uwsgi
# максимальное количество процессов
processes       = 10
# полный путь к файлу сокета
socket          = /var/run/asiou.sock
plugins = python
chown-socket = nginx:nginx
chmod-socket = 660

# очищать окружение от служебных файлов uwsgi по завершению
vacuum          = true

Настройки nginx.
Файл /etc/nginx/uwsgi_params

Код:
uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;

uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;

uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;

Файл /etc/nginx/conf.d/asiou_vhost.conf

Код:
upstream django_aisdou {
    server unix:///var/run/asiou.sock fail_timeout=0;
    }

    # конфигурация веб-сервера
    server {
        proxy_read_timeout      3600;
    proxy_send_timeout      3600;
    uwsgi_send_timeout      3600;
        uwsgi_read_timeout      3600;
    error_log /var/log/nginx/asiou111_error.log;
    access_log /var/log/nginx/asiou111_access.log;
        server_tokens off;

        # порт, который будет слушать веб-сервер в ожидании запросов от пользователй
    listen      80;

        # доменное имя
        server_name _; # замените на собственный домен или IP адрес
        charset     utf-8;

    # максимальный размер загружаемых на сервер данных
        client_max_body_size 75M;

    location /static {
      alias  /home/asiou/www/static;
     # Gzip
    gzip on;
    gzip_min_length 8192;
     gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
  gzip_disable "msie6";
    }

    location /media {
    alias /home/aisdou/www/asiou/media;
    }

   location / {
           # Maintenance mode
  if (-f /home/asiou/mntnce/maintenance_on.html) {
                                                                                                                                                               return 503;
   }

  uwsgi_pass  django_aisdou;
  include /etc/nginx/uwsgi_params;
   }

   # Error page for maintenance mode
  error_page 503 /maintenance_on.html;
 location = /maintenance_on.html {
 root /home/asiou/mntnce/;
 }
}



шаманство с uwsgi - и все заработало. на nginx

Дополнительно: если поставили виртуальное окружение, то все команды, начинающиеся с python вводим под пользователем asiou (или тем, где стоит виртуальное окружение)
bash-4.1$ cd
bash-4.1$ source .venv/asiou_venv/bin/activate
(asiou_venv) bash-4.1$ cd /home/asiou/www
(asiou_venv) bash-4.1$ python -W ignore manage.py migrate asiou --fake
Ответить
#3
здесь может быть про докер будет
Ответить
#4
Руслан.
Несколько вопросов.
1. Сам пробовал ставить и работать в этой версии Ubuntu. Я весной пробовал и не смог добиться работы ряда существенных элементов. Например, даты в электронном журнале. Или формирование ряда отчетов.
2. Какой ВИПНЕТ ты предлагаешь ставить? Или у тебя появились возможности настроить 4,2,?
3. У тебя в инструкции написано # unzip /tmp/www7_6.zip -d /var/ . А откуда ты берешь файл www7_6.zip ? или это заготовка на будущее?
4. По этой команде pip install -r /var/www/www/requirements.txt процес установки обрывается на 5 пакетах. Как ты предлагаешь его решать?
5. Как ты предлагаешь работать в mysql 5.5 с групповыми операциями? Они не выполняются без специальной настройки сонфига.

Это только то что я вспомнил.
Ответить
#5
(11-10-2018, 08:45)tarasalex Писал(а): Руслан.
Несколько вопросов.
1. Сам пробовал ставить и работать в этой версии Ubuntu. Я весной пробовал и не смог добиться работы ряда существенных элементов. Например, даты в электронном журнале. Или формирование ряда отчетов.
2. Какой ВИПНЕТ ты предлагаешь ставить?  Или у тебя появились возможности настроить 4,2,?
3. У тебя в инструкции написано  # unzip /tmp/www7_6.zip -d /var/ . А откуда ты берешь файл www7_6.zip ? или это заготовка на будущее?
4. По этой команде pip install -r /var/www/www/requirements.txt  процес установки обрывается на 5 пакетах. Как ты предлагаешь его решать?
5. Как ты предлагаешь работать в mysql 5.5 с групповыми операциями? Они не выполняются без специальной настройки сонфига.

Это только то что я вспомнил.

Это обновленная версия, в продуктив еще не выложена. Мы ее тестировали на совместимость с Линуксом. 
Будут серьезные изменения. В частности: переход на apache и django 1.11
по випнету - самый больной вопрос. 4.2 больше не пытался ставить. может сделаю еще один подход. но факт в том, что без випнета сейчас сервер АСИОУ бесполезен.
развертку на Centos 6.8 попробуем в ближайшее время (там 3 випнет работает)
requirements.txt подчистили. у нас все заработало. конкретные вопросы будем решать уже тогда, когда версия станет доступна для установки.
Для желающих - версия для тестирования здесь: http://asiou.coikko.ru/static/update_version/www7_6.zip
Это тестовая версия. Ее еще нельзя использовать для работы!!! Точная дата выхода пока неизвестна.
Ответить
#6
(11-10-2018, 09:34)Ruslan Писал(а):
(11-10-2018, 08:45)tarasalex Писал(а): Руслан.
Несколько вопросов.
1. Сам пробовал ставить и работать в этой версии Ubuntu. Я весной пробовал и не смог добиться работы ряда существенных элементов. Например, даты в электронном журнале. Или формирование ряда отчетов.
2. Какой ВИПНЕТ ты предлагаешь ставить?  Или у тебя появились возможности настроить 4,2,?
3. У тебя в инструкции написано  # unzip /tmp/www7_6.zip -d /var/ . А откуда ты берешь файл www7_6.zip ? или это заготовка на будущее?
4. По этой команде pip install -r /var/www/www/requirements.txt  процес установки обрывается на 5 пакетах. Как ты предлагаешь его решать?
5. Как ты предлагаешь работать в mysql 5.5 с групповыми операциями? Они не выполняются без специальной настройки сонфига.

Это только то что я вспомнил.

Это обновленная версия, в продуктив еще не выложена. Мы ее тестировали на совместимость с Линуксом. 
Будут серьезные изменения. В частности: переход на apache и django 1.11
по випнету - самый больной вопрос. 4.2 больше не пытался ставить. может сделаю еще один подход. но факт в том, что без випнета сейчас сервер АСИОУ бесполезен.
развертку на Centos 6.8 попробуем в ближайшее время (там 3 випнет работает)
requirements.txt подчистили. у нас все заработало. конкретные вопросы будем решать уже тогда, когда версия станет доступна для установки.
Для желающих - версия для тестирования здесь: http://asiou.coikko.ru/static/update_version/www7_6.zip
Это тестовая версия. Ее еще нельзя использовать для работы!!! Точная дата выхода пока неизвестна.
Руслан. А на какой версии Ubutnu ставил - 64-х ?
Ответить
#7
(11-10-2018, 10:42)tarasalex Писал(а):
(11-10-2018, 09:34)Ruslan Писал(а):
(11-10-2018, 08:45)tarasalex Писал(а): Руслан.
Несколько вопросов.
1. Сам пробовал ставить и работать в этой версии Ubuntu. Я весной пробовал и не смог добиться работы ряда существенных элементов. Например, даты в электронном журнале. Или формирование ряда отчетов.
2. Какой ВИПНЕТ ты предлагаешь ставить?  Или у тебя появились возможности настроить 4,2,?
3. У тебя в инструкции написано  # unzip /tmp/www7_6.zip -d /var/ . А откуда ты берешь файл www7_6.zip ? или это заготовка на будущее?
4. По этой команде pip install -r /var/www/www/requirements.txt  процес установки обрывается на 5 пакетах. Как ты предлагаешь его решать?
5. Как ты предлагаешь работать в mysql 5.5 с групповыми операциями? Они не выполняются без специальной настройки сонфига.

Это только то что я вспомнил.

Это обновленная версия, в продуктив еще не выложена. Мы ее тестировали на совместимость с Линуксом. 
Будут серьезные изменения. В частности: переход на apache и django 1.11
по випнету - самый больной вопрос. 4.2 больше не пытался ставить. может сделаю еще один подход. но факт в том, что без випнета сейчас сервер АСИОУ бесполезен.
развертку на Centos 6.8 попробуем в ближайшее время (там 3 випнет работает)
requirements.txt подчистили. у нас все заработало. конкретные вопросы будем решать уже тогда, когда версия станет доступна для установки.
Для желающих - версия для тестирования здесь: http://asiou.coikko.ru/static/update_version/www7_6.zip
Это тестовая версия. Ее еще нельзя использовать для работы!!! Точная дата выхода пока неизвестна.
Руслан. А на какой версии Ubutnu ставил - 64-х ?

да.
Ответить
#8
попался свободный диск и попробовал установить.
Сломался на команде
# pip install --upgrade git+https://github.com/sokolovs/django-piston.git
Получил такое -
Collecting git+https://github.com/sokolovs/django-piston.git
Cloning https://github.com/sokolovs/django-piston.git to /tmp/pip-HYs2Z6-build
Error [Errno 2] Нет такого файла или каталога while executing command git clone -q https://github.com/sokolovs/django-piston.git /tmp/pip-HYs2Z6-build
Cannot find command 'git'

Т.е. надо ставить еще и git отдельно ставить.
Ответить
#9
(29-10-2018, 19:43)tarasalex Писал(а): попался свободный диск и попробовал установить.
Сломался на команде
# pip install --upgrade git+https://github.com/sokolovs/django-piston.git
Получил такое -
Collecting git+https://github.com/sokolovs/django-piston.git
 Cloning https://github.com/sokolovs/django-piston.git to /tmp/pip-HYs2Z6-build
 Error [Errno 2] Нет такого файла или каталога while executing command git clone -q https://github.com/sokolovs/django-piston.git /tmp/pip-HYs2Z6-build
Cannot find command 'git'

Т.е. надо ставить еще и git отдельно ставить.

да установите git.
apt install -y git
Ответить
#10
Спасибо. Я, конечно, поставил. Но это надо указывать в описании.
Ответить


Переход:


Пользователи просматривают эту тему: 5 Гость(ей)