Кукольный / бродячий: поврежденный контент Virtualhost Apache
Вопрос
Я использую бродягую / куколку, чтобы настроить мою тестмашину, я использую его, чтобы настроить VirtualHost для Apache, но при запуске Apache я получаю ошибку, по-видимому, для странного интервала или символов или около того:
/apache2 start
* Starting web server apache2
Syntax error on line 4 of /etc/apache2/sites-enabled/my-ssl.localhost.conf:
Invalid command '\xc2\xa0\xc2\xa0ServerName', perhaps misspelled or defined by a module not included in the server configuration
Action 'start' failed.
.
Файл манифеста, который я написал, чтобы настроить виртуально, выглядит как это
file {'hostfile4':
path => '/etc/apache2/sites-available/my-ssl.localhost.conf',
ensure => present,
content => "
<VirtualHost *:443>
DocumentRoot '/coding/mysite/htdocs/'
ServerName foa-ssl.localhost
ServerAlias foa-ssl.localhost
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
RewriteLog /var/log/apache2/rewrite.log
RewriteLogLevel 0
<Directory '/coding/mysite/checkout/htdocs'>
AllowOverride All
Options All -Indexes
Order allow,deny
Allow from all
php_admin_value short_open_tag Off
AddType application/x-httpd-php .css .js
</Directory>
<Directory '/coding/mysite/app_new/htdocs'>
AllowOverride All
Options All -Indexes
Order allow,deny
Allow from all
php_admin_value short_open_tag Off
AddType application/x-httpd-php .css .js
</Directory>
<Directory '/coding/mysite/cgi-bin'>
Options +ExecCGI
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
</VirtualHost>",
}
. Решение
c2 a0
(в сообщении об ошибке) - код Unicode для специального символа «Невыполненное пространство», ср. Здесь .
Кажется, что Apache это вообще не нравится.Таким образом, вы должны избавиться от этих невыполненных пробелов и используйте нормальные, даже если он выглядит одинаково в вашем редакторе.
Вы можете использовать Notepad ++ и просить его преобразовать ваши кукольные файлы на «ANSI», что является более безопасной кодировкой для файлов конфигурации.
Вы, должно быть, убрали, что, не зная его во время перемещения содержимого в внешний файл, но использование внешнего файла не является решением, даже если оно сработало.
Другие советы
Решил его использовать это:
file { "/etc/apache2/sites-available/my-ssl.localhost.conf":
mode => 440,
owner => root,
group => root,
source => "/coding/puppetstuff/my-ssl.localhost.conf"
}
.
/coding/puppetstuff/foa-ssl.localhost.coa-ssl.localhost.conf находится в общей папке (путь на изображение)