Puppet 에서 ERB 템 플 릿 으로 Apache 가상 호스트 자동 설정

템 플 릿 파일 은 puppet 모듈 아래 templates 디 렉 터 리 에서 'erb' 로 끝 나 는 파일 입 니 다. puppet 템 플 릿 은 주로 파일 에 사 용 됩 니 다. 예 를 들 어 각종 서비스의 프로필, 같은 서비스, 서로 다른 설정 은 템 플 릿 파일 을 사용 하 는 것 을 고려 할 수 있 습 니 다. 예 를 들 어 Nginx 와 Apache 의 가상 메 인 컴퓨터 설정 은 ERB 템 플 릿 을 사용 하 는 것 을 고려 할 수 있 습 니 다.
/ etc / uppet / modules / apache / manifests 파일 내용 은 다음 과 같 습 니 다.
class apache{
        package{"httpd":
        ensure          =>present,
}
        service{"httpd":
        ensure          =>running,
        require         =>Package["httpd"],
}
}
define apache::vhost ( $sitedomain,$rootdir,$port ) {
    file { "/etc/httpd/conf.d/httpd_vhost_${sitedomain}.conf":
         #path    => '/etc/httpd/conf/httpd_vhost.conf',
         content => template("apache/httpd.conf.erb"),
         require => Package["httpd"],
    } 
}

/ etc / uppet / modules / apache / templates 의 httpd. conf. erb 템 플 릿 파일 내용 은 다음 과 같 습 니 다.
>
ServerName 
DocumentRoot /var/www/html/
 >
  Options Indexes FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
 
ErrorLog logs/_error.log
CustomLog logs/_access.log common

주: 많은 자료 와 문 서 는 httpd. conf. erb 템 플 릿 으로 / etc / httpd / conf / conf / http. conf 파일 을 복사 합 니 다. 저 는 이런 방법 은 고려 하지 않 은 것 이 라 고 생각 합 니 다. 일반적으로 모든 Aapche 호스트 에는 도 메 인 이름 을 기반 으로 하 는 가상 호스트 가 있 고 더 많 으 며 십 여 개 도 흔 합 니 다.그래서 우 리 는 독립 된 가상 호스트 파일 로 가상 호스트 를 관리 하고 자동 으로 불 러 와 야 합 니 다. 이것 은 우리 가 erb 템 플 릿 파일 을 이용 하여 가상 호스트 의 파일 정의 경 로 를 / etc / httpd / conf. d 디 렉 터 리 에 두 는 이유 입 니 다.

좋은 웹페이지 즐겨찾기