Архив метки: How to

RoR: связываем Ruby on Rails и Apache2

Про то, как установить Ruby On Rails, я писал в этой статье. Теперь же постараюсь описать, как запускать ROR-приложения под Apache2.
Итак, приступим.

Для начала надо установить сам Apache и библиотеки для поддержки fast-cgi для Apache и для Ruby:

apt-get install apache2 libapache2-mod-fcgid libfcgi-ruby1.8

После этого нужно установить мод passenger, который, собственно, служит для связки Apache и ROR.
Ставить его можно двумя способами:
1) Через RubyGems:

sudo gem install passenger
sudo passenger-install-apache2-module

Далее необходимо следовать инструкциям, выданным скриптом. В большинстве случаев дефолтные значения будут работоспособны. В конфиги апача придется добавить что-то вроде:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.6
PassengerRuby /usr/bin/ruby1.8

2) Другой способ — установка из репозитория Debian.
Мода passenger нет в репозитории Lenny, он есть в бэкпортах, в тестируемом и нестабильном выпусках. Значит, для начала надо подключить что-то из них. Для подключения бэкпортов надо добавить следующую линию к файлу /etc/apt/sources.list::

deb http://www.backports.org/debian lenny-backports main contrib non-free

После чего надо обновить apt:

sudo aptitude update

,
и установить libapache2-mod-passenger:

sudo aptitude install libapache2-mod-passenger

.

Далее, необходимо настроить виртуальный хост для нашего приложения.

Создаем файл /etc/apache2/sites-available/rubytest

Вместо rubytest можно написать все, что угодно:)
В этом файле содержимое должно быть таким:


ServerName www.myrailssite.co.uk
DocumentRoot /var/www/railssite/current/public
RailsEnv production


Options ExecCGI FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all

Где в DocumentRoot мы прописываем путь к директории public нашего приложения, ServerName — имя хоста, на котором вертится приложение.
После чего надо сделать символьную ссылку на этот файл в директории /etc/apache2/sites-enabled/ и обновить конфигурацию апача:

sudo ln -s /etc/apache2/sites-available/rubytest /etc/apache2/sites-enabled
sudo /etc/init.d/apache2 reload

Теперь, если открыть страницу www.myrailssite.co.uk в браузере, то мы увидим приветственную страницу Рельс:

Автор: AlexWinner
Дата публикации: 2010-06-02T04:57:00.000-07:00

Установка бесплатная панели управления сервером Webmin на Linux Debian

Из своего любопытства решил я посмотреть, какие бывают панели управления и конфигурации, как ими пользоваться. Причем хотелось найти именно бесплатную панель. Поэтому мой выбор остановился на Webmin. Как пишут ее создатели, webmin — это веб-интерфейс для системного администрирования unix-систем. Используя любой современный браузер, можно управлять аккаунтами пользователей, веб-сервером Apache, DNS и многим другим.
Тестировать webmin я решил на виртуальной машине с Linux Debian на борту.
О том, как надо устанавливать панель Webmin на Debian, можно почитать здесь — совсем ничего сложного.
Я выбрал установку через репозиторий, так как это дает возможность обновлять webmin намного проще, нежели скачивая каждый раз свежий deb-пакет. Кроме того, при установке из репозитория aptitude или apt-get сам разрешит все зависимости, не придется в ручную ставить пакеты типа perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl.
Итак, добавляем репозиторий webmin в список репозиториев. Для этого надо добавить строчку «deb http://download.webmin.com/download/repository sarge contrib» в файл /etc/apt/sources.list.
После этого желательно установить gpg-key для этого репозитория. Выполняем для этого 2 команды:

wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

Далее, обновляем список репозиториев и устанавливаем webmin:

sudo apt-get update
sudo apt-get install webmin

.
После того, как webmin установится на нашу систему, надо перебросить порт управления webmin'ом на виртуальную машину. Обычно это порт 10000. Как это сделать, я описал в предыдущей статье. Разумеется, если вы ставите webmin на реальную машину, ничего пробрасывать никуда не надо:)
И все, переходим на страницу https://localhost:10000, и видим приветствие webmin'a:

.

Автор: AlexWinner
Дата публикации: 2010-05-21T08:26:00.000-07:00

VirtualBox in Debian — проброс портов (port forwarding) на гостевую машину

Предыстория: решил я потестить панель управления хостингом Webmin. Установку самой панели я опишу в другой статье. В этой же постараюсь рассказать о том, как прокинуть порт, чтобы снаружи можно было зайти на веб-интерфейс этой панели.
При пробросе порта я руководстовался этим постом.
Решение:
Для порт форвардинга можно воспользоваться утилитой VBoxManage. Надо выполнить следующие команды:

$ VBoxManage setextradata «VBoxInternal/Devices/pcnet/0/LUN#0/Config/webmin/HostPort» 10000
$ VBoxManage setextradata «VBoxInternal/Devices/pcnet/0/LUN#0/Config/webmin/GuestPort» 10000
$ VBoxManage setextradata &ly;guestname> «VBoxInternal/Devices/pcnet/0/LUN#0/Config/webmin/Protocol» TCP

Итак, здесь означает имя виртуальной машины, в нашем случае «debian-test». Напротив HostPort и GuestPort — порты, которые слушаются на главной и виртуальной машине. Т.е. те самые, который мы будем перебрасывать.
После этого остается только перезапустить VirtualBox.
Чтобы удостовериться, что все работает, можно выполнить следующую команду:

sudo netstat -nlt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:29209 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN

Мы видим, что порт 10000 находится в состоянии LISTEN, т.е. прослушивается. Зайдя через бразуер host-машины на адрес https://localhost:10000, мы попадаем на страничку Webmin-интерфейса.

В дополнении осталось так же заметить, что конфиги виртуальных машин лежат обычно здесь — ~/.Virtualbox/Machines//.xml.

Автор: AlexWinner
Дата публикации: 2010-05-21T08:02:00.000-07:00

Устанавливаем Linux Debian c USB-флешки

Предыстория:
Купил себе ноутбук, Lenovo U350 и решил поставить на него Debian в компанию к предустановленной Viste. Висту, должен признаться, оставил только для игр. Все таки играть из под Wine не совсем то:) Возник вопрос — как ставить Debian, ведь у этого нетбука нет cd-дисковода. Ответ  — с флешки.
Задача:
Создать загрузочную флешку и установить с нее дебиан.
Решение:
1) Находим компьютер с Linux на борту. Вставляем в него свою флешку.
Скачиваем вот этот файл (Предназначен для архитектуры i386, если вы хотите для какой либо другой — то файл лежит там же, только в ссылке замените i386 на название вашей, например, amd64). В нем содержится установщик, который, после того, как вы загрузитесь с флешки, позволит вам выбрать, с какого iso-образа устанавливать систему.
Для скачивания можете выполнить:

wget http://mirror.yandex.ru/debian/dists/stable/main/installer-i386/current/images/hd-media/boot.img.gz

2) Заливаем этот файл на флешку следующей командой:

zcat boot.img.gz > /dev/sdX

где sdX — это устройство флешки. Узнать ее можно, выполнив команду dmesg, предварительно воткнув флешку в USB-порт.
3) Скачиваем образ, с которого будем устанавливать Debian. Я выбрал этот. Для этого выполняем следующую команду:

wget http://mirror.yandex.ru/debian-cd/current/i386/iso-cd/debian-503-i386-CD-1.iso

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

mount /dev/sdg1 /mnt/temp

где sdg1 — это раздел на этой флешке (можете посмотреть их все с помощью команды fdisk -l), а /mnt/temp — папка, куда производится монтирование.
Копируем образ на флешку и размонтируем ее:

cp debian-503-i386-CD-1.iso /mnt/temp

Если же вы хотите использовать установку по сети, то образ для нее влезет и на первую флешку.
4) Собственно, все готово.
Вставляем первую флешку в пациента, перезгружаемся, включив в биосе загрузку с usb-key, потом, когда запустится загрузчик, вставляем вторую флешку, он находит на ней наш iso-образ, и все, вперед и с песней ставим расово-верный Debian

Автор: AlexWinner
Дата публикации: 2009-12-19T13:02:00.000-08:00