13/09/2007

Автоматизируй Это! (MacOs X)

В MacOS X есть замечательный инструмент Automator о нем и поговорим.

При тестирование своих сайтов  я использую виртуальные хосты, для того что бы добавить новый сайт мне приходиться открывать /etc/hosts добавлять туда что нибудь типа

 127.0.0.1 blog.ia

потом открывать httpd-vhosts.conf и добавлять туда

ServerName blog.ia
DocumentRoot /www/blog

И мне вечно так лень это делать, по этому я решил раз и навсегда автоматизировать этот процесс.

1. Для файлов  /etc/hosts и httpd-vhosts.conf необходимо поставить права доступа 777

2. Запускаем  Automator

3. В правое окно перетаскиваем действие Ask for Confirmation, вводим текст наприммер "Сейчас будет запущен скрипт для создания виртуального хоста", оно нужно для того что бы если вы случайно запустили скрипт из него можно было выйти :).

4. Перетаскиваем действие Asc for Text, вводим "Домен ?", ставим галочку Requie an answer (это будет обозначать что ввести это поле обязательно)

5. Название домена пользователь нам сказала далее нужно добавить его в  фаилы hosts и httpd-vhosts.conf. Для этого перетаскиваем действие Run Shell Script, в выпадающем меню Shell выбираем  /usr/bin/perl (Я выбрал перл, можно сделать тоже самое  спомошью питона или bash скрипта) Вставляем туда следюший скрипт 

open (HANDLE, ">>/apache2/conf/extra/httpd-vhosts.conf");
print HANDLE "\n";
print HANDLE "ServerName @ARGV \n";
close (HANDLE);
open (HANDLE, ">>/etc/hosts");
print HANDLE "127.0.0.1 @ARGV\n";

close (HANDLE);

естественно не забудьте поменять пути к файлам на свои

6. И так нам осталось ввести только путь к папке, еще раз добавляем действие Asc for Text чтобы узнать путь к папке.

7. аналогично пункту 5 добавлем скрипт на перле 

open (HANDLE, ">>/apache2/conf/extra/httpd-vhosts.conf");

print HANDLE "DocumentRoot @ARGV \n";
print HANDLE "\n";
close (HANDLE);
8. Добовляем сообщение о том что скрипт выполнился, например с помощью действия Show Growl Notification
9. За пускаем :)))
 
Мой Workflow можно скачать тут
p.s. Эта запись участвует в конкурсе подробности о котором вы можете прочитать тут. У меня нет Ipod'a а очень хочется :) 

 

Реклама


Ссылки

Комментарии