Code:
#!/bin/sh
##
# Cài đặt memcached server.
# Đă có phiên bản mới và có thể hoạt động tốt hơn trên CentOS.
#
# Có thể xem thêm cách khác ở http://topfunky.net/svn/shovel/memcached/install-memcached-linux.sh
#
# Đă sửa một vài lỗi http://blog.segment7.net/articles/2006/03/02/fast-memcached-on-os-x
#
# Sau khi chạy script phải:
# Set biến môi trường EVENT_NOKQUEUE tới 1
# * csh and derivatives: setenv EVENT_NOKQUEUE 1
# * sh and derivatives (like bash): export EVENT_NOKQUEUE=1
#
# Cũng có thể cần add /usr/local tới your_PATH
PREFIX=/usr/local
mkdir src
cd src
# Install libevent dependency
curl -O http://www.monkey.org/~provos/libevent-1.1b.tar.gz
tar xfz libevent-1.1b.tar.gz
cd libevent-1.1b
./configure --prefix=${PREFIX} && make
sudo make install
cd ..
# Install memcached and fixes
curl -O http://www.danga.com/memcached/dist/memcached-1.1.12.tar.gz
tar xfz memcached-1.1.12.tar.gz
cd memcached-1.1.12
./configure --prefix=${PREFIX}
# in Makefile
# LDFLAGS = -L/lib
# LDFLAGS = -L${libdir}
sed -e 's/-L\/lib/-L${libdir}/' Makefile > Makefile.new
mv Makefile.new Makefile
# also in Makefile
# CFLAGS = -g -O2 -I/include
# CFLAGS = -g -O2 -I${includedir}
sed -e 's/-I\/include/-I${includedir}/' Makefile > Makefile.new
mv Makefile.new Makefile
# insert in memcached.c...
# #undef TCP_NOPUSH
# #ifdef TCP_NOPUSH
curl -O http://topfunky.net/svn/shovel/memcached/fixmemcached_c.rb
ruby fixmemcached_c.rb > memcached.c.new
mv memcached.c.new memcached.c
make
sudo make install
cd ../..
echo "Finished! Hăy chuyển biến EVENT_NOKQUEUE=1 tới shell environment."