Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<font size="2" face="Courier New" color="black">#!/bin/sh
# simple module <font color="#0000ff">for</font> create <font color="#0000ff">new</font> Virtual Host <font color="#0000ff">for</font> Apache2
path_to_apache=<font color="#A31515">"/etc/apache2/sites-available"</font>;
path_to_apache_link=<font color="#A31515">"/etc/apache2/sites-enabled"</font>;
echo -n <font color="#A31515">"Введите имя сайта: "</font>;
read site_name;
<font color="#0000ff">if</font> [ <font color="#A31515">"$site_name"</font> != <font color="#A31515">""</font> ]
then
<font color="#0000ff">if</font> [ ! -e <font color="#A31515">"$path_to_apache/$site_name"</font> ]
then
echo -n <font color="#A31515">"Создаю сайт $site_name: "</font>;
echo <font color="#A31515">"
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /www/$site_name/
ServerName $site_name
ErrorLog /var/log/apache2/hosts/$site_name-error.log
CustomLog /var/log/apache2/hosts/$site_name-access.log combined
ServerSignature Off
<Directory /www/$site_name/>
Order Deny,Allow
Deny from all
Allow from 127.0.0.0/24
</Directory>
</VirtualHost>
"</font> > $path_to_apache/$site_name;
echo <font color="#A31515">" готово"</font>;
<font color="#0000ff">else</font> echo <font color="#A31515">"VHost уже существует"</font>;
fi;
<font color="#0000ff">if</font> [ ! -h <font color="#A31515">"$path_to_apache_link/$site_name"</font> ]
then
echo -n <font color="#A31515">"Разрешаем загрузку: "</font>;
a2ensite $site_name;
echo <font color="#A31515">" готово"</font>;
<font color="#0000ff">else</font>
echo <font color="#A31515">"Сайт уже доступен"</font>
fi;
isset_site=`grep <font color="#A31515">"$site_name"</font> /etc/hosts`;
<font color="#0000ff">if</font> [ <font color="#A31515">"$isset_site"</font> = <font color="#A31515">""</font> ]
then
old_str=`grep <font color="#A31515">"127.0.0.1"</font> /etc/hosts`;
new_str=<font color="#A31515">"$old_str $site_name"</font>;
sed -e <font color="#A31515">"s/$old_str/$new_str/"</font> /etc/hosts > /etc/hosts.temp;
cp /etc/hosts.temp /etc/hosts;
rm /etc/hosts.temp;
fi;
echo <font color="#A31515">"Сайт $site_name успешно создан"</font>;
mkdir /<font color="#0000ff">var</font>/svn/$site_name;
svnadmin create /<font color="#0000ff">var</font>/svn/$site_name;
chown -R www-data:svn /<font color="#0000ff">var</font>/svn/$site_name;
chmod -R g+ws /<font color="#0000ff">var</font>/svn/$site_name;
mkdir /<font color="#0000ff">var</font>/trac/$site_name;
trac-admin /<font color="#0000ff">var</font>/trac/$site_name initenv $site_name sqlite:db/trac.db svn /<font color="#0000ff">var</font>/svn/$site_name;
chown -R www-data:svn /<font color="#0000ff">var</font>/trac/$site_name;
chmod -R g+ws /<font color="#0000ff">var</font>/trac/$site_name;
echo <font color="#A31515">"
<LocationMatch \"/trac/$site_name/login\">
AuthType Basic
AuthName \"Projects\"
AuthUserFile /etc/apache2/trac.htpasswd
Require valid-user
</LocationMatch>
<Location /trac/$site_name>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/trac/$site_name
PythonOption TracUriRoot /trac/$site_name
</Location>
"</font> > /etc/apache2/conf.d/trac_$site_name;
trac-admin /<font color="#0000ff">var</font>/trac/$site_name permission add user TRAC_ADMIN
/etc/init.d/apache2 restart;
<font color="#0000ff">else</font>
echo <font color="#A31515">"Вы не ввели имя сайта"</font>;
fi
exit 0;</font><font size="1" color="gray">
* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font size="1" color="gray">Source Code Highlighter</font></a>.</font>
Автоматизация разработки web проектов в среде UNIX