Установка sed на Ubuntu 2020 — различия между версиями
V.stogny (обсуждение | вклад) |
V.stogny (обсуждение | вклад) |
||
Строка 212: | Строка 212: | ||
convert -list policy | convert -list policy | ||
− | Только на рабочем | + | Только на рабочем сервере подключаем выполнение задач в crone |
*/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 |
Версия 16:44, 14 января 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:
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, время лога увеличиваем до года rotate 48
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 на write|read
<policy domain="coder" rights="write|read" pattern="PDF" />
Проверяем правильность настроечных параметров
convert -list policy
Только на рабочем сервере подключаем выполнение задач в 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/tools/signers/pull.php Megafon --verbose >/dev/nul 2>&1 */30 * * * * /usr/bin/php /var/www/postoffice-in-igdw.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/tools/citizensAppealsFromSite/writeOGstatus.php >/dev/null 2>&1 */6 * * * * /usr/bin/php /var/www/ajax/checkEmailDelivery.php >/dev/null 2>&1 */7 * * * * /usr/bin/php /var/www/tools/Notification.php send --verbose >/dev/null 2>&1
Уточнения
1. Если что-то не работает с данными из Postgres, то удалите таблицу edfs и создайте новый бекап на сервере.
2. После подтяжки проекта проверьте работает ли test.php. Должен выдавать 333.
3. Если не понимаете почему php не работает то проверьте пункт 15 или введите:
tail /var/log/apache2/error.log
4. Обязательно проверьте не изменили ли вы файлы в проекте:
git status