Foreman adalah alat Konfigurasi dan penyediaan sumber terbuka dan gratis yang dapat diinstal pada Sistem Red Hat, CentOS, Scientific Linux, Debian dan Ubuntu. Dengan alat Forman kita dapat dengan mudah menyediakan mesin Virtual dan server bare metal dan kemudian mengkonfigurasi sistem yang diinstal menggunakan alat konfigurasi seperti Wayang dan Ansible. Setiap kali kita menginstal server Foreman maka secara otomatis menginstal master Wayang di dalamnya.
Dengan bantuan Foreman GUI, administrator sistem dapat menerapkan modul boneka tertentu ke server terdaftar untuk melakukan tugas berulang dan juga dapat dengan mudah mengotomatisasi tugas operasi sehari-hari.
Dalam tutorial ini, kita akan memandu langkah-langkah instalasi Foreman 1.16 di Server Debian 9 dan Ubuntu 16.04.
Berikut adalah Persyaratan Sistem Minimum untuk server Foreman:
- RAM 4 GB (Saat Puppet Master diinstal pada Server mandor yang sama)
- 2 CPU Inti
- Debian 9 / Ubuntu 16.04 yang baru diinstal
Di bawah ini adalah detail penyiapan lab saya untuk Server mandor
- Alamat IP Server Foreman adalah “192.168.1.20”
- Nama host Server Foreman “foreman.linuxtechi.com”
- Puppet Master 5 akan dipasang di server Foreman
- OS :Debian 9 / Ubuntu 16.04 LTS Server
Mari login ke sistem Debian 9 / Ubuntu 16.04 LTS
Langkah:1) Konfigurasi Hostname dan perbarui entrinya di file hosts
Gunakan perintah systemctl untuk mengonfigurasi nama host sistem Anda.
$ sudo hostnamectl set-hostname "foreman.linuxtechi.com" $ exec bash
Perbarui entri nama host sistem Anda di file /etc/hosts.
192.168.1.20 foreman.linuxtechi.com foreman
Langkah:2) Aktifkan repositori yang diperlukan untuk Foreman &Puppet
Untuk sistem Debian 9:
Aktifkan Wayang 5 Repositori menggunakan perintah di bawah ini
[email protected]:~$ sudo apt-get -y install ca-certificates [email protected]:~$ wget https://apt.puppetlabs.com/puppet5-release-stretch.deb [email protected]:~$ sudo dpkg -i puppet5-release-stretch.deb
Aktifkan repositori Foreman 1.16 menggunakan perintah di bawah ini
[email protected]:~$ echo "deb http://deb.theforeman.org/ stretch 1.16" | sudo tee /etc/apt/sources.list.d/foreman.list [email protected]:~$ echo "deb http://deb.theforeman.org/ plugins 1.16" | sudo tee -a /etc/apt/sources.list.d/foreman.list li[email protected]:~$ wget -q https://deb.theforeman.org/pubkey.gpg -O- | sudo apt-key add - OK [email protected]:~$
Untuk sistem Ubuntu 16.04 LTS
Aktifkan Wayang 5 Repositori
[email protected]:~$ sudo apt-get -y install ca-certificates [email protected]:~$ wget https://apt.puppetlabs.com/puppet5-release-xenial.deb [email protected]:~$ sudo dpkg -i puppet5-release-xenial.deb
Aktifkan repositori Foreman 1.16
[email protected]:~$ echo "deb http://deb.theforeman.org/ xenial 1.16" | sudo tee /etc/apt/sources.list.d/foreman.list [email protected]:~$ echo "deb http://deb.theforeman.org/ plugins 1.16" | sudo tee -a /etc/apt/sources.list.d/foreman.list [email protected]:~$ wget -q https://deb.theforeman.org/pubkey.gpg -O- | sudo apt-key add - OK [email protected]:~$
Langkah:3) Unduh 'mandor-installer' menggunakan perintah apt-get
Jalankan perintah di bawah ini untuk menginstal foreman-installer,
[email protected]:~$ sudo apt-get update && sudo apt-get -y install foreman-installer
Foreman-installer adalah alat instalasi untuk mandor.
Langkah:4) Instal Foreman menggunakan 'foreman-installer'
Jalankan perintah foreman-installer untuk menginstal server mandor, secara default mandor installer akan menginstal dan mengkonfigurasi komponen berikut:
- Mandor Web UI ( Apache HTTP dengan SSL)
- Proksi Cerdas
- Tuan Boneka
- Agen boneka
- Server TFTP
[email protected]:~$ sudo foreman-installer --foreman-admin-username admin --foreman-admin-password "[email protected]#"
Setelah instalasi selesai dengan sukses, kita akan mendapatkan output seperti di bawah ini:
Jika firewall OS diaktifkan dan berjalan di sistem Anda, buka port berikut untuk server mandor
[email protected]:~$ sudo ufw allow 53/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 67:69/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 80/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 443/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 3000/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 3306/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 5910:5930/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 5432/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 8140/tcp Rule added Rule added (v6) [email protected]:~$ sudo ufw allow 8443/tcp Rule added Rule added (v6) [email protected]:~$
Catatan: Dalam kasus saya saat menginstal mandor, saya mendapatkan kesalahan ini “Kesalahan mengeksekusi SQL; psql mengembalikan pid 32532 exit 1:‘ERROR: invalid locale name:“en_US.utf8”, saya menyelesaikan kesalahan ini dengan menjalankan perintah di bawah ini:
[email protected]:~$ sudo dpkg-reconfigure locales
Pilih “en_US.UTF-8 UTF-8 ” lalu pilih OK dan reboot mesin lalu jalankan kembali perintah mandor-installer.
Langkah:5) Akses UI Web Foreman
Kami dapat mengakses Foreman Web UI menggunakan url berikut:
https://{Foreman_Server_IP}
atau
https://{Hostname_Foreman_Server}
Gunakan nama pengguna sebagai “admin” dan kata sandi yang kami tentukan di perintah mandor-installer,
Buka Host Tab –> Klik “Semua Host ”
Sampai sekarang, hanya satu host yang terdaftar yaitu server mandor kami. Setiap kali kita mendaftarkan server baru ke mandor maka server tersebut akan terdaftar di sini. Selain itu, lingkungan produksi juga dibuat secara default dan semua server akan didaftarkan ke env default. Anda dapat membuat lingkungan yang sesuai dengan organisasi Anda dari Foreman UI.
Unduh dan Impor modul boneka NTP di Server Foreman
Gunakan perintah di bawah ini untuk mendownload modul ntp puppet dari “forge.puppet.com”
[email protected]:~$ sudo su - [email protected]:~# puppet module install puppetlabs-ntp -i /etc/puppetlabs/code/modules/
Kita akan mendapatkan output seperti di bawah ini:
Impor modul NTP yang terpasang ke dasbor mandor
Dari dasbor, buka Konfigurasi Tab –> Pilih Boneka –> Kelas , Klik Impor
Pilih lingkungan yang ingin Anda lampirkan modul ini, dalam kasus saya, saya akan melampirkannya ke Produksi dan pengembangan.
Klik Perbarui,
Kita akan mendapatkan jendela berikutnya seperti di bawah ini:
Mari kita daftarkan host CentOS 7 ke dasbor mandor dan kemudian kita akan melampirkan modul ntp ke dalamnya,
Mendaftarkan Server CentOS 7
Masuk ke sistem dan aktifkan repositori yum dalang, lalu instal paket boneka
[[email protected] ~]# yum install https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm -y [[email protected] ~]# yum install puppet -y
Catatan: Jika Anda tidak memiliki server DNS, tambahkan entri di file host, Dalam kasus saya, saya telah menambahkan baris berikut di file /etc/hosts
192.168.1.20 foreman.linuxtechi.com 192.168.1.2 mx2.linuxtechi.com
Jalankan perintah di bawah ini dari server centos 7 Anda untuk mendaftarkan mesin ini di dasbor boneka master &mandor.
[[email protected] ~]# /opt/puppetlabs/bin/puppet agent -td --server=foreman.linuxtechi.com
Anda akan mendapatkan output dari perintah seperti di bawah ini:
…………………………………………………… Debug: Finishing transaction 22347940 Info: Creating a new SSL key for mx2.linuxtechi.com Info: Caching certificate for ca Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml Info: Creating a new SSL certificate request for mx2.linuxtechi.com Info: Certificate Request fingerprint (SHA256): A4:D3:15:0D:8D:10:48:93:96:1D:E4:61:5F:F7:F6:B4:CB:C2:01:F4:4C:02:99:37:03:2C:9E:24:0E:30:CF:CC Debug: Using cached certificate for ca Info: Caching certificate for ca Debug: Using cached certificate_request for mx2.linuxtechi.com Debug: Using cached certificate for ca Debug: Using cached certificate for ca Exiting; no certificate found and waitforcert is disabled [[email protected] ~]#
Artinya kita harus secara manual menandatangani sertifikat server CentOS 7 dari mesin mandor. Untuk menandatangani sertifikat dari dasbor mandor, lihat langkah-langkah di bawah ini
Dari Infrastruktur Tab –> Pilih Smart Proxy lalu klik Edit opsi dan pilih “Sertifikat ”
Sekarang tanda tangani sertifikat mesin yang statusnya tertunda, contoh ditunjukkan di bawah ini:
Klik tanda
Lihat langkah-langkah di bawah ini Untuk Mengonfigurasi Autosign
Dari Infrastruktur Tab –> Pilih Smart Proxy lalu klik Edit opsi dan pilih “Tanda Tangan Otomatis ”
Buat entri autosign dan tentukan nama domain yang kita inginkan mandor harus menandatangani sertifikat secara otomatis
Klik Simpan . Lain kali setiap kali ada server dari domain “linuxtechi.com” terdaftar ke server Foreman maka secara otomatis akan masuk,
Sekarang kembali ke server CentOS 7 dan jalankan kembali perintah agen boneka, kali ini perintah harus berhasil dijalankan,
[[email protected] ~]# /opt/puppetlabs/bin/puppet agent -td --server=foreman.linuxtechi.com
Verifikasi host dari Dasbor, Dari Host Tab –> Pilih “Semua Host “, disana kita akan menjadi host baru kita yang terdaftar ( CentOS 7 Server)
Mari kita pasang modul NTP ke Server yang baru terdaftar (mx2.linuxtechi.com), Pilih host dan Klik Edit , lalu buka “Kelas Boneka ”Tab
Klik ‘+’ masuk di depan ntp untuk menambahkan modul lalu klik ‘Kirim ‘
Buka Server CentOS7 dan jalankan kembali perintah agen boneka, kali ini akan mengkonfigurasi ntp di server CentOS 7 Anda.
[[email protected] puppet]# /opt/puppetlabs/bin/puppet agent -td --server=foreman.linuxtechi.com
Output dari perintah di atas akan menjadi seperti di bawah ini:
Ini mengkonfirmasi bahwa server CentOS 7 telah terdaftar dan berhasil dikonfigurasi melalui Server mandor. Itu juga menyimpulkan artikel juga, silakan bagikan komentar Anda di bagian komentar di bawah.
Baca lebih lanjut tentang “Penyediaan Bare metal dan Mesin Virtual melalui Server Foreman “