用到的软件:
postfix
postgresql
dovecot
clamav
spamassion
postfixadmin
roundcube
一、安装并初始化postgresql数据库:
1.安装
server:/root# pkg_add postgresql-server
2.初始化
server:/root# su - _postgresql
server:/var/postgresql$ mkdir /var/postgresql/data
server:/var/postgresql$ initdb -D /var/postgresql/data -U postgres -A md5 -E UNICODE -W
The files belonging to this database system will be owned by user "_postgresql".
This user must also own the server process.
The database cluster will be initialized with locale C.
The default text search configuration will be set to "english".
fixing permissions on existing directory /var/postgresql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 40
selecting default shared_buffers ... 28MB
creating configuration files ... ok
creating template1 database in /var/postgresql/data/base/1 ... ok
initializing pg_authid ... ok
Enter new superuser password:
Enter it again:
setting password ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... not supported on this platform
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
Success. You can now start the database server using:
postgres -D /var/postgresql/data
or
pg_ctl -D /var/postgresql/data -l logfile start
3.如想在其它机器上对数据库进行操作(比如pgadmin工具,可到http://www.pgadmin.org/download/下载对应操作系统的版本)
应做如下配置
server:/var/postgresql/data$ vi postgresql.conf
确保有如下内容
listen_addresses = '*'
server:/var/postgresql/data$ vi pg_hba.conf
确保有如下内容
host all all 192.168.1.0/24 md5
4.启动postgresql
server:/var/postgresql$ /usr/local/bin/pg_ctl start -D /var/postgresql/data -l /var/postgresql/logfile
server starting
5.添加用于管理postfix库的用户
server:/var/postgresql$ createuser postfixdbm -U postgres
Password:
server:/var/postgresql$
注:9.2.3版的postgresql和以前有点不一样,这里不会提示你是否建超级用户等信息,直接建一个普通用户
可用查看用户信息
server:/var/postgresql$psql -U postgres
Password for user postgres:
psql (9.2.3)
Type "help" for help.
postgres=# \du
List of roles
Role name | Attributes | Member of
------------+------------------------------------------------+-----------
postfixdbm | | {}
postgres | Superuser, Create role, Create DB, Replication | {}
postgres=# \d
6.创建postfix库,-O表示库被用户postfixdbm所有
server:/var/postgresql$ createdb -O postfixdbm -E UNICODE postfixdb -U postgres
Password:
server:/var/postgresql$ psql -U postgres
Password for user postgres:
psql (9.1.4)
Type "help" for help.
postgres=# \d
No relations found.
postgres=# \l
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
-----------+------------+----------+-----------+-------+-----------------------
postfixdb | postfixdbm | UTF8 | C | C |
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres
: postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres
: postgres=CTc/postgres
(4 rows)
postgres=# ALTER USER postfixdbm with password 'yourpasswd';
ALTER ROLE
postgres=# \q
server:/var/postgresql$