Как завести Эгею на 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',''));
почему не вп? минималистическая тема пишется за пару часов, плагины и легкость апдейтов это окупают
т. к. вордпресс говно
Спасибо за инструкцию! Пара моментов:
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/? У меня аналогичная ошибка.
Сергей, попробуйте:
Мне помогло.
Антон, спасибо, мне то же помогло.
Антон, всё устанавливал по вашей инструкции, но не могу понять, почему на указанный в админке имейл мне не приходят уведомления о новых комментариях?
Да, мне тоже не приходят. Пока не знаю, в чём проблема и как её устранить.
Антон, если вам удастся решить данную проблему, пожалуйста, поделитесь решением. Я установил 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 всегда бесплатно?
Ага, и они регулярно подчёркивают это в рекламных кампаниях.
Чтобы письма не валились в спам мне помогло исправление файла hosts
убрал 127.0.0.1 localhost.localdomain
добавил 127.0.0.1 example.com
добавил ip_server example.com
https://krzy.ru/all/nastroyka-pochtovyh-uvedomleniy/
Спасибо!