Cách cài đặt Ansible Semaphore trên Debian 11

theanh

Administrator
Nhân viên
Ansible Semaphore là một giao diện người dùng web nguồn mở cho các playbook Ansible. Nó cho phép triển khai bằng cách sử dụng tự động hóa Ansible thông qua trình duyệt web. Ansible Semaphore được viết hoàn toàn bằng Go, có thể chạy trên Linux, Windows và macOS. Ansible Semaphore cho phép triển khai thông qua Ansible từ bảng điều khiển quản trị web trực quan và phản hồi nhanh. Bạn luôn có thể khôi phục, khôi phục cấu hình và quản lý môi trường, bí mật, kho lưu trữ và khóa truy cập. Nó cho phép bạn chạy playbook theo lịch trình với nhật ký và thông báo chi tiết.

Ansible Semaphore sẽ cho phép triển khai và cấu hình an toàn. Cung cấp quyền kiểm soát truy cập có thể được sử dụng để quản lý người dùng và cho phép chạy các playbook cụ thể.

Trong hướng dẫn này, bạn sẽ cài đặt Ansible Semaphore trên máy chủ Debian 11. Bạn sẽ thiết lập Ansible Semaphore với phiên bản mới nhất của Ansible, sử dụng máy chủ PostgreSQL để lưu trữ dữ liệu của người dùng và cũng sử dụng máy chủ web Nginx làm proxy ngược cho các ứng dụng web Ansible Semaphore.

Điều kiện tiên quyết​

Để hoàn thành hướng dẫn này, bạn phải có các yêu cầu sau:
  • Máy chủ Linux chạy Debian 11 - Ví dụ này sử dụng máy chủ Debian có tên máy chủ là 'semaphore'.
  • Người dùng không phải root có quyền sudo/root - Ví dụ này sử dụng người dùng không phải root là 'bob'.
  • Tên miền trỏ đến địa chỉ IP của máy chủ - Ví dụ này sử dụng tên miền có tên là 'ansible.howtoforge.local'.

Cài đặt các gói phụ thuộc​

Đầu tiên, bạn sẽ cài đặt một số gói phụ thuộc sẽ được sử dụng để cài đặt Ansible Semaphore. Bạn sẽ cài đặt phiên bản mới nhất của Ansible, máy chủ cơ sở dữ liệu PostgreSQL và máy chủ web Nginx. Và tất cả các gói đó đều có sẵn theo mặc định trên kho lưu trữ Debian.

Để bắt đầu, hãy nhập lệnh sau để cập nhật và làm mới chỉ mục gói Debian của bạn.
Mã:
sudo apt update
Sau khi chỉ mục gói được cập nhật, hãy chạy lệnh apt sau để cài đặt một số phụ thuộc cơ bản vào hệ thống của bạn. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Mã:
sudo apt install git curl wget software-properties-common

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22468%22%3E%3C/svg%3E


Tiếp theo, bạn cũng sẽ cần cài đặt một số gói phụ thuộc sẽ được sử dụng để chạy Ansible Semaphore. Bao gồm phiên bản mới nhất của Ansible, máy chủ PostgreSQL và máy chủ web Nginx. Và tất cả các gói đó đều có sẵn theo mặc định trên kho lưu trữ Debian.

Nhập lệnh sau để cài đặt Ansible, PostgreSQL và Nginx. Khi được nhắc, hãy nhập y và nhấn ENTER.
Mã:
sudo apt install ansible postgresql nginx

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22481%22%3E%3C/svg%3E


Sau khi cài đặt Ansible, PostgreSQL và Nginx, hãy nhập lệnh sau để xác minh trạng thái của cả PostgreSQL và Nginx dịch vụ.
Mã:
sudo systemctl is-enabled postgresql
sudo systemctl status postgresql
Đầu ra bên dưới xác nhận rằng máy chủ PostgreSQL đã được bật và sẽ tự động khởi động khi hệ thống khởi động. Ngoài ra. nó chạy theo mặc định sau khi cài đặt hoàn tất.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22219%22%3E%3C/svg%3E


Dưới đây là lệnh để kiểm tra dịch vụ Nginx.
Mã:
sudo systemctl is-enabled nginx
sudo systemctl status nginx
Đầu ra bên dưới xác nhận rằng máy chủ web Nginx đã được bật và sẽ tự động khởi động khi hệ thống khởi động. Ngoài ra. Nó chạy theo mặc định sau khi quá trình cài đặt hoàn tất.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22285%22%3E%3C/svg%3E


Với điều này, bạn đã cài đặt các gói phụ thuộc cho Ansible Semaphore, bao gồm phiên bản mới nhất của Ansible, máy chủ cơ sở dữ liệu PostgreSQL và máy chủ web Nginx.

Thiết lập cơ sở dữ liệu PostgreSQL​

Theo mặc định, Ansible Semaphore hỗ trợ nhiều cơ sở dữ liệu như MySQL/MariaDB, BoldDB và máy chủ PostgreSQL. Sau khi cài đặt máy chủ PostgreSQL, bây giờ bạn sẽ thiết lập cơ sở dữ liệu PostgreSQL và người dùng sẽ được Ansible Semaphore sử dụng.

Đăng nhập vào shell PostgreSQL bằng cách nhập lệnh sau. Sau khi đăng nhập, dấu nhắc PostgreSQL sẽ trở thành 'postgres=#'.
Mã:
sudo -u postgres psql
Bây giờ hãy nhập các truy vấn sau để tạo cơ sở dữ liệu PostgreSQL và người dùng mới sẽ được Ansible Semaphore sử dụng. Trong ví dụ này, bạn sẽ tạo một người dùng mới có tên là 'semaphore' và cơ sở dữ liệu 'semaphoredb'. Ngoài ra, hãy nhớ thay đổi mật khẩu trong truy vấn này.
Mã:
CREATE USER semaphore WITH PASSWORD 'p4ssw0rdSemaphore';
CREATE DATABASE semaphoredb OWNER semaphore;

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22639%22%20height=%22215%22%3E%3C/svg%3E


Tiếp theo, nhập các truy vấn sau để xác minh danh sách người dùng và cơ sở dữ liệu trên máy chủ PostgreSQL của bạn. Nếu cơ sở dữ liệu đã được tạo, bạn sẽ thấy cơ sở dữ liệu có tên 'semaphoredb' trong danh sách cơ sở dữ liệu. Và đối với người dùng PostgreSQL, bạn sẽ thấy người dùng 'semaphore' trong danh sách người dùng.
Mã:
\du
\l
Danh sách người dùng trên máy chủ PostgreSQL.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22180%22%3E%3C/svg%3E


Danh sách cơ sở dữ liệu trên PostgreSQL server.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22226%22%3E%3C/svg%3E


Bây giờ bạn đã tạo cơ sở dữ liệu và người dùng cho Ansible Semaphore. Bây giờ hãy chuyển đến phần bên dưới để bắt đầu cài đặt Ansible Semaphore.

Cài đặt Ansible Semaphore​

Sau khi đã cài đặt các gói phụ thuộc và tạo cơ sở dữ liệu PostgreSQL cùng người dùng, tiếp theo bạn sẽ cài đặt gói Ansible Semaphore. Có nhiều gói có sẵn cho nhiều bản phân phối Linux khác nhau, hãy truy cập trang GitHub chính thức của Ansible Semaphore để biết phiên bản chi tiết.

Nhập lệnh sau để tải xuống tệp gói Debian cho Ansible Semaphore. Trong ví dụ này, bạn sẽ tải xuống phiên bản mới nhất của Ansible Semaphore từ trang GitHub chính thức của Ansible Semaphore.
Mã:
VER=$(curl -s https://api.github.com/repos/ansible-semaphore/semaphore/releases/latest|grep tag_name | cut -d '"' -f 4|sed 's/v//g')
wget -q https://github.com/ansible-semaphore/semaphore/releases/download/v${VER}/semaphore_${VER}_linux_amd64.deb
Sau khi tệp gói Debian được tải xuống, bạn sẽ thấy tệp 'semaphore_2.8.77_linux_amd64.deb' trong thư mục làm việc hiện tại của bạn. Ngoài ra, trong quá trình viết bài này, phiên bản mới nhất của Ansible Semaphore là 2.8.77.

Bây giờ hãy nhập lệnh dpkg sau để cài đặt tệp gói Debian của Ansible Semaphore 'semaphore_${VER}_linux_amd64.deb'.
Mã:
sudo dpkg -i semaphore_${VER}_linux_amd64.deb

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22172%22%3E%3C/svg%3E


Sau khi Ansible Semaphore được cài đặt, tệp nhị phân có tên 'semaphore' sẽ có sẵn trong thư mục '/usr/bin'.

Chạy lệnh sau để xác minh đường dẫn đầy đủ của tệp nhị phân 'semaphore' file.
Mã:
which semaphore
Sau đó, chạy các lệnh 'semaphore' sau để xác minh phiên bản hiện tại của Ansible Semaphore được cài đặt trên hệ thống của bạn và trang trợ giúp của lệnh 'semaphore'.
Mã:
semaphore version
semaphore help

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22725%22%20height=%22640%22%3E%3C/svg%3E


Với lệnh này, Ansible Semaphore đã được cài đặt. Nhưng để đi xa hơn, bạn cũng có thể thiết lập hoàn thành bash cho tiện ích lệnh 'semaphore'.

Để thực hiện điều đó, trước tiên, hãy cài đặt gói 'bash-completion' vào hệ thống Debian của bạn thông qua lệnh apt bên dưới.
Mã:
sudo apt install bash-completion
Sau khi 'bash-completion' được cài đặt, hãy mở tệp cấu hình bash '~/.bashrc' bằng trình chỉnh sửa nano sau lệnh.
Mã:
sudo nano ~/.bashrc
Thêm các cấu hình sau vào cuối dòng.
Mã:
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

source
 
Back
Bên trên