{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Блог Ильи Бирмана: заметки с тегом гостевая заметка",
    "_rss_description": "Блог Ильи Бирмана о дизайне, городах, музыке и жизни.",
    "_rss_language": "ru",
    "_itunes_email": "ilyabirman@ilyabirman.ru",
    "_itunes_categories_xml": "<itunes:category text=\"Arts\"><itunes:category text=\"Design\" \/><\/itunes:category>\r\n<itunes:category text=\"Society &amp; Culture\"><itunes:category text=\"Personal Journals\" \/><\/itunes:category>\r\n<itunes:category text=\"Technology\" \/>\r\n",
    "_itunes_image": "https:\/\/ilyabirman.ru\/meanwhile\/pictures\/userpic\/userpic-square@2x.jpg?1573933764",
    "_itunes_explicit": "no",
    "home_page_url": "https:\/\/ilyabirman.ru\/meanwhile\/tags\/gostevaya-zametka\/",
    "feed_url": "https:\/\/ilyabirman.ru\/meanwhile\/tags\/gostevaya-zametka\/json\/",
    "icon": "https:\/\/ilyabirman.ru\/meanwhile\/pictures\/userpic\/userpic@2x.jpg?1573933764",
    "authors": [
        {
            "name": "Илья Бирман",
            "url": "https:\/\/ilyabirman.ru\/meanwhile\/",
            "avatar": "https:\/\/ilyabirman.ru\/meanwhile\/pictures\/userpic\/userpic@2x.jpg?1573933764"
        }
    ],
    "items": [
        {
            "id": "4359",
            "url": "https:\/\/ilyabirman.ru\/meanwhile\/all\/aegea-ansible\/",
            "title": "Простая установка Эгеи на ДО, Линод и всё такое",
            "content_html": "<p>Это гостевая заметка. Иван Немытченко написал, как по-простому установить Эгею на собственный виртуальный сервер. Слово Ивану:<\/p>\n<p style=\"font-size: 96px\">«<\/p>\n<p>Многие программисты интересуются дизайном. Я из таких. Лет 10 назад я каждый день читал Лебедева и вообще следил за тем что происходит в дизайне. Я даже купил себе ваком и пару лебедевских розеткусов. Плавно увлечение сошло на нет, но любовь к дизайнерским штукам осталась.<\/p>\n<p>Каждый раз когда Эгея попадалась мне на глаза, я её скачивал, а потом вспоминал что её нужно же как-то куда-то установить, и откладывал в долгий ящик. Если ты программируешь не на ПХП, все эти „залить на хостинг за одну минуту“ становятся от тебя бесконечно далеки.<\/p>\n<p>Выбрать хостера, разбираться как туда чего заливать, осаждать техподдержку когда всё ляжет — бррр! При этом ты знаешь что за те же деньги можешь арендовать мелкий виртуальный сервер, и иметь полный контроль над тем что там происходит. А программисты любят контроль.<\/p>\n<p>Недавно я в очередной раз скачал Эгею и поймал себя на том что у меня на диске уже пять копий её дистрибутива. К счастью, у меня была пара свободных дней, и я решил закрыть этот гештальт с Эгеей, наконец. Конечно же, программистским способом.<\/p>\n<h2>Программистский способ<\/h2>\n<p>Программистский способ — это:<\/p>\n<ul>\n  <li>арендовать виртуальный сервер с линуксом (Digital Ocean, Linode, Scaleway);<\/li>\n  <li>поставить туда нужные версии Апача, ПХП и MySQL;<\/li>\n  <li>все правильно сконфигурировать;<\/li>\n  <li>и залить туда Эгею.<\/li>\n<\/ul>\n<p>С этим способом есть проблема: если один раз ты это руками всё проделаешь, это не гарантирует тебе того, что когда тебе понадобится это делать во второй раз, ты чего-нибудь не забудешь.<\/p>\n<p>Можно конечно написать себе инструкцию на будущее. Можно баш-cкрипт. Но есть способ получше: записать инструкции в Ansible playbook.<\/p>\n<p>Кстати, если у вас Эгея уже установлена на обычном хостинге, и вам это нигде не жмет, то вам скорее всего этот способ ни к чему.<\/p>\n<h2>Ансибл<\/h2>\n<p>Главная фишка Ансибла — отсутствие ручных действий при установке и повторяемость результата.  Плейбук — это список инструкций, записанных с помощью специального синтаксиса.<\/p>\n<p>Чтобы составить плейбук, приходится пройти один раз весь путь вручную. Зато после того как инструкции готовы, всё действительно устанавливается за минуту.<\/p>\n<p>Отличие от баш-скриптов в том, что Ансибл до определенной степени гарантирует идемпотентность — т. е. при повторном прогоне скрипта он, например, не будет пытаться создавать папку, если она уже создана, или устанавливать установленный пакет.<\/p>\n<p>Ансибл написан на Питоне, поэтому запускается на любых операционных системах. Я запускал плейбук Эгеи со своего макбука. Все команды Ансибл будет запускать на удалённом сервере по SSH, так что здоровьем своего компьютера вы не рискуете.<\/p>\n<h2>Установка Эгеи с помощью Ансибла<\/h2>\n<p>Для начала установите Ансибл. На Маке так это делается в две команды:<br \/>\n<tt>sudo easy_install pip<br \/>\nsudo pip install ansible<\/tt><\/p>\n<p>Команда easy_install в Макосе идет в комплекте с предустановленным Питоном, так что пугаться её не стоит.  Инструкции для других операционок подсматривайте <a href=\"http:\/\/docs.ansible.com\/ansible\/intro_installation.html#installation\">на сайте Ансибла<\/a>.<\/p>\n<p>Дальше:<\/p>\n<ol start=\"1\">\n  <li><a href=\"https:\/\/github.com\/inem\/aegea-ansible\">Скачайте плейбук с репозитория<\/a>.<\/li>\n  <li>Поменяйте значения переменных в секции vars в setup.yml или хотя бы посмотреть на самые важные из них — они понадобятся при первом запуске Эгеи:<br \/>\n  <tt>db_name: e2<br \/>\n  db_user: e2<br \/>\n  db_password: secret<\/tt><\/li>\n  <li>Запустите плейбук, указав после ключа „-i“ адрес сервера с запятой на конце:<br \/>\n  <tt>ansible-playbook -i ’yourdomain.com,’ setup.yml<\/tt><\/li>\n<\/ol>\n<p>Должно произойти примерно такое:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/ilyabirman.ru\/meanwhile\/pictures\/aegea-ansible.gif\" width=\"849\" height=\"445\" alt=\"\" \/>\n<\/div>\n<p>После успешного выполнения скрипта можно заходить по прописанному адресу в браузер и пользоваться Эгеей.<\/p>\n<h2>Выводы<\/h2>\n<p>Это может выглядеть как оверкилл для внешнего наблюдателя, но в этом и есть суть программистского подхода: „лучше день потерять, потом за пять минут долететь“. И во все следующие разы, когда снова понадобится, снова долетать за пять минут.<\/p>\n<p>Если вы, как и я забыли, как устанавливать софт на ПХП на обычный хостинг, то надеюсь что <a href=\"https:\/\/github.com\/inem\/aegea-ansible\">мой плейбук<\/a> вам поможет, наконец, попробовать Эгею. Ну и если вам нужно будет что-то похожее автоматизировать, теперь вы знаете, куда копать.<\/p>\n<p>P. S. Привет программистам в этом блоге ;-) Читайте <a href=\"http:\/\/nemytchenko.ru\/\">мой свежеподнятый блог<\/a>, в твиттере я <a href=\"https:\/\/twitter.com\/inem\">@inem<\/a>. Если интересно почитать ещё что-нибудь программистское, подписывайтесь на мой бесплатный <a href=\"http:\/\/nemytchenko.ru\/blog\/all\/smart-programmer\/\">курс для новичков<\/a>.<\/p>\n<p style=\"font-size: 96px\">»<\/p>\n",
            "summary": "Это гостевая заметка. Иван Немытченко написал, как по-простому установить Эгею на собственный виртуальный сервер",
            "date_published": "2017-03-25T12:44:23+05:00",
            "date_modified": "2017-08-29T00:50:16+05:00",
            "tags": [
                "гостевая заметка",
                "Эгея"
            ],
            "image": "https:\/\/ilyabirman.ru\/meanwhile\/pictures\/aegea-ansible.gif",
            "_date_published_rfc2822": "Sat, 25 Mar 2017 12:44:23 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "4359",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/ilyabirman.ru\/meanwhile\/pictures\/aegea-ansible.gif",
                    "https:\/\/ilyabirman.ru\/meanwhile\/pictures\/aegea-og-image.jpg"
                ]
            }
        }
    ],
    "_e2_version": 4269,
    "_e2_ua_string": "Aegea 12.0a (v4269e)"
}