среда, 18 июля 2012 г.

Создание сайта из шаблона, пользователя и БД

Работа с башем, MySQL-ем.
Скрипт по переданным ему параметрам создает БД, пользователя в системе и в БД, берет шаблоны сайтов nginx-а и apache и на основании их создает conf-файлы.


#!/bin/bash

# Create database
/usr/bin/mysql -u root -pXXXXX -e 
   "CREATE DATABASE "$1" CHARACTER SET utf8 COLLATE utf8_general_ci;"
# Create database user
/usr/bin/mysql -u root -pXXXXX -e 
   "CREATE USER '"$2"'@'localhost' IDENTIFIED BY '"$3"' ;"
/usr/bin/mysql -u root -pXXXXX -e 
   "GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON "$1".* TO '"$2"'@'localhost' ;"

# Create directories
/bin/mkdir /var/www/vhosts/$4
/bin/mkdir /var/www/vhosts/$4/www/
/bin/mkdir /var/www/vhosts/$4/tmp/
/bin/mkdir /var/www/vhosts/$4/cgi/

# Create system user
/usr/sbin/useradd -b /var/www/vhosts/$4 -g www-data -s /bin/bash $2
/bin/echo $2:$3|/usr/sbin/chpasswd
/bin/chown -R $2:www-data /var/www/vhosts/$4

# Create conf files from template
/bin/bash -c "/bin/sed -e 's/CHANGEME/"$4"/g' 
   /etc/httpd/sites-available/template > /etc/httpd/sites-available/"$4
/bin/ln -s /etc/httpd/sites-available/$4 /etc/httpd/sites-enabled/$4
/bin/bash -c "/bin/sed -e 's/CHANGEME/"$4"/g' 
   /etc/nginx/sites-available/template > /etc/nginx/sites-available/"$4
/bin/ln -s /etc/nginx/sites-available/$4 /etc/nginx/sites-enabled/$4


вызывать его надо примерно так:

[root@localhost]# script.sh DBName username password sitename.com

Комментариев нет:

Отправить комментарий