Modius - Techblog

  • facebook
  • twitter
  • google
  • youtube
  • rss
  • github
  • Ansible
  • Docker
  • Gastautor werden
  • Über Mich
  • Kontakt

Ansible – Installation von php mit einer php role

Veröffentlicht am 16. Februar 2018 von Christian Piazzi Hinterlasse ein Kommentar , Aktualisiert am 16. Februar 2018

Zu jedem guten Webserver gehört auch die Installation von php. Genau für diesen Zweck erstellen wir hier heute eine entsprechende php role zu Ergänzung unseres Webservers. Also Voraussetzung brauchen wir einen funktionsfähige Ansible Installation mit einer entsprechend konfigurierten ssh Verbindung zum Zielsystem.
Von Vorteil ist es, wenn bereits die httpd-role implementiert ist, um php zu testen. Dies ist aber nicht zwingend erforderlich.

Erstellen der tasks/main.yml für die php role

Die Installation von php über Ansible ist verhältnismäßig einfach. Die Rolle besteht lediglich aus zwei Blöcken.

YAML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
- set_fact:
    php_packages:
      - php-fpm
      - php-curl
      - php-gd
      - php-gmp
      - php-json
      - php-ldap
      - php-xmlrpc
      - php-xsl
      - php-imap
      - php-intl
      - php-mcrypt
      - php-mysqlnd

Im ersten Block setzte wir mit set_facts die Pakete für die php Installation. Dadurch das wir das ganze mit set facts machen, haben wir die Möglichkeit, zu einem späteren Zeitpunkt ein entsprechendes Set für zb. php7 Pakete zu hinterlegen.

YAML
1
2
3
4
5
- name: php | install
  yum:
    name: "{{ item }}"
  with_items: "{{ php_packages }}"
  when: ansible_pkg_mgr == "yum"

Im zweiten Block wird wie bereits in den vorangegangenen Rollen eine entsprechende Paketliste dem yum Modul übergeben. Die einzige Besonderheit hier ist, dass wir als Pakete die zuvorgelegten Facts übergeben.

Testen der Ansible php role

Zum Testen von php legen wir in der site.yml einen entsprechenden Bereich an:

YAML
1
2
3
4
- name: php
  hosts: php
  roles:
    - php

Auf diesen Bereich verweisen wir entsprechend in der hosts Datei.

YAML
1
2
[php]
192.168.10.90 ansible_user=root

Nach der Anpassung der Dateien können wir einen entsprechenden Ansible run starten. Das ganze sieht dann wie folgt aus.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ansible-playbook -i hosts site.yml
 
PLAY [php] **********************************************************************
 
TASK [Gathering Facts] **********************************************************
ok: [192.168.10.90]
 
TASK [php : set_fact] ***********************************************************
ok: [192.168.10.90]
 
TASK [php : php | install] ******************************************************
changed: [192.168.10.90] => (item=[u'php-fpm', u'php-curl', u'php-gd', u'php-gmp', u'php-json', u'php-ldap', u'php-xmlrpc', u'php-xsl', u'php-imap', u'php-intl', u'php-mcrypt', u'php-mysqlnd'])
 
PLAY RECAP **********************************************************************
192.168.10.90              : ok=3    changed=1    unreachable=0    failed=0

Diese und weitere Ansible Rollen sind auch in meinem GitHub Repository ansible-role zu finden.

 

Kategorie: Ansible Tags: Ansible, Automatisierung, DevOps, facts, PHP, Role

Über Christian Piazzi

Ich blogge hier über alles, was mir so in meinem ITler Altag über den Weg läuft =)
Man findet mich privat bei Google+ und Twitter

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kategorien

  • Linux
  • Internet, Bloggen & Co
  • Programmierung
  • Sicherheit
  • Netzwerk & Co
  • Mikrokontroller
  • Windows

Beliebte Artikel

  • Nextcloud https mit self-signed Zertifikat einrichten
  • Docker Container – anzeigen, starten, stoppen und löschen
  • Fritzbox 7490 – VPN mit dynDNS einrichten
  • Eigenes Docker Images mit Dockerfile erstellen
  • Docker Network – Eine kleine Übersicht

Neue Kommentare

  • Christian Piazzi bei Nextcloud https mit self-signed Zertifikat einrichten
  • Jürgen Diermann bei Nextcloud https mit self-signed Zertifikat einrichten
  • Christian Piazzi bei Docker Container – anzeigen, starten, stoppen und löschen
  • Campers death bei Arduino – 4fach 7-Segmentanzeige mit Schieberegister
  • Jan bei Docker Container – anzeigen, starten, stoppen und löschen

Werbung

Archive

Kontakt, Datenschutz und Impressum

  • Kontakt
  • Datenschutz
  • Impressum

Schlagwörter

Anleitung Ansible Apache Apple App Store Automatisierung Blogparade C++ Centos CentOS7 centos 7 Datenbank DevOps Docker Dr. Racket Dr. Scheme funktional Gastartikel Google HowTo httpd Icinga2 Icinga 2 Installation itsm Linux Minecraft Monitoring mooc MySQL owncloud PHP Plugin Programmierung python Raspberry Pi Schritt für Schritt Server Sicherheit Tutorial Ubuntu Update Web-Engineering Windows Wordpress

Copyright © 2019 · Outreach Pro Theme on Genesis Framework · WordPress · Log in