我是Puppet的新手,正在写我的第一个清单,但是每当代理尝试与主服务器通信时,它都会给我一个错误。
无法正确处理,需要一些指导。我的操作系统是centos 7。
我的init.pp
:
package { 'mysql':
ensure => 'present',
}
package { 'php':
ensure => 'present',
}
service { 'mysql':
ensure => 'running',
}
service { 'php':
ensure => 'running',
}
首先,您需要安装正确名称的PHP和MySQL软件包。在您的情况下,它是mysql-server
,php
和和php-mysql
(或php5
和php5-mysql
,例如)。
另一件事是,您需要使用正确的名称启动正确的服务。它应该mysqld
用于数据库。您为PHP启动的服务取决于您打算如何运行它-例如,要在apache中运行PHP,可能需要启动apache2
。
您的示例的第三点错误是,您需要确保仅在安装了相应的软件包之后才能启动服务。您可以使用来实现此目的require
,例如:
service { "mysqld":
ensure => "running",
enable => "true",
require => Package["mysql-server"],
}
最后,安装MySQL和PHP不仅仅是安装软件包和运行服务。您需要创建配置文件等。我建议您使用为此目的编写的现有模块。对于MySQL,例如有puppetlabs-mysql,请参见那里的用法示例。对于Apache上的PHP,请查看puppetlabs-apache。
如果您想自己做事,还可以查看Ubuntu的本教程。这是本教程的摘录:
Package { ensure => "installed" }
package { "apache2": }
package { "apache2.2-common": }
package { "php5": }
package { "php5-mysql": }
package { "mysql-server": }
exec { "mysqlpasswd":
command => "/usr/bin/mysqladmin -u root password ChangeThis1",
notify => [Service["mysql"], Service["apache2"]],
require => [Package["mysql-server"], Package["apache2"]],
}
service { "apache2":
ensure => "running",
enable => "true",
require => Package["apache2"],
}
service { "mysql":
ensure => "running",
enable => "true",
require => Package["mysql-server"],
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句