Отключения кеширования для отдельных картинок

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

Установка Drupal 8 на CentOS 6

Во-первых, для Drupal 8 нужна версия PHP не старее, чем php 5.6, поэтому придётся обновляться. Я ранее уже рассказывал о том, как поставить новую версию php на старую CentOS 6. Здесь отмечу, что в посте по ссылке есть очень полезная инструкция не только о настройке голенького сервера, но именно по безболезненному апгрейду существующего php (без необходимости его сносить и терять зависимости, типа phpMyAdmin).

Во-вторых, Drupal 8 требует свежей версии библиотеки libmysql для СУБД MySQL (или её клонов, типа Percona, MariaDB). Но проще не страдать с обновлением libmysql, а перейди на использование нового «драйвера» mysqlnd. Читать полностью »

Массовое сжатие JPEG-картинок на сервере без существенной потери качества

На VPS с SSD обычно дефицитом является дисковое пространство. Сайты разрастаются, в какой-то момент чистка логов уже не позволяет по-быстрому освободить ценное место на диске. Перенести часть сайтов на другой сервер — не всегда возможно. В общем, когда других решений нет, то можно пожать картинки. Изменять их разрешение массово, конечно, нельзя, потому что так можно испортить вёрстку или как-то ещё поломать сайт. А вот вычистить из картинок мета-данные (типа всяких XMP) и немного снизить степень компрессии — в крайнем случае можно. Читать полностью »

Как удалить пакет в CentOS, не удаляя связанные с ним зависимости

Это странно, но такое иногда бывает нужно. Мне, например, потребовалось перейти с системной библиотеки libmysql на встроенную в PHP (MySQL Native Driver), т.е. ненадолго удалить одну из базовых библиотек PHP (php-mysql и php-mysqli), чего, конечно, испугались многие пакеты, имеющие PHP в зависимостях. Итак, похоже, yum не умеет удалять пакет без удаления его зависимостей, но мы обойдёмся и без yum. Читать полностью »

Как установить PHP 7 на CentOS 6.x

Ранее я уже писал, как установить php 5.6 на CentOS 6.x. C php 7 всё очень похоже: его тоже можно установить на пустой сервер, а можно заменить штатный 5-ый php новой 7-ой версией, но в последнем случае есть один нюанс. Читать полностью »

Как найти вирус на сайте

Оказывается, что популярные php-вирусы вполне хорошо обнаруживает серверный антивирус clamav. Это очень хорошо, потому что всякие Ai-Bolit`ы и Manul`ы мне не очень нравились, поскольку сами они работают на php, а значит каждый раз надо что-то куда-то скачать, обновить, запустить, долго ждать и т.п. Хотя если зараженный сайт висит на чужом виртуальном хостинге, то именно эти продукты являются хорошим и единственным решением. Но, к счастью, есть и простое серверное решение. Читать полностью »

Как настроить авторизацию по ключу для ssh?

О том, что такое публичные/закрытые ключи и ssh-сервер я тут рассказывать не буду. Но вот авторизация по ключу иногда не хочет работать из коробки. Особенно это касается VPS на CentOS (ведь у каждого хостера свой базовый образ). Чтобы авторизация завелась в 99% случаев достаточно проверить лишь несколько моментов. Читать полностью »

Как установить PHP 5.6 на CentOS 6.x

На голом сервере проблема решается в две строчки. Сначала подключаем репозиторий webtatic, где всегда есть самые свежие версии PHP (кстати, на момент написания этой заметки там есть и PHP 7 для CentOS 6). Потом ставим ряд нужных нам пакетов (php 5.6 и его популярные расширения) из нового репозитория. Но есть нюансы, если у вас уже стоит php 5.3

Освобождаем место на сервере (чистим логи и т.д.)

Ротированные логи у нас на сервере имеют примерно такие имена файлов:
/var/www/site/public-access.log-20151001

Часть из них уже пожата, и, значит, имеет имена вида:
/var/www/site/public-access.log-20150201.gz

Задача: сжать те логи, которые уже ротированы, но ещё не сжаты. Решение:
find /var/www/* -type f -name "*.log-*" -not -name "*.gz" -exec gzip -9 {} \;

Настраиваем сервер samba на CentOS 7. Делаем шары для анонимных пользователей и с авторизацией

C одной стороны, истинным линуксоидам samba-шары ни к чему. Но, с другой, есть много современных устройств (типа умных телевизоров), которые живут в вашей домашней сети и уже сразу из коробки умеют работать с «самбой». Я уж молчу о том, что с самбой умеет работать любой компьютер на любой версии Windows. К тому же, samba очень быстрая (и протокол вообще, и его текущая реализация для Linux). Например, у меня на сервере в гигабитной сети с обычным жестким диском (не SSD) при записи на шару получается скорость 60–70 мегабайт в секунду, т.е. более 500 Мбит/с. В общем, будем настраивать. Читать полностью »