Установка sed на Ubuntu 2020 — различия между версиями

Материал из Справочная информация по работе с СЭД
Перейти к: навигация, поиск
 
(не показано 87 промежуточных версий 5 участников)
Строка 1: Строка 1:
 
= Установка SED на Ubuntu =
 
= Установка SED на Ubuntu =
 
+
Отключаем ipv6 (только на рабочем сервере)
 +
<pre>
 +
    sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
 +
    sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
 +
    sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
 +
    sudo sysctl -p
 +
</pre>
 
''' 1. ''' Cначала обновим систему до самой новой версии:
 
''' 1. ''' Cначала обновим систему до самой новой версии:
 
   sudo apt-get update
 
   sudo apt-get update
Строка 8: Строка 14:
 
''' 3. ''' Отключаем модуль индексирования:
 
''' 3. ''' Отключаем модуль индексирования:
 
   sudo a2dismod autoindex
 
   sudo a2dismod autoindex
''' 4. ''' Добавляем заголовки:
+
''' 4. ''' Подключаем модули rewrite, headers:
   sudo a2enmod headers
+
   sudo a2enmod headers rewrite
''' 5. ''' Перезапустим Apache:
+
'''5.''' Правим конфигурацию apache2.conf, убираем indexes, None -> All:
  sudo service apache2 restart
 
''' 6. ''' Правим конфигурацию apache2.conf, убираем indexes, None -> All:
 
 
   sudo nano /etc/apache2/apache2.conf
 
   sudo nano /etc/apache2/apache2.conf
 
Меняем:
 
Меняем:
 
<pre>
 
<pre>
  <Directory />
 
        Options FollowSymLinks
 
        AllowOverride None
 
        Require all denied
 
  </Directory>
 
 
  <Directory /usr/share>
 
        AllowOverride None
 
        Require all granted
 
  </Directory>
 
 
 
   <Directory /var/www/>
 
   <Directory /var/www/>
 +
#      Options Indexes FollowSymLinks
 
         Options FollowSymLinks
 
         Options FollowSymLinks
 
         AllowOverride All
 
         AllowOverride All
Строка 33: Строка 27:
 
   </Directory>
 
   </Directory>
 
</pre>
 
</pre>
 +
 +
'''6''' меняем время записи лога на неделю.
 +
 +
В файле /etc/logrotate.d/apache2 ставим '''weekly''',
 +
время лога увеличиваем до года
 +
sudo nano /etc/logrotate.d/apache2\
 +
'''rotate 48'''     
 +
/var/log/apache2/*.log {
 +
        weekly
 +
        missingok
 +
        rotate 48
 +
        compress
 +
        delaycompress
 +
        notifempty
 +
        create 640 root adm
 +
        sharedscripts
 +
        postrotate
 +
                if invoke-rc.d apache2 status > /dev/null 2>&1; then \
 +
                    invoke-rc.d apache2 reload > /dev/null 2>&1; \
 +
                fi;
 +
        endscript
 +
        prerotate
 +
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
 +
                        run-parts /etc/logrotate.d/httpd-prerotate; \
 +
                fi; \
 +
        endscript
 +
}
 +
 +
  
 
''' 7. ''' Правим конфигурации security.conf:
 
''' 7. ''' Правим конфигурации security.conf:
Строка 39: Строка 62:
 
   ServerTokens Prod
 
   ServerTokens Prod
 
   ServerSignature Off
 
   ServerSignature Off
'''8.''' Активация rewrite
 
  sudo a2enmod rewrite
 
'''9.''' Установка модулей php:
 
  sudo add-apt-repository ppa:ondrej/php
 
  
  sudo apt-get install php7.* php-pear libapache2-mod-php7.*
 
  
   sudo apt-get install php7.*-curl php7.*-gd php7.*-ldap php7.*-pgsql php7.*-mbstring php7.*-zip php-apcu php-imagick php7.*-imap php7.*-intl php7.*-xmlrpc php7.*-soap php-xdebug
+
'''9.''' Установка php:
 +
 
 +
  sudo apt install php8.1 libapache2-mod-php8.1
 +
   sudo apt-get install php8.1-curl php8.1-gd php8.1-ldap php8.1-pgsql php8.1-mbstring php8.1-zip php8.1-imagick php8.1-imap php8.1-intl php8.1-xmlrpc php8.1-soap php8.1-xml
 +
  sudo apt-get install php-xdebug8.1 (устанавливается только на машине разработчика)
 +
 
 +
 
 +
  Через phpinfo находим путь к php.ini.
 +
  В php.ini выставляем директивы upload_max_filesize = 500M post_max_size = 500M
  
'''10. ''' Изменяем прослушиваемые порты:
 
  sudo nano /etc/apache2/ports.conf
 
Меняем на:
 
  Listen 12080
 
  
'''11.''' Меняем рабочую папку и указываем в конфиге и делаем ссылку:
+
- sudo apt-get install netpbm (toolkit for manipulation of graphic images, including conversion of images between a variety of different formats)? проверить использование в проекте
   sudo mkdir -p /var/www/sed
+
 
 +
- на рабочем сервере правим cfg-local/header.php, tools/sendmail.php
 +
 
 +
 
 +
'''11.''' Создаем рабочую папку и файл конфигурации виртуального хоста apache:
 +
   sudo mkdir -p /var/www/sed-citis
 
   sudo nano /etc/apache2/sites-available/sed.conf
 
   sudo nano /etc/apache2/sites-available/sed.conf
 +
  
 
<pre>
 
<pre>
   <VirtualHost *:12080>     
+
   <VirtualHost *:80>     
  ServerName sed.local
+
      ServerName sed.local
  ServerAdmin webmaster@localhost
+
      ServerAdmin webmaster@localhost
  DocumentRoot /var/www/sed
+
      DocumentRoot /var/www/sed-citis
  
  ErrorLog ${APACHE_LOG_DIR}/error.log
+
      ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
+
      CustomLog ${APACHE_LOG_DIR}/access.log combined
 
   </VirtualHost>
 
   </VirtualHost>
  
Строка 70: Строка 98:
 
</pre>
 
</pre>
  
   sudo ln -s /etc/apache2/sites-available/sed.conf /etc/apache2/sites-enabled/
+
''' 12.''' Активируем вируальный хост sed.conf. Отключаем сайт по умолчанию, заданный в файле 000-default.conf
   sudo rm /etc/apache2/sites-enabled/000-default.conf
+
<pre>
 +
   sudo a2ensite sed.conf
 +
   sudo a2dissite 000-default.conf
 +
</pre>
 +
 
 +
Перезапускаем Apache:
 +
  sudo service apache2 restart
  
''' 12.''' Указываем данные в хосте:
+
''' 13.''' Установка Postgres
   sudo nano /etc/hosts
+
   sudo apt-get install postgresql
  
  127.0.0.1    sed.local
+
-редактируем /etc/postgresql/{версия}/main/postgresql.conf
 +
<pre>
 +
max_connections =300
 +
ssl = off
 +
</pre>
  
''' 13.''' Установка Postgres:
+
- sudo service postgresql restart
   sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -sc)-pgdg main"
+
 
  wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
+
- меняем дефолтный пароль postgres
  sudo apt-get update
+
 
  sudo apt-get install postgresql-9.6
+
<pre>
 +
sudo -u postgres psql postgres
 +
\password postgres
 +
Ввести пароль ЕДИНИЧКУ (1)
 +
Повторить пароль
 +
</pre>
 +
 
 +
-  добавляем пользователя 'www-data' и 'ai-modules':
 +
<pre>
 +
  CREATE USER "www-data" WITH PASSWORD 'pass';
 +
   CREATE USER "ai-modules" WITH PASSWORD '1';
 +
</pre>
 +
 
 +
- создаем БД
 +
<pre>
 +
CREATE DATABASE edfs OWNER "www-data";
 +
\q
 +
</pre>
 +
 
 +
- на сервере сделать бэкап БД:
 +
<pre>
 +
pg_dump -h localhost -p 5432 -U postgres -F c -C -d edfs > ~/2020-09-30.edfs (2020-09-30 - дата бэкапа)
 +
</pre>
 +
- с сервера скопировать бэкап себе в /home/$USER
 +
<pre>
 +
pg_restore -h localhost -p 5432 -U postgres -d edfs ~/2020-09-30.edfs
 +
</pre>
  
'''14. Правим конфигурацию Postgres:
 
  sudo nano /etc/postgresql/9.6/main/postgresql.conf
 
Меняем:
 
  ssl = off
 
  
  sudo service postgresql restart
+
'''15.''' Скачивание и развертывание Sed в /var/www/sed-citis:
  
'''15.''' Скачивание и развертывание Sed в /var/www/sed:
 
  sudo chown -R $USER:$USER /var/www/sed
 
  sudo chmod 777 /var/www/sed
 
 
   sudo apt install git
 
   sudo apt install git
  cd /var/www/sed
+
Отключаем проверку ssl сертификата git-a
  git clone https://.......................git
 
Если не дает ssh:
 
 
   git config --global http.sslVerify false
 
   git config --global http.sslVerify false
  
   sudo chown -R www-data:www-data /var/www/sed/cache
+
   создаем папку /var/www/sed-citis, даем ей права пользователя
   sudo chown -R www-data:www-data /var/www/sed/storage
+
  cd /var/www/
 +
   git clone https://10.20.4.2:3030/citis/sed-citis.git
  
'''16.''' В файле /cfg/db.ini изменить пути:
+
  sudo chown -R www-data:www-data /var/www/sed-citis/cache
 +
  sudo chown -R www-data:www-data /var/www/sed-citis/storage
 +
  sudo chown www-data:www-data /var/www/sed-citis/cabinet/img/citis_logo.png
  
   docfile_storage=/var/www/sed/sed-citis/storage/docfiles
+
   unzip vendor.zip
  storagedir = /var/www/sed/sed-citis/storage
 
  
'''16.''' Настройка БД Postgres:
+
'''16.''' В файле /cfg/db.ini изменить пути:
16.1 Cменить дефолтный пароль постгреса:
 
  sudo -u postgres psql postgres
 
  \password postgres
 
  Ввести пароль ЕДИНИЧКУ (1)
 
  Повторить пароль
 
  \q
 
  
16.2 Добавляем юзера 'www-data':
+
   docfile_storage=/var/www/sed-citis/storage/docfiles
  sudo -u postgres psql postgres
+
   storagedir = /var/www/sed-citis/storage
   CREATE USER "www-data" WITH PASSWORD 'pass';
 
   \q
 
 
 
16.3 Создаем БД:
 
  sudo -u postgres psql postgres
 
  CREATE DATABASE edfs OWNER "www-data";
 
  \q
 
  
 
16.4 На сервере сделать бэкап БД (Уточняем ссылки у администратора):
 
16.4 На сервере сделать бэкап БД (Уточняем ссылки у администратора):
Строка 134: Строка 178:
 
   pg_restore -h localhost -p 5432 -U postgres -d edfs ~/30-11-2020.edfs  
 
   pg_restore -h localhost -p 5432 -U postgres -d edfs ~/30-11-2020.edfs  
  
16.7 Сделаем pass единички:
+
16.7 Сделаем pass единички на машине разработчика:
 
   sudo -u postgres psql postgres
 
   sudo -u postgres psql postgres
 
   \c edfs  
 
   \c edfs  
 
   UPDATE public.users SET pass = 1;
 
   UPDATE public.users SET pass = 1;
 
   \q
 
   \q
 +
 +
16.7.1 на рабочем сервере чистим базу от тестовых записей используя sql из ajax/clean_edfs.php
 +
  
 
16.8 Перезапустить все:
 
16.8 Перезапустить все:
Строка 144: Строка 191:
 
   sudo service postgresql restart
 
   sudo service postgresql restart
  
'''17.''' Перейти в /var/www/sed/sed-citis
+
17. На ubuntu server может потребоваться библиотеки для конвертации в pdf
   git status
+
 
 +
sudo apt install libreoffice
 +
sudo apt-get install poppler-utils (библиотека отрисовки PDF, основанная на программе просмотра Xpdf)
 +
 
 +
 
 +
18. Устанавливаем imagemagick для загрузки фотографий и настраиваем его безопасность
 +
 
 +
sudo apt install imagemagick
 +
 +
sudo nano /etc/ImageMagick-6/policy.xml
 +
 +
<policy domain="coder" rights="none" pattern="EPHEMERAL" />
 +
<policy domain="coder" rights="none" pattern="HTTPS" />
 +
<policy domain="coder" rights="none" pattern="MVG" />
 +
<policy domain="coder" rights="none" pattern="MSL" />
 +
<policy domain="coder" rights="none" pattern="TEXT" />
 +
<policy domain="coder" rights="none" pattern="SHOW" />
 +
<policy domain="coder" rights="none" pattern="WIN" />
 +
<policy domain="coder" rights="none" pattern="PLT" />
 +
 
 +
<policy domain="path" rights="none" pattern="@*" />
 +
 
 +
Меняем права доступа для PDF на write|read
 +
<policy domain="coder" rights="write|read" pattern="PDF" />
 +
 
 +
Проверяем правильность настроечных параметров
 +
 
 +
convert -list policy
 +
 
 +
19. Установка криптоПро, необходимо для работы с ЭЦП
 +
 
 +
https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/338/0/nstrojjk-rbochego-mest-pod-uprvleniem-os-linux-dlja-rboty-s-oblchnymi-sertifiktmi-ehlektronnojj-podpisi
 +
 
 +
Качаем КриптоПро CSP 4.0R4 linux x64 предварительно зарегистрировавшись. Проверяем md5
 +
 
 +
Распакуйте загруженный архив: tar -xvf linux-amd64_deb.tgz && cd linux-amd64_deb
 +
 
 +
Установите основные пакеты КриптоПро CSP: sudo ./install.sh
 +
 
 +
Ничего больше устанавливать не надо. Если используется госключ, надо установить сертификат для криптопро доступный для www-data
 +
 
 +
 
 +
 
 +
Только на рабочем сервере подключаем выполнение задач в crone, если нужно
 +
 
 +
*/1 * * * * /usr/bin/curl http://localhost/tools/conv_file_pull.php >/dev/null 2>&1
 +
*/30 * * * * /usr/bin/curl http://localhost/cabinet/ajax/orgStructure/orgStructureUpdate.php >/dev/null 2>&1
 +
*/1 * * * * /usr/bin/php /var/www/sed-citis/tools/signers/pull.php Megafon --verbose >/dev/nul 2>&1
 +
*/30 * * * * /usr/bin/php /var/www/sed-citis/postoffice-in-igdw.php >> /var/www/sed-citis/storage/logs/medo.log
 +
0 */4 * * * /usr/bin/curl http://localhost/cabinet/ajax/RSSParser/RSSParser.php >/dev/null 2>&1
 +
*/5 * * * * /usr/bin/php /var/www/sed-citis/tools/citizensAppealsFromSite/readOG.lib.php >/dev/null 2>&1
 +
*/5 * * * * /usr/bin/php /var/www/sed-citis/tools/citizensAppealsFromSite/writeOGstatus.php >/dev/null 2>&1
 +
*/6 * * * * /usr/bin/php /var/www/sed-citis/ajax/checkEmailDelivery.php >/dev/null 2>&1
 +
*/7 * * * * /usr/bin/php /var/www/sed-citis/tools/Notification.php send --verbose >/dev/null 2>&1
 +
*/1 * * * * /usr/bin/php /var/www/ajax/gk/readGkXml.php  >/dev/null 2>&1
 +
## Удаляем зависший процесс soffice.bin конвертации документа через libreoffice
 +
## Надо добавить файл /var/www/sed-citis/storage/logs/converter.log с правами пользователя
 +
*/1 * * * * /usr/bin/php /var/www/sed-citis/tools/stopPdfConverter.php >> /var/www/sed-citis/storage/logs/converter.log
 +
 
 +
добавить файл /var/www/sed-citis/storage/logs/medo.log с правами пользователя
 +
 
 +
 
 +
20. Установка auditd на рабочем сервере
 +
  sudo apt install auditd
 +
 
 +
Добавляем в /etc/audit/rules.d/audit.rules правила 
 +
 
 +
  -w /etc/shadow -p wa -k shadow
 +
   -w /etc/passwd -p wa -k passwd
 +
  ##track all commands run by root (euid=0)
 +
  -a exit,always -F arch=b64 -F euid=0 -S execve
 +
  -a exit,always -F arch=b32 -F euid=0 -S execve
 +
service auditd restart
 +
 
 +
Используем auditctl -l команду для проверки установленных правил
 +
 
 +
21. Локальная настройка СЭД (на рабочем сервере).
  
Если изменены файлы то:
+
меняем логотип в админке
  git reset --hard HEAD
+
    cfg-local/header.php
  
==== Уточнения ====
+
меняем штампы в админке 
1. Если что-то не работает с данными из Postgres, то удалите таблицу edfs и создайте новый бекап на сервере.
+
    storage/stamps/reg/sample/in_stamp.png
 +
    storage/stamps/sign/sample/sig_ep_stamp.png
 +
    storage/stamps/sign/sample/sig_sedo_stamp.png
  
2. После подтяжки проекта проверьте работает ли test.php. Должен выдавать 333.
+
22. Монтируем папки для мэдо (на рабочем сервере)
  
3. Если не понимаете почему php не работает то проверьте пункт 15 или введите:
+
sudo apt install cifs-utils
  tail /var/log/apache2/error.log
 
  
4. Обязательно проверьте не изменили ли вы файлы в проекте:
+
редактируем /etc/fstab
  git status
+
23. Для настройки почты используем админку-Настройки сервера- нажать на 3 точки и далее вносим параметры.
 +
Для проверки работы почты необходимо:
 +
раскомментировать строку /var/www/sed-citis/tools/sendmail-notifications.php
 +
$l = sendmail('внести_почту_на_которой_будете_проверять', 'проверка', 'mail sdsd');
 +
и если не используется tls добавить две строки ниже  $mail->Port = MAIL_CONFIG['port']; 
 +
$mail->SMTPAutoTLS = false;
 +
$mail->SMTPSecure = 'none';

Текущая версия на 16:58, 27 марта 2024

Установка SED на Ubuntu

Отключаем ipv6 (только на рабочем сервере)

    sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
    sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
    sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
    sudo sysctl -p

1. Cначала обновим систему до самой новой версии:

  sudo apt-get update
  sudo apt-get upgrade

2. Установка Apache:

  sudo apt-get install apache2

3. Отключаем модуль индексирования:

  sudo a2dismod autoindex

4. Подключаем модули rewrite, headers:

  sudo a2enmod headers rewrite

5. Правим конфигурацию apache2.conf, убираем indexes, None -> All:

  sudo nano /etc/apache2/apache2.conf

Меняем:

   <Directory /var/www/>
#       Options Indexes FollowSymLinks
        Options FollowSymLinks
        AllowOverride All
        Require all granted
   </Directory>

6 меняем время записи лога на неделю.

В файле /etc/logrotate.d/apache2 ставим weekly, время лога увеличиваем до года sudo nano /etc/logrotate.d/apache2\ rotate 48 /var/log/apache2/*.log {

       weekly
       missingok
       rotate 48
       compress
       delaycompress
       notifempty
       create 640 root adm
       sharedscripts
       postrotate
               if invoke-rc.d apache2 status > /dev/null 2>&1; then \
                   invoke-rc.d apache2 reload > /dev/null 2>&1; \
               fi;
       endscript
       prerotate
               if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                       run-parts /etc/logrotate.d/httpd-prerotate; \
               fi; \
       endscript

}


7. Правим конфигурации security.conf:

  sudo nano /etc/apache2/conf-available/security.conf

Правим константы:

  ServerTokens Prod
  ServerSignature Off


9. Установка php:

  sudo apt install php8.1 libapache2-mod-php8.1
  sudo apt-get install php8.1-curl php8.1-gd php8.1-ldap php8.1-pgsql php8.1-mbstring php8.1-zip php8.1-imagick php8.1-imap php8.1-intl php8.1-xmlrpc php8.1-soap php8.1-xml
  sudo apt-get install php-xdebug8.1 (устанавливается только на машине разработчика)


  Через phpinfo находим путь к php.ini. 
  В php.ini выставляем директивы upload_max_filesize = 500M post_max_size = 500M


- sudo apt-get install netpbm (toolkit for manipulation of graphic images, including conversion of images between a variety of different formats)? проверить использование в проекте

- на рабочем сервере правим cfg-local/header.php, tools/sendmail.php


11. Создаем рабочую папку и файл конфигурации виртуального хоста apache:

  sudo mkdir -p /var/www/sed-citis
  sudo nano /etc/apache2/sites-available/sed.conf


   <VirtualHost *:80>     
       ServerName sed.local
       ServerAdmin webmaster@localhost
       DocumentRoot /var/www/sed-citis

       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
   </VirtualHost>

   # vim: syntax=apache ts=4 sw=4 sts=4 sr noet

12. Активируем вируальный хост sed.conf. Отключаем сайт по умолчанию, заданный в файле 000-default.conf

   sudo a2ensite sed.conf
   sudo a2dissite 000-default.conf

Перезапускаем Apache:

  sudo service apache2 restart

13. Установка Postgres

  sudo apt-get install postgresql 

-редактируем /etc/postgresql/{версия}/main/postgresql.conf

max_connections =300
ssl = off

- sudo service postgresql restart

- меняем дефолтный пароль postgres

sudo -u postgres psql postgres
 \password postgres
 Ввести пароль ЕДИНИЧКУ (1)
 Повторить пароль

- добавляем пользователя 'www-data' и 'ai-modules':

   CREATE USER "www-data" WITH PASSWORD 'pass';
   CREATE USER "ai-modules" WITH PASSWORD '1';

- создаем БД

CREATE DATABASE edfs OWNER "www-data";
\q

- на сервере сделать бэкап БД:

pg_dump -h localhost -p 5432 -U postgres -F c -C -d edfs > ~/2020-09-30.edfs (2020-09-30 - дата бэкапа)

- с сервера скопировать бэкап себе в /home/$USER

 pg_restore -h localhost -p 5432 -U postgres -d edfs ~/2020-09-30.edfs


15. Скачивание и развертывание Sed в /var/www/sed-citis:

  sudo apt install git

Отключаем проверку ssl сертификата git-a

  git config --global http.sslVerify false
  создаем папку /var/www/sed-citis, даем ей права пользователя
  cd /var/www/
  git clone https://10.20.4.2:3030/citis/sed-citis.git
  sudo chown -R www-data:www-data /var/www/sed-citis/cache
  sudo chown -R www-data:www-data /var/www/sed-citis/storage
  sudo chown www-data:www-data /var/www/sed-citis/cabinet/img/citis_logo.png
  unzip vendor.zip

16. В файле /cfg/db.ini изменить пути:

  docfile_storage=/var/www/sed-citis/storage/docfiles
  storagedir = /var/www/sed-citis/storage

16.4 На сервере сделать бэкап БД (Уточняем ссылки у администратора):

  pg_dump -h localhost -p 5432 -U postgres -F c -C -d edfs > ~/30-11-2020.edfs    (30-11-2020 - дата бэкапа)  

16.5 С сервера скопировать бэкап себе в /home/$USER:

16.6 Распаковать бекап (вес бекапа > 250мб!):

  pg_restore -h localhost -p 5432 -U postgres -d edfs ~/30-11-2020.edfs 

16.7 Сделаем pass единички на машине разработчика:

  sudo -u postgres psql postgres
  \c edfs 
  UPDATE public.users SET pass = 1;
  \q

16.7.1 на рабочем сервере чистим базу от тестовых записей используя sql из ajax/clean_edfs.php


16.8 Перезапустить все:

  sudo service apache2 restart
  sudo service postgresql restart

17. На ubuntu server может потребоваться библиотеки для конвертации в pdf

sudo apt install libreoffice
sudo apt-get install poppler-utils (библиотека отрисовки PDF, основанная на программе просмотра Xpdf)


18. Устанавливаем imagemagick для загрузки фотографий и настраиваем его безопасность

sudo apt install imagemagick

sudo nano /etc/ImageMagick-6/policy.xml

<policy domain="coder" rights="none" pattern="EPHEMERAL" />
<policy domain="coder" rights="none" pattern="HTTPS" />
<policy domain="coder" rights="none" pattern="MVG" />
<policy domain="coder" rights="none" pattern="MSL" />
<policy domain="coder" rights="none" pattern="TEXT" />
<policy domain="coder" rights="none" pattern="SHOW" />
<policy domain="coder" rights="none" pattern="WIN" />
<policy domain="coder" rights="none" pattern="PLT" />
<policy domain="path" rights="none" pattern="@*" />

Меняем права доступа для PDF на write|read

<policy domain="coder" rights="write|read" pattern="PDF" />

Проверяем правильность настроечных параметров

convert -list policy

19. Установка криптоПро, необходимо для работы с ЭЦП

https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/338/0/nstrojjk-rbochego-mest-pod-uprvleniem-os-linux-dlja-rboty-s-oblchnymi-sertifiktmi-ehlektronnojj-podpisi

Качаем КриптоПро CSP 4.0R4 linux x64 предварительно зарегистрировавшись. Проверяем md5

Распакуйте загруженный архив: tar -xvf linux-amd64_deb.tgz && cd linux-amd64_deb

Установите основные пакеты КриптоПро CSP: sudo ./install.sh

Ничего больше устанавливать не надо. Если используется госключ, надо установить сертификат для криптопро доступный для www-data


Только на рабочем сервере подключаем выполнение задач в crone, если нужно

*/1 * * * * /usr/bin/curl http://localhost/tools/conv_file_pull.php >/dev/null 2>&1
*/30 * * * * /usr/bin/curl http://localhost/cabinet/ajax/orgStructure/orgStructureUpdate.php >/dev/null 2>&1
*/1 * * * * /usr/bin/php /var/www/sed-citis/tools/signers/pull.php Megafon --verbose >/dev/nul 2>&1
*/30 * * * * /usr/bin/php /var/www/sed-citis/postoffice-in-igdw.php >> /var/www/sed-citis/storage/logs/medo.log
0 */4 * * * /usr/bin/curl http://localhost/cabinet/ajax/RSSParser/RSSParser.php >/dev/null 2>&1
*/5 * * * * /usr/bin/php /var/www/sed-citis/tools/citizensAppealsFromSite/readOG.lib.php >/dev/null 2>&1
*/5 * * * * /usr/bin/php /var/www/sed-citis/tools/citizensAppealsFromSite/writeOGstatus.php >/dev/null 2>&1
*/6 * * * * /usr/bin/php /var/www/sed-citis/ajax/checkEmailDelivery.php >/dev/null 2>&1
*/7 * * * * /usr/bin/php /var/www/sed-citis/tools/Notification.php send --verbose >/dev/null 2>&1
*/1 * * * * /usr/bin/php /var/www/ajax/gk/readGkXml.php  >/dev/null 2>&1
## Удаляем зависший процесс soffice.bin конвертации документа через libreoffice
## Надо добавить файл /var/www/sed-citis/storage/logs/converter.log с правами пользователя
*/1 * * * * /usr/bin/php /var/www/sed-citis/tools/stopPdfConverter.php >> /var/www/sed-citis/storage/logs/converter.log

добавить файл /var/www/sed-citis/storage/logs/medo.log с правами пользователя


20. Установка auditd на рабочем сервере

 sudo apt install auditd

Добавляем в /etc/audit/rules.d/audit.rules правила

  -w /etc/shadow -p wa -k shadow 
  -w /etc/passwd -p wa -k passwd 
  ##track all commands run by root (euid=0)
  -a exit,always -F arch=b64 -F euid=0 -S execve 
  -a exit,always -F arch=b32 -F euid=0 -S execve

service auditd restart

Используем auditctl -l команду для проверки установленных правил

21. Локальная настройка СЭД (на рабочем сервере).

меняем логотип в админке

   cfg-local/header.php

меняем штампы в админке

   storage/stamps/reg/sample/in_stamp.png
   storage/stamps/sign/sample/sig_ep_stamp.png
   storage/stamps/sign/sample/sig_sedo_stamp.png

22. Монтируем папки для мэдо (на рабочем сервере)

sudo apt install cifs-utils

редактируем /etc/fstab 23. Для настройки почты используем админку-Настройки сервера- нажать на 3 точки и далее вносим параметры. Для проверки работы почты необходимо: раскомментировать строку /var/www/sed-citis/tools/sendmail-notifications.php $l = sendmail('внести_почту_на_которой_будете_проверять', 'проверка', 'mail sdsd'); и если не используется tls добавить две строки ниже $mail->Port = MAIL_CONFIG['port']; $mail->SMTPAutoTLS = false; $mail->SMTPSecure = 'none';