![](/img/trans.png)
[英]How to setup scriptalias, alias in vagrant/puppet for apache/nginx?
[英]Setup puppet and install apache package issues
出於測試目的,我想使用puppet在Ubuntu 16.4 puppet master上設置puppet和部署apache,而不必通過使用以下步驟來使用節點:
$ wget https://apt.puppetlabs.com/puppet5-release-xenial.deb
通過運行安裝包:
$ dpkg –i puppet5-release-xenial.deb
更新包列表
$ apt-get update
安裝puppet服務器
$ sudo apt-get install puppetserver
在我們的Puppet服務器上,安裝puppetlabs-apache模塊:
$ sudo puppet module install puppetlabs-apache
在manifests目錄中,需要創建一個init.pp類/etc/puppet/modules/apache/manifests/init.pp
class apache2 {
package {'apache2':
ensure => 'present',
}
}
要嘗試安裝我使用的apache包:
$ sudo puppet apply init.pp
然后我得到以下內容:
Notice: Compiled catalog for osboxes.home in environment production in 0.03 seconds
Notice: Finished catalog run in 0.04 seconds
當我檢查是否安裝了apache時,它不是。
我哪里錯了?
如果您將Apache模塊放在正確的模塊路徑中,那么問題是您沒有任何代碼來包含該模塊。
為了簡單起見,讓我們忘記Puppet master上的文件結構等等,然后創建一個文件apache.pp(將它保存在/ tmp或你喜歡的任何地方)並給它這個內容:
class apache2 {
package {'apache2':
ensure => 'present',
}
}
include apache2
現在嘗試:
$ sudo puppet apply apache.pp
你應該看到Puppet安裝了apache2包。
但是,按照慣例,以及與Puppet master的正確集成,您現在需要將此內容放在預期的文件位置中。
apache類(你已經擁有的代碼)需要在${modulepath}/apache2/manifests/init.pp
文件中。
這是為了滿足Puppet的自動加載器 。 你可以在這里找到更多相關信息。
同時, 這里記錄了模塊路徑 ,它可以根據Puppet的版本以及如何設置所有內容而有所不同。
要找出你的模塊路徑,請嘗試:
$ sudo puppet config print modulepath
現在,如果您已准備好所有文件,那么您接下來應該能夠以不同的方式包含該類,如下所示:
$ sudo puppet apply -e "include apache2"
一旦你開始工作,就該閱讀有關角色和配置文件模式的時間了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.