This shows you the differences between two versions of the page.
|
saisp:labs:10:contents:04 [2014/01/31 16:24] alexandru.carp |
saisp:labs:10:contents:04 [2014/05/11 14:10] (current) alexandru.carp |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ==== 04. Design patterns ==== | + | ==== 04. [20p] Design patterns ==== |
| === Package / File / Service === | === Package / File / Service === | ||
| Line 11: | Line 11: | ||
| Intre primele doua avem o relatie de tip "before / require", iar intre ultimele doua o relatie de tip "notify / subscribe". | Intre primele doua avem o relatie de tip "before / require", iar intre ultimele doua o relatie de tip "notify / subscribe". | ||
| - | Creati urmatorul manifest care implementeaza acest design pattern pentru serviciul SSH: | + | Creati urmatorul manifest care implementeaza acest design pattern pentru serviciul SSH, apoi aplicati manifestul. |
| <code> | <code> | ||
| Line 30: | Line 30: | ||
| </code> | </code> | ||
| - | === (Exercitiu) === | + | Modificati diverse stari ale tripletului "package / file / service", apoi reaplicati manifestul. De exemplu: |
| + | * dezinstalati pachetul; | ||
| + | * modificati fisierul de configurare; | ||
| + | * opriti serviciul. | ||
| + | |||
| + | === Exercitiu - Apache === | ||
| Creati un manifest de tip "package / file / service" pentru serviciul Apache. | Creati un manifest de tip "package / file / service" pentru serviciul Apache. | ||
| + | <note> | ||
| + | Fisierul de configurare trebuie sa aiba ca sursa o copie a fisierului actual. | ||
| + | </note> | ||
| + | <note> | ||
| + | In CentOS, pachetul pentrul serverul Apache se numeste **httpd**, iar fisierul de configurare se afla in **/etc/httpd/conf/httpd.conf** | ||
| + | </note> | ||
| + | |||
| + | <solution -hidden> | ||
| + | <code> | ||
| + | package {'httpd': | ||
| + | ensure => installed, | ||
| + | } | ||
| + | -> | ||
| + | file {'/etc/httpd/conf/httpd.conf': | ||
| + | ensure => file, | ||
| + | source => '/root/examples/answers/httpd.conf', | ||
| + | } | ||
| + | ~> | ||
| + | service {'httpd': | ||
| + | ensure => running, | ||
| + | } | ||
| + | </code> | ||
| + | </solution> | ||