|
 

Web-developments, php, frameworks, mysql, unix,
и многое другое, что может быть интересным
для вас и меня! =)

 
FlaBla.com Веб блог » Ubuntu » Создание площадки под сайты в ubuntu
no money - no honey!

Создание площадки под сайты в ubuntu

Автор: FlashBlack от 10 апреля 2011
 (голосов: 0)
Доброе время суток!

В этом посте, я наглядно покажу, как создать простой и в тоже время полезный bash скрипт для создания площадки под ваш сайт в ubuntu!

Скрипт создания площадки create_site.sh
#!/bin/bash

public_dir='/home/flabla/workspace'; #путь где будут храниться проекты-площадки
mysql_usr='root'; #mysql username
mysql_pwd='root'; #mysql password
username='flabla'; #ваш юзернейм
domain_prefix='localhost'; #префикс вашего домена

NAME_OF_PROJECT=$1;

if [ "$NAME_OF_PROJECT" == "" ]; then
    echo -e "Название проекта не введено. Синтаксис: ./create_site.sh название проекта";
else

    #создаем папки проекта
    mkdir $public_dir/$NAME_OF_PROJECT
    mkdir $public_dir/$NAME_OF_PROJECT/public/
    mkdir $public_dir/$NAME_OF_PROJECT/logs/

    #указываем владельца и права на папку "public_html"
    chown -R $username:$username $public_dir/$NAME_OF_PROJECT/
    chmod -R 755 $public_dir/$NAME_OF_PROJECT/
    chown -R $username:$username $public_dir/$NAME_OF_PROJECT/public_html/
    chmod -R 755 $public_dir/$NAME_OF_PROJECT/public_html/

    #добавляем правила в конфигурационный файл апача
    add_to_apache_conf="
    <VirtualHost *:80>
        ServerName ${NAME_OF_PROJECT}.$domain_prefix
        DocumentRoot $public_dir/${NAME_OF_PROJECT}/public_html

        ErrorLog $public_dir/${NAME_OF_PROJECT}/logs/error.log
        LogLevel warn
        CustomLog $public_dir/${NAME_OF_PROJECT}/logs/access.log combined
    </VirtualHost>"

    add_to_hosts_conf="127.0.0.1    ${NAME_OF_PROJECT}.$domain_prefix"

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


    #создаем новую базу
    mysql -u${mysql_usr} -p${mysql_pwd} --execute="create database ${NAME_OF_PROJECT}; GRANT ALL PRIVILEGES ON ${NAME_OF_PROJECT}.* TO ${username}@localhost WITH GRANT OPTION;"
    echo -e "\033[1mБаза данных ${NAME_OF_PROJECT} создана.\033[0m";


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

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


Код удаления площадки delete_site.sh

#!/bin/bash

site_name=$1
#здесь те же настройки, что и выше.
public_dir='/home/flabla/workspace';
mysql_usr='root';
mysql_pwd='root';

#удаляем директорию с проектом
rm -r $public_dir/$site_name

#удаляем конфигурации проекта
a2dissite $site_name

#удаляем базу проекта
mysql -u${mysql_usr} -p${mysql_pwd} --execute="DROP DATABASE $site_name"

#удаляем файл виртуального хоста
rm /etc/apache2/sites-available/$site_name

#рестартим апач
/etc/init.d/apache2 restart


Как использовать:

Ставим права доступа на выполнение:
chmod +x ./create_site.sh
chmod +x ./delete_site.sh

Выполняем:
sudo ./create_site.sh myproject
sudo ./delete_site.sh myproject
[related-news][/related-news]
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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



 

?