User Tools

Site Tools


Sidebar


Tags Cloud
create_site

This is an old revision of the document!


Простейший скрипт для добавления виртхоста и днс-записи на сервер с Debian, если отсутствует панель управления. Необходимо предварительно создать пользователя http.

#!/bin/bash

echo -n "Введите имя сайта: "
read domain

# СОЗДАНИЕ ДИРЕКТОРИИ
mkdir -p /home/http/domains/$domain/html/cgi-bin
chown -R http:http /home/http/domains/$domain/html

# СОЗДАНИЕ КОНФИГА ВИРТХОСТА ДЛЯ АПАЧА
cat >/etc/apache2/sites-available/$domain << EOF
<VirtualHost *:80>
    ServerName $domain
    ServerAlias www.$domain
    DocumentRoot /home/http/domains/$domain/html
    ErrorLog /dev/null

    ScriptAlias /cgi-bin/ "/home/http/domains/$domain/html/cgi-bin/"

    <Directory "/cgi-bin/">
        AllowOverride None
        Options None +FollowSymLinks ExecCGI
        DirectoryIndex index.pl
    </Directory>

    <Directory />
        Options All -Indexes
        AllowOverride All
    </Directory>
</VirtualHost>
EOF

# ВКЛЮЧЕНИЕ ВИРТХОСТА
/usr/sbin/a2ensite $domain
/etc/init.d/apache2 reload

# СОЗДАНИЕ ФАЙЛА ДНС-ЗОНЫ
serial=`/bin/date +"%Y%m%d%k"`
cat >/etc/bind/zones/$domain<< EOF
\$TTL 10800
@ IN SOA ns1.$domain. root.$domain. (
    $serial     ; serial
    10800       ; refresh
    3600        ; retry
    604800      ; expire
    3600 )      ; minimum
; NS
    IN  NS  ns1.$domain.
    IN  NS  ns2.$domain.
; MX
    IN  MX  10  mx1.$domain.
; records
ns1         IN  A   95.169.190.217
ns2         IN  A   95.169.191.217
www         IN  A   95.169.191.217
$domain.    IN  A   95.169.191.217
EOF

# СОЗДАНИЕ ЗАПИСИ О ДНС-ЗОНЕ
cat >>/etc/bind/named.conf.local<< EOF
zone "$domain" {
    type master;
    file "/etc/bind/zones/$domain";
};
EOF

# ВКЛЮЧЕНИЕ ЗОНЫ
/usr/sbin/rndc reload
create_site.1259939990.txt.gz · Last modified: 2009/12/04 15:19 by kyxap