Инструкция по установке

Система автоматизации учебного процесса «Автор-ВУЗ» является клиент-серверным программным обеспечением. Система устанавливается на сервер, а пользователи получают к ней доступ при помощи браузера.

Системные требования

Для установки необходим веб-сервер с объемом ОЗУ не менее 1ГБ с установленным PHP 5.5 или 5.6 и базой данных MySQL не ниже версии 5.5 (или MariaDB).

Для PHP необходимо установить следующие модули:

  • GD
  • MBString
  • XML
  • MCrypt
  • MySQL
  • Zend Guard Loader
Для работы системы лицензирования необходимо подключение веб-сервера к интернету (можно только исходящее). Если в вашей образовательной организации это запрещено политикой безопасности - обратитесь к нам, мы сделаем для вас решение без необходимости подключения к интернету.

Процесс установки на базе CentOS Linux 7

1. Установите последнюю версию CentOS Linux 7 в конфигурации Minimal с официального сайта CentOS. При установке обеспечьте доступ сервера к интернету.

2. Выполните обновление системы.

yum -y update

3. Установите веб-сервер nginx.

yum install -y git gcc gcc-c++ kernel-devel pcre-devel zlib-devel openssl-devel perl perl-devel perl-ExtUtils-Embed libxslt libxslt-devel libxml2 libxml2-devel gd gd-devel GeoIP GeoIP-devel
cd /tmp
git clone http://github.com/wandenberg/nginx-push-stream-module.git
NGINX_PUSH_STREAM_MODULE_PATH=$PWD/nginx-push-stream-module
curl -O https://nginx.org/download/nginx-1.13.10.tar.gz
tar xzvf nginx-1.13.10.tar.gz
cd nginx-1.13.10
./configure --add-module=../nginx-push-stream-module
make
make install
mkdir /var/log/nginx
useradd -M -s /sbin/nologin apache
chown apache:apache /var/log/nginx

4. Установите БД MariaDB.

yum -y install mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb

5. Установите PHP 5.6.

yum -y install epel-release
yum -y localinstall https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php56w php56w-fpm php56w-common php56w-gd php56w-mbstring php56w-xml php56w-mcrypt php56w-mysql php56w-opcache php56w-ldap php56w-soap
systemctl start php-fpm
systemctl enable php-fpm

6. Сконфигурируйте веб-сервер.

# Настройки PHP
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
sed -i "s/;date.timezone.*/date.timezone = Europe\\/Moscow/g" /etc/php.ini
sed -i "s/; max_input_vars.*/max_input_vars = 100000/g" /etc/php.ini
sed -i "s/memory_limit = .*/memory_limit = 512M/g" /etc/php.ini
sed -i "s/;mbstring.func_overload.*/mbstring.func_overload = 0/g" /etc/php.ini
sed -i "s/;mbstring.internal_encoding.*/mbstring.internal_encoding = utf-8/g" /etc/php.ini
sed -i "s/short_open_tag.*/short_open_tag = On/g" /etc/php.ini
sed -i "s/error_reporting.*/error_reporting \= E_ALL \& ~E_DEPRECATED \& ~E_STRICT \& ~E_NOTICE \& ~E_WARNING/g" /etc/php.ini
sed -i "s/display_errors = .*/display_errors = On/g" /etc/php.ini
sed -i "s/;realpath_cache_size = .*/realpath_cache_size = 4096k/g" /etc/php.ini
sed -i "s/opcache.max_accelerated_files=.*/opcache.max_accelerated_files=100000/g" /etc/php.d/opcache.ini
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 512M/g" /etc/php.ini
sed -i "s/post_max_size = .*/post_max_size = 512M/g" /etc/php.ini

# Запуск PHP-FPM от пользователя apache sed -i "s/listen = 127.0.0.1:9000/listen = \\/var\\/run\\/php-fpm\\/php-fpm.sock/g" /etc/php-fpm.d/www.conf sed -i "s/user = apache/user = apache/g" /etc/php-fpm.d/www.conf sed -i "s/group = apache/group = apache/g" /etc/php-fpm.d/www.conf sed -i "s/;listen.owner = nobody/listen.owner = apache/g" /etc/php-fpm.d/www.conf sed -i "s/;listen.group = nobody/listen.group = apache/g" /etc/php-fpm.d/www.conf

# Настройка nginx echo " user apache; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; events { worker_connections 1024; } http { sendfile off; # bug in VirtualBox tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /usr/local/nginx/conf/mime.types; default_type application/octet-stream; push_stream_shared_memory_size 64M; server { listen 80 default_server; server_name _; root /var/www/html; index index.html index.htm index.php; client_max_body_size 512m; location / { try_files \$uri \$uri/ @urlrewrite; } location /messages/pub { push_stream_publisher admin; push_stream_channels_path \$arg_id; allow 127.0.0.1; } location ~ /messages/sub/(.*) { push_stream_subscriber long-polling; push_stream_channels_path \$1; push_stream_longpolling_connection_ttl 300s; push_stream_last_received_message_time \$arg_time; push_stream_last_received_message_tag \$arg_tag; } location ~ \.php\$ { try_files \$uri @urlrewrite; include /usr/local/nginx/conf/fastcgi_params; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name; fastcgi_read_timeout 600; } location @urlrewrite { include /usr/local/nginx/conf/fastcgi_params; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME \$document_root/index.php; fastcgi_read_timeout 600; } } } " > /usr/local/nginx/conf/nginx.conf

echo " [Unit] Description=nginx with push-stream-module Documentation=https://nginx.org/en/docs/ After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/bin/kill -s HUP \$MAINPID ExecStop=/bin/kill -s TERM \$MAINPID [Install] WantedBy=multi-user.target " > /usr/lib/systemd/system/nginx.service

# Права на работу с сессиями для PHP
chown -R apache:apache /var/lib/php/session

# Установка Zend Guard Loader (для системы лицензирования)
curl http://avtor-vuz.ru/private/scripts/zend_loader/opcache.so > /usr/lib64/php/modules/opcache.so curl http://avtor-vuz.ru/private/scripts/zend_loader/ZendGuardLoader.so > /usr/lib64/php/modules/ZendGuardLoader.so echo "" >> /etc/php.ini echo "zend_extension = /usr/lib64/php/modules/opcache.so" >> /etc/php.ini echo "zend_extension = /usr/lib64/php/modules/ZendGuardLoader.so" >> /etc/php.ini echo "zend_loader.enable=1" >> /etc/php.ini echo "zend_loader.disable_licensing=0" >> /etc/php.ini chmod 0755 /usr/lib64/php/modules/opcache.so chmod 0755 /usr/lib64/php/modules/ZendGuardLoader.so

# Настройка SELinux
yum -y install policycoreutils-python
chown -R apache:apache /var/www/html semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html(/.*)?" restorecon -R /var/www/html semanage permissive -a httpd_t setsebool -P httpd_can_network_connect on mkdir /usr/local/nginx/client_body_temp mkdir /usr/local/nginx/fastcgi_temp mkdir /usr/local/nginx/proxy_temp mkdir /usr/local/nginx/scgi_temp mkdir /usr/local/nginx/uwsgi_temp chown apache:apache /usr/local/nginx/client_body_temp chown apache:apache /usr/local/nginx/fastcgi_temp chown apache:apache /usr/local/nginx/proxy_temp chown apache:apache /usr/local/nginx/scgi_temp chown apache:apache /usr/local/nginx/uwsgi_temp chmod 0600 /usr/local/nginx/client_body_temp chmod 0600 /usr/local/nginx/fastcgi_temp chmod 0600 /usr/local/nginx/proxy_temp chmod 0600 /usr/local/nginx/scgi_temp chmod 0600 /usr/local/nginx/uwsgi_temp semanage fcontext -a -t httpd_var_lib_t "/usr/local/nginx/client_body_temp(/.*)?" semanage fcontext -a -t httpd_var_lib_t "/usr/local/nginx/fastcgi_temp(/.*)?" semanage fcontext -a -t httpd_var_lib_t "/usr/local/nginx/proxy_temp(/.*)?" semanage fcontext -a -t httpd_var_lib_t "/usr/local/nginx/scgi_temp(/.*)?" semanage fcontext -a -t httpd_var_lib_t "/usr/local/nginx/uwsgi_temp(/.*)?" restorecon -R /usr/local/nginx/client_body_temp restorecon -R /usr/local/nginx/fastcgi_temp restorecon -R /usr/local/nginx/proxy_temp restorecon -R /usr/local/nginx/scgi_temp restorecon -R /usr/local/nginx/uwsgi_temp # Перезапуск служб веб-сервера systemctl enable nginx systemctl start nginx systemctl restart php-fpm systemctl restart mariadb

# Открываем 80 порт
firewall-cmd --permanent --add-service=http
firewall-cmd --reload


7. Загрузите скрипт установки Автор-ВУЗ.

а) если у вас обычная версия:

curl http://avtor-vuz.ru/private/scripts/install.php > /var/www/html/install.php
chown apache:apache /var/www/html/install.php

б) если у вас оффлайн-версия - скачайте оффлайн установщик из личного кабинета (раздел Установка), и закачайте его на сервер при помощи SFTP-клиента (например, CyberDuck) в папку /var/www/html. Затем выполните команду:

chown apache:apache /var/www/html/install.php


8. Для начала установки системы откройте браузер и обратитесь по адресу http://<адрес_вашего_сервера>/install.php и следуйте инструкциям установщика.