cyberflow_gravatar

Cyberflow

I am linux system administrator.


Navigation
» Home
» Categories
» Code
» XML Feed

Cyberflow


    Настраиваем сервера на Clodo через Opscode Chef

    28 Feb 2013 | Comments

    Данная статья описывает возможность автоматической настройки виртуальных серверов (на примере хостинга clodo.ru) с помощью chef.

    Заводим аккаунт в opscode

    Добавляем free хостинг на 5 серверов.

    При создании необходимо скачать ключик валидотора и конфиг для knife и поместить в ~/.chef/knife.rb.

    current_dir = File.dirname(__FILE__)
    log_level :info
    log_location STDOUT
    node_name "cyberflow"
    client_key "#{current_dir}/cyberflow.pem"
    validation_client_name "clodo-test-validator"
    validation_key "#{current_dir}/clodo-test-validator.pem"
    chef_server_url "https://api.opscode.com/organizations/clodo-test"
    cache_type 'BasicFile'
    cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )
    cookbook_path ["#{current_dir}/../cookbooks"]

    Далее идём в opscode, заводим клиента, и ключик для клиента кладём так же в ~/.chef/.

    Github pages, jekyll и custom plugins

    28 Feb 2013 | Comments

    Не секрет, что jekyll отличный движок для блогинга. Так же не секрет, что многие пользователи jekyll используют в качестве хостинга github pages. Однако, как всегда, есть нюансы. В случае с github pages это отсутствие поддержки custom plugins, коих для jekyll имеется в количестве. Есть масса вариантов хостить статику, но в этой статье речь пойдёт о том, как можно продолжать хоститься на github pages и использовать при этом плагины.

    Собственно и в этом вопросе не обошлось без вариантов, но лично для себя я выбрал вариант, который предложил Alexandre Rademaker. Суть этого решения заключается в том, чтобы отказаться от генерации статики на стороне github, а генерить её локально. Однако красота метода заключается в том, что при этом все исходные данные продолжают находиться под контролем git-a.

    Теперь по сути:

    Мы будем использовать branch source для хранения сырых данных и самой начинки jekyll, тогда как в master бранче будет только статика, которая и будет раздаваться по средствам github pages.

    Далее предполагается, что у нас уже есть репозиторий на github, где в мастер ветке лежит jekyll и сырые данные без статики. Теперь создаём новый branch:

    $ git branch source
    $ git push origin source
    $ git checkout source

    Теперь создаём что нам надо, добавляем плагины и т.п.

    $ git status / git add / git commit

    Запускаем jekyll:

    $ jekyll

    Всё готово для выкладки на github pages:

    $ checkout master
    $ cp -r _site/* . && rm -rf _site/ && touch .nojekyll
    $ git status > git add > git commit
    $ git push -all origin

    В статье используются материалы с сайта: http://arademaker.github.com

    Установка node.js на Linux (deb base)

    25 Feb 2013 | Comments

    Данная инструкция проверялась и работает на Debian 6.

    Устанавливаем пакеты, необходимые для сборки и удовлетворения зависимостей:

    sudo aptitude install g++ curl python libssl-dev apache2-utils git-core checkinstall

    Клонируем репозиторий с github:

    cd /usr/src && git clone git://github.com/ry/node.git

    Далее запускаем конфигурацию:

    cd node && ./configure

    Теперь можно собрать пакет для нашей системы:

    checkinstall --fstrans=no --install=no --pkgname=node.js --pkgversion "0.5.9" --default

    После сборки пакета его можно поставить:

    dpkg -i node.js_0.5.9-1_amd64.deb

    В статье использовались материалы со следующих сайтов:

    How to install node js on linux

    Redmine 2.x обнуление пароля admin-a

    13 Dec 2012 | Comments

    Для обнуления пароля от пользователя admin в redmine 2.x выполните следующую команду из консоли находясь в директории с redmine

    ruby script/rails runner 'user = User.find(:first, :conditions => {:admin => true}) ; user.password, user.password_confirmation = "password"; user.save!' -e production

    Установка chef solo на debian 6 squeeze

    18 Oct 2012 | Comments

    Для начала установим необходимые пакеты для установки и работы cfeh-solo.

    apt-get install sudo wget lsb-release

    Далее добавляем репозиторий opscode в списки репозиториев командой:

    echo "deb http://apt.opscode.com/ `lsb_release -cs`-0.10 main" | sudo tee /etc/apt/sources.list.d/opscode.list

    Теперь необходимо добавить ключи к репозиторию:

    sudo mkdir -p /etc/apt/trusted.gpg.d
    gpg --keyserver keys.gnupg.net --recv-keys 83EF826A
    gpg --export packages@opscode.com | sudo tee /etc/apt/trusted.gpg.d/opscode-keyring.gpg > /dev/null

    Обновим информацию о пакетах с учётом добавленного репозитория и установим opscode-keyring:

    sudo apt-get update && sudo apt-get install opscode-keyring

    Устанавливаем chef:

    sudo apt-get install chef

    При установке будет задан вопрос о пути к серверу chef, т.к. мы делаем установку для chef-solo, то указываем там “none”.