Войти через loginza
Закрыть панель

2

Мар

2010

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

Распечатать статью Разместил: spider. Рубрика Linux |

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

Чтобы не писать все по 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.

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

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

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

21

Фев

2009

.htaccess

Распечатать статью Разместил: spider. Рубрика Linux |

Несколько раз сталкивался с тем , что у хостера переменные register_globals, magic_gpc, и некоторые другие не соответствую требованиям joomla и другим компонентам и CMS.

Так же возникали различные проблеммы с кодировкой сайта. Везде стоит cp1251, а отображается все равно неверно.

В данном случае нас выручит файл .htaccess (но это касается только на *nix хостинге)

итак листинг :

DirectoryIndex index.php index.html index.htm       //указываем приоритет
AddDefaultCharset WINDOWS-1251 //задаем кодировку

php_flag register_globals off //переключаем флаг php в OFF
php_flag magic_quotes_gpc ON // а тут наоборот в ON