Для обучения я пытаюсь предоставить веб-сервер PHP, используя Puppet on Vagrant. Тем не менее, я получаю дамп кода PHP в окне браузера вместо выполнения. Я попытался найти решение проблемы, но я не могу найти ее здесь. Любая помощь будет высоко оценен.Puppet: как остановить печать PHP-кода в окне браузера
Это то, что я сделал до сих пор.
кукловод/манифесты/site.pp
node /^puppet/ {
include puppetmaster
}
node /^web/ {
include webserver
include php
}
кукловод/модуль/веб-сервер/манифесты/init.pp (пользовательский модуль)
class webserver {
notify{"provision a web server": }
package{['git', 'links']:
ensure => installed,
}
include apache
file{'/var/www/test':
ensure => directory,
owner => 'www-data',
group => 'www-data',
}
vcsrepo { "/var/www/test":
ensure => present,
provider => git,
source => 'https://github.com/example/test.git',
require => File['/var/www/test'],
}
apache::vhost{'git.example.com':
port => '80',
docroot => '/var/www/test',
require => File['/var/www/test'],
}
host{'git.example.com':
ip => '127.0.0.1',
}
}
Vagrantfile
VAGRANTFILE_API_VERSION = "2"
# Assinging static IP
$puppet_ip = "10.1.1.33"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "puppetlabs/ubuntu-14.04-32-puppet"
config.vm.network "private_network", ip: "10.1.1.34"
config.vm.define "web01" do |web|
web.vm.hostname = "web01"
web.vm.network :forwarded_port, host: 1234, guest: 8983
web.vm.network :forwarded_port, host: 11000, guest: 80
web.vm.provision "shell", inline: "apt-get update"
web.vm.provision "shell", inline: "echo '#{$puppet_ip} puppet' >> /etc/hosts"
end
end
apache2.conf (web01.home)
# Security
ServerTokens OS
ServerSignature On
TraceEnable On
ServerName "web01.home"
ServerRoot "/etc/apache2"
PidFile ${APACHE_PID_FILE}
Timeout 120
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15
User www-data
Group www-data
AccessFileName .htaccess
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
HostnameLookups Off
ErrorLog "/var/log/apache2/error.log"
LogLevel warn
EnableSendfile On
#Listen 80
Include "/etc/apache2/mods-enabled/*.load"
Include "/etc/apache2/mods-enabled/*.conf"
Include "/etc/apache2/ports.conf"
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
IncludeOptional "/etc/apache2/conf.d/*.conf"
IncludeOptional "/etc/apache2/sites-enabled/*"
Спасибо adavnce
Вы установили php-модуль, как ваш httpd.conf после его предоставления? –
Да, я установил модуль PHP, выполнив «кукольный модуль install example42-php. И также, я отредактировал исходное сообщение, чтобы включить файл apache2.conf. – getmizanur
Спасибо, поэтому php установлен, но apache не знает об этом, добавив ответ, чтобы вы могли добавить необходимый conf для php с apache –