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

Материал из Справочная информация по работе с СЭД
Перейти к: навигация, поиск
Строка 117: Строка 117:
 
  pg_restore -h localhost -p 5432 -U postgres -d edfs ~/2020-09-30.edfs
 
  pg_restore -h localhost -p 5432 -U postgres -d edfs ~/2020-09-30.edfs
 
</pre>
 
</pre>
 +
  
 
'''15.''' Скачивание и развертывание Sed в /var/www/sed-citis:
 
'''15.''' Скачивание и развертывание Sed в /var/www/sed-citis:
Строка 145: Строка 146:
 
   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/user-edit.php.t
 +
  
 
16.8 Перезапустить все:
 
16.8 Перезапустить все:

Версия 17:54, 22 сентября 2022

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

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, время лога увеличиваем до года rotate 48


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

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

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

  ServerTokens Prod
  ServerSignature Off


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

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


  Через 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

ssl = off

- sudo service postgresql restart

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

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

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

   CREATE USER "www-data" WITH PASSWORD 'pass';

- создаем БД

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

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/user-edit.php.t


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

Ничего больше устанавливать не надо.


Только на рабочем сервере подключаем выполнение задач в 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

добавить файл /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