Как завести Эгею на DigitalOcean

Эгея — простой и чистый движок для блога, а 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',''));
Отправить
Поделиться
Запинить
20 комментариев
a 2016

почему не вп? минималистическая тема пишется за пару часов, плагины и легкость апдейтов это окупают

б 2016

т. к. вордпресс говно

Ваня Клименко 2016

Спасибо за инструкцию! Пара моментов:

sudo apt-get install php-mbstring
sudo apt-get install php7.0-gd

sudo apt install php-mbstring php7.0-gd
#скрщ

А ещё архив можно скачать напрямую с сервера командой wget и не возиться с ФТП.

Антон Иоков 2016

Спасибо, переписал установку одной командой и избавился от FTP, правда другим путём.

Сергей 2016

Антон, спасибо большое за вашу заметку, всё получилось. Вот только я не могу понять, как мне развернуть мой бэкап БД от предыдущей установки Эгеи? Т. к. с командной строкой MySQL я не дружу, то, как понимаю, мне нужно установить phpMyAdmin. Или развернуть бэкап из .sql файла можно и через командную строку?

Сергей 2016

Разобрался. Установил phpMyAdmin по этой инструкции How To Install and Secure phpMyAdmin on Ubuntu 16.04. Теперь всё ОК.

Сергей 2016

Антон, вы, случайно, не знаете из-за чего вылазит ошибка на этой странице вашего блога http://blog.antoniokov.com/hot/? У меня аналогичная ошибка.

Антон Иоков 2016

Сергей, попробуйте:

mysql -u root -p
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

Мне помогло.

Сергей 2016

Антон, спасибо, мне то же помогло.

Сергей 2016

Антон, всё устанавливал по вашей инструкции, но не могу понять, почему на указанный в админке имейл мне не приходят уведомления о новых комментариях?

Антон Иоков 2017

Да, мне тоже не приходят. Пока не знаю, в чём проблема и как её устранить.

Сергей 2017

Антон, если вам удастся решить данную проблему, пожалуйста, поделитесь решением. Я установил sendmail, но в стандартной конфигурации явно чего-то не хватает, т. к. тот же Mail.ru, например, не принимает письма от моего сервера, потому что для домена не настроен DKIM, SPF и другие штуки, которые добавляют доверия письмам.

Антон Иоков 2017

Сергей, я установил sendmail, и письма стали приходить — добавил инструкцию в конец статьи. К сожалению, письма попадают в спам в гмейле, несмотря на то, что я прошёлся по памятке https://skurudo.ru/all/mail-server-setting-memo/.

Сергей 2017

Антон, спасибо за ваши труды. Эта информация, лично для меня, очень полезна. Другие пользователи Эгеи то же должны оценить.

Сергей 2017

Антон, подскажите, пожалуйста, если знаете, по такой проблеме: в моём блоге (inotes.pp.ua) при открытии любой заметки в блоке «Популярное», который всегда под каждой заметкой, ссылки ведут на сторонний домен (vpiphone.com). Дело в том, что я чётко следовал вашим инструкциям и сейчас не могу понять, откуда сторонний домен мог оказаться в моих ссылках?

Помогите, пожалуйста, разобраться в чём заключается проблема.

Антон Иоков 2017

К сожалению, у меня нет объяснения этой проблемы.
Обратите внимание, что при открытии любой статьи на вашем блоге в адресной строке отображается IP-адрес вместо домена: http://188.166.17.115/all/pisma-ot-egei-ne-dohodyat-cherez-sendmail/.

Сергей 2017

Антон, с вами можно связаться через Telegram, Viber или что-то подобное? Хочу задать пару небольших вопросов. Какие DNS-записи обязательно необходимо прописать для домена, чтобы он корректно резолвился?

Антон Иоков 2017

Да, давайте в Телеграме: Anton Iokov. У меня настройки предельно простые, с доменом у меня заминок не было.

Сергей 2017

Антон, к сожалению, чреез поиск Телеграма не нахожу вас по «Anton Iokov».

Антон Иоков 2017

Вероятно, в Телеграме можно найти только по номеру телефона, который я бы не хотел выставлять на всеобщее обозрение.
Пожалуйста, напишите мне в Фейсбук или VK.

Сергей 2017

Заметил, что по пути /var/www/html/user/backup не создаются автоматические бэкапы от движка Эгея. У вас так же?

Антон Иоков 2017

У меня блог лежит по пути /var/www/blog/user/backup/, и там лежат бэкапы, в том числе свежие. Но я на них не полагаюсь и бэкаплю сам дроплет.

Сергей 2017

Все проблемы удалось решить только после перехода на хостинг TimeWeb. Также Илья помог прикрутить HTTS к моему блогу. На хостинге всё работает как и должно быть, жаль, что нет детальной инструкции для DigitalOcean, чтобы заработало всё как надо.

Владимир 2017

Антон, а зачем x64 с 512 МБ оперативки?

Антон Иоков 2017

Незачем. Не нашёл упоминания x64 в тексте — укажете, пожалуйста?

Альберт Горский 2017

Антон, в заметке Skurudo отсутствует важнейший компонент — DKIM
Для проверки почтовика лучше всего использовать https://www.mail-tester.com/

он же хорошо подскажет в каком направлении копать. Сам добился рейтинга 10/10 от своего постфикса, когда сделал всё — PTR, SPF, DKIM

Как настроить DKIM на примере постфикса хорошо описано здесь
https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy

еще важно проследить что почтовик отправляет письма с хосnнейма дроплета, чтоб не было никаких HELO LOCALHOST

удачи, мое мыло в спам теперь не отправляет даже мейл.ру

. 2017

Почему не github-pages + jekyll? Бесплатно, минимум настроек и максимум контроля.

Антон Иоков 2017

1) Иногда пишу заметки с телефона
2) Не смог найти темы, которая бы меня устраивала из коробки, а допиливать лень

Но статика — это здорово. Сайт таблиц работает как раз на Джекиле.

Макс Лазаренко 2017

Спасибо за наводочку на Hover. У них WHOIS privacy всегда бесплатно?

Антон Иоков 2017

Ага, и они регулярно подчёркивают это в рекламных кампаниях.

Krzy 2017

Чтобы письма не валились в спам мне помогло исправление файла hosts
убрал 127.0.0.1 localhost.localdomain
добавил 127.0.0.1 example.com
добавил ip_server example.com

https://krzy.ru/all/nastroyka-pochtovyh-uvedomleniy/

Антон Иоков 2017

Спасибо!