Перейти к содержанию

Основная папка

Разархивируйте mfc_portal.zipна жесткий диск в папку, созданную при установке HTTP сервера. В данном руководстве подразумевается, что это будет сделано в папку mfc_portal.

Или скачатей файл с последним обновлением http://azovkomeks.ru/update/mfc_portal/update.zip и используйте его вместо дистрибутива.

Для работы портала необходимо установить права не выше 744, т.к. при обновлении будут заменяться файлы на стороне сервера

Настройка подключения к БД

Для работы портала необходимо настроить несколько конфигурационных файлов:

/config/db.php - файл для настройки подключения к персональной базе портала

/config/dbMfc.php - файл для настройки подключения к основной базе МФЦ

/config/dbReplMfc.php - файл для настройки подключения к резервной базе для формирования отчетности

/config/dbJoomla.php - файл настройки подключения к Joomla для сбора новостей по МСП

/config/mail.php - файл для настройки отправления электронной почты с внешнего портала

/config/config.php - файл для настройки дополнительных параметров внешнего портала

Формат файла для подключения к БД

return [
    'class' => 'yii\db\Connection',
    'dsn' => 'pgsql:host=192.168.10.10;dbname=database',
    'username' => 'postgres',
    'password' => '****',
    'charset' => 'utf8',
    'enableSchemaCache' => true,
];

Для отправки писем с портала необходимо настроить SMTP соединение в файле /config/mail.php

return [
    'class' => 'yii\swiftmailer\Mailer',
    'transport' => [
        'class' => 'Swift_SmtpTransport',
        'host' => 'smtp.yandex.ru',
        'username' => 'test@azovkomeks.ru',
        'password' => '****',
        'port' => '465',
        'encryption' => 'ssl',
    ],
];

Для настройки единой авторизации с порталом mfc61.ru необходимо создать файл с ключем /config/jwt.key и сохранить в него открытый ключ для авторизации.

Для подключения к Joomla необходимо указать настройки подключения и указать ID категории в которой находятся новости МСП, таблицу *_content, где * - префикс таблиц. url - адрес сайта Joomla для корректного отображения картинок из новостей.

return [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=192.168.1.5;dbname=joomla',
    'username' => 'root',
    'password' => '****',
    'charset' => 'utf8',
    'attributes' => [
        'cat_id' => 19,
        'table' => '****_content',
        'url' => 'http://mfc/site/'
    ]
];

Файл /config/config.php позволяет настроить дополнительные параметры внешнего портала

<?php
return [
    'onlyApi' => false,/*Установите в True если необходимо заблокировать внешний портал и оставить только доступ для администратора, API и отчетов*/
    'baseUrl' => 'http://mfc', // Адрес портала Yii2 в интернете
    'fileStorage' => [
        'link' => 'http://storage' //http к файловому хранилищу
    ]
];

Настройка хоста

откройте файл httpd-vhosts.conf для windows или /etc/apache2/sites-available/000-default.conf для linux и настройте хост для АИС МФЦ

<VirtualHost *:80>
    DocumentRoot /var/www/mfc_portal/web
    ServerName mfc-portal
    Options +Indexes +FollowSymLinks
    <Directory "/var/www/mfc_portal/web">
        AllowOverride All
        php_admin_value mbstring.func_overload 0
        php_admin_value mbstring.internal_encoding UTF-8
    </Directory>
</VirtualHost>

прописав Ваши пути и имя хоста.

Необходимо проверить включен ли модуль Apache mod_rewrite. Он необходим для правильной работы файла .htaccess

после перезапустите apache.

linux:

sudo service apache2 restart

или windows:

httpd.exe -k restart

Для организации базовой защиты от уязвимостей необходимо в виртуалхост, в DocumentRoot дописать набор директив


Header always append X-Frame-Options SAMEORIGIN (Для Nginx add_header X-Frame-Options SAMEORIGIN;)

Header set X-XSS-Protection "1; mode=block"

Header always set Strict-Transport-Security "max-age=31536000; inc

<IfModule mod_headers.c>
    <Directory />
        Header always set Expect-CT "enforce, max-age=300"
    </Directory>
</IfModule>

Header set X-Content-Type-Options nosniff

Header edit Set-Cookie ^(.*)$ $1;Secure

RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
Header always append X-Frame-Options SAMEORIGIN
 Атака типа clickjacking (англ. «захват клика») позволяет вредоносной странице кликнуть по сайту-жертве от имени посетителя.
                            Заголовок X-Frame-Options со стороны сервера может разрешать или запрещать отображение страницы внутри фрейма.
                            Заголовок может иметь 3 значения:

                            DENY
                            Никогда не показывать страницу внутри фрейма.
                            SAMEORIGIN
                            Разрешить открытие страницы внутри фрейма только в том случае, если родительский документ имеет тот же источник.
                            ALLOW-FROM domain
                            Разрешить открытие страницы внутри фрейма только в том случае, если родительский документ находится на указанном в заголовке домене.

Header set X-XSS-Protection "1; mode=block" 
Включает фильтрацию XSS. Вместо того, чтобы очищать содержимое страницы, браузер предотвратит отображение страницы, если заметит атаку.

Header always set Strict-Transport-Security "max-age=31536000; inc
задействовав strict-transport-security , вы заставляете все современные браузеры «общаться» с сайтом исключительно по HTTPS.

<IfModule mod_headers.c>
    <Directory />
        Header always set Expect-CT "enforce, max-age=300"
    </Directory>
</IfModule>
Expect-CT Заголовок позволяет сайтам отказаться от отчетности и/или соблюдения требований прозрачности сертификатов,
                            чтобы использование неправильно выпущенных сертификатов для этого сайта не осталось незамеченным.

Header set X-Content-Type-Options nosniff
 Можно предотвратить атаки с использованием подмены MIME типов, добавив этот заголовок ответа HTTP. Заголовок содержит инструкции по определению типа файла и не допускает сниффинг контента. При конфигурации потребуется добавить только один параметр: “nosniff”.

Для проверки с локального сервера исправьте /etc/hosts (linux) или C:\Windows\System32\drivers\etc\hosts (windows), добавив строку

127.0.0.1   mfc-portal

После этого в ИИС можно зайти, прописав в адресной строке браузера

http://mfc-portal/

Для первоначальной установки необходимо создать базу данных и поднять на ней миграции. Для этого зайдите в консоли в папку с проектом

cd /var/www/mfc_portal
./yii migrate (linux)
yii.bat migrate (windows)

Программа автоматически создаст структуру БД которая прописана в конфиге /config/db.php

После этого в браузере отобразится работающий портал.

Настройка обработки очередей и задач

Для отправления сообщений с портала МФЦ о новостях МСП необходимо запустить работу очереди. Для этого необходимо настроить автозапуск команды yii queue/run в директории с проектом. Данная команда будет запускать обработку очереди и после проработки всех задач завершать выполнение скрипта.