Эгея — простой и чистый движок для блога, а DigitalOcean — надёжный и масштабируемый хостинг за $5 в месяц. Если вы отчаялись найти минималистичную тему для Вордпресса и больше не хотите видеть случайную рекламу под своими статьями, то связка Эгея+DigitalOcean — ровно то, что вам нужно.
К сожалению, с парой Эгея+DigitalOcean не прокатит вариант «купил хостинг, кликнул кнопку — пишешь статью», как с тем же Вордпрессом. На настройку у меня ушло пару часов, и один раз я даже убивал сервер и начинал всё заново. Чтобы сэкономить мне и вам время в будущем, я законспектировал процесс.
Кое-где мы будем использовать командную строку и редактировать конфиги, но обещаю — никакого хардкора.
Покупаем домен
Домен можно купить где угодно, но мне нравится простота Ховера, который не пытается продать тебе, в лучших традициях лоукостов, двадцать дополнительных услуг и не требует денег за приватность WHOIS.
Мой домен стоил $12.99 в год, я подписался на три. В подкасте Cortex регулярно появляются промокоды на 10% на первый год. На момент написания статьи работает код DISHWASHER.
Всё, что необходимо сделать на Ховере — это поменять nameservers на оушеновские:
Создаём дроплет на DigitalOcean
Для наших целей подойдёт такая комбинация:
Чтобы каждый раз при подключении к серверу не вводить пароль и чтобы повысить безопасность, сгенерируем связку SSH-ключей и добавим публичный ключ при создании дроплета. Я для этого использую MobaXterm, Tools → MobaKeyGen.
MobaXterm ещё понадобится нам для подключения к серверу и передачи файлов.
После создания дроплет выдаёт свой публичный IP. Теперь мы можем подключиться к нему через SSH:
Настраиваем сервер
Для того, чтобы Эгея заработала, ей нужны Apache, MySQL и PHP. У DigitalOcean есть понятная инструкция — пройдите её.
Но это не всё: Эгее нужна ещё пара модулей:
sudo apt-get install php-mbstring php7.0-gd
Создадим для движка свежую базу:
mysql -u root -p
CREATE DATABASE e2;
Думаете, Эгея готова к установке? Как бы не так — нужно сперва разрешить .htaccess.
Установка не начнётся, пока вы не дадите Апачу права на запись в директорию сайта:
sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www
sudo find /var/www -type d -exec chmod 2775 {} \;
sudo find /var/www -type f -exec chmod ug+rw {} \;
Чтобы в адресной строке были чистые ссылки без ?go=:
sudo a2enmod rewrite
Устанавливаем Эгею
Скачиваем архив с последней версией с официального сайта.
Заходим на сервер по SSH и загружаем дистрибутив в любую папку — например, домашнюю /home/anton:
Распаковываем дистрибутив в директорию сайта:
sudo apt-get install unzip
unzip /home/anton/e2_distr_v2970.zip -d /var/www/html
Открываем сайт в браузере и устанавливаем Эгею.
Настраиваем почтовый сервер
Чтобы заработали почтовые уведомления, нужно поставить sendmail:
apt-get install sendmail
Добавить свой хост в строку «127.0.0.1 localhost localhost.localdomain место_для_вашего_хоста»:
nano /etc/hosts
Запустить настройку sendmail и на всё ответить ’y’:
sendmailconfig
Перезапустить сервер:
service apache2 restart
Мне не удалось сделать так, чтобы письма не попадали в спам. Если у вас получится — пожалуйста, поделитесь способом в комментариях. Пункты из памятки Skurudo не помогли.
Разрешаем проблемы
Если у вас не работает страница /hot, выполните для базы команду
mysql -u root -p
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));