{"id":14984580,"url":"https://github.com/andreasscherbaum/ansible-workshop-clt-2021","last_synced_at":"2025-10-28T16:18:25.060Z","repository":{"id":141683783,"uuid":"339516637","full_name":"andreasscherbaum/ansible-workshop-clt-2021","owner":"andreasscherbaum","description":"Ansible Workshop für die Chemnitzer Linux-Tage 2021","archived":false,"fork":false,"pushed_at":"2021-03-14T13:24:22.000Z","size":769,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-10T21:34:45.558Z","etag":null,"topics":["ansible","ansible-playbooks","ansible-role","ansible-roles","ansible-workshop","chemnitzer-linux-tage","php","postgres","postgresql","postgresql-database","workshop","workshop-materials"],"latest_commit_sha":null,"homepage":"","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreasscherbaum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-16T20:05:06.000Z","updated_at":"2021-03-15T06:26:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"7fc6fda8-c5f3-458c-81f7-dbc0784b43ae","html_url":"https://github.com/andreasscherbaum/ansible-workshop-clt-2021","commit_stats":{"total_commits":11,"total_committers":3,"mean_commits":"3.6666666666666665","dds":0.5454545454545454,"last_synced_commit":"5b9d56139c2f6cd3f145680fd437e02cf0e875f0"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andreasscherbaum/ansible-workshop-clt-2021","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasscherbaum%2Fansible-workshop-clt-2021","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasscherbaum%2Fansible-workshop-clt-2021/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasscherbaum%2Fansible-workshop-clt-2021/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasscherbaum%2Fansible-workshop-clt-2021/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreasscherbaum","download_url":"https://codeload.github.com/andreasscherbaum/ansible-workshop-clt-2021/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreasscherbaum%2Fansible-workshop-clt-2021/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264726769,"owners_count":23654494,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-playbooks","ansible-role","ansible-roles","ansible-workshop","chemnitzer-linux-tage","php","postgres","postgresql","postgresql-database","workshop","workshop-materials"],"created_at":"2024-09-24T14:09:17.773Z","updated_at":"2025-10-28T16:18:19.999Z","avatar_url":"https://github.com/andreasscherbaum.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ansible-workshop-clt-2021\n\nAnsible Workshop für die Chemnitzer Linux-Tage 2021\n\n## Inhalt\n\nDieses Repository enthält die Slides und Übungen für einen [Ansible](https://www.ansible.com/) Workshop während der Chemnitzer Linux-Tage 2021.\n\n\n## Vortragende\n\n* Jens Kubieziel (Spezialist für IT-Sicherheit und Datenschutzbeauftragter, [Octopi.Consulting](https://torservers.net/)) / [Homepage](https://kubieziel.de/)\n* Andreas Scherbaum (Principal Software Engineer) / [Homepage](http://andreas.scherbaum.la/)\n* Andreas Ufert (Senior Specialist, Zero.One.Data, DB Systel GmbH)\n\n\n## Anmeldung\n\n[Chemnitzer Linux-Tage 2021](https://chemnitzer.linux-tage.de/2021/de/programm/beitrag/125)\n\nHinweis: wir als Vortragende wissen nicht, wie viele Plätze im Workshop noch frei sind.\n\n\n## Slides\n\n[Slides: Server mit Ansible verwalten](https://github.com/andreasscherbaum/ansible-workshop-clt-2021/blob/master/slides/ansible-workshop.pdf)\n\n\n## Vorkenntnisse\n\n* Grundlagen in der Administration eines Linux-Systems sowie in der Benutzung von SSH\n* Umgang mit einem Texteditor\n\n\n## Voraussetzungen\n\n* Laptop mit gängiger, aktueller Linux-Distribution (z.B. Ubuntu \u003e= 20.04, Debian \u003e= stable)\n* Installiertes Ansible \u003e= 2.9\n* Git\n* SSH client\n\n\n## Vorbereitungen\n\n* Clone des Git Repos:\n    ```console\n    git clone https://github.com/andreasscherbaum/ansible-workshop-clt-2021\n    ```\n* Wechsel in das Repo:\n    ```console\n    cd ansible-workshop-clt-2021\n    ```\n* Speichern der fünf Dateien `ansible.cfg`, `inventory`, `connect-db.sh`, `connect-web.sh` und `key.pem` aus der Email mit den Zugangsdaten in das Verzeichnis `ansible-workshop-clt-2021`\n* Anpassen der Zugriffsrechte für `key.pem`:\n    ```console\n    chmod 0600 key.pem\n    ```\n* Anpassen der Zugriffsrechte für `connect-db.sh` und `connect-web.sh`:\n    ```console\n    chmod 0700 connect-db.sh connect-web.sh\n    ```\n* Setzen der Umgebungsvariable `ANSIBLE_CONFIG`:\n    ```console\n    export ANSIBLE_CONFIG=$(pwd)\n    ```\n\toder\n\t```console\n\texport ANSIBLE_CONFIG=/pfad/zum/verzeichnis\n\t```\n\n    \n## Nach den Chemnitzer Linux-Tagen 2021\n\nDie Übungen in diesem Workshop kann man auch unabhängig vom CLT 2021 in Chemnitz nutzen. Allerdings muss man dafür seine eigene Umgebung mit zwei Servern (zum Beispiel virtuellen Maschinen) aufsetzen. Auf beiden Maschinen wird Debian oder Ubuntu vorausgesetzt, außerdem muss der verwendete Unix-User \"sudo\"-Rechte haben. Folgende Dateien werden benötigt:\n\n\n### `ansible.cfg`\n\nDiese Datei wird im ausgecheckten Hauptverzeichnis abgelegt. Beispielinhalt:\n\n```ini\n[defaults]\ninventory = $ANSIBLE_CONFIG/inventory\nprivate_key_file = $ANSIBLE_CONFIG/key.pem\nremote_user = ubuntu\nhost_key_checking = False\ninterpreter_python = /usr/bin/python3\nansible_python_interpreter = /usr/bin/python3\n\n```\n\nDer `remote_user` muss an den Nutzer angepasst werden, der sich später in die virtuellen Maschinen einloggen wird. Die Datei in `private_key_file` wird verwendet, um sich mit dem darin enthaltenen privaten Schlüssel auf den VMs anzumelden. Ist der Zugang bereits über ssh-keyless Login gewährleistet, kann diese Zeile entfernt werden.\n\n\n### `inventory`\n\nDiese Datei enthält Informationen über die virtuellen Maschinen. Diese Datei wird ebenfalls im ausgecheckten Verzeichnis abgelegt. Beispielinhalt:\n\n```ini\n[all]\nhost1 ansible_host=\u003cIP VM 1\u003e\nhost2 ansible_host=\u003cIP VM 2\u003e\n\n[dbservers]\nhost1 ansible_host=\u003cIP VM 1\u003e\n\n[webservers]\nhost2 ansible_host=\u003cIP VM 2\u003e\n```\n\n\n### `key.pm`\n\nDiese Datei enthält den privaten Schlüssel, um sich auf den VMs anzumelden.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreasscherbaum%2Fansible-workshop-clt-2021","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreasscherbaum%2Fansible-workshop-clt-2021","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreasscherbaum%2Fansible-workshop-clt-2021/lists"}