0086 | Postfix + DomainKeys + DKIM
Saturday, November 14th, 2009 Posted in IP Network, Linux | 7 Comments »เป็นการติดตั้ง mail server สำหรับส่ง bulk mail ปริมาณมหาศาล
(พยายามทำให้ถึงวันละห้าแสนฉบับอยู่)
แต่ย้ำก่อนนะครับว่าต่อให้ใช้วิธีนี้ แล้วส่ง mail ที่เป็น spam ยังไงก็ติด blacklist อยู่ดี ไม่มีประโยชน์
วิธีการติดตั้งด้านล่างเป็นวิธีสำหรับ OS เปล่าๆ หรือไม่มี control panel เท่านั้นครับ
หากมี control panel อยู่จะไม่สามารถใช้งานได้ เพราะมันตีกัน
ส่วนไฟล์ มันมีแต่ของ centos 5 x86_64 นะครับ OS อื่นหนูไม่รู้ววว์
dkim-milter-2.8.3-2.el5.x86_64.rpm
dk-milter-1.0.2-0.x86_64.rpm
prepare yourself!
ก่อนอื่น ลบ MTA ทั้งหมดที่มีทิ้ง ไม่ว่าจะเป็น sendmail postfix exim qmail อะไรก็ตามแต่
แล้วลงแค่ postfix ใหม่ๆ เลย
yum install postfix sendmail
chkconfig sendmail off
chkconfig postfix on
service sendmail stop
service postfix start
rpm -Uvh dk-milter-1.0.2-0.x86_64.rpm dkim-milter-2.8.3-2.el5.x86_64.rpm
usermod -g 89 dkim-milter
chkconfig dkim-milter on
chkconfig dk-milter on
chown postfix.postfix /usr/sbin/dkim-filter
chown postfix -R /etc/mail/dkim-milter/keys
rm -f /var/run/dkim-milter/dkim-milter.sock
Tags: bulk mail, dkim, domainkeys, postfix
0085 | DirectAdmin + mod_fcgid + php fastcgi
Saturday, November 14th, 2009 Posted in Linux, Web Server | 12 Comments »ก่อนอื่น copy & paste ตามสูตร
cd /usr/local/src wget http://mirrors.issp.co.th/apache/httpd/mod_fcgid/mod_fcgid-2.3.4.tar.bz2 tar jxf mod_fcgid-2.3.4.tar.bz2 cd mod_fcgid-2.3.4 APXS=/usr/sbin/apxs ./configure.apxs && make && make install chmod 755 -R /var/lib/httpd mkdir /fcgi |
ไปที่ /usr/local/directadmin/custombuild/
เปิดไฟล์ options.conf แก้ php5_cgi=yes ส่วน php อันอื่น no ให้หมด
แล้วสั่ง ./build php จนเสร็จ
แล้วเปิดไฟล์ /etc/httpd/conf/extra/httpd-info.conf
เพิ่มไอ้นี่ต่อท้าย
LoadModule fcgid_module /usr/lib/apache/mod_fcgid.so SharememPath /var/run/fcgid_shm SocketPath /var/lib/httpd/fcgid/sock <IfModule mod_fcgid.c> IdleTimeout 3600 ProcessLifeTime 7200 MaxProcessCount 128 DefaultMaxClassProcessCount 4 IPCConnectTimeout 60 IPCCommTimeout 90 DefaultInitEnv RAILS_ENV production # DefaultInitEnv PHP_FCGI_CHILDREN 4 # MaxRequestsPerProcess 500 </IfModule> <Directory "/home"> AllowOverride All Options SymLinksIfOwnerMatch Order allow,deny Allow from all <IfModule sapi_apache2.c> php_admin_flag engine off </IfModule> <IfModule mod_php5.c> php_admin_flag engine off </IfModule> </Directory> |
เสร็จแล้วเข้าไป folder /usr/local/directadmin/data/templates
เปิดไฟล์ที่ขึ้นต้นด้วย virtual_host2*.conf (มีทั้งหมด 4 ไฟล์)
ใน section เดิมที่เป็น PHP ทั้งหมด ให้ comment ไว้ จะได้ประมาณนี้
|*if CLI="1"| # php_admin_flag engine |PHP| # <IfModule !mod_php6.c> # php_admin_flag safe_mode |SAFE_MODE| # </IfModule> # php_admin_value sendmail_path '/usr/sbin/sendmail -t -i -f |USER|@|DOMAIN|' |*endif| |*if OPEN_BASEDIR="ON"| # php_admin_value open_basedir |OPEN_BASEDIR_PATH| |*endif| |*if SUPHP="1"| # suPHP_Engine |PHP| # suPHP_UserGroup |USER| |GROUP| |*endif| |
แล้วแทรกไอ้นี่เข้าไปด้านบนของไอ้เมื่อกี้
<IfModule mod_fcgid.c> <Files ~ (\.fcgi)> SetHandler fcgid-script Options +FollowSymLinks +ExecCGI </Files> </IfModule> <IfModule mod_fcgid.c> <Files ~ (\.php)> SetHandler fcgid-script FCGIWrapper "/fcgi/|USER|/public_html/fcgid.sh" .php Options +ExecCGI allow from all </Files> </IfModule> |
แล้วเข้าไป folder /usr/local/directadmin/scripts/custom/
สร้างไฟล์ชื่อ fcgid.sh ใส่ข้อมูลตามนี้
#!/bin/sh export PHP_FCGI_MAX_REQUESTS=0 exec /usr/local/php5/bin/php-cgi |
ใน folder เดียวกัน สร้างไฟล์ชื่อ domain_create_post.sh ใส่ข้อมูลตามนี้
#!/bin/sh mkdir -p /fcgi/${username}/public_html cp /usr/local/directadmin/scripts/custom/fcgid.sh /fcgi/${username}/public_html/fcgid.sh && chmod 0700 /fcgi/${username}/public_html/fcgid.sh cp /usr/local/directadmin/scripts/custom/php.ini /fcgi/${username}/public_html/php.ini perl -pi -w -e "s/PHPCFG_BASEDIR/\/home\/${username}\//g;" /fcgi/${username}/public_html/php.ini chown -R ${username}:${username} /fcgi/${username} echo "`date` ${domain} created " >> /var/log/directadmin/domain_create.log |
แล้วสั่ง copy file php.ini มาใส่ไว้ใน /usr/local/directadmin/scripts/custom/php.ini
เปิดไฟล์ /usr/local/directadmin/scripts/custom/php.ini ที่ก๊อปมาเมื่อกี้ แล้วหา open_basedir
ซึ่งปกติมันจะ comment ไว้ ให้แก้เป็นประมาณนี้
open_basedir = PHPCFG_BASEDIR:/tmp:/var/tmp |
เสร็จแล้วสั่ง chmod a+x /usr/local/directadmin/scripts/custom/*.sh
*** วิธีทั้งหมดไม่รับประกันผล และควรใช้กับเครื่องเพิ่งลงใหม่เท่านั้น
Tags: directadmin, fastcgi, install, PHP Coding