Menu

9/4/24

Cấu hình DNS server (bind9 on ubuntu)


– Domain Name System (DNS): phân giải tên miền thành địa chỉ IP và ngược lại – DNS sử dụng UDP/53 và TCP/53
+ UDP/53: port dùng để phục vụ các client để phân giải tên miền
+ TCP/53: port dùng để thực DNS zone transfer file giữa các DNS Server
– Các record cơ bản của DNS Server
+ Record A: phân giải tên miền sang IPv4
+ Record AAAA: phân giải tên miền sang IPv6
+ Record PTR: phân giải IP sang tên miền
+ Record NS: xác định DNS Server ở trong domain
+ Record MX: xác định Mail Server ở trong domain
+ Record CNAME: định nghĩa “bí danh” ứng với tên miền
+ Record SOA (Start of Authority): máy chủ có trách nhiệm với tên miền.

- cài đặt và kiểm tra bind9:

 apt update -y && apt upgrade -y

apt install bind9 bind9utils bind9-doc -y

systemctl status bind9

Trường hợp lỗi ko fix dc, cần cài lại:

- lệnh remove: apt-get remove --purge bind9

- cài lại:  sudo apt-get install --reinstall bind9

Kiểm tra các file cấu hình:

dns-server@dns-server-Virtual-Machine:~$ cd /etc/bind/
dns-server@dns-server-Virtual-Machine:/etc/bind$ ls

sudo vim /etc/bind/named.conf.options

1. chỉnh sửa file cấu hình: sudo vim /etc/bind/named.conf.options

// Define LAN network

acl LAN {192.168.1.0/24;};

options {

                // Default directory

                directory "/var/cache/bind";

                // Allow queries from localhost and LAN network

                allow-query {

                                localhost;

                                LAN;

                };

                // Use Google DNS as a forwarder

                forwarders{

                                8.8.8.8 ;

                                8.8.4.4 ;

                };

                // Allow recursive queries

                recursion yes;

};

Kiểm tra cú pháp, nếu ko báo lỗi thì OK:

 root@dns-server-Virtual-Machine:~# named-checkconf /etc/bind/named.conf.options

2. chỉnh sửa file cấu hình: root@dns-server-Virtual-Machine:~# vim  /etc/bind/named.conf.local

// Define the Forward zone

// My domain: homlab.local

// Forward file called forward.homelab.local

zone "homelab.local" IN { 

type master;

// Path of Forward file

file "/etc/bind/homelab/forward.homelab.local";

};

// Define the Reverse zone

// Reverse file called: reverse.homelab.local

zone "1.168.192.in-addr.arpa" IN {

        type master;

        file "/etc/bind/homelab/reverse.homelab.local";

};

3. tạo thư mục homelab:

root@dns-server-Virtual-Machine:~# mkdir /etc/bind/homelab

4. tạo file forward:  vim /etc/bind/homelab/forward.homelab.local

$TTL    604800
; SOA record with MNAME and RNAME updated
@       IN      SOA     homelab.local. root.homelab.local. (
                              3         ; Serial Note: increment after each change
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
; Name server record 
@       IN      NS      dns-server.homelab.local.
; A record for name server
dns-server IN      A       192.168.1.249
glpi IN A 192.168.1.251
client IN  A      192.168.1.100

5. tạo file reverse: vim /etc/bind/homelab/reverse.homelab.local

$TTL    604800
; SOA record with MNAME and RNAME updated
@       IN      SOA     homelab.local. root.homelab.local. (
                              2         ; Serial Note: increment after each change
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
; Name server record 
@       IN      NS      dns-server.homelab.local.
; A record for name server
dns-server IN      A       192.168.1.249
glpi IN A 192.168.1.251

; PTR record for name server
249 IN      PTR     dns-server.homelab.local
251 IN PTR glpi.homelab.local
100  IN    PTR client.homelab.local
6. sau đó restart lại bind9:
root@dns-server-Virtual-Machine:/etc/bind/homelab# systemctl restart bind9




 

9/2/24

Quản lí VM trên Hyper V (Powershell)

 -List các VMs đang chạy trên Hyper V: get-vm

-Remove 1 VMs trong HyperV: Remove-VM -Name "VM" -Force

-Tắt VM: Stop-VM -name "VM" -force


Tạo virtual host cho GLPI

 How to create a VirtualHost dedicated to GLPI?

  • Create a file on /etc/apache2/sites-available/glpi.conf
root@local# vi /etc/apache2/sites-available/glpi.conf
  • In this file, you will add the following content:
    # Start of the VirtualHost configuration for port 80
    
    <VirtualHost *:80>
        ServerName yourglpi.yourdomain.com
        # Specify the server's hostname
        DocumentRoot /var/www/html/glpi/public
        # The directory where the website's files are located
        # Start of a Directory directive for the website's directory
        <Directory /var/www/html/glpi/public>
            Require all granted
            # Allow all access to this directory
            RewriteEngine On
            # Enable the Apache rewrite engine
            # Ensure authorization headers are passed to PHP.
            # Some Apache configurations may filter them and break usage of API, CalDAV, ...
            RewriteCond %{HTTP:Authorization} ^(.+)$
            RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
            # Redirect all requests to GLPI router, unless the file exists.
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ index.php [QSA,L]
        </Directory>
        # End of the Directory directive for /var/www/glpi/public
    </VirtualHost>
    
    # End of the VirtualHost configuration for port 80
  • ServerName if you have a public URL, you can type it here
  • DocumentRoot if you will store GLPI in a different page, change it too.

After the Virtual Host file is created you should disable the default apache site configuration, enable the rewrite module and reload the new vhost file.

a2dissite 000-default.conf # Disable default apache site
a2enmod rewrite # enable the rewrite module
a2ensite glpi.conf # enable the new apache virtual host settings for your glpi instance
systemctl restart apache2

công cụ chỉnh sửa tex Vim căn bản

cài đặt vim: 

sudo apt update

sudo apt-get install vim

-trờ về đầu văn bản: 0 

- Chế độ insert : i

- thoát chế độ insert: ESC

- xóa toàn bộ text: :%d

- thoát file & ko lưu: q!

- save và thoát: :wq hoặc :x!

-search trong vim: /parten sau khi đã tìm được nhấn Enter để vào Insert (I), sau đó ESC để thoát chế độ chỉnh sửa/ tìm kiếm, rồi lưu lại :wq

9/1/24

Cài đặt LAMP stack trên Ubuntu

LAMP STACK bao gồm các thành phần:

+Linux: server

+Apache: máy chủ web

+Mariadb/Mysql : CSDL web

+PHP: ngôn ngữ xử lí web động

kích hoạt tài khoản root: 

sudo passwd root, sau đó điền pass: toor (nhập 2 lần)

-chuyển qua tài khoản root: sudo - root hoặc (sudo -i)

0. cài dịch vụ SSH vào ubuntu

sudo apt install openssh-server

sudo systemctl status ssh

cho phép dịch vụ ssh chạy qua fw: sudo ufw allow ssh

1. cài IP máy chủ ubuntu:

-tạo 1 file cấu hình IP tĩnh: sudo vim /etc/netplan/01-netcfg.yaml, sau đó nhấn ESC, rồi :wq! (:x!) để save

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0: #Edit this line according to your network interface name you just saw.
      dhcp4: no
      addresses:
        - 192.168.1.251/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4
-apply : sudo netplan apply
- kiểm tra lại bằng lệnh: ip add show
2.cập nhật hệ thống: sudo apt update -y && apt upgrade -y
3. cài đặt apache webserversudo apt install -y apache2

systemctl start apache2      (Khởi động dịch vụ Apache)
systemctl stop apache2       (Dừng dịch vụ Apache)
systemctl reload apache2     (Tải lại dịch vụ Apache)
systemctl restart apache2   (Khởi động lại  dịch vụ Apache:)
systemctl enable apache2     (Thiết lập Apache khởi động cùng hệ thống)
systemctl disable apache2    (Vô hiệu hoá Apache khởi động cùng hệ thống )
systemctl status apache2     (Xem trạng thái dịch vụ Apache)

Kiểm tra apache2 version: apache2 -v

gõ ip để kiểm tra dịch vụ webserver: http://192.168.1.251

Nếu chưa dc thì allow tường lữa: sudo ufw allow 'Apache'

Dùng lệnh ls -l để xem phân quyền thư mực html, ta thấy đang quyền sở hữu là root, cần phân lại cho tài khoản/group  www-data:www-data

root@glpi-Virtual-Machine:~# cd /var/www/
root@glpi-Virtual-Machine:/var/www# ls -l
drwxr-xr-x 2 root root 4096 Sep  1 17:59 html

sudo chown www-data:www-data /var/www/html/ -R

systemctl reload apache2

4. cài mariadb database server


systemctl start mariadb      (Khởi động dịch vụ mariadb)
systemctl stop mariadb       (Dừng dịch vụ mariadb)
systemctl restart mariadb   (Khởi động lại  dịch vụ mariadb)
systemctl enable mariadb     (Thiết lập mariadb khởi động cùng hệ thống)
systemctl disable mariadb    (Vô hiệu hoá mariadb khởi động cùng hệ thống )
systemctl status mariadb     (Xem trạng thái dịch vụ mariadb)


- thiết lập cho mariadb: sudo mysql_secure_installation

kiểm tra mariadb version: mariadb --version

5. cài đặt PHP

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt install -y php8.1 libapache2-mod-php8.1
sudo apt install php-net-ldap2 php-net-ldap3 php-imagick php8.1-common php8.1-gd php8.1-imap php8.1-mysql php8.1-curl php8.1-zip php8.1-xml php8.1-mbstring php8.1-bz2 php8.1-intl php8.1-gmp php8.1-redis

kiểm tra phiên bản php: php -v

-tạo 1 file php để kiểm tra trên trình duyệt: vim /var/www/html/info.php, sau đó thêm nội dung vào save lại: <?php phpinfo(); ?>

6. cài đặt phpmyadmin để quản trị CSDL (mariadb/mysql)

sudo apt install -y phpmyadmin

sudo mysql -u root
show grants for phpmyadmin@localhost;
exit;

bật cấu hình phpmyadmin trong apache (cho phép truy cập qua web)

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin.conf
sudo systemctl reload apache2

test lại kết quả: http://192.168.1.251/phpmyadmin