Zunächst müssen Sie PHP und MySQL-Pakete mit dem richtigen Namen installieren. In Ihrem Fall ist es mysql-server
, php
und php-mysql
(oder php5
und php5-mysql
, z.B.).
Eine andere Sache ist, dass Sie richtige Dienste mit korrekten Namen starten müssen. Es sollte mysqld
für die Datenbank sein. Der Dienst, den Sie für PHP starten, hängt davon ab, wie Sie ihn ausführen möchten - z. Um PHP in Apache auszuführen, müssen Sie möglicherweise apache2
starten.
Die dritte Sache, die mit Ihrem Beispiel falsch ist, ist, dass Sie sicherstellen müssen, dass die Dienste erst gestartet werden, nachdem die jeweiligen Pakete installiert wurden. Sie können erreichen dies mit require
, z.B .:
service { "mysqld":
ensure => "running",
enable => "true",
require => Package["mysql-server"],
}
Schließlich gibt es mehr zu der Installation von MySQL und PHP als nur Pakete und laufenden Dienste zu installieren. Sie müssen Konfigurationsdateien usw. erstellen. Ich würde Ihnen empfehlen, vorhandene Module zu verwenden, die für diesen Zweck geschrieben wurden. Für MySQL gibt es z. B. puppetlabs-mysql, siehe Anwendungsbeispiele dort; Für PHP auf Apache, überprüfen Sie puppetlabs-apache.
Wenn Sie selbst Dinge tun wollen, können Sie auch this tutorial für Ubuntu auschecken. Hier ist ein Auszug aus dem Tutorial:
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"],
}
Was ist der Fehler? und welche Befehle benutzen Sie, um Puppet-Agent zu betreiben? – RaviTezu
Die Antwort, die ich Ihnen unten gegeben habe, ist sehr allgemein gehalten. Bei Stack Overflow sollte Ihre Antwort spezifischer sein. Wie RaviTezu sagte, solltest du zumindest hinzufügen, welchen Fehler du erlangst und wie du Marionette spielst. – Mifeet