Установка sed на Ubuntu 2020

Материал из Справочная информация по работе с СЭД
Перейти к: навигация, поиск

Установка 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:

  sudo a2enmod headers rewrite

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

  sudo nano /etc/apache2/apache2.conf

Меняем:

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

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

В файле /etc/logrotate.d/apache2 ставим weekly


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

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

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

  ServerTokens Prod
  ServerSignature Off

8. Перезапустим Apache:

  sudo service apache2 restart

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 (устанавливается только на машине разработчика)
  перезапускаем Apache:
  sudo service apache2 restart
  Через phpinfo находим путь к php.ini. 
  В php.ini выставляем директивы upload_max_filesize = 500M post_max_size = 500M

- перезапускаем apache

  sudo systemctl restart apache2

- 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

10. Добавляем прослушиваемые порты (только на машине разработчика):

  sudo nano /etc/apache2/ports.conf

Добавляем:

  Listen 12080

11. Меняем рабочую папку и указываем в конфиге и делаем ссылку:

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

внимание порт указываем только на машине разработчика, если нужно

   <VirtualHost *:12080>     
   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
  sudo ln -s /etc/apache2/sites-available/sed.conf /etc/apache2/sites-enabled/
  sudo rm /etc/apache2/sites-enabled/000-default.conf

12. Указываем данные в хосте:

  sudo nano /etc/hosts
  127.0.0.1    sed.local

13. Установка Postgres (взято с https://www.postgresql.org/download/linux/ubuntu/):

Create the file repository configuration:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Import the repository signing key:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Update the package lists:

sudo apt-get update
  sudo apt-get install postgresql-9.6 

-редактируем /etc/postgresql/9.6/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://.......................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

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.8 Перезапустить все:

  sudo service apache2 restart
  sudo service postgresql restart

17. Перейти в /var/www/sed-citis

  git status

Если изменены файлы то:

  git reset --hard HEAD 

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

sudo apt install libreoffice
sudo apt-get install poppler-utils (библиотека отрисовки PDF, основанная на программе просмотра Xpdf)
sudo apt install tesseract-ocr
sudo apt install libtesseract-dev
sudo apt install tesseract-ocr-rus - русский язык

Устанавливаем 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 на read

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

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

convert -list policy

Уточнения

1. Если что-то не работает с данными из Postgres, то удалите таблицу edfs и создайте новый бекап на сервере.

2. После подтяжки проекта проверьте работает ли test.php. Должен выдавать 333.

3. Если не понимаете почему php не работает то проверьте пункт 15 или введите:

  tail /var/log/apache2/error.log

4. Обязательно проверьте не изменили ли вы файлы в проекте:

  git status