Я создал небольшой скрипт для добавления сайтов на свой сервер, и он выглядит так:
#!/bin/bash
echo "<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName $1
ServerAlias www.$1
DocumentRoot /var/www/$1/public_html
ErrorLog ${APACHE_LOG_DIR}/error-$1.log
CustomLog ${APACHE_LOG_DIR}/access-$1.log combined
</VirtualHost>" > /etc/apache2/sites-available/$1.conf
mkdir /var/www/$1
mkdir /var/www/$1/public_html/
a2ensite /etc/apache2/sites-available/$1.conf
Это нормально работает.
Я могу запустить этот скрипт как ./newsite example.com
и я получаю свой файл example.com.conf
под sites-available
и все. Но когда я бегу a2ensite
, У меня следующая ошибка:
ERROR: Site /etc/apache2/sites-available/example.com does not exist!
Это странно, потому что, хотя я создаю файл с именем example.com.conf
прежде чем я все еще получаю эту ошибку.
Любые идеи? Это ошибка?
PS: Только sudoers могут запускать этот скрипт.
Вы получаете эту ошибку, потому что a2ensite
вы передаете полный путь к конфигурации вашего сайта. a2ensite
ожидает передачи только имени сайта:
a2ensite example.com