Это старая версия документа!
Содержание
ISPmanager. Правила хорошего тона
Установка панели
При установке лучше выбирать минимальную установку - это позволит в дальнейшем установить только то, что необходимо, тем самым избежать лишней нагрузки и необоснованной траты вычислительных ресурсов.
MPM Apache 2
При установке веб-сервера Apache 2 можно выбрать, какой MPM (Multi-Processing Module) при этом будет инсталлирован. Важно сделать правильный выбор, так как он может повлиять на дальнейшую работу проекта и панели в целом.
MPM ITK
Ставится по умолчанию. Оптимально использовать именно его. Это снизит производительность при обработке запросов, но при этом оградит от ряда проблем в работе с ISPmanager в будущем.
MPM Prefork
С MPM Prefork необходимо быть очень осторожным и использовать только в случаях, когда готовы вручную выставить права на файлы и каталоги сайтов для корректной работы в ситуации, если веб-сервер работает от имени пользователя, отличного от вашего.
Существует ряд обходных способов, которые можно причислить к категории костылей и которые лучше избегать, если имеется такая возможность.
В случае когда все сайты будут находится в домашней директории одного пользователя (для простоты будем считать, что имя этого пользователя - www-root):
- в конфигурационном файле Nginx для параметра user заменить apache на www-root
# user apache; user www-root;
- в конфигурационном файле Apache 2 для параметров пользователя и группы заменить apache на www-root
# User apache # Group apache User www-root Group www-root
- рекурсивно поменять владельца для файлов и каталогов, принадлежащих apache, на www-root
find / -user apache > /root/apache-user.txt; find / -user apache -exec chown www-root {} \;
- рекурсивно поменять группу для файлов и каталогов, принадлежащих apache, на www-root
find / -group apache > /root/apache-group.txt; find / -group apache -exec chown :www-root {} \;
При этом можете столкнуться со следующими проблемами:
- изменение пользователя и группы потребуется выполнять после каждого добавления нового WWW-домена
- если используете альтернативные версии PHP, то в конфигурации хостов Apache 2, для которых они подключены, может потребоваться убрать параметр SuexecUserGroup:
# SuexecUserGroup www-root www-root
- при обновлении ISPmansger и сохранении или изменении одного из таких виртуальных хостов конфигурационный файл вернётся к первоначальному состоянию
- так же после перезагрузке операционной системы или веб сервера Apache 2 в частности, врапперы, реализующие работу альтернативных версий PHP, могут создавать файлы состояний в каталоге /run принадлежащих пользователю apache. В этом случае потребуется сменить их на www-root . Проблема справедлива для ОС, использующих systemd, в других каталог /run может отсутствовать.
find /run -user apache -exec chown www-root {} \; find /run -group apache -exec chown :www-root {} \;
- при открытии доп. приложений (phpMyAdmin, RoundCube и т.д.) белый экран - видимо инсталлировали их после изменений владельца и группы для каталогов и файлов. Повторите эту операцию:
find / -user apache -exec chown www-root {} \; find / -group apache -exec chown :www-root {} \;
Установка доп. приложений
При установке доп. приложений (phpMyAdmin, RoundCube и т.д.) создаются конфигурационные файлы для приложений веб сервера. На примере Nginx и phpMyAdmin:
location /phpmyadmin { alias /usr/share/phpMyAdmin; index index.php; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { alias /usr/share/phpMyAdmin/$1; error_page 404 @apache; } location ~ ^/phpmyadmin/(.+\.php)$ { alias /usr/share/phpMyAdmin/$1; fastcgi_pass unix:/var/run/php-fpm.apache.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; error_page 502 = @apache; error_page 404 = @apache; } location @apache { error_log /dev/null crit; proxy_pass http://127.0.0.1:8080; proxy_redirect http://127.0.0.1:8080 /; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location ^~ /phpmyadmin/setup { deny all; }
Для файлов .php вначале происходит попытка проксирования на PHP-FPM, а затем, в случае неудачи, на Apache 2. Если PHP-FPM не установлен, будут постоянные ошибки в логе виртуального хоста, используемого по умолчанию. Оптимально установить PHP-FPM. Однако это принесёт дополнительные расходы вычислительных ресурсов сервера.
Монтирование дополнительного диска
Запомните - НИКОГДА нельзя монтировать доп разделы в домашнюю директорию пользователя.
Причина в том, что логи в каталогах
/var/www/httpd-logs/ /var/www/www-root/data/logs/
являются жёсткими ссылками на одни и те же файлы. Нельзя создавать жёсткую ссылку на файл в другой файловой системе. При таком раскладе ISPmanager сойдёт сума.