Скрипт создания виртуальных хостов Apache 2.4
Добрый день, граждане! В связи с полноценным переходом на Linux возникла необходимость переноса некоторый проектов с OpenServer на Windows. Очень частое и рутинное действие — создание виртуальных хостов. А так как для разработки просто Apache мне достаточно, то решил написать небольшой скрипт, который эту процедуру упростит до 1 строки. Вот собственно сам скрипт:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
#!/bin/bash domain=$1 user=user_name group=group_name dir=sites_dir dm=`ls /etc/apache2/sites-available/$domain` if [[ "$dm" = "/etc/apache2/sites-available/$domain" ]] then echo 'Домен уже существует. Выберите другое имя' else # запись в hosts echo "127.0.0.1 $domain" >> /etc/hosts echo "Создание директорий для домена $domain" mkdir -p /home/$user/$dir/$domain mkdir -p /home/$user/$dir/$domain/logs chown -R $user:$group /home/$user/$dir/$domain echo "Создание виртуального хоста для домена $domain" echo "<VirtualHost *:80> ServerName $domain DocumentRoot /home/$user/$dir/$domain <Directory /home/$user/$dir/$domain> Require all granted </Directory> ErrorLog /home/$user/$dir/$domain/logs/error_log </VirtualHost>" >> /etc/apache2/sites-available/$domain.conf echo "Включение виртуального хоста $domain" a2ensite $domain echo "Обновление конфигурации Apache" /etc/init.d/apache2 reload echo "Виртуальный хост создан" fi exit 0 |
- Создайте в домашней папке своего пользователя файл add_site.sh
- впишите вместо user_name — имя своего пользователя
- вместо group_name можете вписать так же имя пользователя
- вместо sites_dir — название папки, в которой у вас будут лежать сайты
- вставьте содержимое, после сделайте файл исполняемым.
- Запустите из консоли команду
1 |
sudo sh add_site.sh test |
У вас создастся виртуальный хост test, который будет доступен в браузере по адресу http://test/. Файлы же будут лежать в /home/user_name/sites_dir/test
Работоспособность проверялась на Linux Mint 17, скрипт предназначен для версии Apache 2.4. Должен работать на других дистрибутивах без проблем. Спасибо за внимание
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.