File manager - Edit - /home/kridsana/webapp.cm.in.th/663012801/u66301280015/เฉลยสอบ Setup Server/Readme.md
Back
# **วิธี Setup Server Debian 12** ### **DHCP Server | PHP | MariaDB | PHPMYADMIN** <br> ❗️❕ถ้า ssh แล้ว remote ไม่ได้ให้พิมพ์ ssh-keygen -R (เลข IP Address ที่จะเข้า)❕❗️ <br> ```bat ssh-keygen -R 172.16.0.xxx ``` <br> ### **ขั้นตอนที่ 1 แก้ไฟล์ sources.list** พิมพ์ ```sh nano /etc/apt/sources.list ``` เพิ่ม # บรรทัดแรก - ถ้าไม่มีอะไรเลยตรงบรรทัดล่างหลังบรรทัดแรก ให้พิมพ์ข้อความนี้ใส่เพิ่ม Save แล้วออก ```sh deb https://deb.debian.org/debian bookworm main non-free-firmware deb-src https://deb.debian.org/debian bookworm main non-free-firmware deb https://security.debian.org/debian-security bookworm-security main non-free-firmware deb-src https://security.debian.org/debian-security bookworm-security main non-free-firmware deb https://deb.debian.org/debian bookworm-updates main non-free-firmware deb-src https://deb.debian.org/debian bookworm-updates main non-free-firmware ``` พิมพ์ ```sh apt update ``` 🔽🔽 ❗️❕อันนี้จะทำก็ได้หรือไม่ก็ได้❕❗️ 🔽🔽 ```sh apt upgrade ``` <br> ### **ขั้นตอนที่ 2 ติดตั้ง Apache** พิมพ์ ```sh apt install apache2 ``` หลังติดตั้งเสร็จให้พิมพ์ ```sh nano /etc/profile ``` - ให้หาบรรทัดนี้ ```sh PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ``` - แล้วให้เพิ่มข้อความนี้ ```sh :/usr/sbin ``` - ด้านหลังสุดให้เป็นแบบนี้ ```sh PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin" ``` พิมพ์ ```sh . /etc/profile ``` <br> ### **ขั้นตอนที่ 3 ติดตั้ง MariaDB** พิมพ์ ```sh apt install mariadb-server ``` พิมพ์ ```sh mysql_secure_installation ``` - พิมพ์ตามนี้ ```sh Enter current password for root (enter for none): กด Enter ข้ามไป Switch to unix_socket authentication [Y/n] พิมพ์ n Change the root password? [Y/n] พิมพ์ y แล้วพิมพ์รหัส Remove anonymous users? [Y/n] พิมพ์ y Disallow root login remotely? [Y/n] พิมพ์ n Remove test database and access to it? [Y/n] พิมพ์ y Reload privilege tables now? [Y/n] พิมพ์ y ``` <br> ### **ขั้นตอนที่ 4 ติดตั้ง PHP** พิมพ์ ```sh apt install -y apt-transport-https lsb-release ca-certificates wget ``` ```sh wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg ``` ```sh echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list ``` ```sh apt update ``` ```sh apt install php7.4 libapache2-mod-php7.4 php7.4-mbstring php7.4-xml php7.4-mysql php7.4-zip php7.4-gd php7.4-curl php7.4-bcmath php7.4-json php7.4-intl php7.4-cli ``` พิมพ์ ```sh touch /var/www/html/phpinfo.php ``` ```sh nano /var/www/html/phpinfo.php ``` - พิมพ์อันนี้ลงไป ```php <?php phpinfo(); ?> ``` แล้วเข้าไปเช็คในเว็บ ไอพีเซิฟเวอร์/phpinfo.php ```sh 172.16.0.xxx/phpinfo.php ``` <br> ### **ขั้นตอนที่ 4 ติดตั้ง PHPMYADMIN** พิมพ์ ```sh cd /tmp ``` ```sh wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip ``` ```sh unzip phpMyAdmin-5.2.1-all-languages.zip ``` ```sh mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadmin ``` ```sh cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php ``` 🔽🔽 ❗️❕อันนี้จะทำก็ได้หรือไม่ก็ได้❕❗️ 🔽🔽 ```sh nano /usr/share/phpmyadmin/config.inc.php ``` - ให้หาบรรทัดนี้ ```sh $cfg['blowfish_secret'] = ''; ``` แล้วเพิ่ม ```sh 'your_secret_key' ``` ในช่อง '' ให้เป็นแบบนี้ Save แล้วออก ```sh $cfg['blowfish_secret'] = 'your_secret_key'; ``` <br> ### **ขั้นตอนที่ 5 ติดตั้ง เปิดใช้งาน PHPMYADMIN** พิมพ์ ```sh ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin ``` ```sh nano /etc/apache2/conf-available/phpmyadmin.conf ``` - เพิ่มข้อความนี้ Save แล้วออก ```sh Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php <IfModule mod_authz_host.c> Require all granted </IfModule> <IfModule !mod_authz_host.c> Order Allow,Deny Allow from all </IfModule> </Directory> ``` หลังจากนั้นให้พิมพ์ ```sh a2enconf phpmyadmin ``` ```sh systemctl restart apache2 ``` แล้วเข้าไปเช็คในเว็บ ไอพีเซิฟเวอร์/phpmyadmin ```sh 172.16.0.xxx/phpmyadmin ``` <br> ### **ขั้นตอนที่ 6 Setup Network** - กดเข้าตั้งค่ามุมขวาบน - กดเครื่องหมาย + - พอร์ตที่เชือมอินเตอร์เน็ตใช้ Mode Auto - พอร์ตที่ใช้เป็นแม่ข่ายใช้ Mode Manual Address 192.168.0.1, Netmask 255.255.255.0 <br> ### **ขั้นตอนที่ 7 Setup DHCP Server** พิมพ์ ```sh apt install isc-dhcp-server ``` ```sh nano /etc/default/isc-dhcp-server ``` - ให้แก้บรรทัดนี้ ```sh # Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server) # Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf). #DHCPDv4_CONF=/etc/dhcp/dhcpd.conf #DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf # Path to dhcpd's PID file (default: /var/run/dhcpd.pid). #DHCPDv4_PID=/var/run/dhcpd.pid #DHCPDv6_PID=/var/run/dhcpd6.pid # Additional options to start dhcpd with. # Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead #OPTIONS="" # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACESv4="" INTERFACESv6="" ``` - ให้เป็นแบบนี้ Save แล้วออก ```sh # Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server) # Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf). DHCPDv4_CONF=/etc/dhcp/dhcpd.conf แก้บรรทัดนี้ให้เป็นแบบนี้ #DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf # Path to dhcpd's PID file (default: /var/run/dhcpd.pid). #DHCPDv4_PID=/var/run/dhcpd.pid #DHCPDv6_PID=/var/run/dhcpd6.pid # Additional options to start dhcpd with. # Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead #OPTIONS="" # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACESv4="enp3s0" แก้บรรทัดนี้ให้เป็นแบบนี้ INTERFACESv6="" ``` พิมพ์คำสั่งนี้ แล้วให้จด IP ```sh cat /etc/resolv.conf ``` พิมพ์ ```sh nano /etc/dhcp/dhcpd.conf ``` - ให้หาบรรทัดพวกนี้ อยู่คนละบรรทัดกัน ```sh บรรทัดที่ 6 # option definitions common to all supported networks... option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org; default-lease-time 600; max-lease-time 7200; บรรทัดที่ 50 # A slightly different configuration for an internal subnet. #subnet 10.5.5.0 netmask 255.255.255.224 { # range 10.5.5.26 10.5.5.30; # option domain-name-servers ns1.internal.example.org; # option domain-name "internal.example.org"; # option routers 10.5.5.1; # option broadcast-address 10.5.5.31; # default-lease-time 600; # max-lease-time 7200; #} ``` - วิธีแก้ ```sh บรรทัดที่ 6 # option definitions common to all supported networks... option domain-name "ชื่อเว็บอะไรก็ได้"; option domain-name-servers เขียนเลข IP จากคำสั่งนี้ cat /etc/resolv.conf, DNS ชุดแรก, DNS ชุดสอง; default-lease-time 600; max-lease-time 7200; บรรทัดที่ 50 ลบ "#" ออก # A slightly different configuration for an internal subnet. subnet ให้เขียนเลข Address แต่เป็นเลขต่ำที่สุดในเลขฐาน 2 8 บิต netmask ให้เขียนเลข Netmask จาก "ขั้นตอนที่ 6 Setup Network"{ range กำหนดระยะ IP; option domain-name-servers เขียนเลข IP จากคำสั่งนี้ cat /etc/resolv.conf, DNS ชุดแรก, DNS ชุดสอง; option domain-name "ชื่อเว็บอะไรก็ได้เหมือนด้านบน"; option routers ให้เขียนเลข Address จาก "ขั้นตอนที่ 6 Setup Network"; option broadcast-address ให้เขียนเลขวงเดียวกับ Address แต่เป็นเลขสูงสุดในเลขฐาน 2 8 บิต; default-lease-time 600; max-lease-time 7200; } ``` - แก้ให้เป็นแบบนี้ (ตัวอย่าง) Save แล้วออก ```sh บรรทัดที่ 6 # option definitions common to all supported networks... option domain-name "Narabadin.org"; option domain-name-servers 49.229.108.130, 8.8.8.8, 8.8.4.4; default-lease-time 600; max-lease-time 7200; บรรทัดที่ 50 # A slightly different configuration for an internal subnet. subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.15 192.168.0.65; option domain-name-servers 49.229.108.130, 8.8.8.8, 8.8.4.4; option domain-name "Narabadin.org"; option routers 192.168.0.1; option broadcast-address 192.168.0.255; default-lease-time 600; max-lease-time 7200; } ``` พิมพ์ ```sh systemctl restart isc-dhcp-server ``` เช็คการเชื่อมต่อ ```sh cat /var/lib/dhcp/dhcpd.leases ``` <br> ### **ขั้นตอนที่ 8 Setup Server ให้เครื่องลูกข่ายใช้เน็ตได้** พิมพ์ ```sh apt install iptables ``` พิมพ์ ```sh nano /etc/sysctl.conf ``` - ให้หาบรรทัดนี้ ```sh #net.ipv4.ip_forward=1 ``` - ลบ # ออก ```sh net.ipv4.ip_forward=1 ``` พิมพ์ ```sh /sbin/sysctl -p ``` ```sh /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE ``` ```sh /sbin/iptables -A INPUT -j ACCEPT ``` ```sh /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ``` ```sh /sbin/iptables -A OUTPUT -j ACCEPT ``` ```sh echo 1 > /proc/sys/net/ipv4/ip_forward ``` <br> ### **ขั้นตอนที่ 9 แก้หลัง Reboot แล้วเน็ตหาย** พิมพ์ ```sh nano /etc/rc.local ``` - เพิ่มคำสั่งนี้ลงไป Save แล้วออก ```sh #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. /sbin/iptables -t nat -A POSTROUTING -j MASQUERADE /sbin/iptables -A INPUT -j ACCEPT /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A OUTPUT -j ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward exit 0 ``` พิมพ์ ```sh chmod +x /etc/rc.local ``` ```sh systemctl daemon-reload ``` ```sh systemctl start rc-local ``` ```sh systemctl status rc-local ``` <br> ### **ขั้นตอนที่ 10 Setup Webmin** พิมพ์ ```sh apt install curl ``` ```sh curl -o webmin-setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/webmin-setup-repos.sh ``` ```sh sh webmin-setup-repos.sh ``` ```sh apt-get install webmin --install-recommends ``` ให้พิมพ์ตามนี้เพื่อเข้าเว็บ Webmin ```sh https:// ไอพีเซิร์ฟเวอร์ :10000 ``` - เช่น ```sh https://172.16.0.xxx:10000 ``` รหัสเข้าเป็น username: root password: รหัสที่ใช้เข้า root
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 1.34 |
proxy
|
phpinfo
|
Settings