FreeBSD8.0下配置MySql+Postgresql+Apache+PHP+SVN+GD+Memcached
一、无关紧要的配置.硬盘划分方式:
01. 分区,开始安装系统; // OK
02. 配置相关选项; // OK
03. 第一次启动系统; // OK
04. 配置IP/hostname/FTP/SSH; // OK
05. Apache + PHP + SVN + Memcached + Memcache; // OK
06. 安装PostgreSQL; // OK
07. 安装MySql; // OK
08. WebMail;
一、硬盘划分.
/ 8G
/usr/ports/distfiles/ 10G
/work 160G
二、数据存放.
所有数据均放在/work下,其它地方只需要建立link即可.
系统安装方式:
最小化安裝 + Ports
基本配置:
============================================================================================================
1.FreeBSD指定ports下载地址.
MASTER_SITE_OVERRIDE=ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}
2.RamDisk.
vi /etc/fstab // 添加一行:md /tmp mfs rw,noatime,-s256M 0 0
3.光驱的使用.
mount /cdrom # 挂载光驱
umount /cdrom #
mount -t cd9660 /dev/acd0 /mnt # 挂载光盘
cp /dev/acd0 /home/my.iso # 制作ISO
id li # 查看用户id
sockstat # 查看端口所对应的程序
============================================================================================================
一、IP及路由配置.
vi /etc/rc.conf
ifconfig_le0="DHCP"
ifconfig_le0="inet 192.168.11.21 netmask 255.255.255.0"
ifconfig_le1="inet 192.168.18.21 netmask 255.255.255.0"
defaultrouter="192.168.18.2"
ifconfig le0 192.168.11.21
ifconfig le0 down
ifconfig le0 up
vi /etc/resolv.conf
nameserver 192.168.18.2
二、SSH的打開.
vi /etc/ssh/sshd_config
/etc/rc.d/sshd restart
三、FTP的配置.
/etc/ftpusers
/etc/inetd.conf
/etc/ftpchroot
/usr/libexec/ftpd -4DU
/etc/rc.d/sshd reload
/etc/rc.d/inetd restart
1、禁止登录用户列表. vi /etc/ftpusers
2、不知道是啥意思. vi /etc/inetd.conf 去掉第一行ftp前面的#号
3、指定用户登录后的目录(如果不指定则用户可到处乱走).
vi /etc/ftpchroot
root /
4、查看允许登录SSH的用户(FTP用户不允许登录,如只允许root用户登录,则在最后添加一行:AllowUsers root)
vi /etc/ssh/sshd_config
AllowUsers fang
AllowUsers li
AllowUsers root // root 可从任何地方登录
AllowUsers [email]admin@192.168.1.180[/email] // admin 可从192.168.1.180登录
5、添加FTP用户.
adduser
username : fang
Full name : fang
用户组 : ftp
6、开机启动ftp
vi /etc/rc.conf 加入 inetd_enable="YES"
N、使变更有效:重启ftp和sshd
/usr/libexec/ftpd -4DU
/etc/rc.d/sshd reload
/etc/rc.d/inetd restart
二、安装Postgresql.
引用
cd /work/soft/postgresql-8.4.2
./configure --prefix=/work/webServer/postgresql8.4.2 --without-readline --without-zlib
make
make install
adduser postgres
passwd postgres
mkdir -p /work/webServer/postgresql8.4.2/data
chown -R postgres /work/webServer/postgresql8.4.2
# 初始化数据库
su postgres
/work/webServer/postgresql8.4.2/bin/initdb -D /work/webServer/postgresql8.4.2/data
# 有必要的情况下可以修改
vi /work/webServer/postgresql8.4.2/data/postgresql.conf
listen_addresses = 'localhost' -> listen_addresses = '*'
# 有必要的情况下可以修改
vi /work/webServer/postgresql8.4.2/data/pg_hba.conf
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 password
# 启动数据库服务
su postgres
initdb -D /usr/local/pgsql/data
/work/webServer/postgresql8.4.2/bin/pg_ctl start -D /work/webServer/postgresql8.4.2/data
# 创建root用户,方便执行命令
/work/webServer/postgresql8.4.2/bin/psql -U postgres postgres
postgres=# create role root with superuser createdb createrole login; # 创建root用户
postgres=# alter user root with password '111111'; # 修改root用户密码
postgres=# ALTER USER postgres WITH PASSWORD '111111'; # 修改postgres用户密码
# 创建常用命令快捷方式
ln -s /work/webServer/postgresql8.4.2/bin/psql /usr/sbin/psql
ln -s /work/webServer/postgresql8.4.2/bin/createdb /usr/sbin/createdb
ln -s /work/webServer/postgresql8.4.2/bin/createuser /usr/sbin/createuser
ln -s /work/webServer/postgresql8.4.2/bin/pg_dump /usr/sbin/pg_dump
ln -s /work/webServer/postgresql8.4.2/bin/pg_ctl /usr/sbin/pg_ctl
# 创建表空间
mkdir -p /work/webServer/postgresql8.4.2/data/test/indexspace
mkdir -p /work/webServer/postgresql8.4.2/data/test/tablespace
chown -R postgres /work/webServer/postgresql8.4.2/data/data
/work/webServer/postgresql8.4.2/bin/psql -U postgres postgres
postgres=#CREATE TABLESPACE test_is OWNER test LOCATION '/home/db/test/indexspace';
postgres=#CREATE TABLESPACE test_ts OWNER test LOCATION '/home/db/test/tablespace';
三、安装MySql.
引用
====================================================== Ports安装 ======================================================
# 安装
cd /usr/ports/databases/mysql50-server/
make install clean
# 配置
# 第一句好像才是正确的
cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf
cp /usr/local/share/mysql/my-small.cnf /usr/local/etc/my.cnf // 不确认这句是否有效,之前是写放到这里的,后来使用了上面那一句
# 说明:服务器与apache在一起,在/usr/local/share/mysql下面有5个my-xxxx.cnf文件:
my-small.cnf 最小配置安装,内存<=64M,数据数量最少
my-large.cnf 内存=512M
my-medium.cnf 32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存
my-huge.cnf 1G<内存<2G,服务器主要运行mysql
my-innodb-heavy-4G.cnf 最大配置安装,内存至少4G
# 初始化
/usr/local/bin/mysql_install_db
chown -R mysql:mysql /var/db/mysql
/usr/local/bin/mysqld_safe -u mysql &
# 将mysql端口绑定到127.0.0.1主要因为该服务器只为本站提供服务,为了增加安全性,所以这样做。
vi /usr/local/etc/my.cnf
[mysqld]
bind_address=127.0.0.1
# 启动MySQL
/usr/local/etc/rc.d/mysql-server start
# 修改密码
/usr/local/bin/mysql // 默认没有密码,这一句就完全的OK了
/usr/local/bin/mysql -u root -p
grant all privileges on *.* to 'lizs'@'localhost' identified by "111111" with grant option;
grant all privileges on *.* to 'root'@'localhost' identified by "111111" with grant option;
FLUSH PRIVILEGES;
exit;
# 开机启动
mysql_enable="YES"
====================================================== 二进制安装 ======================================================
/usr/local/mysql/support-files/mysql.server start // 能启动
/usr/local/mysql/bin/mysqld_safe --user=mysql & // 一起无法启动,郁闷中
1、創建用戶: adduser -> mysql
2、鏈接.
mkdir -p /work/webService/mysql-5.1.37-freebsd7.0-i386
ln -s /work/webService/mysql-5.1.37-freebsd7.0-i386 /usr/local/mysql
3、進入目錄設置.
cd /usr/local/mysql
chmod -R 0777 /usr/local/mysql
chmod -R 0777 /work/webService/mysql-5.1.37-freebsd7.0-i386
chown -R mysql .
chgrp -R mysql .
// 下面这一步要执行一两次才成功,奇怪
./scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
// 没有这个会报提示
chown mysql:mysql /usr/local/mysql/my.cnf
chmod 644 /usr/local/mysql/my.cnf
./support-files/mysql.server start
./bin/mysqld_safe --user=mysql &
4、配置my.cnf,有必要的話.
cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf
5、配置登錄帳號密碼.
/usr/local/mysql/bin/mysql
grant all privileges on *.* to root@'%' identified by "111111" with grant option;
FLUSH PRIVILEGES;
exit;
6、开机启动.
/usr/local/mysql/support-files/mysql.server start
四、安装Apache.PHP.Memcached.
引用
====================================================== Ports安裝相關軟體 ======================================================
// 只適合於順序安裝
cd /usr/ports/www/apache22 // 如果需要SVN服務,則(這樣SVN才可以使用DBA): make WITH_BERKELEYDB=db4 install clean
cd /usr/ports/lang/php5 // 記得選擇Apache模塊,不然又要重新安裝嘿嘿
cd /usr/ports/lang/php5-extensions/
cd /usr/ports/databases/memcached/
cd /usr/ports/databases/pecl-memcache/
cd /usr/ports/devel/ZendOptimizer/ // 暫不安裝,這玩意能用上的可能性並不是很大
====================================================== 配置 Apache ======================================================
1、安裝配置.
vi /usr/local/etc/apache22/httpd.conf
ServerName 127.0.0.1:80
AddType application/x-httpd-php .php
LoadModule php5_module libexec/apache/libphp5.so // 如果這一行不存在也給加上
DirectoryIndex index.htm index.html index.php default.htm default.html default.php
2、开机启动.
apache22_enable="YES"
3、vi /boot/loader.conf
accf_data_load="YES"
accf_http_load="YES"
====================================================== 配置 PHP ======================================================
cp /usr/local/etc/php.ini-dist /usr/local/etc/php.ini
根據情況判斷是否需要配置php.ini
# GD庫安裝
cd /usr/ports/graphics/php5-gd/
# GD庫加載
vi /usr/local/etc/php/extensions.ini
extension=gd.so
/usr/local/etc/rc.d/apache22 restart
====================================================== 配置 memcached ======================================================
创建用户:memcached
adduser
ln -s /usr/local/lib/libevent-1.4.so.3 /usr/lib
/usr/local/bin/memcached -u memcached -f 1.25 -p 12345 -m 1m -v
/usr/local/bin/memcached -u memcached -f 1.25 -p 12346 -m 2m -v
/usr/local/bin/memcached -u memcached -f 1.25 -p 12347 -m 3m -v
/usr/local/bin/memcached -u memcached -f 1.25 -p 12348 -m 4m -v
/usr/local/bin/memcached -u memcached -f 1.25 -p 12349 -m 5m -v
/usr/local/bin/memcached -u memcached -f 1.25 -p 12345 -m 1m -d
/usr/local/bin/memcached -u memcached -f 1.25 -p 12346 -m 2m -d
/usr/local/bin/memcached -u memcached -f 1.25 -p 12347 -m 3m -d
/usr/local/bin/memcached -u memcached -f 1.25 -p 12348 -m 4m -d
/usr/local/bin/memcached -u memcached -f 1.25 -p 12349 -m 5m -d
/usr/local/sbin/httpd -k start
/usr/local/sbin/httpd -k restart
五、安装WebMail.
引用:这个是从网上复制下来,并没有测试成功,先临时存放一下.
这个是
[url]http://www.young21.cn/?p=32[/url]
cd /usr/ports/mail/postfix && make install celan // PCRE、SASL2、TLS、MYSQL、VDA、TEST
cd /usr/ports/mail/openwebmail && make install clean // QUOTA(邮箱配额功能)
cd /usr/ports/mail/vm-pop3d && make install clean
vi /etc/rc.conf
sendmail_enable=”YES”
sendmail_flags=”-bd”
sendmail_pidfile=”/var/spool/postfix/pid/master.pid”
sendmail_outbound_enable=”NO”
sendmail_submit_enable=”NO”
vi /usr/local/etc/postfix/main.cf
myhostname = mail.young21.cn
mydomain = mail.young21.cn
virtual_alias_maps=hash:/usr/local/etc/postfix/virtual
alias_maps=hash:/usr/local/etc/postfix/aliases
default_privs=nobody
allow_mail_to_commands = alias,forward,include
allow_mail_to_files = alias,forward,include
# 添加虚拟域,生成aliases.db
vi /usr/local/etc/postfix/virtual
mail.young21.cn anything
[email]admin@mail.young21.cn[/email] admin.mail.young21.cn
cd /usr/local/etc/postfix/
postmap virtual
vi /usr/local/etc/postfix/aliases
admin.mail.young21.cn:/var/spool/virtual/mail.young21.cn/admin
cd /usr/local/etc/postfix
postalias aliases
# 配置vm-pop3d并加入启动自动执行
cd /usr/local/etc/rc.d
mv vm-pop3d.sh.sample vm-pop3d.sh
# 配置openwebmail
vi /usr/local/www/cgi-bin/openwebmail/etc/sites.conf/mail.young21.cn
auth_module auth_vdomain.pl
auth_withdomain yes
mailspooldir /var/spool/virtual/mail.young21.cn
use_syshomedir no
use_homedirspools no
enable_autoreply no
enable_setforward no
enable_vdomain yes
# 域管理员
vdomain_admlist admin
vdomain_maxuser 100
vdomain_vmpop3_pwdpath /usr/local/etc/virtual
vdomain_vmpop3_pwdname passwd
vdomain_vmpop3_mailpath /var/spool/virtual
vdomain_postfix_aliases /usr/local/etc/postfix/aliases
vdomain_postfix_virtual /usr/local/etc/postfix/virtual
vdomain_postfix_postalias /usr/local/sbin/postalias
vdomain_postfix_postmap /usr/local/sbin/postmap
quota_module quota_du.pl
# 邮箱大小,100M
quota_limit 102400
quota_threshold 85
delmail_ifquotahit no
delfile_ifquotahit no
mkdir -p /var/spool/virtual/mail.young21.cn
chown nobody /var/spool/virtual/mail.young21.cn
chgrp mail /var/spool/virtual/mail.young21.cn
mkdir -p /usr/local/etc/virtual/mail.young21.cn
touch /usr/local/etc/virtual/mail.young21.cn/passwd
chmod 644 /usr/local/etc/virtual/mail.young21.cn/passwd
htpasswd /usr/local/etc/virtual/mail.young21.cn/passwd admin
chmod 755 /usr/local/www/cgi-bin/openwebmail/etc/users
sync
============================================================================================================
[url]http://bbs.chinaunix.net/thread-1631260-1-1.html[/url]
cd /usr/ports/mail/postfix && make install celan // PCRE、SASL2、TLS、MYSQL、VDA、TEST
cd /usr/ports/security/openssl/ && make install clean // 默认安装
cd /usr/ports/mail/maildrop/ && make WITH_AUTHLIB=yes install clean
pw group add vmail -g 1000
pw user add vmail -u 1000 -g 1000 -s /sbin/nologin -d /dev/null
mkdir -p /home/domains/extmail.org/test/Maildir/new
mkdir -p /home/domains/extmail.org/test/Maildir/cur
mkdir -p /home/domains/extmail.org/test/Maildir/tmp
chown -R vmail:vmail /home/domains/
chmod -R 700 /home/domains/
1、配置Postfix.
vi /etc/rc.conf // 开机启动
postfix_enable="YES"
vi /etc/aliases // 确保有如下一行:
postfix: root
替换掉系统带的sendmail程序:
mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
cp /usr/local/sbin/sendmail /usr/sbin/sendmail
vi /etc/periodic.conf,加入如下内容,禁掉sendmail的自动维护。
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"
执行如下命令
/usr/local/sbin/postalias /etc/aliases
/usr/local/sbin/postconf -e 'mydomain = extmail.org'
/usr/local/sbin/postconf -e 'myhostname = mail.extmail.org'
/usr/local/sbin/postconf -e 'myorigin = $mydomain'
/usr/local/sbin/postconf -e 'virtual_mailbox_base = /home/domains'
/usr/local/sbin/postconf -e 'virtual_uid_maps=static:1000'
/usr/local/sbin/postconf -e 'virtual_gid_maps=static:1000'
chown postfix:postfix /etc/opiekeys
执行如下命令对查询表进行配置
cp /usr/local/www/extman/docs/mysql_virtual_* /usr/local/etc/postfix/
/usr/local/sbin/postconf -e 'virtual_alias_maps = $alias_maps, mysql:/usr/local/etc/postfix/mysql_virtual_alias_maps.cf'
/usr/local/sbin/postconf -e 'virtual_mailbox_maps = mysql:/usr/local/etc/postfix/mysql_virtual_mailbox_maps.cf'
/usr/local/sbin/postconf -e 'virtual_mailbox_domains = mysql:/usr/local/etc/postfix/mysql_virtual_domains_maps.cf'
SMTP认证设置:
vi /usr/local/lib/sasl2/smtpd.conf
pwcheck_method:authdaemond
log_level:3
mech_list:PLAIN LOGIN
authdaemond_path:/var/run/authdaemond/socket
对postfix做如下配置使支持smtp认证:
/usr/local/sbin/postconf -e 'smtpd_sasl_auth_enable=yes'
/usr/local/sbin/postconf -e 'broken_sasl_auth_clients = yes'
/usr/local/sbin/postconf -e 'smtpd_sasl_local_domain = $myhostname'
postfix反垃圾设置:此处的反垃圾邮件只是在MTA级的一些预防垃圾邮件的设置,可根据实际情况以及自己的需要进行调整。
/usr/local/sbin/postconf -e 'smtpd_helo_required=yes'
/usr/local/sbin/postconf -e 'smtpd_delay_reject=yes'
/usr/local/sbin/postconf -e 'disable_vrfy_command=yes'
/usr/local/sbin/postconf -e 'smtpd_client_restrictions = check_client_access hash:/usr/local/etc/postfix/client_access'
/usr/local/sbin/postconf -e 'smtpd_helo_restrictions=reject_invalid_hostname,check_helo_access hash:/usr/local/etc/postfix/helo_access'
/usr/local/sbin/postconf -e 'smtpd_sender_restrictions = reject_non_fqdn_sender, reject_unknown_sender_domain, check_sender_access hash:/usr/local/etc/postfix/sender_access'
/usr/local/sbin/postconf -e 'smtpd_recipient_restrictions=permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_non_fqdn_recipient, reject_unknown_recipient_domain'
/usr/local/sbin/postconf -e 'smtpd_data_restrictions=reject_unauth_pipelining'
/usr/local/sbin/postconf -e 'header_checks = regexp:/usr/local/etc/postfix/head_checks'
/usr/local/sbin/postconf -e 'body_checks = regexp:/usr/local/etc/postfix/body_checks'
touch /usr/local/etc/postfix/head_checks
touch /usr/local/etc/postfix/body_checks
touch /usr/local/etc/postfix/client_access
touch /usr/local/etc/postfix/sender_access
touch /usr/local/etc/postfix/helo_access
/usr/local/sbin/postmap /usr/local/etc/postfix/head_checks
/usr/local/sbin/postmap /usr/local/etc/postfix/body_checks
/usr/local/sbin/postmap /usr/local/etc/postfix/client_access
/usr/local/sbin/postmap /usr/local/etc/postfix/sender_access
/usr/local/sbin/postmap /usr/local/etc/postfix/helo_access
TLS设置:生成证书,在这里默认私钥的访问密码为123qwe98,请根据自己的情况决定,以后可能会用得到。
mkdir -p /usr/local/etc/postfix/certs/CA
cd /usr/local/etc/postfix/certs/CA
mkdir certs crl newcerts private
echo "01" > serial
touch index.txt
cp /usr/local/openssl/openssl.cnf .
cp /usr/local/openssl/openssl.cnf /usr/local/etc/postfix/certs/CA/
# 这个地方要注意上面这句后面有个点,也可以执行cp /usr/local/openssl/openssl.cnf /usr/local/etc/postfix/certs/CA/
# 编辑openssl.cnf 其中 dir = /usr/local/etc/postfix/certs/CA 这个地方一定要看,很多朋友证书不能生成就是因为这个地方
# 编辑openssl.cnf,确认dir参数的值是/usr/local/etc/postfix/certs/CA。然后继续执行如下命令,并根据情况输入信息。输入信息类似如下:
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:BJ
Locality Name (eg, city) []:Bei Jing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Extmail
Organizational Unit Name (eg, section) []:extmail
Common Name (eg, YOUR name) []:extmail.org
Email Address []:ppabc@qq.com
# 这里的信息是 POP3s 证书 IMAP 证书 下面输入信息要一致
命令如下:
openssl req -new -x509 -keyout private/cakey.pem -out cacert.pem -days 3650 -config openssl.cnf
openssl req -nodes -new -x509 -keyout mykey.pem -out myreq.pem -days 3650 -config openssl.cnf
openssl x509 -x509toreq -in myreq.pem -signkey mykey.pem -out tmp.pem
openssl ca -config openssl.cnf -policy policy_anything -out mycert.pem -infiles tmp.pem
rm tmp.pem
cp cacert.pem /usr/local/etc/postfix/certs/
cp mycert.pem /usr/local/etc/postfix/certs/
cp mykey.pem /usr/local/etc/postfix/certs/
cd /usr/local/etc/postfix/certs/
chown root:wheel cacert.pem mycert.pem
chown root:postfix mykey.pem
chmod 755 cacert.pem
chmod 644 mycert.pem
chmod 440 mykey.pem
ln -s cacert.pem `openssl x509 -noout -hash < cacert.pem `.0
# 配置postfix支持TLS
/usr/local/sbin/postconf -e 'smtpd_use_tls=yes'
/usr/local/sbin/postconf -e 'smtpd_tls_auth_only=no'
/usr/local/sbin/postconf -e 'smtp_tls_CAfile = /usr/local/etc/postfix/certs/cacert.pem'
/usr/local/sbin/postconf -e 'smtp_tls_cert_file = /usr/local/etc/postfix/certs/mycert.pem'
/usr/local/sbin/postconf -e 'smtp_tls_key_file = /usr/local/etc/postfix/certs/mykey.pem'
/usr/local/sbin/postconf -e 'smtpd_tls_CAfile=/usr/local/etc/postfix/certs/cacert.pem'
/usr/local/sbin/postconf -e 'smtpd_tls_cert_file=/usr/local/etc/postfix/certs/mycert.pem'
/usr/local/sbin/postconf -e 'smtpd_tls_key_file=/usr/local/etc/postfix/certs/mykey.pem'
/usr/local/sbin/postconf -e 'smtpd_tls_received_header=yes'
/usr/local/sbin/postconf -e 'smtpd_tls_loglevel=3'
/usr/local/sbin/postconf -e 'smtpd_starttls_timeout=60s'
# 配置master.cf,添加如下信息
vi /usr/local/etc/postfix/master.cf
smtps inet n - n - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
2、Maildrop的安装和配置-MDA.
MDA-邮件分发代理。他从MTA那儿拿到信,然后存入您的邮箱里面。MDA在投递邮件到您的目录里面时,会先对邮件进行一些过滤,过滤规则会根据您的配置文件来进行。1,进行全局过滤设置,读取/etc/maildroprc(Linux)或者/usr/local/etc /maildroprc(BSD),根据配置该配置文件执行相应的操作,影响到所有用户;2,根据每个用户的配置进行过滤,读取$HOME /.mailfilter,根据每个用户的设置进行相应的操作,仅影响单个用户。基于这样的特点,WEBMAIL通过编辑$HOME /.mailfilter可以实现一些特色化的东西,比如:黑白名单、SPAM自动转入垃圾邮件夹、SMS提醒等等。
# 修改master.cf的maildrop,类似修改为:
vi /usr/local/etc/postfix/master.cf
#maildrop unix - n n - - pipe
# flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
maildrop unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/local/bin/maildrop -w 90 -d ${recipient}
# 修改main.cf
vi /usr/local/etc/postfix/main.cf
/usr/local/sbin/postconf -e 'virtual_transport=maildrop:'
/usr/local/sbin/postconf -e 'maildrop_destination_concurrency_limit=1'
/usr/local/sbin/postconf -e 'maildrop_destination_recipient_limit=1'
# 确保是如下内容:
vi /usr/local/etc/maildroprc
logfile "/home/domains/maildrop.log"
#logfile "/var/log/maildrop.log"
TEST="/bin/test -f"
#
# Check for custom user .mailfilter file
#
CUSTOM_FILTER="$HOME/.mailfilter"
`$TEST $CUSTOM_FILTER && exit 1 || exit 0`
if ( $RETURNCODE == 0 )
{
to "$HOME/Maildir"
}
六、安装SVN.
引用
cd /usr/ports/devel/subversion # 记得选apache模块,不然就不能使用apache来配合了
make install clean
# 所有用戶的密碼都是:111111
mkdir -p /work/svnData
chown -R www:www /work/svnData
chmod -R 0777 /work/svnData
# 初始化
mkdir -p create /work/svnData/CCode
mkdir -p /work/svnData/PhpCode
svnadmin create /work/svnData/CCode
svnadmin create /work/svnData/PhpCode
chown -R www:www /work/svnData/
chmod -R 0777 /work/svnData
# 創建刪除帳號
htpasswd -cm /work/svnData/SvnUserList test # 第一次建立SVN帐号
htpasswd -m /work/svnData/SvnUserList root # 第二个以后的帐号都不要 -c
htpasswd -m /work/svnData/SvnUserList admin # 第二个以后的帐号都不要 -c
htpasswd -D /work/svnData/SvnUserList test # 删除用户
# 建立 SVN 权限控制文件
# vi /work/svnData/SvnUserAccess
[/]
# 一般情況下呢所有人都是可以訪問的的,不過不裏測試,誰也不可以訪問
# * = r
[/CCode]
root = rw
[/PhpCode]
admin = rw
# 配置apache
vi /usr/local/etc/apache22/httpd.conf
# 以下這三項一般情況下應該在安裝SVN的時候就會自動加上了的,如果找不到這三項說明安裝時出了點小意外了
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_svn_module modules/mod_dav_svn.so
#LoadModule authz_svn_module modules/mod_authz_svn.so
#<Location /test1> # "/repos"是在url上指定的访问路径,客户访问需要键入这个路径。
# DAV svn # 声明svn
# SVNPath create /work/svnData/CCode # "E:\svn"是服务器上svn的repository的目录。
# SVNListParentPath On
# # SVNParentPath /work/svnData # 对于一个目录下存在多个工程的情况,可以声明这个变量。
# AuthType Basic
# AuthName "test1" # 认证的名字
# AuthUserFile /work/webService/SVNUserList1 # D:\svn_auth_file里面存放的是使用htpasswd -m D:\svn_auth_file user
# 生成的用户名与密码的加密文件。注意,此处的路径不能有空格。
# #AuthzSVNAccessFile /work/webService/SvnUserAccess # D:\svn_authz文件是根据%respository%/conf/authz的规则编写,其实就
# 是svn对用户权限读取的文件格式,mod_authz_svn.so要求的格式。
# SVNIndexXSLT "d:\svnindex.xsl" # d:\svnindex.xsl是用户可以自定义的显示模版,设计好模板,html上的显
# 会更漂亮。
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# Require valid-user # 声明,必须是有效的用户才可以访问
# </LimitExcept>
#</Location>
<Location /svn>
DAV svn
# SVNPath create /work/svnData/CCode
SVNListParentPath On
SVNParentPath /work/svnData
AuthType Basic
AuthName "svn"
AuthUserFile /work/svnData/SvnUserList
#AuthzSVNAccessFile /work/svnData/SvnUserAccess
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
/usr/local/sbin/httpd -k start
/usr/local/sbin/httpd -k restart
/usr/local/etc/rc.d/apache22 restart
页:
[1]