簡體   English   中英

木偶清單:安裝MySQL和PHP

[英]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-serverphpphp-mysql (或php5php5-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM