Как завести Эгею на 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

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

б

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

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

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

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

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

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

Антон Иоков

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

Сергей

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

Сергей

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

Сергей

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

Антон Иоков

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

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

Мне помогло.

Сергей

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

Сергей

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

Антон Иоков

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

Сергей

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

Антон Иоков

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

Сергей

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

Сергей

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

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

Антон Иоков

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

Сергей

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

Антон Иоков

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

Сергей

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

Антон Иоков

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

Сергей

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

Антон Иоков

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

Сергей

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

Владимир

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

Антон Иоков

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

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

Антон, в заметке 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

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

.

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

Антон Иоков

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

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

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

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

Антон Иоков

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

Krzy

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

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

Антон Иоков

Спасибо!

Популярное