Get Social

Ошибка mod_fcgid: HTTP request length 137536 (so far) exceeds MaxRequestLen (131072)

mod_fcgid: HTTP request length 137536 (so far) exceeds MaxRequestLen (131072)

После установки панели ISPmanager Lite 5.126.2 с пробной лицензией на 2 недели (это удобно, так как за это время можно спокойно купить и активировать лицензию) я столкнулся с этой ошибкой. В этом случае php настроен в режиме FastCGI.

При попытке запустить веб-приложение, получаем (в логах или в debug):

mod_fcgid: HTTP request length 132992 (so far) exceeds MaxRequestLen (131072), referer: http...

В браузере вы можете получить малоинформативное сообщение:

Error 500, Internal server error

Вернёмся к логам:

1-я цифра – всегда разная и зависит от запроса от вашего приложения

2-я цифра – 131072 – это значение MaxRequestLen по-умолчанию.

Ошибка HTTP request length 132992 (so far) exceeds MaxRequestLen (131072) говорит о том, что ваш запрос превысил значение по умолчанию

Значит решением будет – увеличить этот параметр.

Конечно, можно его вставить практически где угодно в конфиге apache. Можно в настройках вашего хоста.

Но лучше всего править конфиг самого модуля FastCGI:

/etc/apache2/mods-available/fcgid.conf (если у вас Debian, Ubuntu и другие их производные)
/etc/httpd/conf.d/fcgid.conf (если у вас CentOS, Fedora и подобные им)

Чтобы выбрать подходящее значение параметра MaxRequestLen, посмотрите свой php.ini

upload_max_filesize = 2M

Для этого значения подойдёт: 2M = 2097152 байт. Добавьте в ваш файл fcgid.conf

FcgidMaxRequestLen 2097152

Остаётся перезапустить apache:

apachectl restart

 

Шаблоны для Yii2 на Vesta CP – бэкенд и фронтенд варианты.

Итак, намучившись с ручной правкой конфигов в весте (которые она постоянно переписывает, когда что-то меняется или обновляется) я задался целью сделать более-менее автоматизированное решение.

Совсем красиво сделать не получилось, потому что нужно, чтобы бэкенд и фронтенд смотрели в одну папку с подпапками. Этого нельзя добиться только правкой шаблонов. Это можно понять, взглянув на их синтаксис, который обрабатывается скриптами, вроде v-add-web-domain.

Вот код на гитхаб.

Шаблоны и скрипт работают, исходя из того, что: фронтенд лежит здесь -> /home/$USER/web/$DOMAIN/public_html/frontend/web бэкенд лежит здесь -> /home/$USER/web/$DOMAIN/public_html/backend/web

Инструкция

(1)
Добавьте директории “apache2” и “nginx” из репозитория гитхаб (о котором упоминается выше) в /usr/local/vesta/data/templates/web/ (в CentOS/RHEL возможно, придётся переименовать “apache2” в “httpd”) Добавьте yii2-cconf.sh скрипт в любое, нужно вам место на сервере.

(2)
В контрольной панели Vesta CP вы можете создать оба домена:
example.com
backend.example.com

После этого в Vesta CP вы можете отредактировать настройки доменов и устновить шаблоны:
yii2-frontend для example.com и yii2-backend для backend.example.com

(3)
В конце вы можете запустить yii2-cconf.sh скрипт с помощью команды:
( cd your-some-directory/ )
bash ./yii2-cconf.sh vestacpuser example.com

Как поменять адрес веб-интерфейса почты Vesta CP на поддомен

Не всегда удобно, чтобы почта располагалась по адресу /webmail , как это идёт по-умолчанию в Vesta CP. Пока разработчики панели не сделали того же, что мы дальше собираемся сделать, это придётся повторять при каждой новой установке сервера.

Итак, приступим:

1. Создаём в Vesta CP веб-домен: mail.your-domain.com (его можно сразу настроить на https с помощью новой, встроенной возможности генерировать сертификаты lets encrypt).

2. Удаляем в /etc/apache2 (в подпапках conf.d, sites-available, sites-enabled) и /etc/nginx (в подпапке conf.d) ссылки на roundcube и / или roundcube.inc

3. Правим конфигурационный файл Nginx (для простоты используем /home/admin – папка стандартного пользователя в vesta):

/home/admin/conf/web/nginx.conf
/home/admin/conf/web/snginx.conf

заменить
root /home/admin/web/your-domain/public_html;
на
root /var/lib/roundcube;

4. Правим конфигурационный файл Apache:

/home/admin/conf/web/apache.conf
/home/admin/conf/web/sapache.conf

заменить
DocumentRoot /home/admin/web/mail.nebulonis.com/public_html
на
DocumentRoot /var/lib/roundcube/

и добавить:

# Access to tinymce files
<Directory "/usr/share/tinymce/www/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

<Directory /var/lib/roundcube/>
    Options +FollowSymLinks
    # This is needed to parse /var/lib/roundcube/.htaccess. See its
    # content before setting AllowOverride to None.
    AllowOverride All
    order allow,deny
    allow from all
</Directory>

# Protecting basic directories:
<Directory /var/lib/roundcube/config>
    Options -FollowSymLinks
    AllowOverride None
</Directory>

<Directory /var/lib/roundcube/temp>
    Options -FollowSymLinks
    AllowOverride None
    Order allow,deny
    Deny from all
</Directory>

<Directory /var/lib/roundcube/logs>
    Options -FollowSymLinks
    AllowOverride None
    Order allow,deny
    Deny from all
</Directory>

5. Проверим синтаксис:
apachectl configtest
nginx -t

6. Перезапускаем:
apachectl graceful
service nginx restart

7. И, наконец, в настройках (https://your-ip-or-address:8083/edit/server/) панели SERVER -> CONFIGURE во вкладке MAIL -> Webmail URL  меняем на новый (https://mail.your-domain.com)

Страницы:12