postfix +dovecot+postfixadmin+lamp

上一篇 / 下一篇  2012-08-29 16:53:07

安装系统环境(centos 6.2)
首先安装 yum -y  install gcc gcc-c++          gcc编译插件
         yum -y  install make                 make 插件
         yum -y  install wget                 wget 插件

apache 安装(httpd-2.4.2.tar.gz)<apache 的安装需要先安装3个插件,apr、apr-util、pcre>

1.首先安装apr-1.4.5.tar.gz 插件
   tar zxvf apr-1.4.5.tar.gz
   cd apr-1.4.5
   ./configure  --prefix=/usr/local/apr
   make && make install

2.安装apr-util.1.4.1.tar.gz 插件(如果安装1.3.x 版本以下的插件,在apache安装时还是会提示无法发现)
   tar zxvf apr-util.1.4.1.tar.gz
   cd apr-util.1.4.1
   ./configure --wiht-apr=/usr/local/apr
   make && make install

3.安装pcre-8.30.tar.gz
   tar zxvf pcre-8.30.tar.gz
   cd pcre-8.30
   ./configure --prefix=/usr/local/pcre
   make && make install

4.安装apache 
  tar zxvf httpd-2.4.2.tar.gz
  cd httpd-2.4.2
  ./configure --prefix=/usr/local/apache --enable-module=so --with-pcre=/usr/local/pcre
  make && make install

 apache测试
 关闭防火墙service iptables stop 
 修改selinux  进入config配置文件中selinux=disabled
 重启apache /usr/local/apache/bin/apachectl start
 然后在客户端访问,出现It works 表示安装成功   

**********************************************************************************************************
**********************************************************************************************************

mysql安装(mysql-5.5.9.tar.gz)

安装mysql之前需要先安装cmake
1.安装cmake-2.8.4.tar.gz
 tar zxvf cmake-2.8.4.tar.gz
 cd cmake-2.8.4
 ./configure 
 make && make install

2.安装ncurses-devel(如果不装该插件,在mysql编译时会提示Could NOT find Curses )
 yum install ncurses-devel

3.安装mysql
 tar zxvf mysql-5.5.9.tar.gz
 cd mysql-5.5.9
 groupadd mysql
 useradd -g mysql mysql
 mkdir /usr/local/mysql
 mkdir /usr/local/mysql/data 

 cmake . \
 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \
 -DMYSQL_DATADIR=/usr/local/mysql/data \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
 -DMYSQL_TCP_PORT=3306 \
 -DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \
 -DMYSQL_USER=mysql \
 -DWITH_DEBUG=0
 make && make install
 /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data (初始化数据库
 cp mysql/support-files/my-large.cnf  /etc/my.cnf (mysql的配置文件)
 cp support-files/mysql.server /etc/init.d/mysqld  (mysql启动脚本)
 chmod 755 /etc/init.d/mysqld (修改权限)
 chown -R mysql:mysql /usr/local/mysql(修改权限)

 最后启动数据库 /etc/init.d/mysqld start
 
注:mysql 数据库安装时先配置,然后进行权限的分组,这样才不会出现问题

***********************************************************************************************************
***********************************************************************************************************

php安装(php-5.3.6.tar.bz2)
php安装时需要先安装几个组件(gettext、libpng、jpeg、freetype、libxml、zlib、curl)
1.安装jpegsrc.v8b.tar.gz
 mkdir /usr/local/jpeg
 mkdir -p /usr/local/jpeg/bin
 mkdir -p /usr/local/jpeg/lib
 mkdir -p /usr/local/jpeg/include
 mkdir -p /usr/local/jpeg/man
 mkdir -p /usr/local/jpeg/man1
 mkdir -p /usr/local/jpeg6man/man1

 tar zxvf jpegsrc.v8b.tar.gz
 cd jpeg.8b
 ./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
 make && make install

2.安装zlib(这里选用系统自带的) 
 yum install zlib
 yum install zlib-devel

3.安装gettext-0.18.1.1.tar.gz
  tar zxvf gettext-0.18.1.1.tar.gz
  cd gettext-0.18.1.1
  ./configure --prefix=/usr/local/gettext
  make && make install

4.安装libpng-1.4.4.tar.gz
  tar zxvf libpng-1.4.4.tar.gz
  cd libpng-1.4.4
  ./configure --prefix=/usr/local/libpng
  make install 

5.安装freetype-2.4.3.tar.gz
  tar zxvf freetype-2.4.3.tar.gz
  cd freetype-2.4.3
  ./configure =/usr/local/freetype 
   make && make install

6.安装 gd-2.0.35.tar.gz 
  tar zxvf gd-2.0.35.tar.gz 
  cd gd-2.0.35
  ./configure --prefix=/usr/local/gd -with-jpeg=/usr/local/jpeg/ --with-png=/usr/local/libpng --with-zlib --with-freetype=/usr/local/freetype
  make && make install 

7.安装libxml
 yum install libxml2
 yum install libxml2-devel

8.安装php-5.3.6.tar.bz2
  tar jxvf php-5.3.6.tar.bz2
  cd php-5.3.6
  ./configure --prefix=/usr/local/usr/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-freetype=/usr/local/freetype 
  --with-png=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-gettext=/usr/local/gettext --with-gd=/usr/local/gd --with-curl --with-libxml2
  --enable-mbstring --enable-so
  make && make install
  
  记住make test一下

 
 为了支持能够访问php文件,需要在/usr/local/apache/htdocs/httpd.conf配置中添加
     AddType application/x-httpd-php .php .phtml
     AddType application/x-httpd-php-source .phps  

 重启一下apache,测试一下php是否安装成功
  /usr/local/apache/bin/apachectl stop 
  /usr/local/apache/bin/apachectl start
 
***********************************************************************************************************
***********************************************************************************************************
postfixadmin安装(postfixadmin-2.3.5.tar.gz)

1.首先为postfix在mysql数据库中添加一个用户
/usr/local/mysql/bin/mysql -u root -p
mysql>create database postfix;
mysql>grant all privileges on postfix.* to postfix@localhost identified by 'postfix';
mysql>flush privileges;

2.安装postfixadmin
 tar zxvf postfixadmin-2.3.5.tar.gz
 mv postfixadmin-2.3.5 /usr/local/apache/htdocs/postfixadmin   (我是将postfixadmin放在apache的htdocs目录下)
 cd /usr/local/apache/htdocs/postfixadmin
 cp config.inc.php config.inc.php.bak (先将config.inc.php备份一下)
 vi config.inc.php (修改配置文件)
$CONF['configured'] = true;
$CONF['default_language'] = 'cn'; ###让postfixadmin 支持中文
$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'postfix';
$CONF['database_name'] = 'postfix';
$CONF['domain_in_mailbox'] = 'yes';
$CONF['encrypt'] = 'md5';
 
访问postfixadmin  http://168.192.122.31/postfixadmin 检测相关创建是否加载成功

如果页面出现该提示信息,你需要安装一下imap插件
Warning: Depends on: IMAP functions - NOT FOUND
To install IMAP support, install php5-imap
Without IMAP support, you won't be able to create subfolders when creating mailboxes. 

安装imap插件(imap.tar.Z)
yum -y install openssl openssl-devel pam pam-devel(安装依赖包)
tar -zxvf imap.tar.Z
cd imap-2007f 
make lnp EXTRACFLAGS="-fPIC -I/usr/include/openssl" IP6=4 (服务器的系统是X86_64的,需要make这句话否则安装时会报错)
echo "set disable-plaintext nil" > /etc/c-client.cf
mkdir /usr/local/imap
mkdir /usr/local/imap/include
mkdir /usr/local/imap/lib
chmod -R 077 /usr/local/imap
cp imapd/imapd /usr/sbin
cp c-client/*.h /usr/local/imap/include/
cp c-client/*.c /usr/local/imap/lib/
cp c-client/c-client.a /usr/local/imap/lib/libc-client.a
cd /home/jdrc/php-5.3.6/ext/imap (进入php源文件中的ext目录下的imap目录)
/usr/local/php/bin/phpize (执行一下phpize) phpize文件在php安装目录下的bin文件中
./configure --with-php-config=/usr/local/php/bin/php-config --with-imap-ssl --with-imap=/usr/local/imap
make && make install

编辑php.ini
改magic_quotes_gpc=off
加入extension=“imap.so”
重启apache 

1.打开http://122.224.97.226/postfix/setup.php就可以开始postfixadmin的安装了,安装完后可以进行添加域和用户的操作
2.设置setup密码 (如装了php5-imap还是提示无imap,则直接改掉setup.php里的变为if ( $f_imap_open == 0) 跳过检查)
3.打开postfixadmin配置文件config.inc.php,找到$CONF['setup_password'] =‘changme’这一行,把值改为刚才setup生成的加密密码,如
“84ab1a59d0a50933fffb7cf2c3483ac9:65a5b14ab41e35c53c85f6806eb1182765ecf866”
4.输入管理员的邮箱 和密码点击 Add Admin 按扭

最后打开http://122.224.97.226/postfix/login.php即可登录进行相关邮件管理的操作
*********************************************************************************************************
*********************************************************************************************************

安装postfix(postfix-2.5.5.tar.gz) 
yum install db*-devel
groupadd -g 89 postfix
useradd -u 89 -g postfix -s /sbin/nologin -d /dev/null postfix
groupadd -g 90 postdrop
tar zxvf postfix-2.5.5.tar.gz
cd postfix-2.5.5
make -f Makefile.init makefiles 'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/ -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\"dovecot\"'
'AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm'  (-I/usr/local/mysql/include/  -L/usr/local/mysql/lib 该路径一定不要写错了,否则安装时会报错 )
make && make install

cd /etc/postfix
mv main.cf main.cf.bak
touch main.cf
vi main.cf

command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
mail_owner = postfix
mailbox_size_limit = 209715200
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
message_size_limit = 52428800
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
unknown_local_recipient_reject_code = 550
mydomain = lab
myhostname = localhost.lab
mynetworks = 0.0.0.0/0
myorigin = $mydomain

###########################################
virtual_alias_maps = mysql:/etc/postfix/mysql/mysql_virtual_alias_maps.cf
virtual_gid_maps = static:89  (用户组的id)
virtual_mailbox_base = /data/mailbox/
virtual_mailbox_domains = mysql:/etc/postfix/mysql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_maps.cf
virtual_transport = virtual
virtual_uid_maps = static:89  (用户的id)

###########################################
message_size_limit = 52428800
mailbox_size_limit = 209715200
virtual_mailbox_limit = 209715200
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_overquota_bounce = yes

##########################################
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = /var/run/dovecot/auth-client(该路径来源于dovecot文件中,后面dovecot会有相关提示)
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks,
                                permit_sasl_authenticated,
                                reject_invalid_hostname,
                                reject_non_fqdn_hostname,
                                reject_unknown_sender_domain,
                                reject_non_fqdn_sender,
                                reject_non_fqdn_recipient,
                                reject_unknown_recipient_domain,
                                reject_unauth_pipelining,
                                reject_unauth_destination
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain =
smtpd_banner = $myhostname
###########################################

mkdir /etc/postfix/mysql
cd /etc/postfix/mysql
touch mysql_virtual_alias_maps.cf mysql_virtual_domains_maps.cf mysql_virtual_mailbox_maps.cf mysql_virtual_mailbox_limit_maps.cf

vi mysql_virtual_alias_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address

vi mysql_virtual_domains_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = domain
select_field = description
where_field = domain

vi mysql_virtual_mailbox_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username

vi mysql_virtual_mailbox_limit_maps.cf
user = postfix
password = postfix
hosts = localhost
dbname = postfix
table = mailbox
select_field = quota
where_field = username

重启postfix  /usr/sbin/postfix restart
************************************************************************************************
************************************************************************************************
dovecot 安装的dovecot-1.2.9.tar.gz
yum install pam*   
mkdir -p /data/mailbox
chown -R postfix.postfix /data/mailbox
useradd -d /dev/null -s /sbin/nologin dovecot
tar zxvf dovecot-1.2.9.tar.gz
cd dovecot-1.2.9
./configure --prefix=/usr/local/dovecot --sysconfdir=/etc/dovecot --with-sql --with-sql-drivers --with-pam --with-mysql 
CPPFLAGS=-I/usr/local/mysql/include/mysql LDFLAGS=-L/usr/local/mysql/lib/mysql
make && make install

cd /etc/dovecot  
cp dovecot-example.conf dovecot.conf
vi dovecot.conf 

protocols=imap imaps pop3 pop3s

listen=*

disable_plaintext_auth = no

ssl= no

auth_debug = yes

log_path = /var/log/pop3.log

mail_location =maildir:/data/mailbox/%u
#mail_location = mbox:~/mail:INBOX=/var/mail/%u

pop3_uidl_format=%08Xu%08Xv

mail_uid = 89

mail_gid = 89

first_valid_uid = 89

auth default {

mechanisms = PLAIN LOGIN

passdb sql {

args = /etc/dovecot/dovecot-sql.conf

}

userdb sql {

args = /etc/dovecot/dovecot-sql.conf

}

socket listen {

client {

path = /var/run/dovecot/auth-client (1.该路径和postfix目录下的main.cf 文件中的smtpd_sasl_path保持一致2.在/var/run 目录下创建一个dovecot文件,否则在启动dovecot时会报错)

mode = 0660

user = postfix

group = postfix

}

}

}


cp dovecot-sql-example.conf dovecot-sql.conf

vi dovecot-sql.conf   /修改dovecot-sql文件     

driver = mysql

connect = host=localhost dbname=postfix user=postfix password=postfix

default_pass_scheme = MD5 

###这里修改为 MD5 是为了与 postfixadmin 想符合,不然验证不过去总提示密码错误!

password_query = SELECT password FROM mailbox WHERE username = '%u'

user_query = SELECT maildir, 89 as uid, 89 as gid FROM mailbox WHERE username = '%u'

/usr/local/dovecot/sbin/dovecot



TAG: postfix lamp dovecot postfixadmin

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 6239
  • 日志数: 10
  • 建立时间: 2011-08-02
  • 更新时间: 2012-12-05

RSS订阅

Open Toolbar