วันจันทร์ที่ 18 พฤศจิกายน พ.ศ. 2556

Git


I'm moving our repository from SVN to Git.  Here is one of information you can see why? 

5 Years ago i'd used SVN to server our need. Create main branch (Trunk) and then fork our code to new branches for each project. But all folk projects have the way is. It's difficult to merge back to trunk.

But Git is build from branch idea! And this is new idea to see what new in my life.




วันพฤหัสบดีที่ 7 พฤศจิกายน พ.ศ. 2556

The way to cloud!

I have installed our system in private servers on Data Center in Thailand more than 5 years. This is the time to decide to stay with old infrastructure or going to try new technologies.

By the way!

Buy new servers and setup new system or try cloud!

Why Cloud?

The answer for future is "We need to scale".

Service Models


It's seem like i need to go to IaaS. Because our components can not fit in PaaS. But in the future i will go to provide our solution to SaaS.





วันจันทร์ที่ 4 พฤศจิกายน พ.ศ. 2556

dovecot sieve duplicate email message discard

After we finished install ISPConfig3, and configure all email forward and do redirect script in sieve. Unfortunately many duplicate messages happen!

So we try to google to find the way we can solve this issue!

-- We need develop package , dovecot-dev and dovecot-managesieved

# aptitude install dovecot-dev dovecot-managesieved
-- Unfortunately without pigeonhole we can not implement pigeonhole extension.

# wget http://pigeonhole.dovecot.org/releases/2.1/dovecot-2.1-pigeonhole-0.3.6.tar.gz
# tar xzvf dovecot-2.1-pigeonhole-0.3.6.tar.gz
# cd dovecot-2.1-pigeonhole-0.3.6
dovecot-2.1-pigeonhole-0.3.6# ./configure --with-dovecot=/usr/lib/dovecot
dovecot-2.1-pigeonhole-0.3.6# make
dovecot-2.1-pigeonhole-0.3.6# make install
# cd ..
-- Download and install duplicate extension

# wget http://hg.rename-it.nl/pigeonhole-0.3-sieve-duplicate/archive/tip.tar.gz# tar xzvf tip.tar.gz# cd pigeonhole-0-3-sieve-duplicate-6319bd61b834/pigeonhole-0-3-sieve-duplicate-6319bd61b834# ./autogen.shpigeonhole-0-3-sieve-duplicate-6319bd61b834# ./configure --with-dovecot=/usr/lib/dovecot --with-pigeonhole=/usr/include/dovecot/sievepigeonhole-0-3-sieve-duplicate-6319bd61b834# makepigeonhole-0-3-sieve-duplicate-6319bd61b834# make install
-- When finished install duplication we need to link seive to /usr/local/lib/dovecot/sieve


/usr/lib/dovecot/modules# ln -s /usr/local/lib/dovecot/sieve sieve

-- Then need to do sieve_before script to serve all custom_mailfilter for every user.

# cd /home/vmailhome/vmail# mkdir sievehome/vmail/sieve# vi duplicate-discard.sieve

--- edit file duplicate-discard.sieve like this

require "vnd.dovecot.duplicate";  
if duplicate {
     discard;
     stop;
}
-- compile sieve script

home/vmail/sieve# sievec duplicate-discard.sieve
-- edit dovecot configuration file in plugin directive

# vi /etc/dovecot/dovecot.conf

.. edit plugin like this

plugin {  quota = dict:user::file:/home/vmail/%d/%n/.quotausage  sieve=/home/vmail/%d/%n/.sieve  sieve_plugins = sieve_duplicate  sieve_extensions = +vnd.dovecot.duplicate  sieve_duplicate_period = 10m  sieve_before = /home/vmail/sieve/duplicate-discard.sieve}
-- Restart dovecot

# /etc/init.d/dovecot restart


reference