Установка sed на Ubuntu 2020 — различия между версиями
V.stogny (обсуждение | вклад) |
V.stogny (обсуждение | вклад) |
||
(не показано 39 промежуточных версий 3 участников) | |||
Строка 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 rewrite | sudo a2enmod headers rewrite | ||
'''5.''' Правим конфигурацию apache2.conf, убираем indexes, None -> All: | '''5.''' Правим конфигурацию apache2.conf, убираем indexes, None -> All: | ||
Строка 15: | Строка 21: | ||
<pre> | <pre> | ||
<Directory /var/www/> | <Directory /var/www/> | ||
+ | # Options Indexes FollowSymLinks | ||
Options FollowSymLinks | Options FollowSymLinks | ||
AllowOverride All | AllowOverride All | ||
Строка 25: | Строка 32: | ||
В файле /etc/logrotate.d/apache2 ставим '''weekly''', | В файле /etc/logrotate.d/apache2 ставим '''weekly''', | ||
время лога увеличиваем до года | время лога увеличиваем до года | ||
+ | sudo nano /etc/logrotate.d/apache2\ | ||
'''rotate 48''' | '''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 | ||
+ | } | ||
+ | |||
Строка 34: | Строка 63: | ||
ServerSignature Off | ServerSignature Off | ||
− | |||
− | |||
'''9.''' Установка php: | '''9.''' Установка php: | ||
− | sudo apt install | + | sudo apt install php8.1 libapache2-mod-php8.1 |
− | sudo apt-get install | + | 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- | + | sudo apt-get install php-xdebug8.1 (устанавливается только на машине разработчика) |
− | |||
− | |||
Через phpinfo находим путь к php.ini. | Через phpinfo находим путь к php.ini. | ||
В php.ini выставляем директивы upload_max_filesize = 500M post_max_size = 500M | В 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)? проверить использование в проекте | - sudo apt-get install netpbm (toolkit for manipulation of graphic images, including conversion of images between a variety of different formats)? проверить использование в проекте | ||
Строка 56: | Строка 79: | ||
- на рабочем сервере правим cfg-local/header.php, tools/sendmail.php | - на рабочем сервере правим cfg-local/header.php, tools/sendmail.php | ||
− | |||
− | |||
− | |||
− | |||
− | '''11.''' | + | '''11.''' Создаем рабочую папку и файл конфигурации виртуального хоста apache: |
sudo mkdir -p /var/www/sed-citis | 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 *: | + | <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> | </VirtualHost> | ||
Строка 80: | Строка 98: | ||
</pre> | </pre> | ||
− | sudo | + | ''' 12.''' Активируем вируальный хост sed.conf. Отключаем сайт по умолчанию, заданный в файле 000-default.conf |
− | sudo | + | <pre> |
+ | sudo a2ensite sed.conf | ||
+ | sudo a2dissite 000-default.conf | ||
+ | </pre> | ||
− | + | Перезапускаем Apache: | |
− | sudo | + | sudo service apache2 restart |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ''' 13.''' Установка Postgres | |
− | + | sudo apt-get install postgresql | |
− | + | -редактируем /etc/postgresql/{версия}/main/postgresql.conf | |
− | |||
− | -редактируем /etc/postgresql/ | ||
<pre> | <pre> | ||
+ | max_connections =300 | ||
ssl = off | ssl = off | ||
</pre> | </pre> | ||
Строка 117: | Строка 127: | ||
</pre> | </pre> | ||
− | - добавляем пользователя 'www-data': | + | - добавляем пользователя 'www-data' и 'ai-modules': |
<pre> | <pre> | ||
CREATE USER "www-data" WITH PASSWORD 'pass'; | CREATE USER "www-data" WITH PASSWORD 'pass'; | ||
+ | CREATE USER "ai-modules" WITH PASSWORD '1'; | ||
</pre> | </pre> | ||
Строка 136: | Строка 147: | ||
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: | Строка 157: | ||
создаем папку /var/www/sed-citis, даем ей права пользователя | создаем папку /var/www/sed-citis, даем ей права пользователя | ||
cd /var/www/ | cd /var/www/ | ||
− | git clone https://... | + | 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/cache | ||
sudo chown -R www-data:www-data /var/www/sed-citis/storage | 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 изменить пути: | '''16.''' В файле /cfg/db.ini изменить пути: | ||
Строка 163: | Строка 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 Перезапустить все: | ||
Строка 213: | Строка 231: | ||
Установите основные пакеты КриптоПро CSP: sudo ./install.sh | Установите основные пакеты КриптоПро CSP: sudo ./install.sh | ||
− | Ничего больше устанавливать не надо. | + | Ничего больше устанавливать не надо. Если используется госключ, надо установить сертификат для криптопро доступный для www-data |
Строка 221: | Строка 239: | ||
*/1 * * * * /usr/bin/curl http://localhost/tools/conv_file_pull.php >/dev/null 2>&1 | */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 | */30 * * * * /usr/bin/curl http://localhost/cabinet/ajax/orgStructure/orgStructureUpdate.php >/dev/null 2>&1 | ||
− | */1 * * * * /usr/bin/php /var/www/tools/signers/pull.php Megafon --verbose >/dev/nul 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/postoffice-in-igdw.php >/ | + | */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 | 0 */4 * * * /usr/bin/curl http://localhost/cabinet/ajax/RSSParser/RSSParser.php >/dev/null 2>&1 | ||
− | */5 * * * * /usr/bin/php /var/www/tools/citizensAppealsFromSite/readOG.lib.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/tools/citizensAppealsFromSite/writeOGstatus.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/ajax/checkEmailDelivery.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/tools/Notification.php send --verbose >/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 | + | |
+ | 20. Установка auditd на рабочем сервере | ||
sudo apt install auditd | sudo apt install auditd | ||
Строка 243: | Строка 268: | ||
Используем auditctl -l команду для проверки установленных правил | Используем auditctl -l команду для проверки установленных правил | ||
− | 21. Локальная настройка СЭД | + | 21. Локальная настройка СЭД (на рабочем сервере). |
− | меняем логотип в cfg-local/header.php | + | |
+ | меняем логотип в админке | ||
+ | cfg-local/header.php | ||
− | меняем штампы | + | меняем штампы в админке |
storage/stamps/reg/sample/in_stamp.png | storage/stamps/reg/sample/in_stamp.png | ||
storage/stamps/sign/sample/sig_ep_stamp.png | storage/stamps/sign/sample/sig_ep_stamp.png | ||
storage/stamps/sign/sample/sig_sedo_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'; |
Текущая версия на 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. Установка криптоПро, необходимо для работы с ЭЦП
Качаем КриптоПро 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';