LINUX

linux上安装基于postfix的全功能邮件服务器(1)

日期:2015/6/28来源: IT猫扑网

  所用软件包:

  Postfix-2.4.5

  mysql-5.0.45

  Sasl-2.1.22

  DB-4.5.20

  Openssl-0.98e

  httpd-2.2.4

  php-5.2.3

  courier-authlib-0.59.3

  courier-imap-4.1.3

  Extmail-1.0.2

  Extman-0.2.2

  maildrop-2.0.4

  clamav-0.91.2

  amavisd-new

  SpamAssassin-3.2.3

  一、安装mysql-5.0.45

  #groupadd mysql

  #useradd -g mysql -s /bin/false -M mysql

  #tar zxvf mysql-5.0.45.tar.gz

  #cd mysql-5.0.45

  #./configure \

  --prefix=/usr/local/mysql \

  --enable-thread-safe-client \

  --enable-local-infile \

  --with-charset=gbk \

  --with-extra-charset=all \

  --with-low-memory

  make

  make install

  cp support-files/my-medium.cnf /etc/my.cnf

  cd /usr/local/mysql

  chown -R mysql .

  chgrp -R mysql .

  bin/mysql_install_db --user=mysql

  chown -R root .

  chown -R mysql var

  bin/mysqld_safe --user=mysql &

  cd /usr/local/src/mysql-5.0.45

  cp support/mysql.server /etc/rc.d/init.d/mysqld

  chmod 700 /etc/rc.d/init.d/mysqld

  加入自动启动服务队列:

  chkconfig --add mysqld

  chkconfig --level 345 mysqld on

  测试

  /usr/local/mysql/bin/mysqladmin ping

  /usr/local/mysql/bin/mysqladmin version

  /usr/local/mysql/bin/mysql

#p#副标题#e#

  添加root密码

  #/usr/local/mysql/bin/mysqladmin -uroot -p 旧密码 password 新密码

  说明:此时mysql的root用户的密码为空

  配置库文件搜索路径

  # echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf

  # ldconfig -v

  添加/usr/local/mysql/bin到环境变量PATH中

  #export PATH=$PATH:/usr/local/mysql/bin

  二、安装openssl-0.9.8e

  tar zxvf openssl-0.9.8e.tar.gz

  cd openssl-0.9.8e

  ./config shared zlib

  make

  make test

  make install

  mv /usr/bin/openssl /usr/bin/openssl.old

  mv /usr/include/openssl /usr/include/openssl.old

  rm /usr/lib/libssl.so

  ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

  ln -s /usr/local/ssl/include/openssl /usr/include/openssl

  ln -sv /usr/local/ssl/lib/libssl.so.0.9.8 /usr/lib/libssl.so

  配置库文件搜索路径

  # echo "/usr/local/ssl/lib" >> /etc/ld.so.conf

  # ldconfig -v

  检测安装结果

  # openssl version

  OpenSSL 0.9.8e 23 Feb 2007

  三、安装sasl-2.1.22

  tar zxvf cyrus-sasl-2.1.22.tar.gz

  cd cyrus-sasl-2.1.22

  ./configure --prefix=/usr/local/sasl2 \

  --disable-gssapi \

  --disable-anon \

  --disable-sample \

  --disable-digest \

  --enable-plain \

  --enable-login \

  --enable-sql \

  --with-mysql=/usr/local/mysql \

  --with-mysql-includes=/usr/local/mysql/include/mysql --with-mysql-libs=/usr/local/mysql/lib/mysql --with-authdaemond=/usr/local/courier-authlib/var/spool/authdaemon/socket

  make

  make install

  如果出现下面的错误:

  auth_getpwent.c:48:20: des.h: No such file or directory

  make[3]: *** [auth_getpwent.o] Error 1

  make[3]: Leaving directory `/tmp/cyrus-sasl-2.1.21/saslauthd'

  make[2]: *** [all] Error 2

  make[2]: Leaving directory `/tmp/cyrus-sasl-2.1.21/saslauthd'

  make[1]: *** [all-recursive] Error 1

  make[1]: Leaving directory `/tmp/cyrus-sasl-2.1.21'

  make: *** [all] Error 2

  修改/tmp/cyrus-sasl-2.1.21/saslauthd/Makefiles内的变量CFLAGS添加-I/opt/openssl/include/openssl

  或者直接

  mail~#cp /tmp/cyrus-sasl-2.1.21/mac/libdes/public/des.h /tmp/cyrus-sasl-2.1.21/

#p#副标题#e#

  关闭原有的sasl:

  # mv /usr/lib/libsasl2.a /usr/lib/libsasl2.a.OFF

  # mv /usr/lib/libsasl2.la /usr/lib/libsasl2.la.OFF

  # mv /usr/lib/libsasl2.so.2.0.19 /usr/lib/libsasl2.so.2.0.19.OFF

  # mv /usr/lib/sasl2 /usr/lib/sasl2.OFF

  # rm /usr/lib/libsasl2.so

  # rm /usr/lib/libsasl2.so.2

  # ln -sv /usr/local/sasl2/lib/* /usr/lib

  postfix 2.3以后的版本会分别在/usr/local/lib和/usr/local/include中搜索sasl库文件及头文件,故还须将其链接至此目录中:

  # ln -sv /usr/local/sasl2/lib/* /usr/local/lib

  # ln -sv /usr/local/sasl2/include/sasl/* /usr/local/include

  创建运行时需要的目录并调试启动

  # mkdir -pv /var/state/saslauthd

  # /usr/local/sasl2/sbin/saslauthd -a shadow pam -d

  启动并测试

  # /usr/local/sasl2/sbin/saslauthd -a shadow pam

  # /usr/local/sasl2/sbin/testsaslauthd -u root -p root用户密码

  配置库文件搜索路径

  # echo "/usr/local/sasl2/lib" >> /etc/ld.so.conf

  # echo "/usr/local/sasl2/lib/sasl2" >> /etc/ld.so.conf

  # ldconfig -v

  开机自动启动

  # echo "/usr/local/sasl2/sbin/saslauthd -a shadow pam">>/etc/rc.local

  四、安装BerkeleyDB

  #tar zxvf db-4.5.20.tar.gz

  #cd db-4.5.20/build_unix

  #../dist/configure --prefix=/usr/local/BerkeleyDB

  #make

  #make install

  修改相应的头文件指向

  # mv /usr/include/db4 /usr/inculde/db4.OFF

  # rm /usr/include/db_cxx.h

  # rm /usr/include/db.h

  # rm /usr/include/db_185.h

  # ln -sv /usr/local/BerkeleyDB/include /usr/include/db4

  # ln -sv /usr/local/BerkeleyDB/include/db.h /usr/include/db.h

  # ln -sv /usr/local/BerkeleyDB/include/db_cxx.h /usr/include/db_cxx.h

  配置库文件搜索路径

  # echo "/usr/local/BerkeleyDB/lib" >> /etc/ld.so.conf

  # ldconfig -v

  五、安装httpd-2.2.4

  #tar jxvf httpd-2.2.4.tar.bz2

  #cd httpd-2.2.4

  #./configure \

  --prefix=/usr/local/Apache \

  --sysconfdir=/etc/httpd \

  --enable-so \

  --enable-ssl \

  --with-ssl=/usr/local/ssl \

  --enable-track-vars \

  --enable-rewrite \

  --with-zlib \

  --enable-mods-shared=most \

  --enable-suexec \

  --with-suexec-caller=daemon

  #make

  #make install

  #echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.local(系统启动时服务自动启动)

#p#副标题#e#

  六、安装php-5.2.3

  #jpeg目录

  mkdir /usr/local/jpeg6

  mkdir /usr/local/jpeg6/bin

  mkdir /usr/local/jpeg6/lib

  mkdir /usr/local/jpeg6/include

  mkdir /usr/local/jpeg6/man

  mkdir /usr/local/jpeg6/man/man1

  安装zlib

  tar xzvf zlib-1.2.2.tar.gz

  cd zlib-1.2.2

  #不要用--prefix自定义安装目录,影响gd的安装

  ./configure

  make

  make install

  安装freetype

  tar xzvf freetype-2.1.5.tar.gz

  cd freetype-2.1.5

  ./configure --prefix=/usr/local/freetype

  make

  make install

  安装libpng

  tar xzvf libpng-1.2.5.tar.gz

  #不要用--prefix自定义安装目录,影响gd的安装

  cd libpng-1.2.5

  cp scripts/makefile.std makefile

  make test

  make install

  安装jpeg

  tar xzvf jpegsrc.v6b.tar.gz

  ./configure --prefix=/usr/local/jpeg6 --ena

相关文章

相关下载

网友评论

我要评论...
    没有更早的评论了
    取消