Скрипт локального хостинга

Нужно было развернуть несколько локальных сайтов.

Чтобы не писать все по 1 — решил написать простой bash-скрипт.

Предполагается наличие установленных: apache2, bash, bind, MySQL Server, MySQL клиент, vsftpd (ftp сервер).

Запускаем из консоли скрипт в качестве параметров указываем имя пользователя.

Скрипт создает Базу данных MySQL, и создает файлы для поднятия локального имени user.local.net.

Рестартует ДНС (bind).

Так же есть доступ по ФТП к корневому каталогу пользователя.

Скрипт создает пользователя в системе.

Раскрыть »

#!/bin/bash
clear
echo "creating user $1"
mkdir /var/www/html/$1
chmod 777 /var/www/html/$1
/bin/echo -e "<VirtualHost $1.local.net>nDocumentRoot /var/www/html/$1nServerName $1.local.netn<Directory "/var/www/html/$1">nallow from allnOptions +Indexesn</Directory>n</VirtualHost> n" > /etc/apache2/sites-available/$1.local.net
ln -s /etc/apache2/sites-available/$1.local.net /etc/apache2/sites-enabled/
/bin/echo -e "1.1.168.192.in-addr.arpa. IN      PTR     $1.local.net.n" >> /etc/bind/db.44
/bin/echo -e "$1.local.net.     IN      A       192.168.1.1n" >> /etc/bind/db.local.net
/bin/echo -e "<html>nHello user $1n</html>" > /var/www/html/$1/index.html
/etc/init.d/bind restart
/etc/init.d/apache2 restart
echo "creating databases for user $1 ..."
mysqladmin -u root -p create db$1
pass=`pwgen | cut -d " "  -f1`
/bin/echo -e "grant all on db$1.* to '$1'@'localhost' identified by '$pass' " > ./tmp.sql
mysql -u root -p < ./tmp.sql
rm -f ./tmp.sql
echo "============================================="
echo "      User $1 created                      "
echo "      Password for user $1 - =$pass=        "
echo "============================================="
echo "creating unix local user..."
useradd -d /var/www/html/$1 $1
(echo $1:$pass)|chpasswd
/bin/echo -e "local_root=/var/www/html/$1nanon_max_rate=200000000
nwrite_enable=Yesnanon_mkdir_write_enable=Yesnanon_other_write_enable=Yes
nanon_upload_enable=Yesnchown_username=$1n" > /var/db/$1

Позже , если дойдут руки возможно опишу все это красиво на php.

Такой себе сам локальный хостер.
Скачать скрипт

У кого будут вопросы пишите в комментариях к данной статье.

Иногда запросы вебмастеров достаточн высокие. И среды виртуального хостинга бывает явно недостаточно. Выход есть - это выделенный сервер. На нем можно развернуть свою ОС. И нет ограничений ни по процессору ни по лимиту памяти.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Изображения должны быть включены!