Add new comment

Пишем bash скрипт для новых сайтов система openSuse


#!/bin/bash

#Каталог где будет создана рабочая директория домена.
dir_domain="/media"

#Редактор
editor="nano"

#Не обязательно!
#MySQL
dbuser="root"
dbpass=""

#Проверка существования директории
if [ ! -d $dir_domain ]
then
echo "Директория $dir_domain не существует!"
exit 0
fi

echo "Введите имя домена"
read domain

#Проверка существования домена
if [ -e /etc/apache2/vhosts.d/"$domain.conf" ]
then
echo 'Данный домен уже существует!'
exit 0
fi

#VirtualHost
#touch /etc/apache2/vhosts.d/$domain.243434conf
echo "#$domain.conf

DocumentRoot $dir_domain/$domain/www/
ServerName $domain

Options FollowSymLinks
AllowOverride Fileinfo
Order deny,allow
deny from all
allow from 127.0.0.1

ErrorLog $dir_domain/$domain/logs/error.log
" > /etc/apache2/vhosts.d/$domain.conf

#$editor /etc/apache2/vhosts.d/$domain

#Создать рабочий каталог
mkdir -p $dir_domain/$domain/www
mkdir -p $dir_domain/$domain/logs
touch $dir_domain/$domain/www/index.html
echo "Hello World!" > $dir_domain/$domain/www/index.html

#Добавить запись в Hosts
echo "127.0.0.1 localhost $domain" >> /etc/hosts

#Включить домен
#a2ensite $domain
echo "*********************"
echo "Перезапуск Apache ..."
echo "*********************"

#Перезапустить apache
/etc/init.d/apache2 restart

#Сценарий запущен от рута, сделать владельцем того кто запустил.
chown -R $SUDO_USER:$SUDO_USER $dir_domain/$domain

echo "Создать новую базу данных для $domain (y or n)"
read createdb

if [ $createdb != "y" ]
then
echo "Готово"
exit 0
fi

#Создать базу данных
echo "Введите имя базы данных"
read udbname
echo "Введите пароль пользователя"
read udbpass

if ! mysql -u$dbuser -p$dbpass --execute="CREATE DATABASE ${udbname};"
then
echo "Невозможно создать базу данных !!!"
exit 0
fi

if ! mysql -u$dbuser -p$dbpass --execute="GRANT ALL ON $udbname.* TO ${udbname}@localhost IDENTIFIED BY '${udbpass}';"
then
echo "Невозможно создать пользователя базы данных !!!"
exit 0
fi

echo "База данных и пользователь успешно созданы"
echo "*************************************************"
echo "Имя базы данных: ${udbname}"
echo "Имя пользователя: ${udbname}"
echo "Пароль пользователя: ${udbpass}"
echo "*************************************************"
echo "Готово"

EOF

Категория: 
The code has been tested and works
Мультитег: 

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.