GNU/Linux >> Belajar Linux >  >> Ubuntu

Playbook yang Memungkinkan untuk Menginstal dan Mengatur Apache di Ubuntu

Ansible adalah manajemen konfigurasi sumber terbuka dan alat penyebaran aplikasi. Ini membantu mengurangi overhead manajerial dengan mengotomatiskan penerapan aplikasi dan mengelola infrastruktur TI.

Menggunakan mungkin kita akan menginstal server web Apache2 di Ubuntu 20.04. Untuk itu kita perlu membuat konfigurasi dalam sintaks YAML yang disebut Ansible playbook .

Biasanya, ada node kontrol dan node host. Ansible dipasang di node kontrol dan akan menjalankan buku pedoman untuk disebarkan di node host. Di lab ini, kita akan menginstal dan menggunakannya dalam satu node.

Menginstal memungkinkan di Ubuntu

Pertama, perbarui sistem Anda. Perintah berikut mengambil paket terbaru:

$ sudo apt update

Ansible tersedia di repositori dasar Ubuntu 20.04. Untuk menginstal mungkin jalankan perintah berikut:

$ sudo apt install ansible -y

Kemudian, periksa versi yang memungkinkan menggunakan perintah,

$ ansible --version

File konfigurasi host disimpan di file /etc/ansible/hosts. Tambahkan IP server localhost Anda ke file dengan bantuan perintah berikut. Pastikan Anda memiliki pengguna sudo. Dalam kasus kami, 'ubuntu' memiliki hak istimewa Sudo. Di sini,  saya telah memberikan nama saya sebagai 'server saya'  Anda dapat memberikan nama Anda sendiri. Juga, ingat pengguna ubuntu adalah pengguna Sudo di sistem.

$ echo "myserver ansible_host=127.0.0.1 ansible_user=ubuntu" >> /etc/ansible/host

Cek saja dengan menggunakan perintah,

$ ansible myserver -m ping 

Anda akan mendapatkan respons pong yang mirip dengan tangkapan layar di bawah ini.

Membuat Playbook

Sekarang, mari kita buat buku pedoman bernama 'apache.yml' untuk menginstal dan menjalankan server web apache terbaru.

$ vi apache.yml

Tambahkan konten berikut ke file

---
- hosts: myserver
  become: true
  vars:
         - vars/default.yml
- tasks:
    - name: Install latest version of Apache
      apt: name=apache2 update_cache=yes state=latest

    - name: Create document root for your domain
      file:
        path: "/var/www/{{ http_host }}"
        state: directory
        owner: "{{ app_user }}"
        mode: '0755'

    - name: Copy your index page
      template:
        src: "files/index.html.j2"
        dest: "/var/www/{{ http_host }}/index.html"

    - name: Set up virtuahHost
      template:
        src: "files/apache.conf.j2"
        dest: "/etc/apache2/sites-available/{{ http_conf }}"
      notify: restart-apache

    - name: "UFW firewall allow HTTP on port {{ http_port }}"
      ufw:
        rule: allow
        port: "{{ http_port }}"
        proto: tcp

  handlers:
    - name: restart-apache
      service:
        name: apache2
        state: restarted

Di sini,

  • tuan rumah :adalah nama host seperti yang Anda definisikan di file /etc/ansible/hosts
  • menjadi:benar adalah eskalasi hak istimewa untuk menjadi sudo
  • var :untuk mendefinisikan variabel
  • tugas :empat tugas didefinisikan. Menginstal apache, menyalin halaman indeks, menyiapkan virtual host, mengizinkan http dari firewall UFW jika sudah diaktifkan.
  • penangan :Untuk me-restart Apache jika semua tugas lainnya berhasil.

Seiring dengan playbook, Anda harus mendefinisikan tiga file lainnya vars/default.yml, files/Apache.conf.j2 dan files/index.html.j2 . Mari kita buat satu per satu.

vars/default.yml

File default.yml berisi nama domain, lokasi file konfigurasi, dan port http. Buat file dan tambahkan berikut ini.

http_host: "mydomain.local"
http_conf: "my_domain.conf"
http_port: "80"

files/apache.conf.j2

Template konfigurasi apache berisi konfigurasi untuk virtual host. Variabel didefinisikan dalam {{ }} dan diperoleh dari file vars yang didefinisikan di atas. Buat file apache.conf.js dan tambahkan konten berikut.

<VirtualHost *:{{ http_port }}>
   ServerAdmin webmaster@localhost
   ServerName {{ http_host }}
   ServerAlias www.{{ http_host }}
   DocumentRoot /var/www/{{ http_host }}
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

files/index.html.j2

Template lain adalah file indeks Anda. Buat file dan tambahkan konten berikut. Anda dapat memodifikasi sesuai kebutuhan Anda.

<html>
   <head>
       <title>{{ http_host }}</title>
   </head>
   <body>
       <h1>Welcome to {{ http_host }}</h1>
   </body>
</html>

Sekarang Anda dapat menjalankan ansible-playbook dengan perintah berikut.

$ ansible-playbook apache.yml --ask-become-pass

Anda akan diminta memasukkan kata sandi untuk pengguna sudo. Status harus ok seperti yang ditunjukkan di bawah ini.

Ini juga akan menjalankan Apache pada port default 80, Anda dapat memverifikasi browsing localhost di browser favorit Anda.

Kesimpulan

Ansible adalah alat yang berguna karena tanpa agen dan konfigurasi penulisannya mudah. Anda dapat menelusuri lebih banyak konfigurasi dari dokumentasi resmi yang memungkinkan. Harap beri komentar jika Anda memiliki masalah saat menulis buku pedoman di ansible.


Ubuntu
  1. Cara Menginstal dan Mengonfigurasi Ansible di Ubuntu 18.04 LTS

  2. Cara Menginstal Apache Maven di Ubuntu 18.04 dan 16.04

  3. Instal dan Konfigurasi Apache Spark di Ubuntu 20.04

  1. Cara Menginstal dan Mengonfigurasi Ansible di Ubuntu 20.04

  2. Cara Menginstal Apache Hive di Ubuntu

  3. Menggunakan Ansible untuk menginstal dan mengkonfigurasi Elasticsearch di Ubuntu 20.04

  1. Cara Memasang dan Menggunakan Encryptpad di Ubuntu 16.04

  2. Cara Menginstal dan Mengkonfigurasi Apache Hadoop di Ubuntu 20.04

  3. Cara Menginstal dan Mengatur RabbitMQ di Ubuntu 16.04