Проблема: При импорте SQL-базы возникает ошибка «Unknown collation: utf8mb4_0900_ai_ci». Описание проблемы: Параметры сортировки текущего сервера отличаются от того, с которого был сделан бэкап базы. Вероятнее всего, версия MySQL (MariaDB) на вашем сервере ниже, чем на исходном. Решение: Заменить в SQL-файле кодировку на другую. Открываете SQL-файл в текстовом редакторе, находите строчку ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
и заменяете на ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Если файл дампа базы большой (несколько ГБ) и его невозможно открыть для редактирования, можно заменить сортировку в файле db.sql прямо в консоли: sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' db.sql
В последние несколько дней по странной случайности выросла популярность VPN- и SOCKS-серверов. Использовать чужие нам, понятное дело, религия не позволяет, поэтому будем разворачивать свой. Купить VPS/VDS с Debian-ом на борту сейчас не представляет вообще никаких сложностей, осталось его только настроить, что тоже элементарно.
SOCKS (сокращение от «SOCKet Secure») — сетевой протокол, который позволяет пересылать пакеты от клиента к серверу через прокси-сервер прозрачно (незаметно для них) и таким образом использовать сервисы за межсетевыми экранами (фаерволами).
Более поздняя версия SOCKS5 предполагает аутентификацию, так что только авторизованные пользователи получают доступ к серверу. Википедия
VPN, в отличие от SOCKS5, использует шифрование, за счет чего снижается скорость доступа к ресурсам. Именно поэтому там, где нам важнее безопасность, мы будем использовать VPN, а там, где нам важна скорость — SOCKS5-прокси.
Скачиваем и устанавливаем пакет dante: wget -c http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb
sudo apt-get update
sudo apt-get install gdebi-core mc -y
sudo gdebi dante-server_1.4.1-1_amd64.deb
Последняя версия датирована 2014 годом, но до сих пор пользуется популярностью.
Теперь откроем конфиг и поправим его: mcedit /etc/danted.conf Продолжение »
Для ускорения загрузки сайта можно использовать кэширование на сервере, включить gzip-сжатие, использовать постоянные HTTP-соединения (keep-alive) или даже использовать CDN, но этого мало — PageSpeed Insights от Google настойчиво предлагает включить для моего сервера кеширование в браузере.
Ну ОК, так и поступим.
Если у вас веб-сервер Nginx, просто пропишите в конфиге:
location ~* ^.+\.(jpg|jpeg|png|gif|ico|js|css|txt|pdf)$ {
root /var/www; # Путь к корню сайта
expires 3d; # кешируем на 3 дня
}
и радуйтесь ускорению. А вот если вы используете Apache, то идите под кат 😉
В новогодние каникулы айтишнику неинтересно просто пить, иногда нужно пошевелить мозгами, поэтому я решил перевести этот блог на защищённый протокол https.
В принципе, ничего особо сложного в получении SSL-сертификата от Let’s Encrypt и прикручивании его к веб-серверу нет, но вот с самим WordPress`ом пришлось немного повозиться, чтобы браузеры перестали выдавать предупреждение о незащищенном соединении (а всё потому, что часть изображений и внешних ресурсов, таких как скрипты от google или систем статистики, подключались по незащищенному протоколу http).
Все настройки можно делать через любой SQL-редактор (phpMyAdmin или Adminer).
Открываем его и выполняем следующие запросы:
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://saradmin.ru', 'https://saradmin.ru') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://saradmin.ru', 'https://saradmin.ru');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://saradmin.ru','https://saradmin.ru');
Разумеется, адрес saradmin.ru измените на свой и убедитесь, что префикс таблиц у вас «wp_«. Если нет, укажите свой.
После этого остаётся только изменить протокол с http:// на https:// для тех ресурсов, которые вы добавляли сами — счетчики, информеры, кнопки других сайтов и пр.
Дано: Mikrotik, VPN-сервер в далекой стране, нелегитимная блокировка провайдером сайта 2ip.ru и желание на него попасть.
Решение: Будем считать, что к vpn-серверу mikrotik уже подключен по интерфейсу vpn-usa.
Создаем список с именем vpn и добавляем в него заблокированный адрес:
/ip firewall address-list add address=178.63.151.224 list=vpn
Кстати, в графическом интерфейсе WinBox можно добавлять сайт не по IP, а по его имени: