1. ติดตั้ง CentOS 7 แบบ Minimum ไม่เอา GUI และอัพเดท
- โค้ด: เลือกทั้งหมด
yum -y update
- โค้ด: เลือกทั้งหมด
hostnamectl set-hostname radius --static
yum -y install net-tools wget ntpdate iptables-services policycoreutils-python
2. ปิด Firewall และ Selinux และ Reboot เครื่อง
- โค้ด: เลือกทั้งหมด
systemctl disable firewalld
systemctl stop firewalld
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config
reboot
3. คอนฟิก Selinux ให้รัน httpd พอร์ตอื่นได้นอกเหนือจาก 80
- โค้ด: เลือกทั้งหมด
semanage port -a -t http_port_t -p tcp 8880
4. ติดตั้งโปรแกรม Apache และ MariaDB
- โค้ด: เลือกทั้งหมด
yum -y install mariadb mariadb-server mariadb-libs httpd mod_ssl
systemctl enable mariadb httpd
systemctl start mariadb httpd
4. ติดตั้ง php 5.6
- โค้ด: เลือกทั้งหมด
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install yum-utils
yum-config-manager --enable remi-php56
ถ้าในเครื่องยังไม่ได้ติดตั้ง PHP ให้ติดตั้ง PHP 5.6 ใหม่เลย
- โค้ด: เลือกทั้งหมด
yum -y install php php-pdo php-mysql php-mbstring php-pear php-process php-xml php-opcache php-ldap php-intl php-soap php-gd
yum -y install php-PHPMailer
ถ้าในเครื่องมี PHP แล้ว ให้อัพเดท - จะได้ PHP 5.6
- โค้ด: เลือกทั้งหมด
yum -y update
5. แก้ไขไฟล์ /etc/php.ini
- โค้ด: เลือกทั้งหมด
now=$(date +'%F-%H-%M-%S')
cp /etc/php.ini /etc/php.ini.$now
sed -i "s|;date.timezone =|date.timezone =Asia/Bangkok|g" /etc/php.ini
sed -i "s|upload_max_filesize = 2M|upload_max_filesize = 20M|g" /etc/php.ini
sed -i "s|log_errors = On|log_errors = Off|g" /etc/php.ini
sed -i "s|max_execution_time = 30|max_execution_time = 600|g" /etc/php.ini
sed -i "s|;default_charset = \"UTF-8\"|default_charset = \"UTF-8\"|g" /etc/php.ini
systemctl restart httpd
5. ติดตั้ง pear DB และ Mail ให้ส่งเมล์ออกได้
- โค้ด: เลือกทั้งหมด
pear channel-update pear.php.net
pear install DB
pear install -a Mail
pear install -a Mail_Mime
7. สร้างไฟล์ VirtualHost
ผมอยากเปิดหน้าเว็บ daloRadius แบบระบุหมายเลขพอร์ตเป็น 8880 ครับ จะได้ไม่มีใครหาเจอง่ายๆ ดีกว่ารันพอร์ต 80 เปิด Web Browser พิมพ์ IP แล้วเห็นหน้าเว็บ daloRadius เลย มันง่ายไปและดูไม่โปร
- โค้ด: เลือกทั้งหมด
cat >> /etc/httpd/conf.d/radius.conf << eof
Listen 8880
<VirtualHost *:8880>
DocumentRoot /usr/share/daloradius-1.3
SSLEngine Off
</VirtualHost>
<Directory "/usr/share/daloradius-1.3">
Options FollowSymLinks
Order allow,deny
Allow from all
AllowOverride All
Require all granted
</Directory>
eof
- โค้ด: เลือกทั้งหมด
systemctl restart httpd
6. ดาวน์โหลด daloRadius 1.3
เว็บไซต์ https://github.com/lirantal/daloradius/releases/tag/1.3
- โค้ด: เลือกทั้งหมด
cd /home
wget https://github.com/lirantal/daloradius/archive/refs/tags/1.3.tar.gz -O daloRadius_v1.3.tar.gz
tar xvf daloRadius_v1.3.tar.gz -C /usr/share
chown -R apache. /usr/share/daloradius-1.3
chmod -R 755 /usr/share/daloradius-1.3
สร้างไฟล์คอนฟิก daloradius.conf.php
- โค้ด: เลือกทั้งหมด
cp /usr/share/daloradius-1.3/library/daloradius.conf.php.sample /usr/share/daloradius-1.3/library/daloradius.conf.php
chmod 644 /usr/share/daloradius-1.3/library/daloradius.conf.php
คอนฟิก Root Password ของ MySQL
รันคำสั่งนี้เพื่อสร้าง Password
- โค้ด: เลือกทั้งหมด
tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1
จะได้ IimncdrMFGYkHZ6dZKIiurE7sCRuO8 นำค่านี้ไปตั้งเป็น Root Password ให้ MySQL ดังนี้
- โค้ด: เลือกทั้งหมด
mysql -uroot -e"UPDATE mysql.user SET password=PASSWORD('IimncdrMFGYkHZ6dZKIiurE7sCRuO8') WHERE user='root';"
mysql -uroot -e"FLUSH PRIVILEGES;"
ลบดาต้าเบส test
- โค้ด: เลือกทั้งหมด
mysql -uroot -p -e"DROP DATABASE test;"
ใส่ Passsword ตามที่ตั้งค่าไว้
ใส่ Root Password ของ MySQL ในไฟล์
บรรทัด $configValues['CONFIG_DB_PASS'] = ''; ดังนี้
- โค้ด: เลือกทั้งหมด
$configValues['CONFIG_DB_PASS'] = 'IimncdrMFGYkHZ6dZKIiurE7sCRuO8';
$configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = '/usr/share/daloradius-1.3/var';
สร้างไดเร็คตอรี่เก็บไฟล์ Backup ของ daloRadius และคอนฟิก Selinux ให้ยอมเข้าถึงไฟล์และโฟลเดอร์
- โค้ด: เลือกทั้งหมด
mkdir -p /usr/share/daloradius-1.3/var/backup
chown -R apache. /usr/share/daloradius-1.3
chmod -R 755 /usr/share/daloradius-1.3
chcon -t httpd_sys_rw_content_t /usr/share/daloradius-1.3/var/backup
chcon -t httpd_sys_rw_content_t /usr/share/daloradius-1.3 /usr/share/daloradius-1.3/library/daloradius.conf.php
ติดตั้งโปรแกรม FreeRadius และดาต้าเบส radius
อิมพอร์ตดาต้าเบสของ daloRadius เข้าไปในดาต้าเบส radius
- โค้ด: เลือกทั้งหมด
mysql -uroot -p radius < /usr/share/daloradius-1.3/contrib/db/mysql-daloradius.sql
mysql -uroot -p radius < /usr/share/daloradius-1.3/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
เซ็ต File Permission
- โค้ด: เลือกทั้งหมด
chown -R apache. /usr/share/daloradius-1.3
chmod -R 755 /usr/share/daloradius-1.3
เข้าหน้าเว็บ daloRadius
- โค้ด: เลือกทั้งหมด
http://192.168.56.81:8880
user=administrator
Password = radius