Без рубрики

Как отличать локальный сайт от production? 16 октября 09

Бывает такое, что путаешь свою версию сайта с той, что работает в миру? Например, если они открыты в соседних вкладках браузера? Эта проблема решается ровно одной строчкой в конфиге Apache:

AliasMatch ^/favicon\.ico$ "/location/of/dev_favicon.ico"

После этого (и при включенном mod_alias, как это обычно бывает) у всех локальных сайтов будет одна и та же фавиконка. Я ее сделал красной: Ничего интересного, на самом деле.

Еще можно подменять им стили с помощью Stylish, типа:

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("localhost") 
{
  html {border: solid 5px red !important} /* сложно не заметить толстую красную рамку */
}

Тоже работает. Но придется для каждого сайта (домена) прописывать отдельно. Если только ты не размещаешь все dev-сайты в какой-нибудь особенной доменной зоне – я, например, привык класть их в .dev. Тогда вообще все просто – заменяешь в стиле localhost на dev и стиль подхватывается на всех сайтах.

Доставка файлов из VCS на shared-хостинг с помощью sshfs 1 октября 09

В общем, понадобится sshfs – штука для монтирования ssh-каталогов в локальные. Конечно, она есть в репозитариях Ubuntu.

В смонтированном таким образом каталоге можно выполнять практически любые утилиты, имеющиеся на локальной машине. Например, git pull.

# Монтируем каталог
mkdir ssh-export
sshfs -o workaround=rename the.deploy.server:/the/deploy/path ssh-export
cd ssh-export
# Обновляем
git pull
# Отмонтировываем
cd ..
fusermount -u ssh-export
rm -rf ssh-export

Причина использования workaround=rename описана в Git FAQ.

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

Еще я пробовал использовать git через FTP с помощью curlftpfs, но, увы, git не хочет работать без возможности залочить файл.

Другие способы обойтись без системы контроля версий – в статье «Грамотное разворачивание сайта без VCS».

Know thy tools: Linux (операционная система) 28 сентября 09

Начинаю цикл обзора моих рабочих инструментов. На это меня натолкнул пост Джеймиса Бака про то, что свои инструменты надо не просто знать – в них нужно разбираться.

Будет ли это оффтопиком? Да нет, конечно! Я же о веб-разработке буду писать. Думаю, коллегам понравится.

Обзор будет из четырех частей: 1) преимущества предмета; 2) недостатки; 3) почему я использую именно его; 4) как узнать о нем что-то новое. Естественно, все это субъективно, прошу комментировать, критиковать и подвергать сомнению.

Начну я с операционки, то есть с Linux (клиентской операционки). Я работаю на Ubuntu Linux 9.04.
читать дальше →

Как произносится слово ruby 3 сентября 09

Специально для всех сомневающихся и режущих мой слух словом «рАби»:

ruby ['ruːbɪ]

Спасибо Яндексу за это.

Грамотное разворачивание сайта без VCS 3 сентября 09

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

Ну да, не совсем без системы контроля версий, а при наличии отсутствия ее на сервере.
читать дальше →

Хостинг Ruby on Rails от Hostpro.ua – первые впечатления 3 сентября 09

Коротко, основные технические моменты о переносе сайта с VPS от Slicehost на shared-хостинг от Hostpro.
Чтоб никого не путать, речь идет о хостинге ruby on rails на пакете Кластер от Hostpro.ua.
читать дальше →