joezine's blog

Simple Mail PHP Wrapper

ปัญหาใหญ่สุดของ Share Hosting คือ การส่ง email ของ function mail() แล้วไม่รู้ที่ว่า ก่อให้เกิดปัญหา spam ชาวบ้านไปทั่ว ชาวโลกคงเจอปัญหาเดียวกับเรา ตอนแรกคิดว่าจะต้องมี smtp authen ซะแล้ว แต่ความจริงไม่ต้องถึงกับขนาดนั้นก็ได้ เพราะ php มี feature นี้อยู่พอดี (ใช้ได้เฉพาะบน linux เท่านั้น)

Copy มาจาก iezzi.ch ง่ายๆเร็วๆ

สร้าง wrapper script ใน /usr/sbin/sendmail-wrapper-php

#!/bin/sh
logger -p mail.info sendmail-wrapper-php: site=${HTTP_HOST}, 
 client=${REMOTE_ADDR}, script=${SCRIPT_NAME}, 
 pwd=${PWD}, uid=${UID}, user=$(whoami)
/usr/sbin/sendmail -t -i $*

Check Permission

chown root /usr/sbin/sendmail-wrapper-php
chmod 755 /usr/sbin/sendmail-wrapper-php

แก้ php.ini

sendmail_path = /usr/sbin/sendmail-wrapper-php
auto_prepend_file = /var/www/common/php_set_envs.php

ใน php_set_envs.php

<?php
putenv("HTTP_HOST=".@$_SERVER["HTTP_HOST"]);
putenv("SCRIPT_NAME=".@$_SERVER["SCRIPT_NAME"]);
putenv("SCRIPT_FILENAME=".@$_SERVER["SCRIPT_FILENAME"]);
putenv("DOCUMENT_ROOT=".@$_SERVER["DOCUMENT_ROOT"]);
putenv("REMOTE_ADDR=".@$_SERVER["REMOTE_ADDR"]);
?>

ตัวอย่าง log

# grep sendmail-wrapper-php /var/log/mail.log
Dec 29 20:41:35 web logger: sendmail-wrapper-php: site=www.iezzi.ch, client=212.35.7.99, script=/test.php, pwd=/var/www/webXX/includes/wordpress, uid=4002, user=web2
Dec 29 20:42:52 web logger: sendmail-wrapper-php: site=webmail.onlime.ch, client=212.35.7.99, script=/index.php, pwd=/var/www/webYY/includes/roundcube, uid=4001, user=web1

How to Install Spine

เปลี่ยนวิธีการ Poll ใหม่จาก cmd.php เป็น spine เพราะปัญหา Device มีเยอะมาก Polling ไม่ทัน วิธีการติดตั้ง spine ทำดังนี้

  1. Download rpmforce-release rpm

     #wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
  2. Install rpmforce-release rpm

    #rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
  3. Install Cacti-spine rpm

    #yum install cacti-spine
  4. แก้ไข DB Configuration ที่ /etc/spine.conf
  5. Login ที่ Cacti > Settings > Paths > '/usr/local/spine/bin/spine'
  6. Login ที่ Cacti > Settings > Poller > เปลี่ยนจาก cmd.php เป็น spine
  7. Verify โดยดูจาก Logs 

    #tail -f /var/www/html/cacti/log/cacti.log

How to Recovery Password on Windows 2008

สรุป Step

  1. ใส่แผ่น CD Windows 2008
  2. พอเจอหน้าจอ Boot Windows ให้กด Next ไปเรื่อยจนกว่าจะเจอ Repaire Your Computer
  3. กด Next จนเจอ Icont Command Prompt
  4. ใส่ Command นี้ลงไป

    X:\>cd Windows
    X:\Windows>cd System32
    X:\Windows\System32>move Utilman.exe Utilman.exe.bak
    X:\Windows\System32>copy cmd.exe Utilman.exe
  5. Reboot
  6. พอขึ้นหน้าจอให้ login ให้ไปตรง icon ล่างซ้าย (Windows + U)
  7. จะขึ้น Command Prompt ให้ใส่ Command ไปดังนี้

    C:\Windows\system32>net user administrator password
  8. เป็นอันเสร็จสมบูรณ์

Strawberry Sherbet

ส่วนผสม

  1. Maltitol (175 g)
  2. สารให้ความคงตัว (2 g)
  3. เกลือ (1 g)
  4. น้ำร้อนต้มเดือด (120 g)
  5. น้ำสตรอเบอร์รี่ Tipco (700 g)
  6. กรดชิตริก (3 g)

วิธีผสม

  1. คลุกผสมของแห้งในหม้อใบใหญ่ (1 + 2 + 3)
  2. เอาน้ำเดือดขึ้นต้ม และเทลงไปในของแห้ง คนเร็วๆให้ละลาย
  3. เติมน้ำสตรอเบอร์รี่ ที่ผสมกับกรดซิตริกแล้ว (5 + 6)
  4. เทลงกล่องรวม

Zoro VS Mihawk

เป็นหนึ่งในคำพูดที่ชอบมากที่สุด
แต่ในภาษาไทยจะบอกว่า

บาดแผลด้านหลัง คือสิ่งที่น่าอับอายของนักดาบ

ส่วนภาษาอังกฤษแปลประมาณว่า

การโจมตีข้างหลังเป็นการกระทำที่น่าอับอายของนักดาบ

สมควรแล้วที่ Mihawk จะต้องจำชื่อ

Pages