Каждый раз при добавлении нового сайта редактировать файлы конфигурации LAMPP утомительно. Мы-ж программисты, поэтому автоматизируем это.
Ниже приведен код, который решает нашу задачу, а именно:
- создает папку нового сайта в директории сайтов LAMPP (в моем случа это
/home/r0ma/www
) - создает файл
index.php
(для того, чтобы можно было перейти по новому адресу и проверить работоспособность сайта) - редактирует файл
httpd-vhosts.conf
- редактирует файл
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
автоматически будет создаваться новая папка.