26.08.2010

Создаем новый хост на виртуальном сервере

1. Получаем права суперпользователя sudo su
2. Запускаем скрипт create_site.sh
3. Указываем домен для сайта, например: magento.local
4. Отвечаем на вопрос скрипта «Хотите создать базу данных для этого проекта? (Да/Нет)», если база нужна указываем имя для базы и пароль администратора базы данных.


Код файла create_site.sh:
#!/bin/bash
#************************************************#
#                create_site.sh                  #
#                автор: korbax                   #
#                Май 30, 2010                    #
#                                                #
# Создаем новый проект, каталоги и базу данных.  #
#************************************************#

echo -e "\033[1mВведите название проекта:\033[0m";
read NAME_OF_PROJECT

#создаем папки проекта
sudo mkdir /www/$NAME_OF_PROJECT
sudo mkdir /www/$NAME_OF_PROJECT/public/
sudo mkdir /www/$NAME_OF_PROJECT/cgi-bin/
sudo mkdir /www/$NAME_OF_PROJECT/logs/

#указываем владельца и права на папку "public"
sudo chown -R korbax:korbax /www/$NAME_OF_PROJECT/
sudo chmod -R 755 /www/$NAME_OF_PROJECT/
sudo chown -R korbax:korbax /www/$NAME_OF_PROJECT/public/
sudo chmod -R 755 /www/$NAME_OF_PROJECT/public/

#добавляем праивила в конфигурационый файл апача
add_to_apache_conf="

ServerName ${NAME_OF_PROJECT}
        ServerAlias www.${NAME_OF_PROJECT}
        ServerAdmin webmaster@${NAME_OF_PROJECT}
        DocumentRoot /www/${NAME_OF_PROJECT}/public
             
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
       


        ScriptAlias /cgi-bin/ /www/${NAME_OF_PROJECT}/cgi-bin/
       
                AllowOverride All
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
       


        ErrorLog /www/${NAME_OF_PROJECT}/logs/error.log
        LogLevel warn
        CustomLog /www/${NAME_OF_PROJECT}/logs/access.log combined
"

add_to_hosts_conf="127.0.0.2 ${NAME_OF_PROJECT}"

#добовляем новый хост
echo "$add_to_hosts_conf" >> /etc/hosts
echo "$add_to_apache_conf" >> /etc/apache2/sites-available/${NAME_OF_PROJECT}


#создаем новую базу
echo -e "\033[1mХотите создать базу данных для этого проекта? (Да/Нет)\033[0m";
read CREATE_BAZA

if  [ "$CREATE_BAZA" = "Да" -o "$CREATE_BAZA" = "да" ]; then
    echo -e "\033[1mВведите имя базы данных:\033[0m";
    read NAME_OF_PROJECT

    mysql -uroot -p --execute="create database ${NAME_OF_PROJECT}; GRANT ALL PRIVILEGES ON ${NAME_OF_PROJECT}.* TO         ${NAME_OF_PROJECT}_user@localhost IDENTIFIED by '221976' WITH GRANT OPTION;"
    echo -e "\033[1mБаза данных создана.\033[0m";

else
     echo -e "\033[1mБаза данных не была создана.\033[0m";
fi

#включаем конфигурацию сайта
a2ensite ${NAME_OF_PROJECT}
#sudo a2dissite

#перезапускаем апач
/etc/init.d/apache2 restart
echo -e "\033[1mЛокальный сайт готов к работе.\033[0m";

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

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