1.分区: 1G / 1G swap 3G /var 邮件存储在这里所以设置比较大 1G /tmp 1G /home 3G /usr 剩下 /data 2.用户 添加cnhawk用户,口令另行约定,cnhawk用户需加入wheel组,root口令另行约定 3. packages安装 选择最小化安装 选中 在custom选项里选中 compat3x compat4x man ports 4.rc.conf 设定: sendmail_enable="NONE" 5. 安装mysql A.可以在ports中安装 Cd /usr/ports/databases/mysql323-server Make install 安装的mysql的版本是mysql-3.23.58 B.以下是手动安装mysql-3.23.55 1)添加mysql用户组及mysql用户 hawk# pw groupadd mysql hawk# pw useradd mysql -g mysql -s /nonexistent 2)配置安装 hawk# tar zxvf mysql-3.23.55.tar.gz hawk# cd mysql-3.23.55 hawk# ./configure --prefix=/usr/local/mysql --with-low-memory --with-charset=gb2312 --without-debug hawk# make hawk# make install hawk# scripts/mysql_install_db hawk# chown -R root /usr/local/mysql hawk# chown -R mysql /usr/local/mysql/var hawk# chgrp -R mysql /usr/local/mysql hawk# cp support-files/my-medium.cnf /etc/my.cnf hawk# ln -s /usr/local/mysql/bin/safe_mysqld /usr/local/bin/safe_mysqld hawk# ln -s /usr/local/mysql/bin/mysqladmin /usr/local/bin/mysqladmin hawk# ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql hawk# ln -s /usr/local/mysql/lib/mysql /usr/local/lib/mysql 3)编辑用户数据库 以下是建库的语句 use mysql; #======================postfix================================== INSERT INTO user (host,user,password) VALUES('localhost','postfix',''); update user set password=password('hawk') where User='postfix'; FLUSH PRIVILEGES; GRANT ALL ON mail.* TO postfix@localhost IDENTIFIED BY "hawk"; #======================courier================================== INSERT INTO user (host,user,password) VALUES ('localhost','courier',''); update user set password=password('hawk') where User='courier'; FLUSH PRIVILEGES; GRANT select,insert,update on mail.* TO courier; #=======================MAIL.SQL================================= #Create mail database CREATE DATABASE mail; use mail; #Create the aliases table CREATE TABLE aliases ( alias varchar(255) NOT NULL default '', rcpt varchar(255) default NULL, PRIMARY KEY (alias) ) TYPE=MyISAM; #Create the transport table CREATE TABLE transport ( domain char(128) NOT NULL default '', transport char(128) NOT NULL default '', UNIQUE KEY domain (domain) ) TYPE=MyISAM; #Create thevirtua_users table CREATE TABLE virtual_users ( unique_id int(32) unsigned NOT NULL auto_increment, id char(128) NOT NULL default '', password char(128) default NULL, uid int(10) unsigned default '2003', gid int(10) unsigned default '2003', home char(255) default NULL, maildir char(255) default NULL, date_add date default NULL, time_add time default NULL, domain char(128) default NULL, name char(255) default NULL, imapok tinyint(3) unsigned default '1', quota char(255) default '10485760', PRIMARY KEY (id), KEY unique_id (unique_id) ) TYPE=MyISAM; #Create address table //该部分是为使用igenus而增加的。 CREATE TABLE address ( id int(32) unsigned NOT NULL auto_increment, unique_id int(32) NOT NULL default '0', name char(255) NOT NULL default ' ', email char(255) NOT NULL default ' ', PRIMARY KEY (id), key unique_id (unique_id) ) TYPE=MyISAM; #========================================================== 4)设置自启: hawk# edit /usr/local/etc/rc.d/mysqld.sh 示例:mysqld.sh #!/bin/sh case "$1" in start) if [ -x /usr/local/mysql/bin/safe_mysqld ]; then /usr/local/mysql/bin/safe_mysqld --user=mysql & > /dev/null && echo -n ' mysqld' fi ;; stop) /usr/bin/killall mysqld > /dev/null 2>&1 && echo -n ' mysqld' ;; *) echo "" echo "Usage: `basename $0` { start | stop }" echo "" exit 64 ;; esac hawk# chmod 755 /usr/local/etc/rc.d/mysqld.sh 6.安装cyrus-sasl 1)安装cyrus-sasl-2.1.12 hawk# tar -zxvf cyrus-sasl-2.1.12.tar.gz hawk# cd cyrus-sasl-2.1.12 hawk# ./configure --disable-sample --disable-pwcheck --disable-cram --disable-digest --disable-krb4 --disable-gssapi --disable-anon --with-saslauthd=/var/run/saslauthd --enable-plain --enable-login hawk# make hawk# make install hawk# ln -s /usr/local/lib/sasl2 /usr/lib/sasl2 2)配置sasl的lib库 hawk# edit /etc/defaults/rc.conf (在ldconfig_paths="/usr/loca/lib后面加上/usr/local/lib/sasl2") hawk# shutdown -r now(使其生效) 3)运行saslauthd(如果使用pam直接认证,则该步骤可以省略) 示例saslauthd.sh #!/bin/sh case "$1" in start) if [ -x /usr/local/sbin/saslauthd ]; then /usr/local/sbin/saslauthd -a pam > /dev/null && echo -n ' saslauthd' fi ;; stop) /usr/bin/killall saslauthd > /dev/null 2>&1 && echo -n ' saslauthd' ;; *) echo "" echo "Usage: `basename $0` { start | stop }" echo "" exit 64 ;; Esac hawk# mkdir /var/run/saslauthd hawk# edit /usr/local/etc/rc.d/saslauthd.sh hawk# chmod 755 /usr/local/etc/rc.d/saslauthd.sh 4)准备postfix认证的配置文件 A)使用pam直接认证:
|