Бележки за създаване на хостинг, базиран на контролния панел на ISP
Съдържание
Използване на многопоточно архивиране на SMP
За да подобрите използването на многоядрени процесори, има смисъл да инсталирате pbzip2. За да го използвате, в/etc/ispcp/ispcp.confпроменете опциятаZIPна bzip2 иCMD_BZIPна
Като (по-правилен) вариант - да преработите скрипта, като добавите нов тип компресия - pbzip2, обработван по същите правила като обикновения bzip2, след което в редакцията по-горе можете да използвате променливата$zip.
Редактирайтеispcp-backup-ispcp, мисля, че няма смисъл, защото базата данни вече е обработена от pbzip2 и компресирането на конфигурацията не е толкова ресурсоемко, че да преправяте скрипта за това
Друг вариант е да използвате многопоточната версия на gzip -pigz. Тази опция може да е за предпочитане, тъй като ще натовари по-малко процесора (уеб съдържанието все още е предимно снимки, няма смисъл да ги компресирате). Очевидно е също така възможно да се използва смесена версия - да се използва pbzip2 за бази данни и да се преработи скрипта за архивиране на домейна, за да се използва pigz.
PHP настройки
- /etc/ispcp/fcgi/parts/php5/php.ini- тук са PHP настройките по подразбиране (и други файлове по подразбиране наблизо), които се копират на потребителя, когато домейнът е създаден.
/etc/ispcp/fcgi/parts/master/php5/php.ini- подобно, но за самия панел.
- Настройки за качване на файлове: вphp.iniза желания домейн (по-специално за phpmyadmin, net2ftp):
Освен това в/etc/apache2/mods-enabled/fcgid_ispcp.conf(и/etc/ispcp/apache/working/fcgid_ispcp.conf) променете (добавете) параметъраMaxRequestLen:
Без него може да се появи грешка 500 при качване на големи файлове (по-специално дъмпове на база данни в phpmyadmin), грешката може да бъде уловена вerror_logсървър.
- Има смисъл да се повиши max_execution_time до поне 45 секунди - тествано от JabberWorld на ненатоварен процесор Athlon II x4 на 2,8 GHz от страницата със списък със сървъри - генерирано е от порядъка на 33-35 секунди. Случаят е екстремен, но за статистика ще стане
- настройки на phpmyadmin: в някои случаи (а именно за големи заявки в phpmyadmin, например търсене на стойност във всички таблици (с дълги имена) на голяма база данни и след това показване на стойността), пластирът suhosin може да се оплаква от превишаване на максималната дължина на променлива в GET заявка:
По подразбиране дължината на променливата е 512 знака, по подразбиране е зададена в/etc/php5/conf.d/suhosin.iniи по принцип в нормалните случаи (но не и в този) това е достатъчно. Ако fail2ban е конфигуриран да улавя такива съобщения, тогава след изпълнение на такава заявка, клиентът ще бъде забранен. За да предотвратите това да се случи, трябва да коригирате (добавите) променливатаsuhosin.get.max_value_lengthвphp.iniи да й присвоите по-висока стойност (например 4-8 KB. За обикновен WordPress лесно се получават стойности от 2,5 KB и това далеч не е ограничението). Мисля, че за по-голяма сигурност трябва да промените тази променлива само във файла php.ini на phpmyadmin (който от своя страна трябва да бъде преместен в отделен домейн). В резултат на това промените се свеждат до добавяне на следната секция в края на този файл (в примера стойността е 32 KB):
- Също така смятам, че при натоварени сървъри има смисъл да се намали стойността на променливатаPHP_FCGI_CHILDRENвъв файловете/var/www/fcgi/domain(възможно е както за един "некритичен" домейн, така и за всички наведнъж - не забравяйте да коригирате шаблона) от стойността по подразбиране 2 на 1. Идеята е, че слабо натоварен сайт ще "грабне" основния php процес с две деца, въпреки че може да е,един е достатъчен, а силно натоварен може да няма php манипулатори. В случай на глобална промяна (или промяна в броя на децата за повечето домейни), трябва също да коригирате параметъраMaxProcessCountвъв файла/etc/apache2/mods-enabled/fcgid_ispcp.conf- съответно, като го увеличите 2 пъти.
Скриване на сървърните версии
Активиране на AWStats
AWStats (нека ви напомня, това е софтуер за изграждане на статистика за посетители въз основа на регистрационни файлове на уеб сървър) има 2 режима на работа в панела: статичен и динамичен, превключването се извършва чрез промяна на параметъраAWSTATS_MODEв/etc/ispcp/ispcp.conf. Каква е разликата:
Как се прави статистика: поглед отвътре на настройката за динамичен режим
Ако трябва да активирате awstats, който е деактивиран по подразбиране, трябва да направите следното:
след това в панела за хостинг в "Уеб инструменти" ще се появи допълнителен елемент. След това панелът ще започне да създава awstats-configs и ще предпише подходящите записи в конфигурацията на Apache за новосъздадени домейни. За съществуващите ще трябва да го направите ръчно.
- Не забравяйте да рестартирате Apache, за да влязат в сила промените.
Активиране на статистиката
Както беше написано по-рано, за статичен режим се добавя запис към crontab за всеки домейн. Шаблоните за запис могат да бъдат намерени във файлове
съответно за домейна и псевдонима. Ако те не ви подхождат с нещо, по-добре е да ги коригирате веднага, преди актуализацията. В моя случай изглеждат така: