Poweradmin là một phần mềm OpenSource dùng để quản lý DNS hiệu quả và dễ sử dụng với người dùng. Trang web quản trị đơn giản và thân thiện giúp các quản trị viên có thể nhanh chóng tạo, sửa đổi hoặc xoá các record DNS theo nhu cầu.
Phần mềm hỗ trợ nhiều loại record DNS phổ biến như A, AAAA, CNAME, MX hay TXT và đặc biệt hỗ trợ LUA record. Ngoài ra còn cho phép quản lý đa dạng các loại zone bao gồm master zone, native zone và slave zone. Điểm mạnh tiếp theo là khả năng xử lý cơ sở dữ liệu lớn, đáp ứng được nhu cầu quản lý DNS phức tạp của doanh nghiệp.
Bên cạnh việc quản lý các bản ghi DNS, Poweradmin còn cho phép thiết lập quyền truy cập cho từng người dùng theo nhu cầu sử dụng. Lợi thế cuối cùng là được viết bằng ngôn ngữ PHP phổ biến, giúp dễ dàng triển khai và phát triển tính năng.
Đầu tiên chúng ta cần phải update và upgrade trước khi cài đặt các gói cần thiết, để đảm bảo được cài đặt những gói mới nhất
apt install -y update
apt install -y upgrade
Đầu tiên chúng ta sẽ cài đặt WebServer Apache.
Apache là một máy chủ web mạnh mẽ và linh hoạt, có tích hợp sẵn nhiều module so với Nginx. Điều này cho phép người dùng dễ dàng tùy chỉnh cấu hình và bổ sung các module để mở rộng tính năng của Apache. Một số module phổ biến được tích hợp sẵn trong Apache bao gồm mod_rewrite, mod_ssl, mod_proxy, mod_php, mod_deflate, mod_security, và nhiều module khác. Trái lại, Nginx cũng hỗ trợ những module trên, nhưng các bạn cần phải cài đặt thêm những module cần sử dụng.
apt install -y apache2
systemctl start apache2
systemctl enable apache2
systemctl status apache2
Chúng ta sẽ cài đặt tiếp PHP 8.1
Repository của Debian 12 mặc định chứa các gói PHP 8.3 và PHP 7.4, nhưng không chứa các phiên bản khác như PHP 8.1, 7.3, 7.2 hoặc 5.6. Do đó chúng ta sẽ thêm Repository của một bên thứ 3 vào bằng lệnh sau
apt install -y apt-transport-https lsb-release ca-certificates wget
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
Update lại hệ thống để cập nhật Repository mới
apt update -y
Cài đặt PHP 8.1 và một số gói cần thiết:
apt install -y php8.1 php8.1-{bz2,curl,mbstring,intl}
apt install -y php8.1-mysql
apt install -y php8.1-fpm
a2enconf php8.1-fpm
systemctl reload apache2
Kết quả như sau là đã cài đặt thành công PHP 8.1
php -v
#Kết quả
PHP 8.1.27 (cli) (built: Dec 21 2023 20:18:40) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.27, Copyright (c) Zend Technologies
with Zend OPcache v8.1.27, Copyright (c), by Zend Technologies
PowerAdmin được cung cấp miễn pí GitHub, các bạn có thể truy cập vào link sau để xem chi tiết hơn. https://github.com/poweradmin/poweradmin
cd /var/www
git clone https://github.com/poweradmin/poweradmin.git
Để có thể truy cập bằng domain chúng ta sẽ cần tạo một file virtual host trong apache
Tạo một file /etc/apache2/sites-enabled/dnsmng.nin.id.vn.conf và thêm vào file nội dung như bên dưới
ServerName dnsmng.nin.id.vn
ServerAlias www.dnsmng.nin.id.vn
DocumentRoot /var/www/poweradmin
Options -Indexes -FollowSymLinks -MultiViews
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/dnsmng.nin.id.vn-error.log
CustomLog ${APACHE_LOG_DIR}/dnsmng.nin.id.vn-access.log combined
Tiếp theo chúng ta sẽ cài đặt Snap. Snap là một hệ thống gói ứng dụng độc lập và được sandboxed (cô lập) dùng trong các hệ điều hành Linux. Cho phép người dùng cài đặt và chạy các ứng dụng Linux một cách dễ dàng và an toàn trên nhiều phiên bản và phân phối Linux khác nhau. Các ứng dụng được đóng gói bằng snap có thể chạy độc lập với các thư viện và phụ thuộc hệ thống, đảm bảo tính nhất quán và đáng tin cậy khi sử dụng trên các hệ thống khác nhau.
apt install snapd
Hãy cài đặt core snap để đảm bảo phiên bản snapd mới nhất được cài đặt. Thực hiện bằng lệnh sau:
snap install core
Lệnh sau sẽ cài đặt Certbot trên server Debian
snap install --classic certbot
Sau khi certbot được cài đặt, hãy thực hiện lệnh sau để đảm bảo có thể chạy được lệnh ‘certbot’
ln -s /snap/bin/certbot /usr/bin/certbot
Bắt đầu tạo chứng chỉ SSL Let’s encrypt bằng lệnh sau
certbot --apache -d dnsmng.nin.id.vn
Sau khi chạy lệnh trên sẽ yêu cầu nhập địa chỉ email, các bạn hãy nhập địa chỉ email của mình và Yes đồng ý tất cả.
Kiểm tra lại file cấu hình Virtual Host. Chúng ta sẽ thấy cerbot sẽ tạo thêm một file Virtual Host mới /etc/apache2/sites-enabled/dnsmng.nin.id.vn-le-ssl.conf
ServerName dnsmng.nin.id.vn
ServerAlias www.dnsmng.nin.id.vn
DocumentRoot /var/www/poweradmin
Options -Indexes -FollowSymLinks -MultiViews
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/dnsmng.nin.id.vn-error.log
CustomLog ${APACHE_LOG_DIR}/dnsmng.nin.id.vn-access.log combined
SSLCertificateFile /etc/letsencrypt/live/dnsmng.nin.id.vn/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/dnsmng.nin.id.vn/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
Bây giờ chúng ta hãy truy cập vào đường dẫn sau để cài đặt PowerAdmin
http(s)://URL/install/
https://dnsmng.nin.id.vn/install/
Bước 1: Hãy chọn ngôn ngữ và nhấn “Go to step 2”
Bước 2: Hãy đọc các điều khoản và chuyển sang “Go to step 3”
Bước 3: Hãy truy cập vào server Master và tạo một User mới, sau đó hãy điền thông tin truy cập vào hình như bên dưới.
Lưu ý: hãy thay địa chỉ IP thành IP của server poweradmin. Mục đích chỉ cho phép truy cập đến database trên Master từ Server Poweradmin. Trong hình phần Hostname thì vẫn để IP của Master
CREATE USER 'powerdns_admin'@'10.10.30.1' IDENTIFIED BY 'Strongpassword';
GRANT ALL ON powerdns.* TO 'powerdns_admin'@'10.10.30.1';
FLUSH PRIVILEGES;
Bước 4: Hãy điền thông tin đăng nhập và khai báo Primary nameserver, Secondary nameserver
Bước 5: Hãy truy cập Server Master và chạy tiếp hai lệnh sau, như hướng dẫn trong hình
Lưu ý: Tại bước này hãy thay địa chỉ IP lại thành địa chỉ IP của Master
CREATE USER 'admin'@'10.10.30.1' IDENTIFIED WITH mysql_native_password BY 'P@ssw0rd2024';
GRANT SELECT, INSERT, UPDATE, DELETE ON powerdns.* TO 'admin'@'10.10.30.1';
Bước 6: Hãy trở lại server hiện tại và tạo file /var/www/poweradmin/inc/config.inc.php sau đó thêm vào nội dung file theo như hướng dẫn
Bước 7: Sau khi cài đặt hoàn tất, hãy xoá thư mục install trong thư mục của Poweradmin, bạn sẽ không thể truy cập được Poweradmin nếu thư mục đó còn tồn tại
Bây giờ hãy truy cập https://dnsmng.nin.id.vn và login vào Poweradmin
Giao diện Dashboard sau khi đăng nhập thành công
Chúc các bạn cài đặt thành công
Ra full bài đi admin ơi em đang hóng
Bịp