Modius - Techblog

  • Ansible
  • Docker
  • DevOps
  • Gastautor werden
  • Newsletter abonnieren
  • Über Mich
  • Kontakt

Ansible – Installation von php mit einer php Rolle

Veröffentlicht am 16. Februar 2018 von Christian Piazzi Hinterlasse ein Kommentar , Aktualisiert am 12. Juli 2020
Geschätzte Lesezeit: 1 Minute

Titelbild Ansible php Rolle - Zahnräder einer Maschine

Zu jedem guten Webserver gehört auch die Installation von php. Genau für diesen Zweck erstellen wir hier heute eine entsprechende Rolle 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 Rolle implementiert ist, um php zu testen. Dies ist aber nicht zwingend erforderlich.

Inhaltsverzeichnis

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

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 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 Rolle

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

Video

Diese und weitere Ansible Rollen sind auch in meinem GitHub Repository ansible Rolle 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

Neueste Kommentare

  • Prometheus Installation unter Ubuntu - Modius - Techblog bei Prometheus Installation unter CentOS
  • Rainer bei Docker Container – anzeigen, starten, stoppen und löschen
  • Rainer Wohlfarth bei Docker Container – anzeigen, starten, stoppen und löschen
  • Rainer Wohlfarth bei Docker Container – anzeigen, starten, stoppen und löschen
  • Rainer Wohlfarth 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 centos 7 CentOS7 Container 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 Windows Wordpress

Copyright © 2025 · Outreach Pro on Genesis Framework · WordPress · Anmelden