2、查看install.sh安装脚本
mail:/home/chen/download/eyou_system/linux_binary # more install.sh
#!/bin/sh
#
# �����ʼ�ϵͳ��װ�ű� For RedHat Linux 7.2 7.3
# AUTHOR: dengxf@eyou.net
######################
# ���ﶨ�尲װ����һЩ���
# ÿ�θ��������Ϳ����
# ��װʱ����LOGΪlog.install
PKG_EYOUMAIL_BASE=eyoumail_base-20060429.tgz
PKG_RES_HTDOCS=res.htdocs_20060315.tar.gz
PKG_EYOU_BIN=eyou.bin_RH7.3_4.1.6.tar.gz
CFG_HTTPD_CONF=httpd_2.0.53.conf
CFG_SMTPD_CONF=/var/eyou/etc/eyou_smtpd_config
CFG_SMTPD_CONF_EYOU=/var/eyou/etc/eyou_smtpd_config.eyou
CFG_LDAP_EYOU=/var/eyou/openldap/etc/openldap/slapd.conf.eyou
CFG_LDAP=/var/eyou/openldap/etc/openldap/slapd.conf
FILE_HTTPD=/var/eyou/apache/htdocs/index.html
FILE_HTTPD_EYOU=/var/eyou/apache/htdocs/index.html.eyou
CFG_INSTALLED=/var/eyou/.installed
LOGFILE=log.install
EYOUMAIL=/var/eyou
DBD_CONFIG_DEFAULT=DB_CONFIG.default
DBD_CONFIG=/var/eyou/openldap/var/openldap-data/DB_CONFIG
####################################################################
# ˢ����Ļ
if test -e $LOGFILE; then
mv $LOGFILE $LOGFILE.bak
fi
#
# ���������ʼ�ϵͳ���˳���װ��֪ͨ�û�������ǰ���ʼ�ϵͳ
if [ -d $EYOUMAIL -o -L $EYOUMAIL ]; then
echo "[Step 0]: /var/eyou already exist. [
]"
exit 1;
fi
clear
echo ""
echo "Start Installing..."
echo "-----------------------------Step 1---------------------------------" >>${
LOGFILE}
# ��װ�������
echo -n "[Step 1]: Installing BASE PKG......
"
if test -e ".install.1"; then
echo "[ALREADY DONE] [SKIP]"
else
if test -e $PKG_EYOUMAIL_BASE; then
tar zxf $PKG_EYOUMAIL_BASE -C /
touch .install.1
echo "[DONE]"
else
echo "[ERROR]: Can not find ${PKG_EYOUMAIL_BASE}. [
EXIT]"
exit 1
fi
fi
echo "" >>${LOGFILE}
echo "-----------------------------Step 2---------------------------------" >>${
LOGFILE}
#���� htdocs
echo -n "[Step 2]: Installing HTDOCS...... "
if test -e ".install.2"; then
echo "[ALREADY DONE] [SKIP]"
else
if test -e $PKG_RES_HTDOCS; then
tar zxf $PKG_RES_HTDOCS -C /var
touch .install.2
echo "[DONE]"
else
echo "[ERROR]: Can not find ${PKG_RES_HTDOCS}. [EXI
T]"
exit 1
fi
fi
echo "" >>${LOGFILE}
echo "-----------------------------Step 3---------------------------------" >>${
LOGFILE}
#��װ���
echo -n "[Step 3]: Installing BIN PKG......
"
if test -e ".install.3"; then
echo "[ALREADY DONE] [SKIP]"
else
if test -e $PKG_EYOU_BIN; then
tar zxf $PKG_EYOU_BIN -C /var
touch .install.3
echo "[DONE]"
else
echo "[ERROR]: Can not find ${PKG_EYOU_BIN}. [EXIT
]"
exit 1
fi
fi
echo >>${LOGFILE}
echo "-----------------------------Step 4---------------------------------" >>${
LOGFILE}
# ���ÿ
echo -n "[Step 4]: UPDATE LIB CONFIG......
"
if test -e ".install.4"; then
ldconfig 1>>${LOGFILE} 2>>${LOGFILE}
echo "[ALREADY DONE] [SKIP]"
elif test -e ".install.0"; then
ldconfig 1>>${LOGFILE} 2>>${LOGFILE}
echo "[ALREADY DONE] [SKIP]"
else
echo "/var/eyou/lib" >> /etc/ld.so.conf
echo "/var/eyou/mysql/lib/mysql" >> /etc/ld.so.conf
echo "/var/eyou/openldap/lib" >> /etc/ld.so.conf
echo "/var/eyou/openssl/lib" >> /etc/ld.so.conf
echo "/var/eyou/bdb/lib" >> /etc/ld.so.conf
echo "/var/eyou/libxml/lib" >> /etc/ld.so.conf
ldconfig 1>>${LOGFILE} 2>>${LOGFILE}
touch .install.4
echo "[DONE]"
fi
echo "" >>${LOGFILE}
echo "-----------------------------Step 5---------------------------------" >>${
LOGFILE}
# ��ʼ��WEBMAIL
echo -n "[Step 5]: Initial the WEBMAIL...... "
if test -e ".install.5"; then
echo "[ALREADY DONE] [SKIP]"
else
/var/eyou/etc/tpl2interface.sh 1>>${LOGFILE} 2>>${LOGFILE}
/var/eyou/sbin/makedir 1>>${LOGFILE} 2>>${LOGFILE}
/var/eyou/sbin/setup 1>>${LOGFILE} 2>>${LOGFILE}
chown -R nobody:nobody /var/eyou/etc
touch .install.5
mkdir /var/eyou/apache/htdocs/tpl_c
chmod 775 /var/eyou/apache/htdocs/tpl_c
chown nobody:nobody /var/eyou/apache/htdocs/tpl_c
echo "[DONE]"
fi
echo "" >>${LOGFILE}
echo "-----------------------------Step 6---------------------------------" >>${
LOGFILE}
#���� MySQL InnoDB
echo -n "[Step 6]: Initial MySQL......
"
if test -e ".install.6"; then
echo "[ALREADY DONE] [SKIP]"
else
#####ǿ�����ڱȽ�С���ڴ�ģʽ�����
/var/eyou/mysql/bin/mysql_install_db 1>>${LOGFIL
E} 2>>${LOGFILE}
SOURCE_CNF="/var/eyou/mysql/share/mysql/my-medium.cnf"
sed -e "s/#innodb_/innodb_/" $SOURCE_CNF | /
sed -e "s/#set-variable = innodb_/set-variable = innodb_/" > /var/eyou/m
ysql/var/my.cnf
#/var/eyou/mysql/bin/mysql_install_db --defaults-file=/var/eyou/mysql/va
r/my.cnf 1>>${LOGFILE} 2>>${LOGFILE}
touch .install.6
echo "[DONE]"
fi
echo "" >>${LOGFILE}
echo "-----------------------------Step 7---------------------------------" >>${
LOGFILE}
#ʹ���ĺõ�httpd.conf�ļ�
echo -n "[Step 7]: Installed Config file......
"
if test -e ".install.8"; then
echo "[ALREADY DONE] [SKIP]"
else
if test -e $CFG_HTTPD_CONF; then
cp $CFG_HTTPD_CONF /var/eyou/apache/conf/httpd.conf
else
echo "[ERROR]: Can not find $CFG_HTTPD_CONF. [EXIT
0;1m]"
exit 1;
fi
touch .install.8
echo "[DONE]"
fi
echo "" >>${LOGFILE}
echo "-----------------------------Step 8---------------------------------" >>${
LOGFILE}
#����/var/eyou/etc/eyou_smtpd_config
tmp_time=`date '+%Y/%m/%d'`
tmp_hostname=`hostname`
tmp_module="voice_bookmark_storage_calendar"
echo -n "[Step 8]: Config Eyou SMTPD...... "
if test -e ".install.9"; then
echo " [ALREADY DONE] [SKIP
]"
else
echo ""
echo " Now Setting Eyou Mail System, Please Input the RIGHT Value"
# ��ȡ Ĭ����: me
while true; do
echo -n " [ 1]: Ĭ����(default domain)
[ ${tmp_hostname} ]: "
read me
me=${me:-${tmp_hostname}}
if test $me; then
break
fi
done
# ��ȡ������: hostname
while true; do
echo -n " [ 2]: hostname [ ${tmp_
hostname} ]: "
read hostname
hostname=${hostname:-${tmp_hostname}}
if test $hostname; then
break
fi
done
# ��ȡ�û���: usernums
while true; do
echo -n " [ 3]: usernums [ 5000
0;1m]: "
read usernums
usernums=${usernums:-5000}
if test $usernums; then
break
fi
done
#��ȡ��װ���ڣ�time
while true; do
echo -n " [ 4]: time [ ${tmp_time
} ]: "
read time
time=${time:-${tmp_time}}
if test $time; then
break
fi
done
#��ȡģ�飺 module
while true; do
echo -n " [ 5]: module [ ${tmp_mo
dule}]: "
read module
module=${module:-${tmp_module}}
if test $module; then
break
fi
done
#��ȡ����ip: ip
while true; do
echo -n " [ 6]: ip [ 127.0.0.1
]: "
read ip
ip=${ip:-"127.0.0.1"}
if test $ip; then
break
fi
done
# ��ȡ���кţ�license
while true; do
echo -n " [ 7]: license [ NULL
]: "
read license
if test $license; then
break
fi
done
time=`echo $time|sed -e 's///g'`
sys_dn="cn=eYouAdmin,o=${me}"
rootpw="aaaaa"
# �滻 /var/eyou/etc/eyou_smtpd_config �е�һЩ ���� ��ֵ
if test -e $CFG_SMTPD_CONF_EYOU; then
sed -e "s/^me.*/me ${me}/g" $CFG_SMTPD_CONF
_EYOU | /
sed -e "s/^hostname.*/hostname ${hostname}/g" | /
sed -e "s/^usernums.*/usernums ${usernums}/g" | /
sed -e "s/^license.*/license ${license}/g" | /
sed -e "s/^time.*/time ${time}/g" | /
sed -e "s/^module.*/module ${module}/g" | /
sed -e "s/^ip.*/ip ${ip}/g" | /
sed -e "s/^o_value.*/o_value ${me}/g" | /
sed -e "s/^sys_pw.*/sys_pw ${rootpw}/g" | /
sed -e "s/^sys_dn.*/sys_dn ${sys_dn}/g" > $
CFG_SMTPD_CONF
# ��cat ��֤��Ȩ�
chown nobody:nobody $CFG_SMTPD_CONF
else
echo " [ERROR]: Can not find ${CFG_SMTPD_CONF_EYOU}. [
EXIT]"
exit 1
fi
if test -e $CFG_LDAP_EYOU; then
sed -e "s/eyou.com/${me}/g" $CFG_LDAP_EYOU | /
sed -e "s/aaaaa/${rootpw}/g" > $CFG_LDAP;
else
echo " [ERROR]: Can not find ${CFG_LDAP_EYOU}. [EX
IT]"
exit 1
fi
cp $DBD_CONFIG_DEFAULT $DBD_CONFIG
cp $FILE_HTTPD $FILE_HTTPD_EYOU
if test -e $FILE_HTTPD_EYOU; then
sed -e "s/ent7.eyou.com/${me}/g" $FILE_HTTPD_EYOU > $FILE_HTTPD
else
echo " [ERROR]: Can not find ${FILE_HTTPD_EYOU}. [
EXIT]"
exit 1
fi
touch .install.9
echo " [DONE]"
fi
echo "" >>${LOGFILE}
echo "-----------------------------Step 9---------------------------------" >>${
LOGFILE}
#����pop��smtp��ȫ����ʱ����Ҫ��˽Կ��֤�
echo -n "[Step 9]: Generate Certific
ate...... "
sh gen-cert.sh
echo "[DONE]"
#����ϵͳ
echo -n "[Step 10]: Start Eyou Mail System......
"
/var/eyou/etc/eyoumail start 1>>${LOGFILE} 2>>${LOGFILE}
sleep 3
echo "[DONE]"
#��ʼ�� LDAP
echo -n "[Step 11]: Initial LDAP...... "
/var/eyou/sbin/init_ldap 1>>${LOGFILE} 2>>${LOGFILE}
echo "[DONE]"
#��ʼ��mysql
echo -n "[Step 12]: Initial MYSQL......
"
sh init_sql.sh
echo "[DONE]"
# ��װ���
#sleep 200 #FOR DEBUG
touch $CFG_INSTALLED
rm -f .install.*
echo "Install Finished"
echo ""
#��eyoumail���ӵ�init.d�
ln -s /var/eyou/etc/eyoumail /etc/rc.d/init.d/
/sbin/chkconfig --level=35 eyoumail on
/sbin/chkconfig --level=046 eyoumail off
/sbin/chkconfig --level=35 sendmail off
/sbin/chkconfig --level=046 sendmail on
if [ ! -f /etc/logrotate.d/httpd ]; then
cp httpd /etc/logrotate.d
fi
exit 1
mail:/home/chen/download/eyou_system/linux_binary #