0265 | How to install mod_ruid2 on CentOS + DirectAdmin

เอามาจดๆไว้ เผื่อที่ต้นฉบับหาย และง่ายแก่การค้นหา
เริ่มเลย

yum -y install libcap-devel
cd /usr/local/directadmin/custombuild
wget http://files.directadmin.com/services/custombuild/mod_ruid2-0.9.7.tar.bz2
tar xjf mod_ruid2-0.9.7.tar.bz2
cd mod_ruid2-0.9.7
apxs -l cap -cia mod_ruid2.c

เช็คว่าใน virtual_host template มี ruid2

grep -i ruid /usr/local/directadmin/data/templates/virtual_host2.conf

ถ้าขึ้นประมาณนี้ก็แปลว่า template รองรับแล้ว ไม่ต้องไปแก้ไขอะไร (แต่ถ้าเคยไปทำ custom ไว้ใน folder custom ก็ต้องไปเช็คเอาว่าที่เคย custom ไว้มันมีหรือเปล่า)

<IfModule !mod_ruid2.c>
<IfModule mod_ruid2.c>
RUidGid |USER| |GROUP|

สำหรับ /var/www/html จะแก้ให้ใช้ ruid ทำงานเป็น webapp หรือไม่แก้ก็ได้ปล่อยให้ run เป็น apache ไปตามเดิม เพราะมีแค่ webmail ไม่ได้ไปวุ่นวายกับ user
ถ้าจะแก้ก็แก้ไขไฟล์ /etc/httpd/conf/extra/httpd-directories.conf
แล้วเพิ่มข้อความต่อไปนี้เข้าไปในส่วนของ

<IfModule mod_ruid2.c>
RMode config
RUidGid webapps webapps
RGroups apache access
</IfModule>

แก้ permission ของ folder ต่างๆ

cd /usr/local/directadmin/scripts && ./set_permissions.sh user_homes
find /home/*/domains/*/public_html -type d -print0 | xargs -0 chmod 711
find /home/*/domains/*/public_html -type f -print0 | xargs -0 chmod 644
find /home/*/domains/*/public_html -type f -name '*.cgi*' -exec chmod 755 {} \;
find /home/*/domains/*/public_html -type f -name '*.pl*' -exec chmod 755 {} \;
find /home/*/domains/*/public_html -type f -name '*.pm*' -exec chmod 755 {} \;
cd /usr/local/directadmin/data/users && for i in `ls`; do { chown -R $i:$i /home/$i/domains/*/public_html;}; done; 

จบ

ที่มา : ThaiHostTalk.com