Настройка VPS-сервера Debian

  • в настройках php включаем
    -- CURL,
    -- display_errors,
    -- session.gc_maxlifetime = 10800,
    -- memory_limit =512

  • Отправка почты:
    ISPmanager и PHP в режиме CGI. Переходим в пользователя user1 и выбираем в левом меню пункт PHP. Там отредактируем значения:
    sendmail_path = /usr/sbin/sendmail -t -i -f user1@mydom.ru

    проверим, что почта прописалась в конфиги:
    /var/www/php-bin-isp-php56/user1/php.ini
    /var/www/user1/data/php-bin-isp-php56/php.ini

  • Отключаем IPV6, чтобы при отправке почты не было проблем с spf:
    файл /etc/exim4/exim4.conf.template
    в строке 55 (до строки "begin acl") добавляем параметр
    disable_ipv6 = true

  • чтобы PHPMyAdmin всегда работал на HTTPS:
    файл /etc/phpmyadmin/config.inc.php
    в конец файла добавляем параметр
    $cfg['ForceSSL'] = true;

  • Чтобы установить время жизни сессии PHPMyAdmin:
    файл /etc/phpmyadmin/config.inc.php
    в конец файла добавляем параметр
    $cfg['LoginCookieValidity'] = 10800;

  • настроить загрузку файлов, превышающие размер 128КБ, если PHP включен в режиме FastCGI.
    Для этого нужно указать параметр
    FcgidMaxRequestLen 134217728,
    прописав его в файле /etc/apache2/mods-available/fcgid.conf
    <IfModule mod_fcgid.c>
      FcgidConnectTimeout 20
      FcgidMaxRequestLen 134217728
      <IfModule mod_mime.c>
        AddHandler fcgid-script .fcgi
      </IfModule>
    </IfModule>

  • под рутом создаем задание крону для очистки каталога сессий (если CMS использует сессии, то возможно переполнение):
    find /var/www/*/data/bin-tmp/ -name "sess_*" -exec rm {} \;

 

Установка SSL-сертификата

Если сертификат уже был установлен и его нужно заменить:

Открываем файл/etc/apache2/vhosts/my_user/mydomain.ru и в секции <VirtualHost *.*.*.*:443> смотрим пути к файлам сертификатов

    ....
    SSLCertificateFile "/var/www/httpd-cert/
my_user/name_sert.crt"
    SSLCertificateKeyFile "/var/www/httpd-cert/
my_user/name_sert.key"
    SSLCertificateChainFile "/var/www/httpd-cert/
my_user/name_sert.ca"
    .....

Заливаем по FTP новые файлы под теми же именами по указанным путям. Перезапускаем httpd (Apache) или перезагружаем сервер.

 Настройка версии PHP

Если на сервере выбрана по умолчанию версия PHP 7.4.
Чтобы скрипты выполнялись интерпретатором php 5.6, вы можете использовать явное указание пути к интерпретатору.
К примеру, если скрипт выглядит так

php -f script.php

то необходимо прописать следующее

/opt/php56/bin/php -f script.php

В таком случае скрипт будет выполнятся именно версией PHP 5.6.

Но также можно настроить Алиас на определение ключевого слова php как версия 5.6. Для этого нужно выполнить на сервере следующую команду

alias php="/opt/php56/bin/php"

Тогда любой скрипт при использовании php будет обрабатываться версией 5.6

Перенести файлы с одного сервера на другой

  • удалить каталог с кэшем: rm -R /var/www/user/data/www/site.ru/image/cache
  • архивировать каталог сайта:
    cd /var/www/user/data/www/site.ru
    tar -cvzf site.tar.gz site.ru
  • на новом сервере прописать хост в файле /etc/hosts , затем закачать архив сайта и разархивировать:
    cd /var/www/user/data/www/
    wget https://site.ru/site.tar.gz (закачка)
    tar -xvf site.tar.gz (разархивация)
  • вернуть хост в файле /etc/hosts

 


 

Установить и настроить поддержку sieve для работы совместно с сервером dovecot, а также настроить ROUNDCUBE (клиент) для работы с правилами sieve

Что такое sieve

Sieve — это язык описания правил фильтрации почтовых сообщений. Язык достаточно старый (первая спецификация датируется январем 2001 года), но при этом он простой и гибкий. Спецификация несколько раз совершенствовалась, и ее последняя версия датируется 2008 годом. Есть отдельный вики-сайт, посвященный этому языку, на котором можно найти много информации о самом языке, а также о программном обеспечении, которое поддерживает этот язык, как о серверном, так и о клиентском.

Установка sieve-плагина для dovecot

Для поддержки правил фильтрации в dovecot необходимо установить пакеты dovecot-sieve и dovecot-managesieved.

apt-get install dovecot-sieve dovecot-managesieved

Затем правим конфиги dovecot. В первую очередь правим файл /etc/dovecot/conf.d/15-lda.conf. Меняем

protocol lda {
  mail_plugins = $mail_plugins
}

на

protocol lda {
  mail_plugins = $mail_plugins sieve
}

Следующий файл, который надо изменить — /etc/dovecot/conf.d/20-managesieve.conf. Раскомментируем там следующие строчки:

service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}
service managesieve {
}
protocol sieve {
  managesieve_max_line_length = 65536
}

Теперь закомментируем в файле /etc/dovecot/dovecot.conf строчку

!include_try /usr/share/dovecot/protocols.d/imapd.protocol

И добавим после нее строчку

protocols = $protocols imap sieve

После этого рестартуем dovecot

service dovecot restart

И проверяем, слушается ли порт 4190

netstat -npl | grep 4190
tcp   0      0 0.0.0.0:4190       0.0.0.0:*          LISTEN      15771/dovecot

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

Если вы используете postfix, то вам нужно будет сделать еще одно изменение. В файле /etc/postfix/main.cf нужно изменить опцию mailbox_command, задав следующее значение:

mailbox_command = /usr/lib/dovecot/deliver -d $LOGNAME

Установка расширения для Thunderbird/Icedove

Для работы с правилами сортировки почты нужно установить расширение для почтового клиента с названием Sieve. После установки расширения вы можете увидеть его в списке установленных расширений (Tools -> Add-ons)

Редактирование правил

После установки плагина необходимо включить поддержку правил в настройках почтовой программы.

В появившемся окне нужно включить поддержку работы с правилами

И нажать кнопку «Редактировать фильтры» для редактирования правил сортировки. Вы увидите список фильтров. Каждый фильтр может включать несколько правил. В редакторе правил справа показывается помощь, а сам редактор может использовать два режима работы — визуальный и в виде исходного кода.

Исходный код правил выглядит примерно так:

# rule:[Jira]
if header :contains ["From"] "JIRA"
{
    fileinto "INBOX/Jira";
    stop;
}
# rule:[Confluence]
if header :contains ["From"] "Confluence"
{
    fileinto "INBOX/Confluence";
    stop;
}

В принципе, сразу понятно, что должно происходить с такими письмами. Если в заголовке «From» встречается «JIRA», то письмо кладется в папку «INBOX/Jira», если этот заголовок содержит «Confluence», то письмо кладется в папку «Confluence». На сайте, который я указывал выше, можно почитать более подробно, но, вполне возможно, вам хватит встроенной помощи плагина, поскольку сам язык sieve очень простой и логичный.


 

Установка расширения для RoundCube

 

уже на подходе