Разработка сайтов в Ubuntu или LAMP = Ubuntu + Apache + MySQL + PHP

19.10.2008

Ubuntu – это линукс для людей. Поэтому, установка набора для веб-разработчика в нём производится одной командой:

sudo tasksel install lamp-server

После её выполнения, на вашем компьютере обоснуются Apache, MySQL и PHP. А мы сразу же займёмся созданием первого сайта.

Все сайты, над которыми тружусь, я храню в папках вида ~/Sites/www.example.com.dev/. Это удобно, потому как не приходится настраивать права доступа к файлам и придумывать структуру папок в /var/www/, а так же каждому из них можно выделить человекочитаемое имя, оканчивающееся на .dev (которое соответствует названию папки), и при разработке и тестировании набирать в адресной строке браузера www.rotuka.com.dev и попадать на локальную версию вашего сайта.

Создание и настройка текстового сайта

Допустим, мы приступаем к разработке сайта rotuka.com, тогда создадим для него личную папку

mkdir -p ~/Sites/rotuka.com.dev/public

Теперь, нам нужно рассказать нашему локальному апачу об этом сайте. Создаём файлик для этого сайта:

sudo gedit /etc/apache2/sites-available/rotuka.com.dev

и вписываем в него следующие строки:

<VirtualHost *:80>
    ServerName rotuka.com.dev
    ServerAlias www.rotuka.com.dev
    DocumentRoot /home/$USER/Sites/rotuka.com.dev/public
</VirtualHost>

где $USER нужно заменить на ваше имя пользователя.

Сохраняем файл, закрываем gedit и говорим апачу, что этот сайт теперь нужно обслуживать:

sudo a2ensite rotuka.com.dev

При выполнении, эта команда скажет вам, что апачу необходимо перезагрузить данные конфигурации, что мы и сделаем:

sudo /etc/init.d/apache2 reload

Теперь, настроим удобное обращение к сайту. Для этого пропишем, что хост rotuka.com.dev обслуживается на нашем компьютере, локально. Открываем файл /etc/hosts

sudo gedit /etc/hosts

находим там строку, начинающуюся на 127.0.0.1 (обычно, это первая строка) и вписываем в её конец, через пробел от предыдущих данных, rotuka.com.dev. Сохраняем файл, закрываем редактор.

Теперь кидаем какой-нибудь файлик index.html в папочку нашего сайта (/home/$USER/Sites/www.rotuka.com.dev/public) или выполняем команду

echo -e "<html>\n  <head>\n    <meta http-equiv="Content-type" content="text/html;
charset=utf-8" />\n    <title>Тестовый сайт</title>\n  </head>\n  <body>\n
<h1>Тестовый сайт</h1>\n    <p>Привет, веб-разработчик</p>\n  </body>\n</html>\n"
> /home/$USER/Sites/rotuka.com.dev/index.html

Всё, теперь уже можно вписать в адресную строку браузера http://rotuka.com.dev/ и увидеть, что сайт вас приветствует (-:

Ссылки по-теме:

Wacom Bamboo One + Ubuntu. Установка и решение проблем

05.10.2008

Вчера мне в руки попал планшетик Wacom Bamboo One. Забавная вещица. Если её установить (-;

Страница руководства, посвящённая Wacom посылает нас на довольно подробное руководство по установке и настройке последних драйверов для линейки Bamboo, которое приведёт вас к вполне рабочему тандему Бамбук+Убунту, однако если вы используете терминал, либо постраничный поиск в файрфоксе, либо вы просто любите системный звук ошибки – вы получите много проблем. Ибо теперь каждый вызов системного сигнала будет приводить к перезагрузке иксов.

Решения этой проблемы гугл не знает. Яндекс, кстати, тоже. И лишь кустарные методы позволят использовать. Чтобы лишить себя проблем (хотя бы временно), выполните следующие действия:

  1. Откройте настройку звука (Система -> Параметры -> Звук) и на вкладе «Системный сигнал» снимите галочку с параметра «Включить системный сигнал» и поставьте галочку «Визуальный системный сигнал«, чтобы вместо звука сигнал был произведён путём мигания какой-либо области экрана.
  2. Запустите терминал (Приложения -> Стандартные -> Терминал), выберите в меню Правка -> Текущий профиль… и снимите галочку с параметра «Подавать гудок«
  3. Запустите Firefox (Приложения -> Интернет -> Firefox Web Browser) и введите в адресной строке about:config. Затем найдите параметр accessibility.typeaheadfind.enablesound и поставьте ему значение false.

Установка Ruby on Rails в Ubuntu (для разработки)

29.09.2008

Я постараюсь поддерживать эту статью в актуальном состоянии. На данный момент, все действия, описанные в статье, актуальны для следующих версий ПО:

  • Ubuntu Karmic Koala (9.10)
  • Ruby 1.8.7 (2009-06-12 patchlevel 174)
  • Rubygems 1.3.5
  • Ruby on Rails 2.3.4

Установка Ruby

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

sudo apt-get install ruby-full build-essential libruby-extras libsqlite3-ruby

Установка Rubygems

  1. RubyGems в репозитории Ubuntu Karmic пока актуальные, поэтому можно смело ставить из репозитория командой:
    sudo apt-get install rubygems
  2. Однако, если вы предпочитаете ручную установку RubyGems, воспользуйтесь следующими командами:
    wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
    tar xzvf rubygems-1.3.5.tgz
    cd rubygems-1.3.5
    sudo ruby setup.rb
    sudo ln -s /usr/bin/gem1.8 /usr/bin/gem

    Для того, чтобы у вас заработало дополнение команд в консоли, необходимо открыть файл настроек дополнения

    sudo gedit /etc/bash_completion.d/gem1.8

    И вставить в начало этого файла, сразу после комментариев, следующий код:

    have()
    {
      unset -v have
      PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin type $1 &>/dev/null &&
      have="yes"
    }

    А в самый конец вставить:

    [ -n "${have:-}" ] && complete -F _gem18 $filenames gem

    Теперь вы в консоли сможете набирать gem i и консоль будет сама дополнять команду до gem install,

    Если же у вас уже была установлена более старая версия Rubygems, вы можете обновить её до текущей:

    sudo gem update --system

    Иногда, после обновления этой командой, gem может начать выдавать ошибку:

    /usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)

    Для её устранения, необходимо отредактировать исполняемый файл (sudo gedit /usr/bin/gem) и перед строкой require "rubygems" вставить строку require "rubygems/gem_runner"

Установка Rails

Теперь, когда нас установлены актуальные версии интерпретатора и менеджера гемов, мы можем присутпить к установке самих Rails.

sudo gem install rails

Всё, рельсы установлены. Чтобы проверить, что всё в порядке, создадим приложение на рельсах:

cd ~
mkdir Sites
cd Sites
rails my_first_site
cd my_first_site
./script/server

Эти команды создадут в вашей домашней директории поддиректории Sites, а в ней, в директории my_first_site rails-приложение, после чего запустит стандартный сервер WEBrick, поставляемый вместе с интерпретатором Ruby. Если установка прошла без ошибок, то вы сможете увидеть приветствие рельсов, пройдя по ссылке http://127.0.0.1:3000/.

Установка дополнительных гемов

В дальнейшем, при работе с рельсами, вам может понадобиться множество различных гемов. Описывать установку всех я не буду. Опишу лишь то, с чем у меня когда-либо случались проблемы. Начнём, пожалуй, с гема rmagick, предназначенного для обработки изображений.

Если для вас не обязательно наличие самой последней версии этого гема, вы можете ограничиться командой

sudo apt-get install librmagick-ruby

Если же вы захотите установить самую последнюю версию этого гема, вам нужно будет скачать исходные коды для библиотек ImageMagick (а они потянут за собой много-много других библиотек). Скорее всего, для вас это излишне. Но команды напишу:

sudo apt-get install libmagick9-dev
sudo gem install rmagick

Ещё лично я советую поставить вам несколько плагинов, которые облегчат вам жизнь при работе с Rails вдальнейшем. Установка одной командой:

sudo gem install mongrel BlueCloth RedCloth sqlite3-ruby ZenTest

И о каждом геме поподробнее:

  • mongrel — более быстрый, чем WEBrick сервер, написанный специально для работы с Rails. Если н установлен, то по команде ./script/server рельсы станут запускать именно его.
  • BlueCloth и RedCloth — библиотеки, используемые рельсовыми хелперами markdown и textilize соответственно для разметки текста.
  • sqlite3-ruby — библиотека для работы с базами sqlite3 (которые создаются по-умолчанию при создании рельсового приложения).
  • ZenTest — набор утилит для автоматического тестирования приложения. По команде autotest запускается тестирующий демон, который будет проверять все изменённые файлы, пробегая связанные с ними тесты. Об этой утилите я напишу позже

Настройка GTalk в Kopete (KDE4)

16.09.2008

Сегодня поставил на своём лаптопе Kubuntu KDE4 и столкнулся с проблемой при настройке GTalk в Kopete. При соединении выдавалась ошибка «SSL support could not be initialized for account user@example.com. This is most likely because the QCA TLS plugin os not installed on your system».

Первым делом я, естественно, попытался решить эту проблему путём установки этого самого QCA TLS, довольно логично, не правда ли? Тем более, что и пакетик в репозиториях нашёлся одноименный.

sudo apt-get install qca-tls

После этого перезапускаю Kopete и… вылетает та же самая ошибка. Перечитываю сообщение об ошибке, вижу замечание о плагине и после непродолжительного поиска по пакетам, выполняю

sudo apt-get install libqca2-plugin-ossl

После этого перезапускаю Kopete и… вуаля, всё заработало.

Кстати, не лишним будет напомнить, что для общения с вашего аккаунта GTalk из Копете необходимо выставить следующие настройки:

  1. При создании аккаунта выбрать протокол Jabber
  2. В качестве Jabber ID ввести ваше имя пользователя, вместе с доменным именем, то есть username@gmail.com или username@example.com если вы используете Google Apps на домене вашей организации и т. п.
  3. В параметрах соединения (Вкладка Connection) поставить все три галочки: Use protocol encryption (SSL); Allow plain-text password authentication; Override default server information
  4. Выставить в качестве имени сервера talk.google.com, порт 5223.

Этих настроек должно быть вполне достаточно для комфортной работы. Не забудьте установить поддержку QCA TLS, если выскочит ошибка. Одной командой это делается так:

sudo apt-get install qca-tls libqca2-plugin-ossl

Неделя на Рельсах (выпуск от 10 сентября 2008 г.)

11.09.2008

Перевод. Оригинальная статья: This Week in Rails (September 10, 2008), за авторством Gregg Pollack

Добро пожаловать в пятый выпуск «Недели на рельсах», еженедельный отчёт о событиях в околорельсовом сообществе. Antonio Cangiano (автор идеи) был весьма занят, поэтому на этой неделе я решил его подменить.

Вы, скорее всего, уже слышали о выходе Rails 2.0.4 и Rails 2.1.1. Оба релиза — в основном исправляют ошибки, за подробностями отправляйтесь в списки изменений.

Прочитать остальную часть записи »

Gnome Do

03.09.2008

Первой статьёй решил описать небольшую утилитку, которой пользуюсь ежедневно и, даже, ежеминутно. Имя ей — Gnome Do.

Эта небольшая утилитка позволяет сделать многие вещи настолько быстро, насколько это, в приницпе, возможно (но, не быстрее, как уточняют её создатели).

Прочитать остальную часть записи »

Привет, рунет!

02.09.2008

В очередной раз пытаюсь занять умы рунета. И, как всегда, с благой целью. Ныне собрался я нести знания о системе операционной, Ubuntu называемой. Не обещаю длинных записей, с полной документацией приложений и т. п. Постараюсь писать кратко, но ёмко.

Может быть, со временем, не только об Убунте. Да всё может быть со временем. Увидим (-: