我对傀儡并不熟悉,并且编写了我的第一份清单,但是每当代理试图与主程序通信时,它就会给我一个错误。
没能做好,需要一些指导。我的操作系统是centos 7。
我的init.pp
package { 'mysql':
ensure => 'present',
}
package { 'php':
ensure => 'present',
}
service { 'mysql':
ensure => 'running',
}
service { 'php':
ensure => 'running',
}发布于 2016-05-07 09:45:04
首先,您需要安装具有正确名称的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,例如,傀儡实验室-mysql,请参阅那里的用法示例;对于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"],
}发布于 2016-05-06 19:59:11
我会尝试使用实际的包名来安装:
package { 'mysql-server':
ensure => present,
}
package { 'mysql':
ensure => present,
}
package { 'php-mysql':
ensure => present,
}并使用正确的服务名称。
service { 'mysqld':
ensure => running,
}https://docs.puppet.com/puppet/latest/reference/type.html#package https://docs.puppet.com/puppet/latest/reference/type.html#service
希望能帮上忙..。
https://stackoverflow.com/questions/37077957
复制相似问题