[英]Puppet Manifest: Install MySQL and PHP
我是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"],
}
我將嘗試使用實際的軟件包名稱進行安裝:
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
希望有幫助...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.