Postfix邮件系统安装手册
【IT168 服务器学院】参照别人的文章,原文已经忘记是哪篇了
Postfix邮件系统安装手册(MySQL+IGENUS+TLS+QUOTA)
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中安装 (注意client和server的一致性,否则怕有麻烦,我就被4.1和3.23累坏过:()
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