FreeRADIUS 3 : การติดตั้ง CentOS 7+FreeRADIUS 3 บน VMWare ESXi

แนะนำการติดตั้ง FreeRADIUS 3 บน CentOS 7 สำหรับมือใหม่นะครับ

บทความนี้ผมขอลงเฉพาะคำสั่งแล้วกันนะครับ เพราะรายละเอียดผมทำวีดีโอไว้ให้แล้ว ผมจะรวบรวมคำสั่งที่มีในวีดีโอมาอธิบายให้เข้าใจสักเล็กน้อย เสริม เพิ่ม ให้ครับ

เริ่มจากคำสั่งแรกก่อนทำการใดๆ กับระบบครับ

yum install epel-release -y
yum update -y

สองคำสั่งนี้ เป็นการเพิ่ม repo เข้าไปในระบบของเรา ซึ่งสำคัญมากๆครับ โดยปกติแล้ว Redhat CentOS Fedora สามตัวนี้ถือว่าอยู่ในตระกูลเดียวกัน ต่างคนต่างมี Repository เป็นของตัวเอง แต่ส่วนมากแล้วซอฟท์แวร์ต่าง ๆจะใช้ร่วมกันได้ ซึ่ง Fedora เองจะมีซอฟท์แวร์ต่างๆ ให้ดาวน์โหลดใช้งานได้มากกว่า เพื่อให้ง่ายต่อการใช้งาน เขาจึงทำ EPEL ขึ้นมา มันมาจากคำว่า Extra Packages for Enterprise Linux เพื่อให้ Redhat และ CentOS สามารถเข้ามาใช้งานซอทฟ์แวร์โอเพ่นซอร์สต่างๆ ที่ฝั่ง Fedora พัฒนามาใช้งานนั่นเอง

ดังนั้นใน Rep นี้จึงมีซอฟท์แวร์ใหม่ๆ เยอะ ให้เราเลือกใช้งาน ซึ่งหนึ่งในนั้นที่เราจะใช้ของเขาคือ phpMyAdmin นั่นเอง

คำสั่งต่อมา ก็เริ่มทำการติดตั้งโปรแกรมพื้นฐานกันหน่อย

พวก  Text Editor และเครื่องมือต่างๆ ดังนี้ nano vim คือโปรแกรม text editor ครับเอาไว้แก้ไขไฟล์ต่างๆด้วย command line ส่วน wget คือโปรแกรมพวกดาวน์โหลดไฟล์ครับ และอีกตัวคือ net-tools หรือ network tools คือเครื่องมือทางด้านเน็ตเวิร์คครับ เช่นการใช้คำสั่ง ifconfig นั่นเอง (สามารถใช้กำหนดไอพี อะไรพวกนี้ได้) ก็ติดตั้งไปซ่ะ

yum install nano wget vim net-tools -y

คำสั่งต่อมา ก็เริ่มติดตั้งเว็บเซิร์ฟเวอร์กันครับ เอาแบบง่ายๆ อ่ะน่ะ

yum install httpd -y
yum install php -y

คำสั่งต่อมา ก็เริ่มติดตั้ง ฐานข้อมูลกัน

yum install mariadb-server -y

คำสั่งต่อมาติดตั้ง phpMyAdmin กันหน่อย

yum install phpmyadmin -y

จากนั้นให้ทำการแก้ไขไฟล์

vim /etc/httpd/conf.d/phpMyAdmin.conf ทำการคอมเม้นบรรทัด และใส่ข้อความ Require all granted เข้าไป

ต่อมาก็สั่ง Startup โปรแกรมกันหน่อยด้วยคำสั่ง

systemctl enable httpd
systemctl enable mariadb
systemctl enable radiusd

ต่อมาสั่งให้โปรแกรมทำงานครับ

systemctl start httpd
systemctl start mariadb
system start radiusd

อย่าลืมเปิดการใช้งานพอร์ต 80 ให้ระบบด้วยไม่งั้นเข้าเว็บไม่ได้นะ

firewall-cmd –add-port=80/tcp –permanent
firewall-cmd –reload

จากนั้นมากำหนดความปลอดภัยให้กับฐานข้อมูลกันหน่อย โดยการใส่รหัสผ่าน ด้วยคำสั่ง

mysql_secure_installation

จากนั้นก็ใส่ข้อมูลตามที่เขาถามมาครับ

เข้าไปสร้างฐานข้อมูลกัน แต่ต้อง Log in ระบบก่อน ด้วยคำสั่ง

mysql -u root -p
password : จากนั้นใส่รหัสผ่านไปเลย จะไม่ปรากฎอะไรให้เห็นน่ะ พิมพ์เสร็จก็ enter ไปเลย

จากนั้นสร้างฐานข้อมูลใหม่ด้วยคำสั่ง

create database otikrd character set utf8;

จากนั้นลองใช้คำสั่ง show datatabases เพื่อดูว่าปัจจุบันในะระบบของเรามีฐานข้อมูลอะไรให้ใช้งานบ้าง

ต่อมาก็ให้นำเข้าตารางข้อมูลของ FreeRADIUS เข้าสู่ Mariadb ฐานข้อมูล

mysql -u root -p otikrd < /etc/raddb/mods-config/sql/main/mysql/schema.sql
password: ให้ใส่รหัสผ่านไปแล้ว enter เหมือนเคยครับ

ต่อมาให้สร้างบัญชีผู้ใช้ใหม่ขึ้นมาหนึ่งคน เพื่อใช้สำหรับบริหารจัดการ ฐานข้อมูล ครับ

mysql > grant all privileges on otikrd.* to otikuser@localhost identifed by ‘otikpassword’;

เพิ่มเติม ในวีดีโอไม่ได้บอกไว้คือ ถ้าต้องการให้ user ที่สร้างใหม่มีผลก็พิมพ์คำสั่ง นี้ด้วยนะครับ

mysql > flush privileges

ต่อมาทำการแก้ไขไฟล์ sql ครับ

vim /etc/raddb/mods-avaiable/sql

แก้ไขค่าตามวีดีโอเลยครับ มันเยอะ ขี้เกียจพิมพ์

จากนั้นให้ทำ soft link ครับ (เหมือนสร้าง short cut ไปวาง)

ln -s /etc/raddb/mods-avaiable/sql /etc/raddb/mods-enable/

จากนั้นทำการกำหนดสิทธิ์ไฟล์ให้เป็นของ Radiusd ครับ

chgrp -h radiusd /etc/raddb/mods-enable/sql

จากนั้นลองเพิ่ม user ต่างๆ เข้าไปตามวีดีโอครับ

จบ แค่นี้แหละ แค่พิมพ์ทบทวน ถ้าผิดตรงไหน แจ้งได้น่ะ ฮ่าๆๆๆ ปกติพิมพ์แค่บางคำสั่งแล้ว tab ซึ่งบทความที่เขียนนี้พิมพ์เอง 100% จากความจำล้วนๆ ไม่ได้เปิดเมนู หรือ Terminal ดู ต้องมีผิดหลายที่ ฮ่าๆๆๆ

ไปล่ะ ขอบคุณ

One comment

  1. สงสัยดังนี้ครับ
    1. password ของ user ใน table นั้น จะถูกมองเห็นได้หรือครับ มีวิธีไม่ให้เห็นไหมครับ เช่น เป็นค่าที่เข้ารหัสไปแลั้ว คือสงสัยว่า root จะเห็น password ของ user ทุกคนเลย
    2. มีกรณีเวลาหมดอายุของ username ไหมครับ คือถ้าจะเอาไปประยุกต์ใช้ ออก account สำหรับเกาะ wifi โดยมีกำหนดหมดอายุการใช้งาน เช่น สร้าง account บันทึกใน table แล้วให้หมดอายุตอน 20.00 น. เป็นต้น

Leave a Reply

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *