Mod_ruid2 ตัดปัญหาน่าเบื่อ share hosting ใน DA

^^
โดนแซวยาวเลย พิมพ์ผิดครับ 1.2 ครับ

รอ HOw to suhosin patch ด้วยคร้าบบบบบ พี่

เขาตอบกันไปหมดแล้ว 555+ แต่ผมเบื่อเรื่อง code เก่าๆที่ไม่ support 5.3 มากกว่า

อันไหนกินแรมน้อยกว่าอะครับ Fcgi หรือ Ruid

ruid ครับ (ถ้าคุณใช้ fcgid แล้วไม่เปลี่ยน apache worker mode อ่ะนะ)

แต่ต้องใช้ 0.9.7 นะครับ ไม่งั้นเจอ httpd process ละ 500MB แน่

OK ครับขอบคุณสำหรับคำตอบครับ

ไม่ทราบว่าท่านไหนเจอปัญหาแบบผมบ้างไหม กับการใช้ php mail fucntion

คือเวลาใช้ mail function ส่ง Sender จะกลายเป็น user@xxx.domain.com (ชื่อ host name) ซึ่งปกติจะต้องเป็น user@domain.com

ได้ลองเอา mod_ruid2 ออกแล้วลองส่งใหม่ ก็เป็นปกติครับ คิดว่าน่าจะมีผลมาจาก mod_ruid2 ครับ

แก้ไขได้แล้วครับ

แก้ไขไฟล์ exim.conf

เพิ่ม


local_from_check = false 
local_sender_retain = true 
untrusted_set_sender = *

หลัง


# TRUSTED USERS
trusted_users = mail:majordomo:apache:diradmin

[COLOR=#333333]custombuild 2.0 รองรับ apache 2.4 และ php 5.3 5.4 เท่านั้นครับ[/COLOR]
[COLOR=#333333]ถ้าใครที่ยังใช้ apache 2.2 กับ php 5.2 อยู่ ก็คงต้องใช้ custombuild 1.1 หรือ 1.2 ครับ[/COLOR]

[COLOR=#333333]สำหรับ custombuild 1.1 กับ 1.2 นั้น ถึงตัว build จะไม่มี build ruid2 มาให้ แต่ก็สามารถใช้ mod_ruid2 ได้ไม่ยาก[/COLOR]
[COLOR=#333333]เพราะจริงๆแล้ว virtual_host2 template ล่าสุดที่มากับ da (ไม่เกี่ยวว่าใช้ custombuild เวอร์ชั่นใหน) รองรับ ruid2 อยู่แล้ว[/COLOR]
[COLOR=#333333]แค่ update เวอร์ชั่น directadmin ตัว template ก็ update รองรับ ruid2 ให้แล้ว ไม่ต้องไปแก้เอง (ไม่แน่ใจว่ามีมาตั้งแต่เวอร์ชั่นใหน แต่ที่เช็คดู 1.40.3 ก็มีแล้ว)[/COLOR]
[COLOR=#333333]ที่ต้องทำก็แค่ download mod_ruid2 มา compile แค่นั้นเอง[/COLOR]

[COLOR=#333333]1. Install libcap-devel[/COLOR]
[COLOR=#333333]yum -y install libcap-devel[/COLOR]

[COLOR=#333333]2. install mod_ruid2[/COLOR]
[COLOR=#333333]cd /usr/local/directadmin/custombuild[/COLOR]
[COLOR=#333333]wget [/COLOR]http://files.directadmin.com/service…-0.9.7.tar.bz2
[COLOR=#333333]tar xjf mod_ruid2-0.9.7.tar.bz2[/COLOR]
[COLOR=#333333]cd mod_ruid2-0.9.7[/COLOR]
[COLOR=#333333]apxs -l cap -cia mod_ruid2.c[/COLOR]

[COLOR=#333333]3. เช็คว่าใน virtual_host template มี ruid2[/COLOR]
[COLOR=#333333]grep -i ruid /usr/local/directadmin/data/templates/virtual_host2.conf[/COLOR]
[COLOR=#333333]ถ้าขึ้นประมาณนี้ก็แปลว่า template รองรับแล้ว ไม่ต้องไปแก้ไขอะไร (แต่ถ้าเคยไปทำ custom ไว้ใน folder custom ก็ต้องไปเช็คเอาว่าที่เคย custom ไว้มันมีหรือเปล่า)[/COLOR]
[COLOR=#333333]<IfModule !mod_ruid2.c>[/COLOR]
[COLOR=#333333]<IfModule mod_ruid2.c>[/COLOR]
[COLOR=#333333]RUidGid |USER| |GROUP|[/COLOR]

[COLOR=#333333]4. สำหรับ /var/www/html จะแก้ให้ใช้ ruid ทำงานเป็น webapp หรือไม่แก้ก็ได้ปล่อยให้ run เป็น apache ไปตามเดิม เพราะมีแค่ webmail ไม่ได้ไปวุ่นวายกับ user [/COLOR]
[COLOR=#333333]ถ้าจะแก้ก็แก้ไขไฟล์ /etc/httpd/conf/extra/httpd-directories.conf[/COLOR]
[COLOR=#333333]แล้วเพิ่มข้อความต่อไปนี้เข้าไปในส่วนของ <Directory “/var/www/html”>[/COLOR]
[COLOR=#333333]<IfModule mod_ruid2.c>[/COLOR]
[COLOR=#333333]RMode config[/COLOR]
[COLOR=#333333]RUidGid webapps webapps[/COLOR]
[COLOR=#333333]RGroups apache access[/COLOR]
[COLOR=#333333]</IfModule>[/COLOR]

[COLOR=#333333]5. restart apache เขียน code php ทดสอบดูว่า mod_ruid ทำงานแล้ว[/COLOR]
[COLOR=#333333]<?php[/COLOR]
[COLOR=#333333]mkdir ("/home/user/domians/domain.com/public_html/test");[/COLOR]
[COLOR=#333333]?>[/COLOR]
[COLOR=#333333]ถ้า folder ที่สร้างมี owner/group เป็น user นั้นๆก็แสดงว่า mod ruid ทำงานแล้ว[/COLOR]

[COLOR=#333333]6. แก้ permission ของ folder ต่างๆ (ขอลอก howto เลยละกันเพราะสมบูรณ์ดีแล้ว)[/COLOR]
[COLOR=#333333]cd /usr/local/directadmin/scripts && ./set_permissions.sh user_homes[/COLOR]
[COLOR=#333333]find /home//domains//public_html -type d -print0 | xargs -0 chmod 711[/COLOR]
[COLOR=#333333]find /home//domains//public_html -type f -print0 | xargs -0 chmod 644[/COLOR]
[COLOR=#333333]find /home//domains//public_html -type f -name ‘.cgi’ -exec chmod 755 {} ;[/COLOR]
[COLOR=#333333]find /home//domains//public_html -type f -name ‘.pl’ -exec chmod 755 {} ;[/COLOR]
[COLOR=#333333]find /home//domains//public_html -type f -name ‘.pm’ -exec chmod 755 {} ;[/COLOR]
[COLOR=#333333]cd /usr/local/directadmin/data/users && for i in ls; do { chown -R $i:$i /home/$i/domains/*/public_html;}; done;[/COLOR]

===============================================

ทำแล้วเจอ error แบบ นี้

Starting httpd: httpd: bad group name access ระหว่างข้อ 3 กับ 5 ไม่ได้ทำข้อ 4

[COLOR=#333333]RGroups apache access

แก้เป็น
[/COLOR][COLOR=#333333]RGroups apache

ครับ[/COLOR][COLOR=#333333]
[/COLOR]

ขอบคุณครับ

ผมก็เจอปัญหานี้ครับ ได้แก้แล้วใน /custom/virtual_host2.conf
พอ restart apache ก็ขึ้นว่า Starting httpd: httpd: bad group name access

ผมทำตามวิธีพี่แมน โดยไม่ได้ทำข้อ 4 ครับ

ไม่ทราบว่าต้องแก้ไขตรงไหนเพิ่มครับ
OS : Debian 5 ครับ

เพิ่มเติมครับ
วิธีของพี่แมน ต้องทำสองคำสั่งนี้

echo “action=rewrite&value=httpd” >> /usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq d800

แล้วค่อย restart apache หรือเปล่าครับ

ต้องสั่ง rewrite httpd หรือไม่ ก็อยู่ที่ว่าเราได้ไปแก้ไข template ใหม่หรือเปล่า ถ้าไม่ได้แก้ก็ไม่ต้องสั่ง
แต่ถึงไม่แก้แล้วสั่งมัีนก็โดนเขียนทับด้วยไฟล์เหมือนเดิม ไม่ส่งผลเสียอะไร

ขอบคุณมากครับพี่แมน ตอนนี้ติดตั้งผ่านแล้ว แต่มีข้อสงสัยนิดหน่อยครับ คือว่า ผมลอง ps มาดู ได้แบบนี้
>ps awux | grep httpd
root 3924 0.0 0.6 110032 14180 ? Ss 20:08 0:00 /usr/sbin/httpd -k start -DSSL
apache 4767 0.1 2.2 143676 45992 ? S 20:20 0:00 /usr/sbin/httpd -k start -DSSL
apache 4840 0.1 1.6 131204 34692 ? S 20:27 0:00 /usr/sbin/httpd -k start -DSSL
apache 4841 0.0 0.5 110560 11548 ? S 20:27 0:00 /usr/sbin/httpd -k start -DSSL
apache 4842 0.3 2.0 139556 41760 ? S 20:27 0:00 /usr/sbin/httpd -k start -DSSL
apache 4843 0.3 1.7 132096 35476 ? S 20:27 0:00 /usr/sbin/httpd -k start -DSSL
apache 4844 0.3 2.0 139540 41844 ? S 20:27 0:00 /usr/sbin/httpd -k start -DSSL
apache 4845 0.1 1.8 133828 37572 ? S 20:27 0:00 /usr/sbin/httpd -k start -DSSL
apache 4846 0.1 1.6 131548 34932 ? S 20:27 0:00 /usr/sbin/httpd -k start -DSSL
apache 4852 0.2 1.5 128940 32576 ? S 20:28 0:00 /usr/sbin/httpd -k start -DSSL
apache 4854 0.0 0.5 110552 11620 ? S 20:28 0:00 /usr/sbin/httpd -k start -DSSL
apache 4855 0.6 1.9 136068 39424 ? S 20:28 0:00 /usr/sbin/httpd -k start -DSSL

ไม่ทราบว่ามันถูกต้องหรือไม่ครับ แต่ได้ทดสอบ script นี้
<?php
mkdir (“/home/user/domians/domain.com/public_html/test”);
?>
ผลก็ถูกต้องครับ รวมถึง cms ที่ติดตั้งไว้แล้ว ก็สามารถ upload ได้ตามปกติครับ

เครื่องนี้ ลง nginx ไว้ด้วยครับผม

ขอบพระคุณล่วงหน้าครับ

เพิ่มเติมครับ

ตามไปอ่านกระทู้ต้นฉบับที่ da forum แล้ว กระจ่างแล้วครับผม
ขอบพระคุณมากครับ

ปักหมุดครับ :015:

หลังจากแก้ไข ดังนี้ แล้ว
/etc/httpd/conf/extra/httpd-directories.conf
แล้วเพิ่มข้อความต่อไปนี้เข้าไปในส่วนของ <Directory “/var/www/html”>
<IfModule mod_ruid2.c>
RMode config
RUidGid webapps webapps
RGroups apache access
</IfModule>

ลอง restart httpd

service httpd restart

[COLOR=#0000ff]Stopping httpd:[/COLOR] [COLOR=#ff0000][FAILED][/COLOR]

[COLOR=#ff0000]Starting httpd: httpd: bad group name access

[/COLOR]แก้ไขจากค่า RGroups apache access แก้เป็น RGroups apache [COLOR=#FF0000]ก็[/COLOR][COLOR=#ff0000]ยัง Error อยู่

[/COLOR]ต้องเช็คตรงไหนอีกครับ

ต้องสั่ง rewrite ก่อนครับ

สั่ง rewrite ได้แล้วครับ

echo “action=rewrite&value=httpd” >> /usr/local/directadmin/data/task.queue

webmail error ครับ
-rwxrwx— 1 webapps webapps 41 Feb 7 2007 default_pref

[COLOR=#ff0000]Error opening …/data/default_pref
Default preference file not found or not readable!
Please contact your system administrator and report this error.

[/COLOR]แต่พอ chown apache:webapps default_pref กลับ error แบบนี้คัรบ[COLOR=#ff0000]
[/COLOR]-rwxrwx— 1 apache webapps 41 Feb 7 2007 default_pref
[COLOR=#ff0000]
Preference file, /var/www/html/squirrelmail/data/email@domain.com.pref, could not be opened. Contact your system administrator to resolve this issue.[/COLOR]

chown webapps.webapps -R [COLOR=#FF0000] /var/www/html/squirrelmail/data[/COLOR]