Установка АСИОУ 7.0 под Linux (все действия через терминал) Все действия выполняются от имени администратора! Для активации режима администратора необходимо ввести в консоли команду su – и затем ввести пароль администратора (либо выполнять все команды через привилегированный режим при помощи команды sudo) ПРИМЕЧАНИЕ: для активации режима администратора в Ubuntu нужно ввести sudo su Настройка и запуск программного комплекса АСИОУ 7.0 Создадим пользователя asiou в системе и зададим ему пароль, а так же создадим необходимые каталоги. Это пользователь от имени которого будет работать программный комплекс АСИОУ 7.0 в операционной системе. Внимание! Ввод пароля не отображается, это нормально. useradd -d /home/asiou -m asiou passwd asiou Введите новый пароль UNIX: Повторите ввод нового пароля UNIX: passwd: пароль успешно обновлён mkdir /home/asiou/logs mkdir /home/asiou/www chown asiou:asiou /home/asiou/logs /home/asiou/www usermod -G asiou www-data Для работы АСИОУ 7.0, требуется запуск FastCGI сервера через библиотеку flup, которую мы устанавливали ранее. Протокол FastCGI является связующим звеном между программным комплексом АСИОУ 7.0 и веб-сервером nginx. Для запуска сервера нам потребуется специально оформленный bash-скрипт. Содержимое необходимо сохранить в файл /usr/local/sbin/django_fcgi #!/bin/bash ################################################## # Script for automate runnong FastCGI servers # for any Django project. # Author: Sergey V. Sokolov <sokol@zavolga.net> # Config: /etc/djfcgi.conf ################################################## # Vars CONFIG="/etc/djfcgi.conf" # Check config if [ ! -f "$CONFIG" ]; then echo "Cconfig file '$CONFIG' not found!" exit 1 fi 1 # Include config . $CONFIG if [ "$PROJECTS" = "" ]; then echo "No configured projects!" exit 1 fi # For all projects for proj in $PROJECTS; do if [ "$2" != "" -a "$2" != "$proj" ]; then continue; fi path=$(eval "echo \$${proj}_path"); user=$(eval "echo \$${proj}_user"); if [ "$path" = "" ]; then echo "Empty path for project '$proj'!" exit 1 fi if [ ! -d "$path" ]; then echo "Not directory '$path'!" exit 1 fi if [ ! -f "$path/manage.py" ]; then echo "It not Django project '$path'!" exit 1 fi # Set variables pid="$PID_DIR/$proj.pid" socket="$SOCKET_DIR/django-fcgi-$proj.sock" maxrequests=$(eval "echo \$${proj}_maxrequests"); maxrequests=${maxrequests:-$D_MAX_REQUESTS} minspare=$(eval "echo \$${proj}_minspare"); minspare=${minspare:-$D_MIN_SPARE} maxspare=$(eval "echo \$${proj}_maxspare"); maxspare=${maxspare:-$D_MAX_SPARE} maxchildren=$(eval "echo \$${proj}_maxchildren"); maxchildren=${maxchildren:-$D_MAX_CHILD} debug=$(eval "echo \$${proj}_debug"); debug=${debug:-$D_DEBUG} outlog=$(eval "echo \$${proj}_outlog"); outlog=${outlog} errlog=$(eval "echo \$${proj}_errlog"); errlog=${errlog} # Start or stop if [ "$1" = "start" ]; then echo -n "Start FastCGI server for '$proj': " # Generate command CMD="$PYTHON $path/manage.py runfcgi workdir='$path' socket='$socket' pidfile='$pid' debug=$debug" CMD="$CMD maxrequests=$maxrequests minspare=$minspare maxspare=$maxspare maxchildren=$maxchildren" if [ "$outlog" != "" ]; then CMD="$CMD outlog='$outlog'" fi 2 if [ "$errlog" != "" ]; then CMD="$CMD errlog='$errlog'" fi # Run su --command="$CMD" "$user" if [ "$?" = "0" ]; then sleep 1 chmod 666 $socket echo "OK" else echo "FAIL" fi elif [ "$1" = "stop" ]; then echo -n "Stop FastCGI server for '$proj': " if [ -f "$pid" ]; then kill `cat $pid` sleep 3 if [ "$?" = "0" ]; then rm $socket >/dev/null 2>&1 rm $pid >/dev/null 2>&1 echo "OK" else echo "FAIL" fi else echo "NOT RUNNING" fi else echo "Usage: $0 (start|stop) [<project>]" exit 1 fi done exit 0 Далее необходимо создать служебный каталог и назначить для него права на запись mkdir /var/run/django-fcgi chmod 777 /var/run/django-fcgi Для работы скрипта описанного выше необходимо создать конфигурационный файл /etc/djfcgi.conf следующего содержания: # Config file for django FastCGI server # Common vars PYTHON="python" PID_DIR="/var/run/django-fcgi" SOCKET_DIR="/var/tmp" # Default values D_MAX_REQUESTS=0 D_MIN_SPARE=3 D_MAX_SPARE=5 D_MAX_CHILD=10 D_DEBUG=false # Project names PROJECTS="asiou" # Project asiou asiou_path="/home/asiou/www/asiou" asiou_user="asiou" asiou_maxchildren=25 asiou_debug=true asiou_outlog="/home/asiou/logs/asiou.outlog.log" 3 asiou_errlog="/home/asiou/logs/asiou.errlog.log" Распаковка архива с программным комплексом АСИОУ 7.0. Архив asiou-7.0.tar.gz необходимо распаковать в каталог /home/asiou/www следующей командой (предполагается что архив находится в текущем каталоге): tar zxvf asiou-7.0.tar.gz -C /home/asiou/www chown -R asiou:asiou /home/asiou/www Следует обратить внимание, что на данном этапе потребуется пароль пользователя MySQL asiou, который был указан на предыдущих этапах. Далее необходимо инициализировать базу данных и заполнить ее начальными значениями, для этого необходимо выполнить следующие команды: cd /home/asiou/www/sql/properties mysql -u asiou -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5987 Server version: 5.1.41-3ubuntu12.10 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>use asiou; mysql>set names utf8; mysql>\. dump.sql mysql>\. ../institute.sql mysql>\. ../kladr.sql mysql>exit Bye Инициализация базы данных по учреждению: Инициализацию данных по учреждению необходимо выполнить обязательно. Иначе при попытке запуска АСИОУ будет выдана ошибка: Инициализация данных по учреждению выполняется в процессе конвертации данных из csv-файлов (которые располагаются в папке CONV) с помощью команды convert. cd /home/asiou/www/asiou python manage.py convert После этого можно запустить ПО АСИОУ 7.0, создать административного пользователя АСИОУ и выполнить первый вход в систему. Для этого выполним команду запуска сервера АСИОУ: django_fcgi start asiou Start FastCGI server for 'asiou': OK 4 Вход в АСИОУ 7.0 После запуска можно открыть браузер (Firefox, Opera, Chrome или Internet Explorer) и набрать в адресной строке адрес http://asiou.local. Именно это имя было указано в настройках nginx. Если у вас отсутствует имя сервера или система DNS, то можно зайти в систему используя IP-адрес, например если адрес компьютера на котором установлено ПО АСИОУ 7.0 192.168.1.10, то заходить следует по адресу http://192.168.1.10. При этом если компьютер находится в локальной сети, то по данному адресу можно войти в систему с любого комьютера!!! Для остановки АСИОУ 7.0 необходимо выполнить команду: django_fcgi stop asiou Stop FastCGI server for 'asiou': OK Для создания административного пользователя необходимо выполнить следующие команды: cd /home/asiou/www/asiou/ python manage.py createsuperuser Username: admin E-mail address: admin@yandex.ru <--- здесь нужно указать E-mail школы Password: Password (again): Superuser created successfully. После создания пользователя под ним можно войти как в административную часть по адресу http://asiou.local/admin, так и в основную систему по адресу указанному ранее. При этом внешний вид страницы входа будет выглядеть так: Вход в основную систему: Вход в административную часть: 5 6