Добавляем себя в группу www-data
sudo usermod -G www-data ivan
Для создания нового хоста можно создать файл create-host.sh:
#!/bin/sh # Получаем нужные данные echo "Введите имя домена:" read domen echo "Введите название публичной директории:" read pubdir # Создаем директорию хоста mkdir -p /var/www/$domen/$pubdir chown -R $USER:$USER /var/www/$domen # Создаем тестовый index.html echo "<html>" > /var/www/$domen/$pubdir/index.html echo " <head>" >> /var/www/$domen/$pubdir/index.html echo " <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>" >> /var/www/$domen/$pubdir/index.html echo " <title>$domen</title>" >> /var/www/$domen/$pubdir/index.html echo " </head>" >> /var/www/$domen/$pubdir/index.html echo " <body>" >> /var/www/$domen/$pubdir/index.html echo " <h1>Работает! Виртуальный хост $domen настроен правильно!</h1>" >> /var/www/$domen/$pubdir/index.html echo " </body>" >> /var/www/$domen/$pubdir/index.html echo "</html>" >> /var/www/$domen/$pubdir/index.html # Создаем конфигурационный файл хоста echo "<VirtualHost *:80>" > /etc/apache2/sites-available/$domen.conf echo " ServerAdmin shkuta85@gmail.com" >> /etc/apache2/sites-available/$domen.conf echo " ServerName $domen" >> /etc/apache2/sites-available/$domen.conf echo " ServerAlias www.$domen" >> /etc/apache2/sites-available/$domen.conf echo " DocumentRoot /var/www/$domen/$pubdir" >> /etc/apache2/sites-available/$domen.conf echo " ErrorLog ${APACHE_LOG_DIR}/error.log" >> /etc/apache2/sites-available/$domen.conf echo " CustomLog ${APACHE_LOG_DIR}/access.log combined" >> /etc/apache2/sites-available/$domen.conf echo "</VirtualHost>" >> /etc/apache2/sites-available/$domen.conf # Включаем хост a2ensite $domen.conf # Отключаем дефолтный хост a2dissite 000-default.conf # Добавляем созданный хост в hosts echo "127.0.0.1 $domen" >> /etc/hosts # Перезагружаем сервер sudo systemctl restart apache2 # sudo service apache2 restart