Если закрыл сайт, написав в основном .htaccess'e это:
AuthName site.com
AuthType Basic
AuthUserFile "/home/site.com/.htpasswd"
require valid-user
то открыть доступ к папке можно, создав в этой папке .htaccess с этим:
Satisfy any
order allow,deny
allow from all
Захожу сегодня утром сюда - вижу ошибку 502 bad gateway. И так везде на моих сайтах. Сердце екает, т.к. с недавнего времени взял к себе сайт клиента, а его, в отличие от своих личных проектов, просто обязан содержать в порядке по профессиональным соображениям.
Полез в панель управления сервером - не отвечает.
Коннект через SSH - зашел.
Хочу перезапустить apache: httpd -k restart. Хоп - а он мертв и не запускается. В логах смотрю - не может выделить память.
После всяких раздумий в очередной раз печатаю top, вижу, что гроздьями висят процессы php-cgi. Ну раз у меня php как fast-cgi, их можно попробовать все завершить и запустить все заново. Убиваю все процессы по имени: killall -9 php-cgi.
Запускаю apache: httpd -k start. Прошло. Проверяю сайты - грузятся. Заработало!
Фуух.
Дальше в более спокойном состоянии. Вхожу в панель управления сервером - не открывается. Вот блин. Вспоминаю, что отключил в конфигах mod_ssl, а это требуется для панели, ведь она через https работает. Включил, перезапустил apache. Теперь и панель работает. Отключил заодно несколько ненужных модулей php.
* * *
Вот они достоинства и недостатки выделенного сервера. Зато узнал про nginx, php как fast-cgi и прочее. Для ручной тонкой настройки знаний еще не хватает (потому что лень, когда есть панель управления), но в целом расту.
Надо freebsd ставить и изучать - уже хочется.
Это к теме "как уменьшать трафик сайта, сжимая JS, CSS и т.д.", которая широко освещена в инете.
Затык произошел при смене Apache v1.3 на Apache v2.2.
Дело в том, что при внутреннем (url_rewrite) редиректе .js на .js.gz браузер не получает заголовка о типе сжатого файла, а только заголовок о том, что это сжатый файл. В итоге никакой JS, CSS и т.д. не обрабатывается нормально и ничего не работает.
Оказалось, решение для апача2 такое (прописать в conf или .htaccess):
<files *.js.gz>
AddType "text/javascript" .gz
AddEncoding gzip .gz
</files>
<files *.css.gz>
AddType "text/css" .gz
AddEncoding gzip .gz
</files>
<files *.xml.gz>
AddType "text/xml" .gz
AddEncoding gzip .gz
</files>