安装系统环境(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
为了支持能够访问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_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
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