BASH Скрипт - свой домен LAMPP

Bash > cвой домен в LAMPP

Каждый раз при добавлении нового сайта редактировать файлы конфигурации LAMPP утомительно. Мы-ж программисты, поэтому автоматизируем это.

Ниже приведен код, который решает нашу задачу, а именно:

  1. создает папку нового сайта в директории сайтов LAMPP (в моем случа это /home/r0ma/www)
  2. создает файл index.php (для того, чтобы можно было перейти по новому адресу и проверить работоспособность сайта)
  3. редактирует файл httpd-vhosts.conf
  4. редактирует файл hosts в /etc

Bash скрипт

#!/bin/bash

# запуск только под root'ом
if ! [ $(id -u) = 0 ]; then
   echo "Скрипт должен запускать \`root\`." >&2
   exit 1
fi

VHOSTS=/opt/lampp/etc/extra/httpd-vhosts.conf
HOSTS=/etc/hosts

read -p "Имя новой директории (домена): " foldername

cd /home/r0ma/www

if (sudo -u r0ma mkdir $foldername)
	then
		echo "Директория \`$foldername\` создана."
		cd /home/r0ma/www
		cd "$foldername"
		sudo -u r0ma touch index.php 
		sudo -u r0ma echo -e '<?php\necho "hello world;"' > index.php
	else echo "Ошибка при создании директории."
fi

STRING="<VirtualHost *:80>\nServerAdmin webmaster@$foldername\nDocumentRoot \"/home/r0ma/www/$foldername\"\nServerName $foldername\nServerAlias www.$foldername\n</VirtualHost>\n"

# редактируем файл httpd-vhosts.conf
echo -e $STRING >> $VHOSTS

# редактируем etc/hosts
HOSTS_TEXT="127.0.0.1 $foldername\n\n"
echo -e $HOSTS_TEXT >> $HOSTS

ВАЖНО: чтобы код работал на вашей машине нужно изменить директорию с сайтами LAMPP (у меня это /home/r0ma/www) и изменить имя пользователя (r0ma) на свое

LifeHack: добавьте команду запуска этого скрипта в секцию alias файла .bashrc

alias cld='sudo /home/r0ma/www/bash_scripts/cld.sh'

теперь при наборе в терминале команады cld автоматически будет создаваться новая папка.

Leave a Reply

Your email address will not be published.