<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>All Free For You</title>
	<atom:link href="http://tusforyou.com/feed" rel="self" type="application/rss+xml" />
	<link>http://tusforyou.com</link>
	<description></description>
	<lastBuildDate>Thu, 26 Aug 2010 17:05:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Preventing SSH Dictionary Attacks With DenyHosts</title>
		<link>http://tusforyou.com/preventing_ssh_dictionary_attacks_with_denyhosts</link>
		<comments>http://tusforyou.com/preventing_ssh_dictionary_attacks_with_denyhosts#comments</comments>
		<pubDate>Thu, 26 Aug 2010 17:05:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Attacks]]></category>
		<category><![CDATA[denyhosts]]></category>

		<guid isPermaLink="false">http://tusforyou.com/preventing_ssh_dictionary_attacks_with_denyhosts</guid>
		<description><![CDATA[In this HowTo I will show how to install and configure DenyHosts. DenyHosts is a tool that observes login attempts to SSH, and if it finds failed login attempts again and again from the same IP address, DenyHosts blocks further login attempts from that IP address by putting it into /etc/hosts.deny. DenyHosts can be run [...]]]></description>
			<content:encoded><![CDATA[<p>In this HowTo I will show how to install and configure DenyHosts. DenyHosts is a tool that observes login attempts to SSH, and if it finds failed login attempts again and again from the same IP address, DenyHosts blocks further login attempts from that IP address by putting it into /etc/hosts.deny. DenyHosts can be run by cron or as a daemon. In this tutorial I will run DenyHosts as a daemon. <span id="more-5164"></span>
<div class="node">
<div class="content">
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="3"><b>Preventing SSH Dictionary Attacks With DenyHosts </b></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Version 1.0</font><br /> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Author: Falko Timme &lt;ft [at] falkotimme [dot] com&gt;</font><br /> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">Last edited: 02/07/2006</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">In this HowTo I will show how to install and configure DenyHosts. DenyHosts is a tool that observes login attempts to SSH, and if it finds failed login attempts again and again from the same IP address, DenyHosts blocks further login attempts from that IP address by putting it into <font face="Courier New, Courier, mono"><i>/etc/hosts.deny</i></font>. DenyHosts can be run by cron or as a daemon. In this tutorial I will run DenyHosts as a daemon. </font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">From the <a href="http://denyhosts.sourceforge.net/" target="_blank">DenyHosts web site</a>:</font></p>
<p> <font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i>&#8220;DenyHosts is a script intended to be run by Linux system administrators to help thwart ssh server attacks. </i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i> If you&#8217;ve ever looked at your ssh log (/var/log/secure on Redhat, /var/log/auth.log on Mandrake, etc&#8230;) you may be alarmed to see how many hackers attempted to gain access to your server. Hopefully, none of them were successful (but then again, how would you know?). Wouldn&#8217;t it be better to automatically prevent that attacker from continuing to gain entry into your system? </i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i> DenyHosts attempts to address the above&#8230; &#8221; </i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">This tutorial is based on a Debian Sarge system, however, it should apply to other distributions with almost no modifications.</font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">I want to say first that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!</font></p>
</p>
<h4><font face="Verdana, Arial, Helvetica, sans-serif" size="3">1 Installation </font></h4>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">DenyHosts is written in Python, therefore we must install Python and also the Python development files first:</font></p>
<p><font face="Courier New, Courier, mono"><i><font size="2">apt-get install python python2.3-dev python2.3</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Then we download and install DenyHosts like this:</font></p>
<p><font face="Courier New, Courier, mono"><i><font size="2">cd /tmp<br /> wget http://mesh.dl.sourceforge.net/sourceforge/denyhosts/DenyHosts-2.0.tar.gz<br /> tar xvfz DenyHosts-2.0.tar.gz<br /> cd DenyHosts-2.0<br />
python setup.py install</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">This installs DenyHosts to <font face="Courier New, Courier, mono"><i>/usr/share/denyhosts</i></font>.</font></p>
</p>
<h4><font face="Verdana, Arial, Helvetica, sans-serif" size="3">2 Configuration </font></h4>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Now we have to create the DenyHosts configuration file <font face="Courier New, Courier, mono"><i>/usr/share/denyhosts/denyhosts.cfg</i></font>. We can use the sample configuration file <font face="Courier New, Courier, mono"><i>/usr/share/denyhosts/denyhosts.cfg-dist</i></font> for this: </font></p>
<p><font face="Courier New, Courier, mono"><i><font size="2">cd /usr/share/denyhosts<br />
cp denyhosts.cfg-dist denyhosts.cfg</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Then we must edit</font><font face="Courier New, Courier, mono" size="2"><i> denyhosts.cfg</i><font face="Verdana, Arial, Helvetica, sans-serif"> with our favourite editor such as</font><i> vi</i><font face="Verdana, Arial, Helvetica, sans-serif">, for example. Mine looks like this:</font> </font></p>
<div></div>
<tr>
<td class="">
<pre> ############ THESE SETTINGS ARE REQUIRED ############

########################################################################## SECURE_LOG: the log file that contains sshd logging info# if you are not sure, grep "sshd:" /var/log/*## The file to process can be overridden with the --file command line# argument## Redhat or Fedora Core:#SECURE_LOG = /var/log/secure## Mandrake, FreeBSD or OpenBSD:SECURE_LOG = /var/log/auth.log## SuSE:#SECURE_LOG = /var/log/messages#########################################################################

######################################################################### HOSTS_DENY: the file which contains restricted host access information## Most operating systems:HOSTS_DENY = /etc/hosts.deny## Some BSD (FreeBSD) Unixes:#HOSTS_DENY = /etc/hosts.allow## Another possibility (also see the next option):#HOSTS_DENY = /etc/hosts.evil#######################################################################

######################################################################### PURGE_DENY: removed HOSTS_DENY entries that are older than this time# when DenyHosts is invoked with the --purge flag##format is: i[dhwmy]#Where 'i' is an integer (eg. 7)#'m' = minutes#'h' = hours#'d' = days#'w' = weeks#'y' = years## never purge:PURGE_DENY =## purge entries older than 1 week#PURGE_DENY = 1w## purge entries older than 5 days#PURGE_DENY = 5d#######################################################################

######################################################################## BLOCK_SERVICE: the service name that should be blocked in HOSTS_DENY## man 5 hosts_access for details## eg. sshd: 127.0.0.1# will block sshd logins from 127.0.0.1## To block all services for the offending host:#BLOCK_SERVICE = ALL# To block only sshd:BLOCK_SERVICE= sshd# To only record the offending host and nothing else (if using# an auxilary file to list the hosts).Refer to:# http://denyhosts.sourceforge.net/faq.html#aux#BLOCK_SERVICE =########################################################################

######################################################################### DENY_THRESHOLD_INVALID: block each host after the number of failed login# attempts has exceeded this value.This value applies to invalid# user login attempts (eg. non-existent user accounts)#DENY_THRESHOLD_INVALID = 5########################################################################

######################################################################### DENY_THRESHOLD_VALID: block each host after the number of failed# login attempts has exceeded this value.This value applies to valid# user login attempts (eg. user accounts that exist in /etc/passwd) except# for the "root" user#DENY_THRESHOLD_VALID = 10########################################################################

######################################################################### DENY_THRESHOLD_ROOT: block each host after the number of failed# login attempts has exceeded this value.This value applies to# "root" user login attempts only.#DENY_THRESHOLD_ROOT = 5########################################################################

######################################################################### WORK_DIR: the path that DenyHosts will use for writing data to# (it will be created if it does not already exist).## Note: it is recommended that you use an absolute pathname# for this value (eg. /home/foo/denyhosts/data)#WORK_DIR = /usr/share/denyhosts/data########################################################################

######################################################################### SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS## SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES|NO# If set to YES, if a suspicious login attempt results from an allowed-host# then it is considered suspicious.If this is NO, then suspicious logins# from allowed-hosts will not be reported.All suspicious logins from# ip addresses that are not in allowed-hosts will always be reported.#SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES######################################################################

######################################################################## HOSTNAME_LOOKUP## HOSTNAME_LOOKUP=YES|NO# If set to YES, for each IP address that is reported by Denyhosts,# the corresponding hostname will be looked up and reported as well# (if available).#HOSTNAME_LOOKUP=YES#######################################################################

######################################################################## LOCK_FILE## LOCK_FILE=/path/denyhosts# If this file exists when DenyHosts is run, then DenyHosts will exit# immediately.Otherwise, this file will be created upon invocation# and deleted upon exit.This ensures that only one instance is# running at a time.## Redhat/Fedora:#LOCK_FILE = /var/lock/subsys/denyhosts## DebianLOCK_FILE = /var/run/denyhosts.pid## Misc#LOCK_FILE = /tmp/denyhosts.lock#######################################################################

 ############ THESE SETTINGS ARE OPTIONAL ############

######################################################################### ADMIN_EMAIL: if you would like to receive emails regarding newly# restricted hosts and suspicious logins, set this address to# match your email address.If you do not want to receive these reports# leave this field blank (or run with the --noemail option)#ADMIN_EMAIL =########################################################################

########################################################################SMTP_HOST = localhostSMTP_PORT = 25SMTP_FROM = DenyHosts &lt;nobody@localhost&gt;SMTP_SUBJECT = DenyHosts Report#SMTP_USERNAME=foo#SMTP_PASSWORD=bar########################################################################

######################################################################## ALLOWED_HOSTS_HOSTNAME_LOOKUP## ALLOWED_HOSTS_HOSTNAME_LOOKUP=YES|NO# If set to YES, for each entry in the WORK_DIR/allowed-hosts file,# the hostname will be looked up.If your versions of tcp_wrappers# and sshd sometimes log hostnames in addition to ip addresses# then you may wish to specify this option.##ALLOWED_HOSTS_HOSTNAME_LOOKUP=NO#######################################################################

######################################################################## AGE_RESET_VALID: Specifies the period of time between failed login# attempts that, when exceeded will result in the failed count for# this host to be reset to 0.This value applies to login attempts# to all valid users (those within /etc/passwd) with the# exception of root.If not defined, this count will never# be reset.## See the comments in the PURGE_DENY section (above)# for details on specifying this value or for complete details# refer to:http://denyhosts.sourceforge.net/faq.html#timespec#AGE_RESET_VALID=5d#######################################################################

######################################################################## AGE_RESET_ROOT: Specifies the period of time between failed login# attempts that, when exceeded will result in the failed count for# this host to be reset to 0.This value applies to all login# attempts to the "root" user account.If not defined,# this count will never be reset.## See the comments in the PURGE_DENY section (above)# for details on specifying this value or for complete details# refer to:http://denyhosts.sourceforge.net/faq.html#timespec#AGE_RESET_ROOT=25d#######################################################################

######################################################################## AGE_RESET_INVALID: Specifies the period of time between failed login# attempts that, when exceeded will result in the failed count for# this host to be reset to 0.This value applies to login attempts# made to any invalid username (those that do not appear# in /etc/passwd).If not defined, count will never be reset.## See the comments in the PURGE_DENY section (above)# for details on specifying this value or for complete details# refer to:http://denyhosts.sourceforge.net/faq.html#timespec#AGE_RESET_INVALID=10d#######################################################################

######################################################################## PLUGIN_DENY: If set, this value should point to an executable# program that will be invoked when a host is added to the# HOSTS_DENY file.This executable will be passed the host# that will be added as it's only argument.##PLUGIN_DENY=/usr/bin/true#######################################################################

######################################################################## PLUGIN_PURGE: If set, this value should point to an executable# program that will be invoked when a host is removed from the# HOSTS_DENY file.This executable will be passed the host# that is to be purged as it's only argument.##PLUGIN_PURGE=/usr/bin/true#######################################################################

######################################################################## USERDEF_FAILED_ENTRY_REGEX: if set, this value should contain# a regular expression that can be used to identify additional# hackers for your particular ssh configuration.This functionality# extends the built-in regular expressions that DenyHosts uses.# This parameter can be specified multiple times.# See this faq entry for more details:#http://denyhosts.sf.net/faq.html#userdef_regex##USERDEF_FAILED_ENTRY_REGEX=########################################################################

 ######### THESE SETTINGS ARE SPECIFIC TO DAEMON MODE##########

######################################################################### DAEMON_LOG: when DenyHosts is run in daemon mode (--daemon flag)# this is the logfile that DenyHosts uses to report it's status.# To disable logging, leave blank.(default is: /var/log/denyhosts)#DAEMON_LOG = /var/log/denyhosts## disable logging:#DAEMON_LOG =#######################################################################

######################################################################### DAEMON_LOG_TIME_FORMAT: when DenyHosts is run in daemon mode# (--daemon flag) this specifies the timestamp format of# the DAEMON_LOG messages (default is the ISO8061 format:# ie. 2005-07-22 10:38:01,745)## for possible values for this parameter refer to: man strftime## Jan 1 13:05:59#DAEMON_LOG_TIME_FORMAT = %b %d %H:%M:%S## Jan 1 01:05:59#DAEMON_LOG_TIME_FORMAT = %b %d %I:%M:%S#######################################################################

######################################################################### DAEMON_LOG_MESSAGE_FORMAT: when DenyHosts is run in daemon mode# (--daemon flag) this specifies the message format of each logged# entry.By default the following format is used:## %(asctime)s - %(name)-12s: %(levelname)-8s %(message)s## Where the "%(asctime)s" portion is expanded to the format# defined by DAEMON_LOG_TIME_FORMAT## This string is passed to python's logging.Formatter contstuctor.# For details on the possible format types please refer to:# http://docs.python.org/lib/node357.html## This is the default:#DAEMON_LOG_MESSAGE_FORMAT = %(asctime)s - %(name)-12s: %(levelname)-8s %(message)s########################################################################

######################################################################### DAEMON_SLEEP: when DenyHosts is run in daemon mode (--daemon flag)# this is the amount of time DenyHosts will sleep between polling# the SECURE_LOG.See the comments in the PURGE_DENY section (above)# for details on specifying this value or for complete details# refer to:http://denyhosts.sourceforge.net/faq.html#timespec##DAEMON_SLEEP = 30s########################################################################

######################################################################### DAEMON_PURGE: How often should DenyHosts, when run in daemon mode,# run the purge mechanism to expire old entries in HOSTS_DENY# This has no effect if PURGE_DENY is blank.#DAEMON_PURGE = 1h########################################################################

 ######### THESE SETTINGS ARE SPECIFIC TO ########## ######### DAEMON SYNCHRONIZATION ##########

######################################################################### Synchronization mode allows the DenyHosts daemon the ability# to periodically send and receive denied host data such that# DenyHosts daemons worldwide can automatically inform one# another regarding banned hosts. This mode is disabled by# default, you must uncomment SYNC_SERVER to enable this mode.## for more information, please refer to:#http:/denyhosts.sourceforge.net/faq.html#sync########################################################################

######################################################################### SYNC_SERVER: The central server that communicates with DenyHost# daemons.Currently, denyhosts.net is the only available server# however, in the future, it may be possible for organizations to# install their own server for internal network synchronization## To disable synchronization (the default), do nothing.## To enable synchronization, you must uncomment the following line:#SYNC_SERVER = http://xmlrpc.denyhosts.net:9911########################################################################

######################################################################### SYNC_INTERVAL: the interval of time to perform synchronizations if# SYNC_SERVER has been uncommented.The default is 1 hour.##SYNC_INTERVAL = 1h########################################################################

######################################################################### SYNC_UPLOAD: allow your DenyHosts daemon to transmit hosts that have# been denied?This option only applies if SYNC_SERVER has# been uncommented.##SYNC_UPLOAD = no## the default:#SYNC_UPLOAD = yes########################################################################

######################################################################### SYNC_DOWNLOAD: allow your DenyHosts daemon to receive hosts that have# been denied by others?This option only applies if SYNC_SERVER has# been uncommented.##SYNC_DOWNLOAD = no## the default:#SYNC_DOWNLOAD = yes########################################################################

######################################################################### SYNC_DOWNLOAD_THRESHOLD: If SYNC_DOWNLOAD is enabled this paramter# filters the returned hosts to those that have been blocked this many# times by others.That is, if set to 1, then if a single DenyHosts# server has denied an ip address then you will receive the denied host.##SYNC_DOWNLOAD_THRESHOLD = 10## the default:#SYNC_DOWNLOAD_THRESHOLD = 3########################################################################</pre>
</td>
</tr>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Make sure you set <font face="Courier New, Courier, mono"><i>SECURE_LOG</i></font> and <font face="Courier New, Courier, mono"><i>LOCK_FILE</i></font> to the correct values for your distribution! For Debian, these are:</font></p>
<p><font face="Courier New, Courier, mono"><i><font size="2">SECURE_LOG = /var/log/auth.log<br />
LOCK_FILE = /var/run/denyhosts.pid</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">As we want to run DenyHosts as a daemon, we need the daemon control script <font face="Courier New, Courier, mono"><i>/usr/share/denyhosts/daemon-control</i></font>. Again, we can use the sample script <font face="Courier New, Courier, mono"><i>/usr/share/denyhosts/daemon-control-dist</i></font> to create the needed file:</font></p>
<p><font face="Courier New, Courier, mono"><i><font size="2">cp daemon-control-dist daemon-control</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Edit <i><i><font face="Courier New, Courier, mono">/usr/share/denyhosts/daemon-control</font></i></i> and make sure you set the correct values for</font><i> <font face="Courier New, Courier, mono" size="2">DENYHOSTS_BIN</font></i><font face="Verdana, Arial, Helvetica, sans-serif" size="2">,</font><i> <font face="Courier New, Courier, mono" size="2">DENYHOSTS_LOCK</font></i><font face="Verdana, Arial, Helvetica, sans-serif" size="2">, and</font><i> <font face="Courier New, Courier, mono" size="2">DENYHOSTS_CFG</font></i><font face="Verdana, Arial, Helvetica, sans-serif" size="2">. For Debian, these are:</font></p>
<p><font face="Courier New, Courier, mono"><i><font size="2">DENYHOSTS_BIN = &#8220;/usr/bin/denyhosts.py&#8221;<br /> DENYHOSTS_LOCK = &#8220;/var/run/denyhosts.pid&#8221;<br />
DENYHOSTS_CFG = &#8220;/usr/share/denyhosts/denyhosts.cfg&#8221;</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">So my </font><font face="Verdana, Arial, Helvetica, sans-serif" size="2"></font><i><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><i><i><font face="Courier New, Courier, mono">/usr/share/denyhosts/daemon-control</font></i></i></font> </i><font face="Verdana, Arial, Helvetica, sans-serif" size="2">file looks like this:</font></p>
<tr>
<td class="">
<pre>#!/usr/bin/env python# denyhosts Bring up/down the DenyHosts daemon## chkconfig: 2345 98 02# description: Activates/Deactivates the#DenyHosts daemon to block ssh attempts################################################

################################################### Edit these to suit your configuration ###################################################

DENYHOSTS_BIN = "/usr/bin/denyhosts.py"DENYHOSTS_LOCK= "/var/run/denyhosts.pid"DENYHOSTS_CFG = "/usr/share/denyhosts/denyhosts.cfg"

################################################### Do not edit below ###################################################

import os, sys, signal, time

STATE_NOT_RUNNING = -1STATE_LOCK_EXISTS = -2

def usage():print "Usage: %s {start [args...] | stop | restart [args...] | status | debug | condrestart [args...] }" % sys.argv[0]printprint "For a list of valid 'args' refer to:"print "$ denyhosts.py --help"printsys.exit(0)

def getpid():try:fp = open(DENYHOSTS_LOCK, "r")pid = int(fp.readline().rstrip())fp.close()except Exception, e:return STATE_NOT_RUNNING

if os.access(os.path.join("/proc", str(pid)), os.F_OK):return pidelse:return STATE_LOCK_EXISTS

def start(*args):cmd = "%s --daemon " % DENYHOSTS_BINif args: cmd += ' '.join(args)

print "starting DenyHosts: ", cmd

os.system(cmd)

def stop():pid = getpid()if pid &gt;= 0:os.kill(pid, signal.SIGTERM)print "sent DenyHosts SIGTERM"else:print "DenyHosts is not running"

def debug():pid = getpid()if pid &gt;= 0:os.kill(pid, signal.SIGUSR1)print "sent DenyHosts SIGUSR1"else:print "DenyHosts is not running"

def status():pid = getpid()if pid == STATE_LOCK_EXISTS:print "%s exists but DenyHosts is not running" % DENYHOSTS_LOCKelif pid == STATE_NOT_RUNNING:print "Denyhosts is not running"else:print "DenyHosts is running with pid = %d" % pid

def condrestart(*args):pid = getpid()if pid &gt;= 0:restart(*args)

def restart(*args):stop()time.sleep(1)start(*args)

if __name__ == '__main__':cases = {'start': start, 'stop':stop, 'debug': debug, 'status':status, 'condrestart': condrestart, 'restart': restart}

try:args = sys.argv[2:]except:args = []

try:option = sys.argv[1]

if option in ('start', 'restart', 'condrestart'):if '--config' not in args and '-c' not in args:args.append("--config=%s" % DENYHOSTS_CFG)

cmd = cases[option]apply(cmd, args)except:usage()</pre>
</td>
</tr>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Next we have to make that file executable:</font></p>
<p><font face="Courier New, Courier, mono"><i><font size="2">chown root daemon-control<br />
chmod 700 daemon-control</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Afterwards, we create the system bootup links for DenyHosts do that it is started automatically when the system is booted:</font></p>
<p><font face="Courier New, Courier, mono"><i><font size="2">cd /etc/init.d<br /> ln -s /usr/share/denyhosts/daemon-control denyhosts<br />
update-rc.d denyhosts defaults</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Finally, we start DenyHosts:</font></p>
<p><font face="Courier New, Courier, mono"><i><font size="2">/etc/init.d/denyhosts start</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">DenyHosts logs to</font><font face="Courier New, Courier, mono" size="2"><i> /var/log/denyhosts</i><font face="Verdana, Arial, Helvetica, sans-serif">, if you are interested in the logs. The SSH daemon logs to</font><i> /var/log/auth.log</i><font face="Verdana, Arial, Helvetica, sans-serif"> on Debian. You can watch both logs and try to log in with an invalid user or with a valid user and incorrect password, etc. via SSH and see what happens. After you have crossed the threshold of incorrect login attempts, the IP address from which you tried to connect should get listed in </font><i>/etc/hosts.deny</i><font face="Verdana, Arial, Helvetica, sans-serif">, like this:</font></font></p>
<tr>
<td class="">
<pre># /etc/hosts.deny: list of hosts that are _not_ allowed to access the system.#See the manual pages hosts_access(5), hosts_options(5)#and /usr/doc/netbase/portmapper.txt.gz## Example:ALL: some.host.name, .some.domain# ALL EXCEPT in.fingerd: other.host.name, .other.domain## If you're going to protect the portmapper use the name "portmap" for the# daemon name. Remember that you can only use the keyword "ALL" and IP# addresses (NOT host or domain names) for the portmapper. See portmap(8)# and /usr/doc/portmap/portmapper.txt.gz for further information.## The PARANOID wildcard matches any host whose name does not match its# address.

# You may wish to enable this to ensure any programs that don't# validate looked up hostnames still leave understandable logs. In past# versions of Debian this has been the default.# ALL: PARANOIDsshd: 192.168.0.203</pre>
</td>
</tr>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">This means that the system with the IP address <font face="Courier New, Courier, mono"><i>192.168.0.203</i></font> cannot connect anymore using SSH.</font> </p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">You can specify if/when IP addresses are removed again from <font face="Courier New, Courier, mono"><i>/etc/hosts.deny</i></font> &#8211; have a look at the<font face="Courier New, Courier, mono"> <i>PURGE_DENY</i></font> variable in<font face="Courier New, Courier, mono"> <i>/usr/share/denyhosts/denyhosts.cfg</i></font>.You must start DenyHosts with the <font face="Courier New, Courier, mono"><i>&#8211;purge</i></font> option to make the <font face="Courier New, Courier, mono"><i>PURGE_DENY</i></font> variable effective, like this:</font></p>
<p><font face="Courier New, Courier, mono"><i><font size="2">/etc/init.d/denyhosts start &#8211;purge</font></i></font></p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2">However, you can also remove IP addresses manually from there, and as soon as they have got removed, these IP addresses can try to log in again via SSH. </font></p>
</p>
<p><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Links</b></font></p>
<ul>
<li><font face="Verdana, Arial, Helvetica, sans-serif" size="2">DenyHosts: <a href="http://denyhosts.sourceforge.net/" target="_blank">http://denyhosts.sourceforge.net</a></font></li>
</ul>
<p>
<div class="copyright-footer">Copyright © 2006 Falko Timme<br />All Rights Reserved.</div>
</div>
</div>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts&amp;title=Preventing+SSH+Dictionary+Attacks+With+DenyHosts" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts&amp;title=Preventing+SSH+Dictionary+Attacks+With+DenyHosts" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts&amp;title=Preventing+SSH+Dictionary+Attacks+With+DenyHosts" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts&amp;headline=Preventing+SSH+Dictionary+Attacks+With+DenyHosts" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Preventing+SSH+Dictionary+Attacks+With+DenyHosts&amp;url=http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Preventing+SSH+Dictionary+Attacks+With+DenyHosts&amp;u=http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Preventing+SSH+Dictionary+Attacks+With+DenyHosts&amp;url=http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Preventing+SSH+Dictionary+Attacks+With+DenyHosts&amp;url=http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Preventing+SSH+Dictionary+Attacks+With+DenyHosts&amp;url=http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts&amp;title=Preventing+SSH+Dictionary+Attacks+With+DenyHosts&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Ftusforyou.com%2Fpreventing_ssh_dictionary_attacks_with_denyhosts" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://tusforyou.com/preventing_ssh_dictionary_attacks_with_denyhosts/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How To Install Openbravo ERP On CentOS 5.2 – Page 2</title>
		<link>http://tusforyou.com/how-to-install-openbravo-erp-on-centos-5-2-p2</link>
		<comments>http://tusforyou.com/how-to-install-openbravo-erp-on-centos-5-2-p2#comments</comments>
		<pubDate>Thu, 26 Aug 2010 16:52:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Install]]></category>
		<category><![CDATA[Openbravo]]></category>
		<category><![CDATA[page]]></category>

		<guid isPermaLink="false">http://tusforyou.com/how-to-install-openbravo-erp-on-centos-5-2-p2-2</guid>
		<description><![CDATA[This howto describes how to set up Openbravo ERP (enterprise management system) on CentOS 5.2 using PostgreSQL 8.3. Openbravo is an open source ERP solution designed specifically for the SME (small to midsize firm). Developed in a web based environment, it includes many robust functionalities which are considered part of the extended ERP: procurement and [...]]]></description>
			<content:encoded><![CDATA[<p>This howto describes how to set up Openbravo ERP (enterprise management system) on CentOS 5.2 using PostgreSQL 8.3. Openbravo is an open source ERP solution designed specifically for the SME (small to midsize firm). Developed in a web based environment, it includes many robust functionalities which are considered part of the extended ERP: procurement and warehouse management, project and service management, production management, and financial management.<span id="more-5159"></span>
<div class="node">
<div class="content">
<h4>3.3Apache Tomcat 5.5</h4>
<p>	I have not tried the bundled Apache Tomcat in the CentOS 5 Repository, I went ahead and downloaded it anyway from the tomcat.apache.org site:
</p>
<p class="command">cd /opt</p>
<p class="command">wget http://apache.cyberuse.com/tomcat/tomcat-5/v5.5.27/bin/apache-tomcat-5.5.27.tar.gz</p>
<p class="command">tar xzf apache-tomcat-5.5.27.tar.gz</p>
<p class="command">mv apache-tomcat-5.5.27 tomcat</p>
<p>Start the Tomcat Daemon and send it to the background: </p>
<p class="command">/opt/tomcat/bin/startup.sh &amp;</p>
<p>Append it to the <span class="system">rc.local</span> file to start at boot time:</p>
<p class="command">echo &#8220;/opt/tomcat/bin/startup.sh &amp;&#8221; &gt;&gt; /etc/rc.local</p>
<p>&nbsp;</p>
<h4>3.4Apache Ant 1.7</h4>
<p>	I have gone ahead and downloaded the source for apache ant too as I want to keep everything consistent and so it doesn`t break the CentOS installation.With this technique however, you can easily remove all the exported directories and delete the applications directory and install the stock rpmsupplied with CentOS later if you like.
</p>
<p class="command">cd /opt</p>
<p class="command">wget http://apache.promopeddler.com/ant/binaries/apache-ant-1.7.1-bin.tar.gz</p>
<p class="command">tar xzf apache-ant-1.7.1-bin.tar.gz</p>
<p class="command">mv apache-ant-1.7.1 ant</p>
<p class="command">echo &#8220;export ANT_HOME=/opt/ant&#8221; &gt;&gt; /etc/rc.local</p>
<p class="command">export ANT_HOME=/opt/ant</p>
<p>&nbsp;</p>
<h3>4. Downloading and Installing OpenBravo 2.4<br />
</h3>
<p>	I am using OpenBravo 2.4 because this Howto was tested and declared working. However, there is a new release 2.5 which I have not tested and so you can try atyour won RISK.
</p>
<p class="command">cd /tmp</p>
<p>Download the installation binary from SourceForge:</p>
<p class="command">wget http://surfnet.dl.sourceforge.net/sourceforge/openbravo/OpenbravoERP_2.40-linux-installer.bin</p>
<p>Make it executable:</p>
<p class="command">chmod +x OpenbravoERP_2.40-linux-installer.bin</p>
<p>Run the installer:</p>
<p class="command">./OpenbravoERP_2.40-linux-installer.bin</p>
<p>A text based installer will guide you through the installation. First press a few times ENTER to read the single parts of the license agreement. Type in yes at&nbsp;the end if you agree with it:</p>
<p><span class="system">Do you accept this license? [y/n]:</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">y</span></span></p>
<p>Before the installation begins you&#8217;ll be asked a few questions &#8211; answer them as follows:</p>
<p class="system">Please specify the directory where Openbravo ERP will be installed</p>
<p><span class="system">[/opt/OpenbravoERP]:</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Please specify a directory for the Openbravo ERP attachments</p>
<p><span class="system">[/opt/OpenbravoERP/AppsOpenbravo/attachments]:</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Installation mode</p>
<p class="system">Please select the installation mode you wish to perform</p>
<p class="system">[1] Complete</p>
<p class="system">The database and the application server in the same computer</p>
<p class="system">[2] Distributed</p>
<p class="system">The database and the application server in different computers</p>
<p><span class="system">Please choose an option [1] : </span><span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Please select the installation type you wish to perform</p>
<p class="system">[1] Standard</p>
<p class="system">Installs the database and sets up the application server.</p>
<p class="system">Recommended.</p>
<p class="system">[2] Development</p>
<p class="system">Installs the database and and sets up the application server</p>
<p class="system">through a compilation process.</p>
<p class="system">Recommended for developers.</p>
<div></div>
<p><span class="system">Please choose an option [1] :</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Please specify the directory where the JDK is located</p>
<p><span class="system">[/opt/java]:</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Please specify the location where the Ant executable is located</p>
<p><span class="system">[/opt/ant/bin/ant]:</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Please specify the directory where Tomcat is located.</p>
<p class="system">In case of having Tomcat split into 2 directories, select the one containing the webapps directory</p>
<p><span class="system">[/opt/tomcat]:</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Please select a database</p>
<p class="system">[1] PostgreSQL</p>
<p class="system">[2] Oracle</p>
<p><span class="system">Please choose an option [1] : </span><span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Please specify the directory where the binaries of the PostgreSQL installation are located (psql, pg_restore, vacuumdb)</p>
<p><span class="system">[/usr/bin]:</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Please enter the IP address of the PostgreSQL database</p>
<p><span class="system">Database host [localhost]:</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Please enter the port of the PostgreSQL database</p>
<p><span class="system">Database port [5432]:</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Enter the password for your &#8220;postgres&#8221; administrator user</p>
<p><span class="system">Password :</span> <span class="highlight">&lt;&#8211; testpassword</span></p>
<p><span class="system">Retype password :</span> <span class="highlight">&lt;&#8211; testpassword</span></p>
<p class="system">Please enter the name of the PostgreSQL database</p>
<p><span class="system">Database name [openbravo]:</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Please enter a username for the Openbravo ERP PostgreSQL database</p>
<p><span class="system">Username [tad]:</span> <span class="highlight">&lt;&#8211; admin</span></p>
<p class="system">Please enter a password for the new database user</p>
<p><span class="system">Password :</span> <span class="highlight">&lt;&#8211; adminpassword (a password of your choice)</span></p>
<p><span class="system">Retype password :</span> <span class="highlight">&lt;&#8211; adminpassword</span></p>
<p class="system">Enter a context name.</p>
<p class="system">This is used in the URL to access Openbravo ERP:</p>
<p class="system">http://&lt;ip_address&gt;:&lt;port&gt;/context_name</p>
<p><span class="system">Context name [openbravo]:</span> <span class="highlight">&lt;&#8211; openbravoerp</span></p>
<p class="system">Please select the preferred date and time formats</p>
<p class="system">Date format</p>
<p class="system">Date format</p>
<p class="system">[1] DD MM YYYY</p>
<p class="system">[2] MM DD YYYY</p>
<p class="system">[3] YYYY MM DD</p>
<p><span class="system">Please choose an option [1] :</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Date separator</p>
<p class="system">[1] -</p>
<p class="system">[2] /</p>
<p class="system">[3] .</p>
<p class="system">[4] :</p>
<p><span class="system">Please choose an option [2] :</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Time format</p>
<p class="system">[1] 12h</p>
<p class="system">[2] 24h</p>
<p><span class="system">Please choose an option [2] :</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Time separator</p>
<p class="system">[1] :</p>
<p class="system">[2] .</p>
<p><span class="system">Please choose an option [1] :</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Should the installer populate the database with demo data?</p>
<p><span class="system">[Y/n]: Y</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">Setup is now ready to begin installing Openbravo ERP on your computer.</p>
<p><span class="system">Do you want to continue? [Y/n]: Y</span> <span class="highlight">&lt;&#8211; <span style="font-weight: bold">ENTER</span></span></p>
<p class="system">The installation will take a few minutes, so please be patient:</p>
<p class="system">Please wait while Setup installs Openbravo ERP on your computer.</p>
<p class="system">Installing</p>
<p class="system">0% ______________ 50% ______________ 100%</p>
<p class="system">#########################################</p>
<p class="system">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p class="system">Setup has finished installing Openbravo ERP on your computer.</p>
<p>&nbsp;</p>
<h3>5. Testing the Waters</h3>
<p>If everything up to this point is successful, then you have won! &nbsp;You can access Openbravo at <span class="system">http://www.example.com:8080/openbravoerp</span> or <span class="system">http://192.168.1.1:8080/openbravoerp</span>.&nbsp;</p>
<p>Log in with the username <span class="system">Openbravo</span> and the password <span class="system">openbravo.</span></p>
<p><span class="Apple-style-span" style="font-weight: bold">Note:</span> I have decided not to post any screen shot of this as this has been tested and declared working. If you need more information, you can use the links provided below as reference.</p>
<p>&nbsp;</p>
<h3>6. Links</h3>
<p>Openbravo: <a href="http://www.openbravo.com/" target="_blank"><span class="Apple-style-span"><span class="Apple-style-span">http://www.openbravo.com/</span></span></a></p>
<p>Centos: <a href="http://www.centos.org" target="_blank"><span class="Apple-style-span"><span class="Apple-style-span">http://www.centos.org</span></span></a></p>
<p>&nbsp;PostgreSQL 8.3:&nbsp;<a href="http://yum.pgsqlrpms.org" target="_blank"><span class="Apple-style-span"><span class="Apple-style-span">http://yum.pgsqlrpms.org</span></span></a></p>
<div class="book">
<div class="nav">
<div class="links">
<div class="prev"><a href="how-to-install-openbravo-erp-on-centos-5.2" title="View the previous page.">previous</a></div>
<div class="next">&nbsp;</div>
<div class="up"><a href="how-to-install-openbravo-erp-on-centos-5.2" title="View this page&#039;s parent section.">up</a></div>
</div>
<div class="titles">
<div class="prev">How To Install Openbravo ERP On CentOS 5.2</div>
</div>
</div>
</div>
<p>
<div class="copyright-footer">Copyright © 2009 Mfawa Alfred Onen<br />All Rights Reserved.</div>
</div>
</div>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2&amp;title=How+To+Install+Openbravo+ERP+On+CentOS+5.2+%E2%80%93+Page+2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2&amp;title=How+To+Install+Openbravo+ERP+On+CentOS+5.2+%E2%80%93+Page+2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2&amp;title=How+To+Install+Openbravo+ERP+On+CentOS+5.2+%E2%80%93+Page+2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2&amp;headline=How+To+Install+Openbravo+ERP+On+CentOS+5.2+%E2%80%93+Page+2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=How+To+Install+Openbravo+ERP+On+CentOS+5.2+%E2%80%93+Page+2&amp;url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=How+To+Install+Openbravo+ERP+On+CentOS+5.2+%E2%80%93+Page+2&amp;u=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=How+To+Install+Openbravo+ERP+On+CentOS+5.2+%E2%80%93+Page+2&amp;url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=How+To+Install+Openbravo+ERP+On+CentOS+5.2+%E2%80%93+Page+2&amp;url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=How+To+Install+Openbravo+ERP+On+CentOS+5.2+%E2%80%93+Page+2&amp;url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2&amp;title=How+To+Install+Openbravo+ERP+On+CentOS+5.2+%E2%80%93+Page+2&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2-p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://tusforyou.com/how-to-install-openbravo-erp-on-centos-5-2-p2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Install Openbravo ERP On CentOS 5.2</title>
		<link>http://tusforyou.com/how-to-install-openbravo-erp-on-centos-5-2</link>
		<comments>http://tusforyou.com/how-to-install-openbravo-erp-on-centos-5-2#comments</comments>
		<pubDate>Thu, 26 Aug 2010 16:20:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Install]]></category>
		<category><![CDATA[Openbravo]]></category>

		<guid isPermaLink="false">http://tusforyou.com/how-to-install-openbravo-erp-on-centos-5-2</guid>
		<description><![CDATA[This howto describes how to set up Openbravo ERP (enterprise management system) on CentOS 5.2 using PostgreSQL 8.3. Openbravo is an open source ERP solution designed specifically for the SME (small to midsize firm). Developed in a web based environment, it includes many robust functionalities which are considered part of the extended ERP: procurement and [...]]]></description>
			<content:encoded><![CDATA[<p>This howto describes how to set up Openbravo ERP (enterprise management system) on CentOS 5.2 using PostgreSQL 8.3. Openbravo is an open source ERP solution designed specifically for the SME (small to midsize firm). Developed in a web based environment, it includes many robust functionalities which are considered part of the extended ERP: procurement and warehouse management, project and service management, production management, and financial management.<span id="more-5150"></span>
<div class="node">
<div class="content">
<h2>How To Install Openbravo ERP On CentOS 5.2</h2>
<p>This howto describes how to set up Openbravo ERP (enterprise management system) on CentOS 5.2 using PostgreSQL 8.3. Openbravo is an open source ERP solution&nbsp;designed specifically for the SME (small to midsize firm). Developed in a web based environment, it includes many robust functionalities which are&nbsp;considered part of the extended ERP: procurement and warehouse management, project and service management, production management, and financial&nbsp;management.</p>
<p>This is a follow up of Falko`s Wonderful &#8220;How To Install Openbravo ERP On Ubuntu 8.10&#8243;.</p>
<p>I do not issue any guarantee that this will work for you!</p>
<p>&nbsp;</p>
<h3>&nbsp;1. Preliminary Note</h3>
<p>&nbsp;This howto assumes you have freshly installed CentOS system along with the following.</p>
<p>&nbsp;a) Hostname:- <span class="system"><span class="Apple-style-span">server1.example.com</span></span></p>
<p>&nbsp;b) Server IP:- <span class="system"><span class="Apple-style-span">192.168.1.1</span></span></p>
<p>&nbsp;You must have root privileges to run most of the actions described in this Howto.</p>
<p>&nbsp;</p>
<h3>2. Setup DNS</h3>
<p class="command">yum install bind bind-utils</p>
<p class="command">#nano /etc/named.conf</p>
<pre>options
{ directory	"/var/named"; dump-file	"data/cache_dump.db"; statistics-file"data/named_stats.txt"; memstatistics-file"data/named_mem_stats.txt"; forwarders {ISP_DNS_IP;};
};
zone "example.com" IN {type master;file "forward.zone";
};
</pre>
<p class="command">#nano /var/named/forward.zone</p>
<pre>$TTL 3h
@	IN	SOA	server1	muffycompoqm.gmail.com. (	1	; Serial Number	15m	; Refresh Rate	30m	; Retry Interval	1h	; Expire Delay	2h )	; Negative Cache TTL
@	IN	NS	server1
@	IN	A	192.168.1.1
server1	IN	A	192.168.1.1
www	IN	CNAME	server1.example.com.
ftp	IN	CNAME server1.example.com.</pre>
<p class="command">#nano /etc/resolv.conf</p>
<div></div>
<pre>search example.com
nameserver 127.0.0.1</pre>
<p class="command">#chkconfig &#8211;levels 35 named on </p>
<p class="command">#service named start</p>
<p>&nbsp;</p>
<h3>3. Installing Openbravo Dependencies</h3>
<h4>3.1Postgresql 8.3</h4>
<p>	Exclude Postgresql from the CentOS base repository as OpenBravo uses Postgresql 8.3 which is not included in the base repository.
</p>
<p class="command">#nano /etc/yum.repos.d/CentOS-Base.repo</p>
<p>Add to the bottom of the file:</p>
<pre>exclude=postgresql*</pre>
<p>Download and install the RPMs from <a href="http://yum.pgsqlrpms.org" target="_blank">http://yum.pgsqlrpms.org</a>: </p>
<p class="command">wget http://yum.pgsqlrpms.org/reporpms/8.3/pgdg-centos-8.3-6.noarch.rpm</p>
<p class="command">rpm -ivh pgdg-centos-8.3-6.noarch.rpm</p>
<p class="command">yum install postgresql postgresql-server</p>
<p>Afterwards we have to set the PostgreSQL admin password:</p>
<p class="command">sed -i &#8216;s/ident sameuser$/trust/&#8217; /etc/postgresql/8.3/main/pg_hba.conf</p>
<p class="command">service postgresql start</p>
<p class="command">chkconfig &#8211;levels 35 postgresql on</p>
<p>Open a PostgreSQL shell and alter the postgres user role:</p>
<p class="command">psql -U postgres</p>
<p class="command">alter role postgres with password &#8216;testpassword&#8217;;\q</p>
<p class="command">sed -i &#8216;s/trust$/md5/&#8217; /etc/postgresql/8.3/main/pg_hba.conf</p>
<p class="command">service postgresql reload</p>
<p class="command">service postgresql restart</p>
<p>&nbsp;</p>
<h4>3.2 Sun Java JDK 1.6<br />
</h4>
<p>You will have to download Java 1.6 JDK from <a href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">http://java.sun.com/javase/downloads/index.jsp</a>.</p>
<p class="command">cp jdk-6u13-linux-i586.bin.bin /opt</p>
<p class="command">cd /opt</p>
<p class="command">sh jdk-6u13-linux-i586.bin.bin &#8211;unpack</p>
<p class="command">mv jdk1-* java</p>
<p class="command">echo &#8220;export JAVA_HOME=/opt/java&#8221; &gt;&gt; /etc/rc.local</p>
<p class="command">export JAVA_HOME=/opt/java</p>
<div class="book">
<div class="tree">
<div class="menu">
<ul>
<li class="leaf"><a href="how-to-install-openbravo-erp-on-centos-5.2-p2">How To Install Openbravo ERP On CentOS 5.2 &#8211; Page 2</a></li>
</ul>
</div>
</div>
<div class="nav">
<div class="links">
<div class="prev">&nbsp;</div>
<div class="next"><a href="how-to-install-openbravo-erp-on-centos-5.2-p2" title="View the next page.">next</a></div>
</div>
<div class="titles">
<div class="next">How To Install Openbravo ERP On CentOS 5.2 &#8211; Page 2</div>
</div>
</div>
</div>
<p>
<div class="copyright-footer">Copyright © 2009 Mfawa Alfred Onen<br />All Rights Reserved.</div>
</div>
</div>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2&amp;title=How+To+Install+Openbravo+ERP+On+CentOS+5.2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2&amp;title=How+To+Install+Openbravo+ERP+On+CentOS+5.2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2&amp;title=How+To+Install+Openbravo+ERP+On+CentOS+5.2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2&amp;headline=How+To+Install+Openbravo+ERP+On+CentOS+5.2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=How+To+Install+Openbravo+ERP+On+CentOS+5.2&amp;url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=How+To+Install+Openbravo+ERP+On+CentOS+5.2&amp;u=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=How+To+Install+Openbravo+ERP+On+CentOS+5.2&amp;url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=How+To+Install+Openbravo+ERP+On+CentOS+5.2&amp;url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=How+To+Install+Openbravo+ERP+On+CentOS+5.2&amp;url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2&amp;title=How+To+Install+Openbravo+ERP+On+CentOS+5.2&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Ftusforyou.com%2Fhow-to-install-openbravo-erp-on-centos-5-2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://tusforyou.com/how-to-install-openbravo-erp-on-centos-5-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop &#8211; Page 3</title>
		<link>http://tusforyou.com/vmware_converter_windows_linux_p3</link>
		<comments>http://tusforyou.com/vmware_converter_windows_linux_p3#comments</comments>
		<pubDate>Sat, 19 Jun 2010 14:00:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Convert]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Into]]></category>
		<category><![CDATA[Machines]]></category>
		<category><![CDATA[Physical]]></category>
		<category><![CDATA[Systems]]></category>
		<category><![CDATA[Virtual]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://tusforyou.com/vmware_converter_windows_linux_p3</guid>
		<description><![CDATA[This article shows how you can convert a physical Windows system (XP, 2003, 2000, NT4 SP4+) into a VMware virtual machine with the free VMware Converter Starter. The resulting virtual machine can be run in the free VMware Player and VMware Server, and also in VMware Workstation and other VMware products. Vmware Converter comes in [...]]]></description>
			<content:encoded><![CDATA[<p>This article shows how you can convert a physical Windows system (XP, 2003, 2000, NT4 SP4+) into a VMware virtual machine with the free VMware Converter Starter. The resulting virtual machine can be run in the free VMware Player and VMware Server, and also in VMware Workstation and other VMware products. Vmware Converter comes in handy if you want to switch to a Linux desktop, but feel the need to run your old Windows desktop from time to time. By converting your Windows desktop into a virtual machine, you can run it under VMware Server/Player, etc. on your Linux desktop. <span id="more-5149"></span>
<div class="node">
<div class="content">
<p>Specify a name for the new virtual machine (e.g. <span class="system">Windows XP Desktop</span>) and select the location where the virtual machine will be created. You can select a local folder, but VMware Converter will display a warning if the destination folder is on the system that is going to be converted. A better idea is to select a network folder, for example the <span class="system">Virtual Machines</span> folder on the system where VMware Server is installed (e.g. your new Linux desktop). This also has the benefit that you don&#8217;t have to copy the virtual machine to another folder/system after the conversion since the virtual machine is already in place. </p>
<p><img src="http://tusforyou.com/images/vmware_converter/19.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="19 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p>Select <span class="system">Workstation 5.x, VMware Server, VMware Player</span> for <span class="system">Type of virtual machine to create</span> and click on <span class="system">Next</span>: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/20.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="20 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p>If the destination folder is password-protected, you have to specify a username and password: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/21.png" height="261" width="326" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="21 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p>Next you can make some choices regarding the <span class="system">Disk Space Allocation</span>. Usually <span class="system">Allow virtual disk files to grow</span> is a good choice: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/22.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="22 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p>VMware Converter checks some settings: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/23.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="23 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p>Next specify some network settings for the virtual machine. Usually <span class="system">Bridge</span> is the best choice: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/24.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="24 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p>Afterwards you can do some customizations, but it&#8217;s not necessary. Then click on <span class="system">Next</span>: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/25.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="25 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p>Check all settings again, and if they are ok, click on <span class="system">Finish</span>: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/26.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="26 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p>The conversion begins. This can take some minutes, so please be patient. If you check the destination folder at the same time (for example the <span class="system">Virtual Machines</span> folder on our VMware Server system), you will notice that a new directory with the name of the virtual machine (e.g. <span class="system">Windows XP Desktop</span>) has been created, and in it the virtual machine is being created:</p>
<p><img src="http://tusforyou.com/images/vmware_converter/27.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="27 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p>This is how it looks after the completed conversion: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/28.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="28 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p>To check the details of the conversion, you can click on the <span class="system">Task Progress</span> tab: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/29.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="29 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p>&nbsp;</p>
<h3>4 Start Your Virtual Machine</h3>
<p>Now go to the system where VMware Server is installed, e.g. your Linux desktop or some other Windows desktop. (You can find guides for installing VMware Server on Debian Sarge and Ubuntu Dapper Drake here:</p>
<ul>
<li>Debian Sarge: <a href="http://www.tusforyou.com/debian_sarge_vmware_server_howto" target="_blank">http://www.tusforyou.com/debian_sarge_vmware_server_howto</a></li>
<li>Ubuntu Dapper Drake: <a href="http://www.tusforyou.com/ubuntu_vmware_server" target="_blank">http://www.tusforyou.com/ubuntu_vmware_server</a></li>
</ul>
<p>.)</p>
<p>Then import the <span class="system">Windows XP Desktop</span> virtual machine into your VMware Server as described here: <a href="http://www.tusforyou.com/import_vmware_images" target="_blank">http://www.tusforyou.com/import_vmware_images</a></p>
<p>Afterwards start it. If all goes well, your old Windows desktop should come up in VMware Server: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/35.png" height="382" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="35 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p><img src="http://tusforyou.com/images/vmware_converter/36.png" height="333" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="36 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p><img src="http://tusforyou.com/images/vmware_converter/37.png" height="333" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" alt="37 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 3" /></p>
<p>&nbsp;</p>
<h3>5 Links</h3>
<ul>
<li>VMware: <a href="http://www.vmware.com/" target="_blank">http://www.vmware.com</a></li>
<li>VMware Converter: <a href="http://www.vmware.com/products/converter/" target="_blank">http://www.vmware.com/products/converter</a></li>
<li>VMware Server: <a href="http://www.vmware.com/products/server/" target="_blank">http://www.vmware.com/products/server</a></li>
<li>VMware Player: <a href="http://www.vmware.com/products/player/" target="_blank">http://www.vmware.com/products/player</a></li>
</ul>
<div class="book">
<div class="nav">
<div class="links">
<div class="prev"><a href="vmware_converter_windows_linux_p2" title="View the previous page.">previous</a></div>
<div class="next">&nbsp;</div>
<div class="up"><a href="vmware_converter_windows_linux" title="View this page&#39;s parent section.">up</a></div>
</div>
<div class="titles">
<div class="prev">Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop &#8211; Page 2</div>
</div>
</div>
</div>
<p>
<div class="copyright-footer">Copyright © 2007 Falko Timme<br />All Rights Reserved.</div>
</div>
</div>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3&amp;title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+3" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3&amp;title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+3" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3&amp;title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+3" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3&amp;headline=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+3" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+3&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+3&amp;u=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+3&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+3&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+3&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3&amp;title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+3&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p3" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://tusforyou.com/vmware_converter_windows_linux_p3/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop &#8211; Page 2</title>
		<link>http://tusforyou.com/vmware_converter_windows_linux_p2</link>
		<comments>http://tusforyou.com/vmware_converter_windows_linux_p2#comments</comments>
		<pubDate>Sat, 19 Jun 2010 13:58:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Convert]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Into]]></category>
		<category><![CDATA[Machines]]></category>
		<category><![CDATA[Physical]]></category>
		<category><![CDATA[Systems]]></category>
		<category><![CDATA[Virtual]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://tusforyou.com/vmware_converter_windows_linux_p2</guid>
		<description><![CDATA[This article shows how you can convert a physical Windows system (XP, 2003, 2000, NT4 SP4+) into a VMware virtual machine with the free VMware Converter Starter. The resulting virtual machine can be run in the free VMware Player and VMware Server, and also in VMware Workstation and other VMware products. 3 Convert Your Windows [...]]]></description>
			<content:encoded><![CDATA[<p>This article shows how you can convert a physical Windows system (XP, 2003, 2000, NT4 SP4+) into a VMware virtual machine with the free VMware Converter Starter. The resulting virtual machine can be run in the free VMware Player and VMware Server, and also in VMware Workstation and other VMware products.<span id="more-5148"></span>
<div class="node">
<div class="content">
<h3>3 Convert Your Windows Desktop Into A Virtual Machine</h3>
<p>Now start VMware Converter (it will start automatically if you have chosen <span class="system">Run VMware Converter now.</span> at the end of the VMware Converter installlation).</p>
<p>We don&#8217;t need to add licenses as VMware Converter&#8217;s <span class="system">Starter Mode</span> offers all we need (and in <span class="system">Starter Mode</span> VMware Converter is free). Therefore we click on <span class="system">Continue in Starter Mode</span>: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/8.png" height="312" width="512" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" alt="8 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" /></p>
<p>The VMware Converter interface opens. Please click on <span class="system">Import Machine</span>:</p>
<p><img src="http://tusforyou.com/images/vmware_converter/9.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" alt="9 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" /></p>
<p>The VMware Converter wizard starts. Click on <span class="system">Next</span>: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/10.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" alt="10 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" /></p>
<p>Click on <span class="system">Next</span> again: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/11.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" alt="11 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" /></p>
<p>Choose <span class="system">Physical computer</span> as the source: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/12.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" alt="12 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" /></p>
<p>We want to convert the local machine, therefore we select <span class="system">This local machine</span> and click on <span class="system">Next</span>: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/13.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" alt="13 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" /></p>
<p>Select the volumes that you want to convert. Normally the default values are ok: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/14.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" alt="14 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" /></p>
<p>Click on <span class="system">Next</span>: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/15.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" alt="15 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" /></p>
<p>I want to run the virtual machine in VMware Server, therefore I select <span class="system">VMware standalone virtual machine (Workstation or VMware Server)</span>: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/16.png" height="379" width="550" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" alt="16 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop   Page 2" /></p>
<div class="book">
<div class="nav">
<div class="links">
<div class="prev"><a href="vmware_converter_windows_linux" title="View the previous page.">previous</a></div>
<div class="next"><a href="vmware_converter_windows_linux_p3" title="View the next page.">next</a></div>
<div class="up"><a href="vmware_converter_windows_linux" title="View this page&#39;s parent section.">up</a></div>
</div>
<div class="titles">
<div class="prev">Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop</div>
<div class="next">Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop &#8211; Page 3</div>
</div>
</div>
</div>
<p>
<div class="copyright-footer">Copyright © 2007 Falko Timme<br />All Rights Reserved.</div>
</div>
</div>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2&amp;title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2&amp;title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2&amp;title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2&amp;headline=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+2&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+2&amp;u=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+2&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+2&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+2&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2&amp;title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop+-+Page+2&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux_p2" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://tusforyou.com/vmware_converter_windows_linux_p2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop</title>
		<link>http://tusforyou.com/vmware_converter_windows_linux</link>
		<comments>http://tusforyou.com/vmware_converter_windows_linux#comments</comments>
		<pubDate>Sat, 19 Jun 2010 13:56:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Convert]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Into]]></category>
		<category><![CDATA[Machines]]></category>
		<category><![CDATA[Physical]]></category>
		<category><![CDATA[Systems]]></category>
		<category><![CDATA[Virtual]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://tusforyou.com/vmware_converter_windows_linux</guid>
		<description><![CDATA[This article shows how you can convert a physical Windows system (XP, 2003, 2000, NT4 SP4+) into a VMware virtual machine with the free VMware Converter Starter. The resulting virtual machine can be run in the free VMware Player and VMware Server, and also in VMware Workstation and other VMware products. Convert Physical Windows Systems [...]]]></description>
			<content:encoded><![CDATA[<p>This article shows how you can convert a physical Windows system (XP, 2003, 2000, NT4 SP4+) into a VMware virtual machine with the free VMware Converter Starter. The resulting virtual machine can be run in the free VMware Player and VMware Server, and also in VMware Workstation and other VMware products.<span id="more-5147"></span>
<div class="node">
<div class="content">
<h2>Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop </h2>
<p>Version 1.0 <br />
Author: Falko Timme &lt;ft [at] falkotimme [dot] com&gt; <br />
Last edited 02/13/2007</p>
<p>This article shows how you can convert a physical Windows system (XP, 2003, 2000, NT4 SP4+) into a VMware virtual machine with the free <a href="http://www.vmware.com/products/converter/" target="_blank">VMware Converter Starter</a>. The resulting virtual machine can be run in the free <a href="http://www.vmware.com/products/player/" target="_blank">VMware Player</a> and <a href="http://www.vmware.com/products/server/" target="_blank">VMware Server</a>, and also in VMware Workstation and other VMware products. Vmware Converter comes in handy if you want to switch to a Linux desktop, but feel the need to run your old Windows desktop from time to time. By converting your Windows desktop into a virtual machine, you can run it under VMware Server/Player, etc. on your Linux desktop. </p>
<p>I do not issue any guarantee that this will work for you!</p>
<p>&nbsp;</p>
<h3>1 Preliminary Note</h3>
<p>In this article I will convert a Windows XP desktop into a virtual machine. Afterwards I will start the virtual machine in VMware Server.</p>
<p>(You can find guides for installing VMware Server on Debian Sarge and Ubuntu Dapper Drake here:</p>
<ul>
<li>Debian Sarge: <a href="http://www.tusforyou.com/debian_sarge_vmware_server_howto" target="_blank">http://www.tusforyou.com/debian_sarge_vmware_server_howto</a></li>
<li>Ubuntu Dapper Drake: <a href="http://www.tusforyou.com/ubuntu_vmware_server" target="_blank">http://www.tusforyou.com/ubuntu_vmware_server</a></li>
</ul>
<p>.)</p>
<p>&nbsp;</p>
<h3>2 Install VMware Converter</h3>
<p>First download VMware Converter from <a href="http://www.vmware.com/products/converter/" target="_blank">http://www.vmware.com/products/converter</a> to your Windows system (the one that you want to convert into a virtual machine) and start the installation by double-clicking on the downloaded file. </p>
<p><img src="http://tusforyou.com/images/vmware_converter/1.png" width="503" height="385" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" alt="1 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" /></p>
<p>Accept the license agreement and click on <span class="system">Next</span>: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/2.png" width="503" height="385" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" alt="2 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" /></p>
<p>Select a destination folder for the installation (normally you can accept the default value): </p>
<p><img src="http://tusforyou.com/images/vmware_converter/3.png" width="503" height="385" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" alt="3 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" /></p>
<p>Choose <span class="system">Typical</span> when asked for the setup type: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/4.png" width="503" height="385" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" alt="4 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" /></p>
<p>Click on <span class="system">Install</span> to begin the installation: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/5.png" width="503" height="385" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" alt="5 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" /></p>
<p>VMware Converter is being installed: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/6.png" width="503" height="385" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" alt="6 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" /></p>
<p>After the installation, click <span class="system">Finish</span>. If you like to start VMware Converter now, please check <span class="system">Run VMware Converter now.</span>: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/7.png" width="503" height="385" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" alt="7 Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" /></p>
<p>You should now find a VMware Converter icon on your desktop: </p>
<p><img src="http://tusforyou.com/images/vmware_converter/7a.png" width="76" height="78" title="Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" alt="7a Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop" /></p>
<div class="book">
<div class="tree">
<div class="menu">
<ul>
<li class="leaf"><a href="vmware_converter_windows_linux_p2">Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop &#8211; Page 2</a></li>
<li class="leaf"><a href="vmware_converter_windows_linux_p3">Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop &#8211; Page 3</a></li>
</ul>
</div>
</div>
<div class="nav">
<div class="links">
<div class="prev">&nbsp;</div>
<div class="next"><a href="vmware_converter_windows_linux_p2" title="View the next page.">next</a></div>
</div>
<div class="titles">
<div class="next">Convert Physical Windows Systems Into Virtual Machines To Be Run On A Linux Desktop &#8211; Page 2</div>
</div>
</div>
</div>
<p>
<div class="copyright-footer">Copyright © 2007 Falko Timme<br />All Rights Reserved.</div>
</div>
</div>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux&amp;title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux&amp;title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux&amp;title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux&amp;headline=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop&amp;u=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux&amp;title=Convert+Physical+Windows+Systems+Into+Virtual+Machines+To+Be+Run+On+A+Linux+Desktop&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Ftusforyou.com%2Fvmware_converter_windows_linux" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://tusforyou.com/vmware_converter_windows_linux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86_64) &#8211; Page 6</title>
		<link>http://tusforyou.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6</link>
		<comments>http://tusforyou.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6#comments</comments>
		<pubDate>Sat, 19 Jun 2010 13:52:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Courier]]></category>
		<category><![CDATA[Domains]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[SquirrelMail]]></category>
		<category><![CDATA[Users]]></category>
		<category><![CDATA[Virtual]]></category>
		<category><![CDATA[With]]></category>
		<category><![CDATA[x86_64]]></category>

		<guid isPermaLink="false">http://tusforyou.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6</guid>
		<description><![CDATA[This document describes how to install a mail server based on Postfix that is based on virtual users and domains, i.e. users and domains that are in a MySQL database. I\&#8217;ll also demonstrate the installation and configuration of Courier (Courier-POP3, Courier-IMAP), so that Courier can authenticate against the same MySQL database Postfix uses 18 Installing [...]]]></description>
			<content:encoded><![CDATA[<p>This document describes how to install a mail server based on Postfix that is based on virtual users and domains, i.e. users and domains that are in a MySQL database. I\&#8217;ll also demonstrate the installation and configuration of Courier (Courier-POP3, Courier-IMAP), so that Courier can authenticate against the same MySQL database Postfix uses<span id="more-5146"></span>
<div class="node">
<div class="content">
<h3>18 Installing SquirrelMail</h3>
<p>SquirrelMail is a webmail interface that will let your users send and receive emails in a browser. This chapter shows how to install it and adjust it to our setup so that users can even change their email account password from the SquirrelMail interface.</p>
<p>To install SquirrelMail, we run:</p>
<p class="command">yum install squirrelmail php-pear-DB</p>
<p>Afterwards we restart Apache:</p>
<p class="command">/etc/init.d/httpd restart </p>
<p>SquirrelMail comes with some pre-installed plugins, unfortunately none of them is capable of letting us change our email password in our MySQL database. But there&#8217;s the <a href="http://www.squirrelmail.org/plugin_view.php?id=25" target="_blank">Change SQL Password plugin</a> which we can install manually:</p>
<p class="command">cd /usr/share/squirrelmail/plugins<br /> wget http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fchange_sqlpass-3.3-1.2.tar.gz<br /> tar xvfz change_sqlpass-3.3-1.2.tar.gz<br /> cd change_sqlpass<br />
cp config.php.sample config.php</p>
<p>Now we must edit <span class="system">config.php</span> and adjust it to our setup. Please adjust the <span class="system">$csp_dsn</span>, <span class="system">$lookup_password_query</span>, <span class="system">$password_update_queries</span>, <span class="system">$password_encryption</span>, <span class="system">$csp_salt_static</span>, and <span class="system">$csp_delimiter</span> variables as follows and comment out <span class="system">$csp_salt_query</span>:</p>
<p class="command">vi config.php</p>
<tr>
<td class="">
<pre>[...]
$csp_dsn = 'mysql://mail_admin:mail_admin_password@localhost/mail';
[...]
$lookup_password_query = 'SELECT count(*) FROM users WHERE email = "%1" AND password = %4';
[...]
$password_update_queries = array('UPDATE users SET password = %4 WHERE email = "%1"');
[...]
$password_encryption = 'MYSQLENCRYPT';
[...]
$csp_salt_static = 'LEFT(password, 2)';
[...]
//$csp_salt_query = 'SELECT salt FROM users WHERE username = "%1"';
[...]
$csp_delimiter = '@';
[...]</pre>
</td>
</tr>
<p>The complete file looks as follows:</p>
<tr>
<td class="">
<pre>&lt;?php/** * SquirrelMail Change SQL Password Plugin * Copyright (C) 2001-2002 Tyler Akins * 2002 Thijs Kinkhorst &lt;kink@users.sourceforge.net&gt; * 2002-2005 Paul Lesneiwski &lt;paul@openguild.net&gt; * This program is licensed under GPL. See COPYING for details * * @package plugins * @subpackage Change SQL Password * */// Global Variables, don't touch these unless you want to break the plugin//global $csp_dsn, $password_update_queries, $lookup_password_query, $force_change_password_check_query, $password_encryption, $csp_salt_query, $csp_salt_static, $csp_secure_port, $csp_non_standard_http_port, $csp_delimiter, $csp_debug, $min_password_length, $max_password_length, $include_digit_in_password, $include_uppercase_letter_in_password, $include_lowercase_letter_in_password, $include_nonalphanumeric_in_password; // csp_dsn//// Theoretically, any SQL database supported by Pear should be supported// here.The DSN (data source name) must contain the information needed// to connect to your database backend. A MySQL example is included below.// For more details about DSN syntax and list of supported database types,// please see:// http://pear.php.net/manual/en/package.database.db.intro-dsn.php////$csp_dsn = 'mysql://user:password@localhost/email_users';$csp_dsn = 'mysql://mail_admin:mail_admin_password@localhost/mail';// lookup_password_query//// This plugin will always verify the user's old password// against their login password, but an extra check can also// be done against the database for more security if you// desire.If you do not need the extra password check,// make sure this setting is empty.//// This is a query that returns a positive value if a user// and password pair are found in the database.//// This query should return one value (one row, one column), the// value being ideally a one or a zero, simply indicating that// the user/password pair does in fact exist in the database.//// %1 in this query will be replaced with the full username//(including domain), such as "jose@example.com"// %2 in this query will be replaced with the username (without//any domain portion), such as "jose"// %3 in this query will be replaced with the domain name,//such as "example.com"// %4 in this query will be replaced with the current (old)//password in whatever encryption format is needed per other//plugin configuration settings (Note that the syntax of//the password will be provided depending on your encryption//choices, so you NEVER need to provide quotes around this//value in the query here.)// %5 in this query will be replaced with the current (old)//password in unencrypted plain text.If you do not use any//password encryption, %4 and %5 will be the same values,//except %4 will have double quotes around it and %5 will not.////$lookup_password_query = '';// TERRIBLE SECURITY: $lookup_password_query = 'SELECT count(*) FROM users WHERE username = "%1" AND plain_password = "%5"';//$lookup_password_query = 'SELECT count(*) FROM users WHERE username = "%1" AND crypt_password = %4';$lookup_password_query = 'SELECT count(*) FROM users WHERE email = "%1" AND password = %4';// password_update_queries//// An array of SQL queries that will all be executed// whenever a password change attempt is made.//// Any number of queries may be included here.// The queries will be executed in the order given here.//// %1 in all queries will be replaced with the full username//(including domain), such as "jose@example.com"// %2 in all queries will be replaced with the username (without//any domain portion), such as "jose"// %3 in all queries will be replaced with the domain name,//such as "example.com"// %4 in all queries will be replaced with the new password//in whatever encryption format is needed per other//plugin configuration settings (Note that the syntax of//the password will be provided depending on your//encryption choices, so you NEVER need to provide quotes//around this value in the queries here.)// %5 in all queries will be replaced with the new password//in unencrypted plain text - BEWARE!If you do not use//any password encryption, %4 and %5 will be the same//values, except %4 will have double quotes around it//and %5 will not.//
// $password_update_queries = array(
//'UPDATE users SET crypt_password = %4 WHERE username = "%1"',
//'UPDATE user_flags SET force_change_pwd = 0 WHERE username = "%1"',
//'UPDATE users SET crypt_password = %4, force_change_pwd = 0 WHERE username = "%1"',
// );$password_update_queries = array('UPDATE users SET password = %4 WHERE email = "%1"');// force_change_password_check_query//// A query that checks for a flag that indicates if a user// should be forced to change their password.This query// should return one value (one row, one column) which is// zero if the user does NOT need to change their password,// or one if the user should be forced to change it now.//// This setting should be an empty string if you do not wish// to enable this functionality.//// %1 in this query will be replaced with the full username//(including domain), such as "jose@example.com"// %2 in this query will be replaced with the username (without//any domain portion), such as "jose"// %3 in this query will be replaced with the domain name,//such as "example.com"////$force_change_password_check_query = 'SELECT IF(force_change_pwd = "yes", 1, 0) FROM users WHERE username = "%1"';//$force_change_password_check_query = 'SELECT force_change_pwd FROM users WHERE username = "%1"';$force_change_password_check_query = ''; // password_encryption//// What encryption method do you use to store passwords// in your database?Please use one of the following,// exactly as you see it://// NONEPasswords are stored as plain text only// MYSQLPWDPasswords are stored using the MySQL password() function// MYSQLENCRYPTPasswords are stored using the MySQL encrypt() function// PHPCRYPTPasswords are stored using the PHP crypt() function// MD5CRYPTPasswords are stored using encrypted MD5 algorithm// MD5 Passwords are stored as MD5 hash////$password_encryption = 'MYSQLPWD';$password_encryption = 'MYSQLENCRYPT';// csp_salt_query// csp_salt_static//// Encryption types that need a salt need to know where to get// that salt.If you have a constant, known salt value, you// should define it in $csp_salt_static.Otherwise, leave that// value empty and define a value for the $csp_salt_query.//// Leave both values empty if you do not need (or use) salts// to encrypt your passwords.//// The query should return one value (one row, one column) which// is the salt value for the current user's password.This// query is ignored if $csp_salt_static is anything but empty.//// %1 in this query will be replaced with the full username//(including domain), such as "jose@example.com"// %2 in this query will be replaced with the username (without//any domain portion), such as "jose"// %3 in this query will be replaced with the domain name,//such as "example.com"////$csp_salt_static = 'LEFT(crypt_password, 2)';//$csp_salt_static = '"a4"';// use this format with MYSQLENCRYPT//$csp_salt_static = '$2$blowsomefish$';// use this format with PHPCRYPT//$csp_salt_static = '';$csp_salt_static = 'LEFT(password, 2)'; //$csp_salt_query = 'SELECT SUBSTRING_INDEX(crypt_password, '$', 1) FROM users WHERE username = "%1"';//$csp_salt_query = 'SELECT SUBSTRING(crypt_password, (LENGTH(SUBSTRING_INDEX(crypt_password, '$', 2)) + 2)) FROM users WHERE username = "%1"';//$csp_salt_query = 'SELECT salt FROM users WHERE username = "%1"';//$csp_salt_query = ''; // csp_secure_port//// You may ensure that SSL encryption is used during password// change by setting this to the port that your HTTPS is served// on (443 is typical).Set to zero if you do not wish to force// an HTTPS connection when users are changing their passwords.//// You may override this value for certain domains, users, or// service levels through the Virtual Host Login (vlogin) plugin// by setting a value(s) for $vlogin_csp_secure_port in the vlogin// configuration.//$csp_secure_port = 0;//$csp_secure_port = 443; // csp_non_standard_http_port//// If you serve standard HTTP web requests on a non-standard// port (anything other than port 80), you should specify that// port number here.Set to zero otherwise.//// You may override this value for certain domains, users, or// service levels through the Virtual Host Login (vlogin) plugin// by setting a value(s) for $vlogin_csp_non_standard_http_port// in the vlogin configuration.////$csp_non_standard_http_port = 8080;$csp_non_standard_http_port = 0; // min_password_length// max_password_length// include_digit_in_password// include_uppercase_letter_in_password// include_lowercase_letter_in_password// include_nonalphanumeric_in_password//// You can set the minimum and maximum password lengths that// you accept or leave those settings as zero to indicate that// no limit should be applied.//// Turn on any of the other settings here to check that the// new password contains at least one digit, upper case letter,// lower case letter and/or one non-alphanumeric character.//$min_password_length = 6;$max_password_length = 0;$include_digit_in_password = 0;$include_uppercase_letter_in_password = 0;$include_lowercase_letter_in_password = 0;$include_nonalphanumeric_in_password = 0; // csp_delimiter//// if your system has usernames with something other than// an "@" sign separating the user and domain portion,// specify that character here////$csp_delimiter = '|';$csp_delimiter = '@'; // debug mode//$csp_debug = 0;?&gt;</pre>
</td>
</tr>
<p>The <span class="system">Change SQL Password</span> plugin also depends on the <a href="http://www.squirrelmail.org/plugin_view.php?id=152" target="_blank">Compatibility plugin</a> which we install as follows:</p>
<p class="command">cd /usr/share/squirrelmail/plugins<br /> wget http://www.squirrelmail.org/countdl.php?fileurl=http%3A%2F%2Fwww.squirrelmail.org%2Fplugins%2Fcompatibility-2.0.15-1.0.tar.gz<br />
tar xvfz compatibility-2.0.15-1.0.tar.gz</p>
<p>Now we must go into the SquirrelMail configuration and tell SquirrelMail that we use Courier as our POP3 and IMAP server and enable the <span class="system">Change SQL Password</span> and the <span class="system">Compatibility</span> plugins: </p>
<p class="command">/usr/share/squirrelmail/config/conf.pl</p>
<p>You&#8217;ll see the following menu. Navigate through it as indicated:</p>
<p class="system">SquirrelMail&nbsp;Configuration&nbsp;:&nbsp;Read:&nbsp;config.php&nbsp;(1.4.0)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Main&nbsp;Menu&nbsp;&#8211;<br />
1.&nbsp;&nbsp;Organization&nbsp;Preferences<br />
2.&nbsp;&nbsp;Server&nbsp;Settings<br />
3.&nbsp;&nbsp;Folder&nbsp;Defaults<br />
4.&nbsp;&nbsp;General&nbsp;Options<br />
5.&nbsp;&nbsp;Themes<br />
6.&nbsp;&nbsp;Address&nbsp;Books<br />
7.&nbsp;&nbsp;Message&nbsp;of&nbsp;the&nbsp;Day&nbsp;(MOTD)<br />
8.&nbsp;&nbsp;Plugins<br />
9.&nbsp;&nbsp;Database<br />
10.&nbsp;Languages</p>
<p>D.&nbsp;&nbsp;Set&nbsp;pre-defined&nbsp;settings&nbsp;for&nbsp;specific&nbsp;IMAP&nbsp;servers</p>
<p>C&nbsp;&nbsp;&nbsp;Turn&nbsp;color&nbsp;off<br />
S&nbsp;&nbsp;&nbsp;Save&nbsp;data<br />
Q&nbsp;&nbsp;&nbsp;Quit</p>
<p>Command&nbsp;&gt;&gt;&nbsp;<span class="highlight">&lt;&#8211;&nbsp;D</span></p>
<p>
SquirrelMail&nbsp;Configuration&nbsp;:&nbsp;Read:&nbsp;config.php<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
While&nbsp;we&nbsp;have&nbsp;been&nbsp;building&nbsp;SquirrelMail,&nbsp;we&nbsp;have&nbsp;discovered&nbsp;some<br />
preferences&nbsp;that&nbsp;work&nbsp;better&nbsp;with&nbsp;some&nbsp;servers&nbsp;that&nbsp;don&#8217;t&nbsp;work&nbsp;so<br />
well&nbsp;with&nbsp;others.&nbsp;&nbsp;If&nbsp;you&nbsp;select&nbsp;your&nbsp;IMAP&nbsp;server,&nbsp;this&nbsp;option&nbsp;will<br />
set&nbsp;some&nbsp;pre-defined&nbsp;settings&nbsp;for&nbsp;that&nbsp;server.</p>
<p>Please&nbsp;note&nbsp;that&nbsp;you&nbsp;will&nbsp;still&nbsp;need&nbsp;to&nbsp;go&nbsp;through&nbsp;and&nbsp;make&nbsp;sure<br />
everything&nbsp;is&nbsp;correct.&nbsp;&nbsp;This&nbsp;does&nbsp;not&nbsp;change&nbsp;everything.&nbsp;&nbsp;There&nbsp;are<br />
only&nbsp;a&nbsp;few&nbsp;settings&nbsp;that&nbsp;this&nbsp;will&nbsp;change.</p>
<p>Please&nbsp;select&nbsp;your&nbsp;IMAP&nbsp;server:<br />
&nbsp;&nbsp;&nbsp;&nbsp;bincimap&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;Binc&nbsp;IMAP&nbsp;server<br />
&nbsp;&nbsp;&nbsp;&nbsp;courier&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;Courier&nbsp;IMAP&nbsp;server<br />
&nbsp;&nbsp;&nbsp;&nbsp;cyrus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;Cyrus&nbsp;IMAP&nbsp;server<br />
&nbsp;&nbsp;&nbsp;&nbsp;dovecot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;Dovecot&nbsp;Secure&nbsp;IMAP&nbsp;server<br />
&nbsp;&nbsp;&nbsp;&nbsp;exchange&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;Microsoft&nbsp;Exchange&nbsp;IMAP&nbsp;server<br />
&nbsp;&nbsp;&nbsp;&nbsp;hmailserver&nbsp;=&nbsp;hMailServer<br />
&nbsp;&nbsp;&nbsp;&nbsp;macosx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;Mac&nbsp;OS&nbsp;X&nbsp;Mailserver<br />
&nbsp;&nbsp;&nbsp;&nbsp;mercury32&nbsp;&nbsp;&nbsp;=&nbsp;Mercury/32<br />
&nbsp;&nbsp;&nbsp;&nbsp;uw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;University&nbsp;of&nbsp;Washington&#8217;s&nbsp;IMAP&nbsp;server</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;quit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;Do&nbsp;not&nbsp;change&nbsp;anything<br />
Command&nbsp;&gt;&gt;&nbsp;<span class="highlight">&lt;&#8211;&nbsp;courier</span></p>
<p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imap_server_type&nbsp;=&nbsp;courier<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default_folder_prefix&nbsp;=&nbsp;INBOX.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trash_folder&nbsp;=&nbsp;Trash<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sent_folder&nbsp;=&nbsp;Sent<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;draft_folder&nbsp;=&nbsp;Drafts<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;show_prefix_option&nbsp;=&nbsp;false<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default_sub_of_inbox&nbsp;=&nbsp;false<br />
show_contain_subfolders_option&nbsp;=&nbsp;false<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;optional_delimiter&nbsp;=&nbsp;.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete_folder&nbsp;=&nbsp;true</p>
<p>Press&nbsp;any&nbsp;key&nbsp;to&nbsp;continue&#8230;&nbsp;<span class="highlight">&lt;&#8211;&nbsp;press&nbsp;some&nbsp;key</span></p>
<p>
SquirrelMail&nbsp;Configuration&nbsp;:&nbsp;Read:&nbsp;config.php&nbsp;(1.4.0)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Main&nbsp;Menu&nbsp;&#8211;<br />
1.&nbsp;&nbsp;Organization&nbsp;Preferences<br />
2.&nbsp;&nbsp;Server&nbsp;Settings<br />
3.&nbsp;&nbsp;Folder&nbsp;Defaults<br />
4.&nbsp;&nbsp;General&nbsp;Options<br />
5.&nbsp;&nbsp;Themes<br />
6.&nbsp;&nbsp;Address&nbsp;Books<br />
7.&nbsp;&nbsp;Message&nbsp;of&nbsp;the&nbsp;Day&nbsp;(MOTD)<br />
8.&nbsp;&nbsp;Plugins<br />
9.&nbsp;&nbsp;Database<br />
10.&nbsp;Languages</p>
<p>D.&nbsp;&nbsp;Set&nbsp;pre-defined&nbsp;settings&nbsp;for&nbsp;specific&nbsp;IMAP&nbsp;servers</p>
<p>C&nbsp;&nbsp;&nbsp;Turn&nbsp;color&nbsp;off<br />
S&nbsp;&nbsp;&nbsp;Save&nbsp;data<br />
Q&nbsp;&nbsp;&nbsp;Quit</p>
<p>Command&nbsp;&gt;&gt;&nbsp;<span class="highlight">&lt;&#8211;&nbsp;8</span></p>
<p>
SquirrelMail&nbsp;Configuration&nbsp;:&nbsp;Read:&nbsp;config.php&nbsp;(1.4.0)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Plugins<br />
&nbsp;&nbsp;Installed&nbsp;Plugins<br />
&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;delete_move_next<br />
&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;squirrelspell<br />
&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;newmail</p>
<p>&nbsp;&nbsp;Available&nbsp;Plugins:<br />
&nbsp;&nbsp;&nbsp;&nbsp;4.&nbsp;administrator<br />
&nbsp;&nbsp;&nbsp;&nbsp;5.&nbsp;bug_report<br />
&nbsp;&nbsp;&nbsp;&nbsp;6.&nbsp;calendar<br />
&nbsp;&nbsp;&nbsp;&nbsp;7.&nbsp;change_sqlpass<br />
&nbsp;&nbsp;&nbsp;&nbsp;8.&nbsp;compatibility<br />
&nbsp;&nbsp;&nbsp;&nbsp;9.&nbsp;demo<br />
&nbsp;&nbsp;&nbsp;&nbsp;10.&nbsp;filters<br />
&nbsp;&nbsp;&nbsp;&nbsp;11.&nbsp;fortune<br />
&nbsp;&nbsp;&nbsp;&nbsp;12.&nbsp;info<br />
&nbsp;&nbsp;&nbsp;&nbsp;13.&nbsp;listcommands<br />
&nbsp;&nbsp;&nbsp;&nbsp;14.&nbsp;mail_fetch<br />
&nbsp;&nbsp;&nbsp;&nbsp;15.&nbsp;message_details<br />
&nbsp;&nbsp;&nbsp;&nbsp;16.&nbsp;sent_subfolders<br />
&nbsp;&nbsp;&nbsp;&nbsp;17.&nbsp;spamcop<br />
&nbsp;&nbsp;&nbsp;&nbsp;18.&nbsp;test<br />
&nbsp;&nbsp;&nbsp;&nbsp;19.&nbsp;translate</p>
<p>R&nbsp;&nbsp;&nbsp;Return&nbsp;to&nbsp;Main&nbsp;Menu<br />
C&nbsp;&nbsp;&nbsp;Turn&nbsp;color&nbsp;off<br />
S&nbsp;&nbsp;&nbsp;Save&nbsp;data<br />
Q&nbsp;&nbsp;&nbsp;Quit</p>
<p>Command&nbsp;&gt;&gt;&nbsp;<span class="highlight">&lt;&#8211;&nbsp;8 (or whatever number the compatibility plugin has &#8211; it&#8217;s needed by the change_sqlpass plugin)</span></p>
<p>
SquirrelMail&nbsp;Configuration&nbsp;:&nbsp;Read:&nbsp;config.php&nbsp;(1.4.0)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Plugins<br />
&nbsp;&nbsp;Installed&nbsp;Plugins<br />
&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;delete_move_next<br />
&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;squirrelspell<br />
&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;newmail<br />
&nbsp;&nbsp;&nbsp;&nbsp;4.&nbsp;compatibility</p>
<p>&nbsp;&nbsp;Available&nbsp;Plugins:<br />
&nbsp;&nbsp;&nbsp;&nbsp;5.&nbsp;administrator<br />
&nbsp;&nbsp;&nbsp;&nbsp;6.&nbsp;bug_report<br />
&nbsp;&nbsp;&nbsp;&nbsp;7.&nbsp;calendar<br />
&nbsp;&nbsp;&nbsp;&nbsp;8.&nbsp;change_sqlpass<br />
&nbsp;&nbsp;&nbsp;&nbsp;9.&nbsp;demo<br />
&nbsp;&nbsp;&nbsp;&nbsp;10.&nbsp;filters<br />
&nbsp;&nbsp;&nbsp;&nbsp;11.&nbsp;fortune<br />
&nbsp;&nbsp;&nbsp;&nbsp;12.&nbsp;info<br />
&nbsp;&nbsp;&nbsp;&nbsp;13.&nbsp;listcommands<br />
&nbsp;&nbsp;&nbsp;&nbsp;14.&nbsp;mail_fetch<br />
&nbsp;&nbsp;&nbsp;&nbsp;15.&nbsp;message_details<br />
&nbsp;&nbsp;&nbsp;&nbsp;16.&nbsp;sent_subfolders<br />
&nbsp;&nbsp;&nbsp;&nbsp;17.&nbsp;spamcop<br />
&nbsp;&nbsp;&nbsp;&nbsp;18.&nbsp;test<br />
&nbsp;&nbsp;&nbsp;&nbsp;19.&nbsp;translate</p>
<p>R&nbsp;&nbsp;&nbsp;Return&nbsp;to&nbsp;Main&nbsp;Menu<br />
C&nbsp;&nbsp;&nbsp;Turn&nbsp;color&nbsp;off<br />
S&nbsp;&nbsp;&nbsp;Save&nbsp;data<br />
Q&nbsp;&nbsp;&nbsp;Quit</p>
<p>Command&nbsp;&gt;&gt;&nbsp;<span class="highlight">&lt;&#8211;&nbsp;8 (the number of the change_sqlpass plugin)</span></p>
<p>
SquirrelMail&nbsp;Configuration&nbsp;:&nbsp;Read:&nbsp;config.php&nbsp;(1.4.0)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Plugins<br />
&nbsp;&nbsp;Installed&nbsp;Plugins<br />
&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;delete_move_next<br />
&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;squirrelspell<br />
&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;newmail<br />
&nbsp;&nbsp;&nbsp;&nbsp;4.&nbsp;compatibility<br />
&nbsp;&nbsp;&nbsp;&nbsp;5.&nbsp;change_sqlpass</p>
<p>&nbsp;&nbsp;Available&nbsp;Plugins:<br />
&nbsp;&nbsp;&nbsp;&nbsp;6.&nbsp;administrator<br />
&nbsp;&nbsp;&nbsp;&nbsp;7.&nbsp;bug_report<br />
&nbsp;&nbsp;&nbsp;&nbsp;8.&nbsp;calendar<br />
&nbsp;&nbsp;&nbsp;&nbsp;9.&nbsp;demo<br />
&nbsp;&nbsp;&nbsp;&nbsp;10.&nbsp;filters<br />
&nbsp;&nbsp;&nbsp;&nbsp;11.&nbsp;fortune<br />
&nbsp;&nbsp;&nbsp;&nbsp;12.&nbsp;info<br />
&nbsp;&nbsp;&nbsp;&nbsp;13.&nbsp;listcommands<br />
&nbsp;&nbsp;&nbsp;&nbsp;14.&nbsp;mail_fetch<br />
&nbsp;&nbsp;&nbsp;&nbsp;15.&nbsp;message_details<br />
&nbsp;&nbsp;&nbsp;&nbsp;16.&nbsp;sent_subfolders<br />
&nbsp;&nbsp;&nbsp;&nbsp;17.&nbsp;spamcop<br />
&nbsp;&nbsp;&nbsp;&nbsp;18.&nbsp;test<br />
&nbsp;&nbsp;&nbsp;&nbsp;19.&nbsp;translate</p>
<p>R&nbsp;&nbsp;&nbsp;Return&nbsp;to&nbsp;Main&nbsp;Menu<br />
C&nbsp;&nbsp;&nbsp;Turn&nbsp;color&nbsp;off<br />
S&nbsp;&nbsp;&nbsp;Save&nbsp;data<br />
Q&nbsp;&nbsp;&nbsp;Quit</p>
<p>Command&nbsp;&gt;&gt;&nbsp;<span class="highlight">&lt;&#8211;&nbsp;S</span></p>
<p>
SquirrelMail&nbsp;Configuration&nbsp;:&nbsp;Read:&nbsp;config.php&nbsp;(1.4.0)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Plugins<br />
&nbsp;&nbsp;Installed&nbsp;Plugins<br />
&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;delete_move_next<br />
&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;squirrelspell<br />
&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;newmail<br />
&nbsp;&nbsp;&nbsp;&nbsp;4.&nbsp;compatibility<br />
&nbsp;&nbsp;&nbsp;&nbsp;5.&nbsp;change_sqlpass</p>
<p>&nbsp;&nbsp;Available&nbsp;Plugins:<br />
&nbsp;&nbsp;&nbsp;&nbsp;6.&nbsp;administrator<br />
&nbsp;&nbsp;&nbsp;&nbsp;7.&nbsp;bug_report<br />
&nbsp;&nbsp;&nbsp;&nbsp;8.&nbsp;calendar<br />
&nbsp;&nbsp;&nbsp;&nbsp;9.&nbsp;demo<br />
&nbsp;&nbsp;&nbsp;&nbsp;10.&nbsp;filters<br />
&nbsp;&nbsp;&nbsp;&nbsp;11.&nbsp;fortune<br />
&nbsp;&nbsp;&nbsp;&nbsp;12.&nbsp;info<br />
&nbsp;&nbsp;&nbsp;&nbsp;13.&nbsp;listcommands<br />
&nbsp;&nbsp;&nbsp;&nbsp;14.&nbsp;mail_fetch<br />
&nbsp;&nbsp;&nbsp;&nbsp;15.&nbsp;message_details<br />
&nbsp;&nbsp;&nbsp;&nbsp;16.&nbsp;sent_subfolders<br />
&nbsp;&nbsp;&nbsp;&nbsp;17.&nbsp;spamcop<br />
&nbsp;&nbsp;&nbsp;&nbsp;18.&nbsp;test<br />
&nbsp;&nbsp;&nbsp;&nbsp;19.&nbsp;translate</p>
<p>R&nbsp;&nbsp;&nbsp;Return&nbsp;to&nbsp;Main&nbsp;Menu<br />
C&nbsp;&nbsp;&nbsp;Turn&nbsp;color&nbsp;off<br />
S&nbsp;&nbsp;&nbsp;Save&nbsp;data<br />
Q&nbsp;&nbsp;&nbsp;Quit</p>
<p>Command&nbsp;&gt;&gt;&nbsp;S</p>
<p>Data&nbsp;saved&nbsp;in&nbsp;config.php<br />
Press&nbsp;enter&nbsp;to&nbsp;continue&#8230;&nbsp;<span class="highlight">&lt;&#8211;&nbsp;ENTER</span></p>
<p>
SquirrelMail&nbsp;Configuration&nbsp;:&nbsp;Read:&nbsp;config.php&nbsp;(1.4.0)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Plugins<br />
&nbsp;&nbsp;Installed&nbsp;Plugins<br />
&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;delete_move_next<br />
&nbsp;&nbsp;&nbsp;&nbsp;2.&nbsp;squirrelspell<br />
&nbsp;&nbsp;&nbsp;&nbsp;3.&nbsp;newmail<br />
&nbsp;&nbsp;&nbsp;&nbsp;4.&nbsp;compatibility<br />
&nbsp;&nbsp;&nbsp;&nbsp;5.&nbsp;change_sqlpass</p>
<p>&nbsp;&nbsp;Available&nbsp;Plugins:<br />
&nbsp;&nbsp;&nbsp;&nbsp;6.&nbsp;administrator<br />
&nbsp;&nbsp;&nbsp;&nbsp;7.&nbsp;bug_report<br />
&nbsp;&nbsp;&nbsp;&nbsp;8.&nbsp;calendar<br />
&nbsp;&nbsp;&nbsp;&nbsp;9.&nbsp;demo<br />
&nbsp;&nbsp;&nbsp;&nbsp;10.&nbsp;filters<br />
&nbsp;&nbsp;&nbsp;&nbsp;11.&nbsp;fortune<br />
&nbsp;&nbsp;&nbsp;&nbsp;12.&nbsp;info<br />
&nbsp;&nbsp;&nbsp;&nbsp;13.&nbsp;listcommands<br />
&nbsp;&nbsp;&nbsp;&nbsp;14.&nbsp;mail_fetch<br />
&nbsp;&nbsp;&nbsp;&nbsp;15.&nbsp;message_details<br />
&nbsp;&nbsp;&nbsp;&nbsp;16.&nbsp;sent_subfolders<br />
&nbsp;&nbsp;&nbsp;&nbsp;17.&nbsp;spamcop<br />
&nbsp;&nbsp;&nbsp;&nbsp;18.&nbsp;test<br />
&nbsp;&nbsp;&nbsp;&nbsp;19.&nbsp;translate</p>
<p>R&nbsp;&nbsp;&nbsp;Return&nbsp;to&nbsp;Main&nbsp;Menu<br />
C&nbsp;&nbsp;&nbsp;Turn&nbsp;color&nbsp;off<br />
S&nbsp;&nbsp;&nbsp;Save&nbsp;data<br />
Q&nbsp;&nbsp;&nbsp;Quit</p>
<p>Command&nbsp;&gt;&gt;&nbsp;<span class="highlight">&lt;&#8211;&nbsp;Q</span></p>
<p>One last thing we need to do is modify the file <span class="system">/etc/squirrelmail/config_local.php</span> and comment out the <span class="system">$default_folder_prefix</span> variable &#8211; if you don&#8217;t do this, you will see the following error message in SquirrelMail after you&#8217;ve logged in: <span class="system">Query: CREATE &#8220;Sent&#8221; Reason Given: Invalid mailbox name.</span></p>
<p class="command">vi /etc/squirrelmail/config_local.php</p>
<tr>
<td class="">
<pre>&lt;?php/*** Local config overrides.** You can override the config.php settings here.* Don't do it unless you know what you're doing.* Use standard PHP syntax, see config.php for examples.** @copyright &amp;copy; 2002-2006 The SquirrelMail Project Team* @license http://opensource.org/licenses/gpl-license.php GNU Public License* @version $Id: config_local.php,v 1.2 2006/07/11 03:33:47 wtogami Exp $* @package squirrelmail* @subpackage config*///$default_folder_prefix= '';
?&gt;</pre>
</td>
</tr>
<p>Now you can type in <span class="system">http://server1.example.com/webmail</span> or <span class="system">http://192.168.0.100/webmail</span> in your browser to access SquirrelMail.</p>
<p>Log in with your email address (e.g. <span class="system">sales@example.com</span>) and your password:</p>
<p><a href="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/3.png" class="thickbox"><img src="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/3.png" height="399" width="550" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" alt="3 Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" />
<div><img src="http://tusforyou.com/images/click_to_enlarge.png" width="100" height="12" border="0" alt="Click to enlarge" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" /> </div>
<p></a>(JavaScript must be enabled in your browser to view the large image as an image overlay.)</p>
<p>You should find the welcome email in your inbox:</p>
<p><a href="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/4.png" class="thickbox"><img src="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/4.png" height="399" width="550" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" alt="4 Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" />
<div><img src="http://tusforyou.com/images/click_to_enlarge.png" width="100" height="12" border="0" alt="Click to enlarge" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" /> </div>
<p></a>(JavaScript must be enabled in your browser to view the large image as an image overlay.)</p>
<p><a href="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/5.png" class="thickbox"><img src="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/5.png" height="399" width="550" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" alt="5 Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" />
<div><img src="http://tusforyou.com/images/click_to_enlarge.png" width="100" height="12" border="0" alt="Click to enlarge" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" /> </div>
<p></a>(JavaScript must be enabled in your browser to view the large image as an image overlay.)</p>
<p>To change your password, go to <span class="system">Options</span> and then select <span class="system">Change Password</span>:</p>
<p><a href="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/6.png" class="thickbox"><img src="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/6.png" height="399" width="550" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" alt="6 Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" />
<div><img src="http://tusforyou.com/images/click_to_enlarge.png" width="100" height="12" border="0" alt="Click to enlarge" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" /> </div>
<p></a>(JavaScript must be enabled in your browser to view the large image as an image overlay.)</p>
<p>Type in your current password and then your new password twice:</p>
<p><a href="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/7.png" class="thickbox"><img src="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/7.png" height="399" width="550" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" alt="7 Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" />
<div><img src="http://tusforyou.com/images/click_to_enlarge.png" width="100" height="12" border="0" alt="Click to enlarge" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" /> </div>
<p></a>(JavaScript must be enabled in your browser to view the large image as an image overlay.)</p>
<p>After you&#8217;ve changed the password, you will have to immediately log in again with the new password: </p>
<p><a href="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/8.png" class="thickbox"><img src="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/8.png" height="399" width="550" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" alt="8 Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" />
<div><img src="http://tusforyou.com/images/click_to_enlarge.png" width="100" height="12" border="0" alt="Click to enlarge" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" /> </div>
<p></a>(JavaScript must be enabled in your browser to view the large image as an image overlay.)</p>
<p>&nbsp;</p>
<h3>19 References </h3>
<p>Tutorial: ISP-style Email Service with Debian-Sarge and Postfix 2.1: <a href="http://workaround.org/articles/ispmail-sarge/" target="_blank">http://workaround.org/articles/ispmail-sarge/</a></p>
<p>Postfix + Quota: <a href="http://vhcs.net/new/modules/newbb/viewtopic.php?topic_id=3496&amp;forum=17" target="_blank">http://vhcs.net/new/modules/newbb/viewtopic.php?topic_id=3496&amp;forum=17</a></p>
<p>Mail Passwords Encrypted using saslauthd: <a href="http://www.syscp.de/docs/public/contrib/cryptedmailpws" target="_blank">http://www.syscp.de/docs/public/contrib/cryptedmailpws</a></p>
<p>&nbsp;</p>
<h3>20 Links </h3>
<ul>
<li>Postfix MTA: <a href="http://www.postfix.org/" target="_blank">http://www.postfix.org/</a></li>
<li>Postfix Quota Patch: <a href="http://web.onda.com.br/nadal/" target="_blank">http://web.onda.com.br/nadal/</a></li>
<li>phpMyAdmin: <a href="http://www.phpmyadmin.net/" target="_blank">http://www.phpmyadmin.net/</a></li>
<li>SquirrelMail: <a href="http://www.squirrelmail.org/" target="_blank">http://www.squirrelmail.org/</a></li>
<li>Fedora: <a href="http://fedoraproject.org/" target="_blank">http://fedoraproject.org/</a></li>
</ul>
<div class="book">
<div class="nav">
<div class="links">
<div class="prev"><a href="virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5" title="View the previous page.">previous</a></div>
<div class="next">&nbsp;</div>
<div class="up"><a href="virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64" title="View this page&#39;s parent section.">up</a></div>
</div>
<div class="titles">
<div class="prev">Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86_64) &#8211; Page 5</div>
</div>
</div>
</div>
<p>
<div class="copyright-footer">
<div class="copyright-image"><a href="http://creativecommons.org/licenses/by/2.0/"><img title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" alt=" Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 6" /></a></div>
<p>This page is licensed under a <a href="http://creativecommons.org/licenses/by/2.0/">Creative Commons License</a>.</div>
</div>
</div>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6&amp;title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+6" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6&amp;title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+6" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6&amp;title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+6" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6&amp;headline=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+6" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+6&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+6&amp;u=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+6&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+6&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+6&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6&amp;title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+6&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://tusforyou.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86_64) &#8211; Page 5</title>
		<link>http://tusforyou.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5</link>
		<comments>http://tusforyou.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5#comments</comments>
		<pubDate>Sat, 19 Jun 2010 13:50:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Courier]]></category>
		<category><![CDATA[Domains]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[SquirrelMail]]></category>
		<category><![CDATA[Users]]></category>
		<category><![CDATA[Virtual]]></category>
		<category><![CDATA[With]]></category>
		<category><![CDATA[x86_64]]></category>

		<guid isPermaLink="false">http://tusforyou.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5</guid>
		<description><![CDATA[This document describes how to install a mail server based on Postfix that is based on virtual users and domains, i.e. users and domains that are in a MySQL database. I\&#8217;ll also demonstrate the installation and configuration of Courier (Courier-POP3, Courier-IMAP), so that Courier can authenticate against the same MySQL database Postfix uses 13 Install [...]]]></description>
			<content:encoded><![CDATA[<p>This document describes how to install a mail server based on Postfix that is based on virtual users and domains, i.e. users and domains that are in a MySQL database. I\&#8217;ll also demonstrate the installation and configuration of Courier (Courier-POP3, Courier-IMAP), so that Courier can authenticate against the same MySQL database Postfix uses<span id="more-5145"></span>
<div class="node">
<div class="content">
<h3>13 Install Razor, Pyzor And DCC And Configure SpamAssassin</h3>
<p> Razor, Pyzor and DCC are spamfilters that use a collaborative filtering network. To install Razor and Pyzor, run </p>
<p class="command">yum install perl-Razor-Agent pyzor</p>
<p>Then initialize both services:</p>
<p class="command">chmod -R a+rX /usr/share/doc/pyzor-0.5.0 /usr/bin/pyzor /usr/bin/pyzord<br /> chmod -R a+rX /usr/lib/python2.6/site-packages/pyzor<br /> su -m amavis -c &#8216;pyzor &#8211;homedir /var/spool/amavisd discover&#8217;<br /> su -m amavis -c &#8216;razor-admin -home=/var/spool/amavisd -create&#8217;<br />
su -m amavis -c &#8216;razor-admin -home=/var/spool/amavisd -register&#8217;</p>
<p>Then we install DCC as follows:</p>
<p class="command">cd /tmp<br /> wget http://www.dcc-servers.net/dcc/source/dcc-dccproc.tar.Z<br /> tar xzvf dcc-dccproc.tar.Z<br /> cd dcc-dccproc-1.3.116<br /> ./configure &#8211;with-uid=amavis<br /> make<br /> make install<br /> chown -R amavis:amavis /var/dcc<br />
ln -s /var/dcc/libexec/dccifd /usr/local/bin/dccifd</p>
<p> Now we have to tell SpamAssassin to use these three programs. Edit<span class="system">/etc/mail/spamassassin/local.cf</span> so that it looks like this: </p>
<p class="command">vi /etc/mail/spamassassin/local.cf</p>
<tr>
<td class="">
<pre># These values can be overridden by editing ~/.spamassassin/user_prefs.cf
# (see spamassassin(1) for details)# These should be safe assumptions and allow for simple visual sifting
# without risking lost emails.#required_hits 5
#report_safe 0
#rewrite_header Subject [SPAM]# dcc
use_dcc 1
dcc_path /usr/local/bin/dccproc#pyzor
use_pyzor 1
pyzor_path /usr/bin/pyzor#razor
use_razor2 1
razor_config /var/spool/amavisd/razor-agent.conf#bayes
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1</pre>
</td>
</tr>
<p>Then we must enable the DCC plugin in SpamAssassin. Open <span class="system">/etc/mail/spamassassin/v310.pre</span> and uncomment the <span class="system">loadplugin Mail::SpamAssassin::Plugin::DCC</span> line:</p>
<p class="command">vi /etc/mail/spamassassin/v310.pre</p>
<tr>
<td class="">
<pre>[...]
# DCC - perform DCC message checks.
#
# DCC is disabled here because it is not open source.See the DCC
# license for more details.
#
loadplugin Mail::SpamAssassin::Plugin::DCC
[...]</pre>
</td>
</tr>
<p>You can check your SpamAssassin configuration by executing:</p>
<p class="command">spamassassin &#8211;lint</p>
<p>It shouldn&#8217;t show any errors.</p>
<p>Run</p>
<p class="command">/etc/init.d/amavisd restart</p>
<p>afterwards.</p>
<p> Now we update our SpamAssassin rulesets as follows:</p>
<p class="command">sa-update &#8211;no-gpg</p>
<p>We create a cron job so that the rulesets will be updated regularly. Run</p>
<p class="command">crontab -e</p>
<p>to open the cron job editor. Create the following cron job:</p>
<tr>
<td class="">
<pre>23 4 */2 * * /usr/bin/sa-update --no-gpg &amp;&gt; /dev/null</pre>
</td>
</tr>
<p>This will update the rulesets every second day at 4.23h.</p>
<p>&nbsp;</p>
<h3>14 Quota Exceedance Notifications</h3>
<p> If you want to get notifications about all the email accounts that are over quota, then create the file <span class="system">/usr/local/sbin/quota_notify</span>: </p>
<p class="command">cd /usr/local/sbin/<br /> vi quota_notify</p>
<tr>
<td class="">
<pre>#!/usr/bin/perl -w# Author &lt;jps@tntmax.com&gt;
#
# This script assumes that virtual_mailbox_base in defined
# in postfix's main.cf file. This directory is assumed to contain
# directories which themselves contain your virtual user's maildirs.
# For example:
#
# -----------/
#|
#|
#home/vmail/domains/
#||
#||
#example.com/foo.com/
# |
# |
# -----------------
# | | |
# | | |
# user1/ user2/user3/
# |
# |
#maildirsize
#use strict;my $POSTFIX_CF = "/etc/postfix/main.cf";
my $MAILPROG = "/usr/sbin/sendmail -t";
my $WARNPERCENT = 80;
my @POSTMASTERS = ('postmaster@domain.tld');
my $CONAME = 'My Company';
my $COADDR = 'postmaster@domain.tld';
my $SUADDR = 'postmaster@domain.tld';
my $MAIL_REPORT = 1;
my $MAIL_WARNING = 1;#get virtual mailbox base from postfix config
open(PCF, "&lt; $POSTFIX_CF") or die $!;
my $mboxBase;
while (&lt;PCF&gt;) {next unless /virtual_mailbox_base\s*=\s*(.*)\s*/;$mboxBase = $1;
}
close(PCF);#assume one level of subdirectories for domain names
my @domains;
opendir(DIR, $mboxBase) or die $!;
while (defined(my $name = readdir(DIR))) {next if $name =~ /^\.\.?$/;#skip '.' and '..'next unless (-d "$mboxBase/$name");push(@domains, $name);
}
closedir(DIR);
#iterate through domains for username/maildirsize files
my @users;
chdir($mboxBase);
foreach my $domain (@domains) { opendir(DIR, $domain) or die $!; while (defined(my $name = readdir(DIR))) {next if $name =~ /^\.\.?$/;#skip '.' and '..'next unless (-d "$domain/$name"); push(@users, {"$name\@$domain" =&gt; "$mboxBase/$domain/$name"}); }
}
closedir(DIR);#get user quotas and percent used
my (%lusers, $report);
foreach my $href (@users) {foreach my $user (keys %$href) { my $quotafile = "$href-&gt;{$user}/maildirsize"; next unless (-f $quotafile); open(QF, "&lt; $quotafile") or die $!; my ($firstln, $quota, $used); while (&lt;QF&gt;) {my $line = $_; if (! $firstln) {$firstln = 1;die "Error: corrupt quotafile $quotafile" unless ($line =~ /^(\d+)S/);$quota = $1; last if (! $quota); next;}die "Error: corrupt quotafile $quotafile" unless ($line =~ /\s*(-?\d+)/);$used += $1; } close(QF); next if (! $used); my $percent = int($used / $quota * 100); $lusers{$user} = $percent unless not $percent;}
}#send a report to the postmasters
if ($MAIL_REPORT) {open(MAIL, "| $MAILPROG");select(MAIL);map {print "To: $_\n"} @POSTMASTERS;print "From: $COADDR\n";print "Subject: Daily Quota Report.\n";print "DAILY QUOTA REPORT:\n\n";print "----------------------------------------------\n";print "| % USAGE |ACCOUNT NAME|\n";print "----------------------------------------------\n";foreach my $luser ( sort { $lusers{$b} &lt;=&gt; $lusers{$a} } keys %lusers ) { printf("| %3d | %32s |\n", $lusers{$luser}, $luser); print "---------------------------------------------\n";} print "\n--\n"; print "$CONAME\n"; close(MAIL);
}#email a warning to people over quota
if ($MAIL_WARNING) { foreach my $luser (keys (%lusers)) {next unless $lusers{$luser} &gt;= $WARNPERCENT; # skip those under quotaopen(MAIL, "| $MAILPROG");select(MAIL);print "To: $luser\n"; map {print "BCC: $_\n"} @POSTMASTERS;print "From: $SUADDR\n";print "Subject: WARNING: Your mailbox is $lusers{$luser}% full.\n";print "Reply-to: $SUADDR\n";print "Your mailbox: $luser is $lusers{$luser}% full.\n\n";print "Once your e-mail box has exceeded your monthly storage quota\n"; print "your monthly billing will be automatically adjusted.\n"; print "Please consider deleting e-mail and emptying your trash folder to clear some space.\n\n";print "Contact &lt;$SUADDR&gt; for further assistance.\n\n";print "Thank You.\n\n";print "--\n";print "$CONAME\n";close(MAIL); }
}</pre>
</td>
</tr>
<p>Make sure that you adjust the variables at the top (especially the <span class="system">postmaster@domain.tld</span> email address).</p>
<p>We must make the file executable:</p>
<p class="command">chmod 755 quota_notify </p>
<p>Run</p>
<p class="command">crontab -e</p>
<p>to create a cron job for that script: </p>
<tr>
<td class="">
<pre>0 0 * * * /usr/local/sbin/quota_notify &amp;&gt; /dev/null</pre>
</td>
</tr>
<p>&nbsp;</p>
<h3>15 Test Postfix</h3>
<p> To see if Postfix is ready for <em>SMTP-AUTH </em> and <em>TLS</em>, run </p>
<p class="command">telnet localhost 25</p>
<p> After you have established the connection to your Postfix mail server type </p>
<p class="command">ehlo localhost</p>
<p>If you see the lines </p>
<p class="system"><em>250-STARTTLS </em></p>
<p>and </p>
<p class="system"><em>250-AUTH PLAIN<em> LOGIN</em> </em></p>
<p>everything is fine. </p>
<p class="system">[root@server1 sbin]# telnet localhost 25<br /> Trying ::1&#8230;<br /> Connected to localhost.<br /> Escape character is &#8216;^]&#8217;.<br /> 220 server1.example.com ESMTP Postfix<br /> ehlo localhost<br /> 250-server1.example.com<br /> 250-PIPELINING<br /> 250-SIZE 10240000<br /> 250-VRFY<br /> 250-ETRN<br /> 250-STARTTLS<br /> 250-AUTH PLAIN LOGIN<br /> 250-AUTH=PLAIN LOGIN<br /> 250-ENHANCEDSTATUSCODES<br /> 250-8BITMIME<br /> 250 DSN<br /> quit<br /> 221 2.0.0 Bye<br /> Connection closed by foreign host.<br />
[root@server1 sbin]#</p>
<p>Type </p>
<p class="command">quit</p>
<p>to return to the system&#8217;s shell. </p>
<p>&nbsp;</p>
<h3>16 Populate The Database And Test</h3>
<p> To populate the database you can use the MySQL shell: </p>
<p class="command">mysql -u root -p</p>
<p class="command">USE mail;</p>
<p> At least you have to create entries in the tables <em>domains </em> and <em>users</em>: </p>
<p class="command">INSERT INTO `domains` (`domain`) VALUES (&#8216;example.com&#8217;);<br />
INSERT INTO `users` (`email`, `password`, `quota`) VALUES (&#8216;sales@example.com&#8217;, ENCRYPT(&#8216;secret&#8217;), 10485760);</p>
<p>(Please take care you use the <span class="system">ENCRYPT</span> syntax in the second <span class="system">INSERT</span> statement in order to encrypt the password!)</p>
<p>If you want to make entries in the other two tables, that would look like this:</p>
<p class="command">INSERT INTO `forwardings` (`source`, `destination`) VALUES (&#8216;info@example.com&#8217;, &#8216;sales@example.com&#8217;);<br />
INSERT INTO `transport` (`domain`, `transport`) VALUES (&#8216;example.com&#8217;, &#8216;smtp:mail.example.com&#8217;);</p>
<p>To leave the MySQL shell, type</p>
<p class="command">quit;</p>
<p> For most people it is easier if they have a graphical front-end to MySQL; therefore you can also use phpMyAdmin (in this example under <em>http://192.168.0.100/phpMyAdmin/ </em>or <span class="system">http://server1.example.com/phpMyAdmin/</span>) to administrate the <em>mail </em> database. Again, when you create a user, go sure that you use the <span class="system">ENCRYPT </span> function to encrypt the password:</p>
<p><img src="http://tusforyou.com/images/virtual_users_domains_postfix_courier_mysql_fedora12/2.png" height="104" width="549" title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 5" alt="2 Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 5" /></p>
<p>I do not think I have to explain the <span class="system">domains </span> and <span class="system">users </span> table further. </p>
<p>The <span class="system">forwardings </span> table can have entries like the following: </p>
<tr>
<td class=""><em><strong>source </strong></em></td>
<td class=""><em><strong>destination </strong></em></td>
<td class="">&nbsp;</td>
</tr>
<tr>
<td class="">info@example.com </td>
<td class="">sales@example.com </td>
<td class="">Redirects emails for info@example.com to sales@example.com </td>
</tr>
<tr>
<td class="">@example.com </td>
<td class="">thomas@example.com </td>
<td class="">Creates a <span class="system">Catch-All </span> account for thomas@example.com. All emails to example.com will arrive at thomas@example.com, except those that exist in the <span class="system">users </span> table (i.e., if sales@example.com exists in the <span class="system">users </span> table, mails to sales@example.com will still arrive at sales@example.com). </td>
</tr>
<tr>
<td class="">@example.com </td>
<td class="">@anotherdomain.tld </td>
<td class="">This redirects all emails to example.com to the same user at anotherdomain.tld. E.g., emails to thomas@example.com will be forwarded to thomas@anotherdomain.tld. </td>
</tr>
<tr>
<td class="">info@example.com </td>
<td class="">sales@example.com, billing@anotherdomain.tld </td>
<td class="">Forward emails for info@example.com to two or more email addresses. All listed email addresses under <span class="system">destination </span> receive a copy of the email. </td>
</tr>
<p>The <span class="system">transport </span> table can have entries like these: </p>
<tr>
<td class=""><em><strong>domain </strong></em></td>
<td class=""><em><strong>transport </strong></em></td>
<td class="">&nbsp;</td>
</tr>
<tr>
<td class="">example.com </td>
<td class="">: </td>
<td class="">Delivers emails for example.com locally. This is as if this record would not exist in this table at all. </td>
</tr>
<tr>
<td class="">example.com </td>
<td class="">smtp:mail.anotherdomain.tld </td>
<td class="">Delivers all emails for example.com via smtp to the server mail.anotherdomain.com. </td>
</tr>
<tr>
<td class="">example.com </td>
<td class="">smtp:mail.anotherdomain.tld:2025 </td>
<td class="">Delivers all emails for example.com via smtp to the server mail.anotherdomain.com, but on port 2025, not 25 which is the default port for smtp. </td>
</tr>
<tr>
<td class="">example.com </td>
<td class="">
<p>smtp:[1.2.3.4] <br /> smtp:[1.2.3.4]:2025 <br /> smtp:[mail.anotherdomain.tld] </p>
</td>
<td class="">The square brackets prevent Postfix from doing lookups of the MX DNS record for the address in square brackets. Makes sense for IP addresses. </td>
</tr>
<tr>
<td class="">.example.com </td>
<td class="">smtp:mail.anotherdomain.tld </td>
<td class="">Mail for any subdomain of example.com is delivered to mail.anotherdomain.tld. </td>
</tr>
<tr>
<td class="">* </td>
<td class="">smtp:mail.anotherdomain.tld </td>
<td class="">All emails are delivered to mail.anotherdomain.tld. </td>
</tr>
<tr>
<td class="">joe@example.com </td>
<td class="">smtp:mail.anotherdomain.tld </td>
<td class="">Emails for joe@example.com are delivered to mail.anotherdomain.tld. </td>
</tr>
<p>See </p>
<p class="command">man transport </p>
<p>for more details. </p>
<p>Please keep in mind that the order of entries in the <span class="system">transport </span> table is important! The entries will be followed from the top to the bottom. </p>
<p><strong>Important: </strong> Postfix uses a caching mechanism for the transports, therefore it might take a while until you changes in the <span class="system">transport </span> table take effect. If you want them to take effect immediately, run </p>
<p class="command">postfix reload </p>
<p>after you have made your changes in the <span class="system">transport </span> table. </p>
<p>&nbsp;</p>
<h3>17 Send A Welcome Email For Creating Maildir</h3>
<p>When you create a new email account and try to fetch emails from it (with POP3/IMAP) you will probably get error messages saying that the Maildir doesn&#8217;t exist. The Maildir is created automatically when the first email arrives for the new account. Therefore it&#8217;s a good idea to send a welcome email to a new account. </p>
<p>First, we install the <span class="system">mailx</span> package:</p>
<p class="command">yum install mailx</p>
<p>To send a welcome email to <span class="system">sales@example.com</span>, we do this:</p>
<p class="command">mailx sales@example.com</p>
<p>You will be prompted for the subject. Type in the subject (e.g. <span class="system">Welcome</span>), then press <span class="system">ENTER</span>, and in the next line type your message. When the message is finished, press <span class="system">ENTER</span> again so that you are in a new line, then press <span class="system">CTRL+D</span>: </p>
<p><span class="system">[root@server1 ~]# mailx sales@example.com<br /> Subject: Welcome</span> <span class="highlight">&lt;&#8211; ENTER</span><br /> <span class="system">Welcome! Have fun with your new mail account.</span> <span class="highlight">&lt;&#8211; ENTER</span><br /> <span class="highlight">&lt;&#8211; CTRL+D</span><br /> <span class="system">EOT<br />
[root@server1 ~]#</span></p>
<div class="book">
<div class="nav">
<div class="links">
<div class="prev"><a href="virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4" title="View the previous page.">previous</a></div>
<div class="next"><a href="virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p6" title="View the next page.">next</a></div>
<div class="up"><a href="virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64" title="View this page&#39;s parent section.">up</a></div>
</div>
<div class="titles">
<div class="prev">Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86_64) &#8211; Page 4</div>
<div class="next">Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86_64) &#8211; Page 6</div>
</div>
</div>
</div>
<p>
<div class="copyright-footer">
<div class="copyright-image"><a href="http://creativecommons.org/licenses/by/2.0/"><img title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 5" alt=" Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 5" /></a></div>
<p>This page is licensed under a <a href="http://creativecommons.org/licenses/by/2.0/">Creative Commons License</a>.</div>
</div>
</div>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5&amp;title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+5" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5&amp;title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+5" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5&amp;title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+5" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5&amp;headline=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+5" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+5&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+5&amp;u=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+5&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+5&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+5&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5&amp;title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+5&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://tusforyou.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86_64) &#8211; Page 4</title>
		<link>http://tusforyou.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4</link>
		<comments>http://tusforyou.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4#comments</comments>
		<pubDate>Sat, 19 Jun 2010 13:48:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Courier]]></category>
		<category><![CDATA[Domains]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[SquirrelMail]]></category>
		<category><![CDATA[Users]]></category>
		<category><![CDATA[Virtual]]></category>
		<category><![CDATA[With]]></category>
		<category><![CDATA[x86_64]]></category>

		<guid isPermaLink="false">http://tusforyou.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4</guid>
		<description><![CDATA[This document describes how to install a mail server based on Postfix that is based on virtual users and domains, i.e. users and domains that are in a MySQL database. I\&#8217;ll also demonstrate the installation and configuration of Courier (Courier-POP3, Courier-IMAP), so that Courier can authenticate against the same MySQL database Postfix uses 12 Install [...]]]></description>
			<content:encoded><![CDATA[<p>This document describes how to install a mail server based on Postfix that is based on virtual users and domains, i.e. users and domains that are in a MySQL database. I\&#8217;ll also demonstrate the installation and configuration of Courier (Courier-POP3, Courier-IMAP), so that Courier can authenticate against the same MySQL database Postfix uses<span id="more-5144"></span>
<div class="node">
<div class="content">
<h3>12 Install Amavisd-new, SpamAssassin And ClamAV</h3>
<p> To install amavisd-new, spamassassin and clamav, run the following command: </p>
<p class="command">yum install amavisd-new spamassassin clamav clamav-data clamav-server clamav-update unzip bzip2</p>
<p>Now we must edit <span class="system">/etc/amavisd/amavisd.conf</span>.</p>
<p class="command">vi /etc/amavisd/amavisd.conf</p>
<p>In this file we change five places:</p>
<p>1) Change</p>
<tr>
<td class="">
<pre>$mydomain = 'example.com'; # a convenient default for other settings</pre>
</td>
</tr>
<p>to</p>
<tr>
<td class="">
<pre>$mydomain = 'localhost';
#$mydomain = 'example.com'; # a convenient default for other settings</pre>
</td>
</tr>
<p>2) Change</p>
<tr>
<td class="">
<pre>$sa_tag_level_deflt= 2.0;# add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.2;# add 'spam detected' headers at that level
$sa_kill_level_deflt = 6.9;# triggers spam evasive actions (e.g. blocks mail)
$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent</pre>
</td>
</tr>
<p>to</p>
<tr>
<td class="">
<pre>$sa_tag_level_deflt= 2.0;# add spam info headers if at, or above that level
$sa_tag2_level_deflt = 4.0;# add 'spam detected' headers at that level
$sa_kill_level_deflt = $sa_tag2_level_deflt;# triggers spam evasive actions (e.g. blocks mail)
$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent#$sa_tag_level_deflt= 2.0;# add spam info headers if at, or above that level
#$sa_tag2_level_deflt = 6.2;# add 'spam detected' headers at that level
#$sa_kill_level_deflt = 6.9;# triggers spam evasive actions (e.g. blocks mail)
#$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent</pre>
</td>
</tr>
<p>(Of course, you can adjust the spam scores to your liking.) </p>
<p>3) Change</p>
<tr>
<td class="">
<pre># @lookup_sql_dsn =
# ( ['DBI:mysql:database=mail;host=127.0.0.1;port=3306', 'user1', 'passwd1'],
# ['DBI:mysql:database=mail;host=host2', 'username2', 'password2'],
# ["DBI:SQLite:dbname=$MYHOME/sql/mail_prefs.sqlite", '', ''] );
# @storage_sql_dsn = @lookup_sql_dsn;# none, same, or separate database</pre>
</td>
</tr>
<p>to</p>
<tr>
<td class="">
<pre># @lookup_sql_dsn =
# ( ['DBI:mysql:database=mail;host=127.0.0.1;port=3306', 'user1', 'passwd1'],
# ['DBI:mysql:database=mail;host=host2', 'username2', 'password2'],
# ["DBI:SQLite:dbname=$MYHOME/sql/mail_prefs.sqlite", '', ''] );
# @storage_sql_dsn = @lookup_sql_dsn;# none, same, or separate database@lookup_sql_dsn =( ['DBI:mysql:database=mail;host=127.0.0.1;port=3306', 'mail_admin', 'mail_admin_password'] );$sql_select_policy = 'SELECT "Y" as local FROM domains WHERE CONCAT("@",domain) IN (%k)';$sql_select_white_black_list = undef;# undef disables SQL white/blacklisting$recipient_delimiter = '+';# (default is '+')$replace_existing_extension = 1;# (default is false)$localpart_is_case_sensitive = 0;# (default is false)</pre>
</td>
</tr>
<p>(Make sure you fill in the correct database details!) </p>
<p>4) Change</p>
<tr>
<td class="">
<pre># $recipient_delimiter = '+';# undef disables address extensions altogether
# when enabling addr extensions do also Postfix/main.cf: recipient_delimiter=+</pre>
</td>
</tr>
<p>to</p>
<tr>
<td class="">
<pre>$recipient_delimiter = undef;# undef disables address extensions altogether
# $recipient_delimiter = '+';# undef disables address extensions altogether
# when enabling addr extensions do also Postfix/main.cf: recipient_delimiter=+</pre>
</td>
</tr>
<p>5) Change</p>
<tr>
<td class="">
<pre>$final_virus_destiny= D_DISCARD;
$final_banned_destiny = D_BOUNCE;
$final_spam_destiny = D_DISCARD;
$final_bad_header_destiny = D_BOUNCE;</pre>
</td>
</tr>
<p>to</p>
<tr>
<td class="">
<pre>$final_virus_destiny= D_REJECT;
$final_banned_destiny = D_REJECT;
$final_spam_destiny = D_PASS;
$final_bad_header_destiny = D_PASS;#$final_virus_destiny= D_DISCARD;
#$final_banned_destiny = D_BOUNCE;
#$final_spam_destiny = D_DISCARD;
#$final_bad_header_destiny = D_BOUNCE;</pre>
</td>
</tr>
<p>(Of course, it&#8217;s up to you to decide what should happen with spam and viruses. I decide to accept spam (<span class="system">D_PASS</span>) so that Spam can be filtered in my email client with a simple filter rule (based on the subject that gets rewritten by amavisd-new if it thinks a mail is spam). The allowed actions (<span class="system">D_PASS, D_DISCARD, D_BOUNCE</span>, and <span class="system">D_REJECT</span>) are explained here: <a href="http://www.ijs.si/software/amavisd/amavisd-new-docs.html#actions" target="_blank">http://www.ijs.si/software/amavisd/amavisd-new-docs.html#actions</a>)</p>
<p>After my changes, <span class="system">/etc/amavisd/amavisd.conf</span> looks like this:</p>
<tr>
<td class="">
<pre>use strict;# a minimalistic configuration file for amavisd-new with all necessary settings
#
# see amavisd.conf-default for a list of all variables with their defaults;
# see amavisd.conf-sample for a traditional-style commented file;
# for more details see documentation in INSTALL, README_FILES/*
# and at http://www.ijs.si/software/amavisd/amavisd-new-docs.html
# COMMONLY ADJUSTED SETTINGS:# @bypass_virus_checks_maps = (1);# controls running of anti-virus code
# @bypass_spam_checks_maps= (1);# controls running of anti-spam code
# $bypass_decode_parts = 1; # controls running of decoders&amp;dearchivers$max_servers = 2;# num of pre-forked children (2..30 is common), -m
$daemon_user= 'amavis'; # (no default;customary: vscan or amavis), -u
$daemon_group = 'amavis'; # (no default;customary: vscan or amavis), -g$mydomain = 'localhost';
#$mydomain = 'example.com'; # a convenient default for other settings$MYHOME = '/var/spool/amavisd'; # a convenient default for other settings, -H
$TEMPBASE = "$MYHOME/tmp"; # working directory, needs to exist, -T
$ENV{TMPDIR} = $TEMPBASE;# environment variable TMPDIR, used by SA, etc.
$QUARANTINEDIR = undef;# -Q
# $quarantine_subdir_levels = 1;# add level of subdirs to disperse quarantine
# $release_format = 'resend'; # 'attach', 'plain', 'resend'
# $report_format= 'arf';# 'attach', 'plain', 'resend', 'arf'# $daemon_chroot_dir = $MYHOME; # chroot directory or undef, -R$db_home = "$MYHOME/db";# dir for bdb nanny/cache/snmp databases, -D
# $helpers_home = "$MYHOME/var";# working directory for SpamAssassin, -S
$lock_file = "/var/run/amavisd/amavisd.lock";# -L
$pid_file= "/var/run/amavisd/amavisd.pid"; # -P
#NOTE: create directories $MYHOME/tmp, $MYHOME/var, $MYHOME/db manually$log_level = 0;# verbosity 0..5, -d
$log_recip_templ = undef;# disable by-recipient level-0 log entries
$DO_SYSLOG = 1;# log via syslogd (preferred)
$syslog_facility = 'mail'; # Syslog facility as a string# e.g.: mail, daemon, user, local0, ... local7
$syslog_priority = 'debug';# Syslog base (minimal) priority as a string,# choose from: emerg, alert, crit, err, warning, notice, info, debug$enable_db = 1;# enable use of BerkeleyDB/libdb (SNMP and nanny)
$enable_global_cache = 1;# enable use of libdb-based cache if $enable_db=1
$nanny_details_level = 2;# nanny verbosity: 1: traditional, 2: detailed
$enable_dkim_verification = 1;# enable DKIM signatures verification
$enable_dkim_signing = 1;# load DKIM signing code, keys defined by dkim_key@local_domains_maps = ( [".$mydomain"] );# list of all local domains@mynetworks = qw( 127.0.0.0/8 [::1] [FE80::]/10 [FEC0::]/10 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 );$unix_socketname = "$MYHOME/amavisd.sock";# amavisd-release or amavis-milter# option(s) -p overrides $inet_socket_port and $unix_socketname$inet_socket_port = 10024; # listen on this local TCP port(s)
# $inet_socket_port = [10024,10026];# listen on multiple TCP ports$policy_bank{'MYNETS'} = { # mail originating from @mynetworks originating =&gt; 1,# is true in MYNETS by default, but let's make it explicit os_fingerprint_method =&gt; undef,# don't query p0f for internal clients
};# it is up to MTA to re-route mail from authenticated roaming users or
# from internal hosts to a dedicated TCP port (such as 10026) for filtering
$interface_policy{'10026'} = 'ORIGINATING';$policy_bank{'ORIGINATING'} = {# mail supposedly originating from our users originating =&gt; 1,# declare that mail was submitted by our smtp client allow_disclaimers =&gt; 1,# enables disclaimer insertion if available # notify administrator of locally originating malware virus_admin_maps =&gt; ["virusalert\@$mydomain"], spam_admin_maps=&gt; ["virusalert\@$mydomain"], warnbadhsender =&gt; 1, # forward to a smtpd service providing DKIM signing service forward_method =&gt; 'smtp:[127.0.0.1]:10027', # force MTA conversion to 7-bit (e.g. before DKIM signing) smtpd_discard_ehlo_keywords =&gt; ['8BITMIME'], bypass_banned_checks_maps =&gt; [1],# allow sending any file names and types terminate_dsn_on_notify_success =&gt; 0,# don't remove NOTIFY=SUCCESS option
};$interface_policy{'SOCK'} = 'AM.PDP-SOCK'; # only applies with $unix_socketname# Use with amavis-release over a socket or with Petr Rehor's amavis-milter.c
# (with amavis-milter.c from this package or old amavis.c client use 'AM.CL'):
$policy_bank{'AM.PDP-SOCK'} = { protocol =&gt; 'AM.PDP', auth_required_release =&gt; 0,# do not require secret_id for amavisd-release
};$sa_tag_level_deflt= 2.0;# add spam info headers if at, or above that level
$sa_tag2_level_deflt = 4.0;# add 'spam detected' headers at that level
$sa_kill_level_deflt = $sa_tag2_level_deflt;# triggers spam evasive actions (e.g. blocks mail)
$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent#$sa_tag_level_deflt= 2.0;# add spam info headers if at, or above that level
#$sa_tag2_level_deflt = 6.2;# add 'spam detected' headers at that level
#$sa_kill_level_deflt = 6.9;# triggers spam evasive actions (e.g. blocks mail)
#$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent
$sa_crediblefrom_dsn_cutoff_level = 18; # likewise, but for a likely valid From
# $sa_quarantine_cutoff_level = 25; # spam level beyond which quarantine is off
$penpals_bonus_score = 8;# (no effect without a @storage_sql_dsn database)
$penpals_threshold_high = $sa_kill_level_deflt;# don't waste time on hi spam
$bounce_killer_score = 100;# spam score points to add for joe-jobbed bounces$sa_mail_body_size_limit = 400*1024; # don't waste time on SA if mail is larger
$sa_local_tests_only = 0;# only tests which do not require internet access?# @lookup_sql_dsn =
# ( ['DBI:mysql:database=mail;host=127.0.0.1;port=3306', 'user1', 'passwd1'],
# ['DBI:mysql:database=mail;host=host2', 'username2', 'password2'],
# ["DBI:SQLite:dbname=$MYHOME/sql/mail_prefs.sqlite", '', ''] );
# @storage_sql_dsn = @lookup_sql_dsn;# none, same, or separate database@lookup_sql_dsn =( ['DBI:mysql:database=mail;host=127.0.0.1;port=3306', 'mail_admin', 'mail_admin_password'] );$sql_select_policy = 'SELECT "Y" as local FROM domains WHERE CONCAT("@",domain) IN (%k)';$sql_select_white_black_list = undef;# undef disables SQL white/blacklisting$recipient_delimiter = '+';# (default is '+')$replace_existing_extension = 1;# (default is false)$localpart_is_case_sensitive = 0;# (default is false)# $timestamp_fmt_mysql = 1; # if using MySQL *and* msgs.time_iso is TIMESTAMP;
# defaults to 0, which is good for non-MySQL or if msgs.time_iso is CHAR(16)$virus_admin = undef;# notifications recip.$mailfrom_notify_admin = undef;# notifications sender
$mailfrom_notify_recip = undef;# notifications sender
$mailfrom_notify_spamadmin = undef;# notifications sender
$mailfrom_to_quarantine = ''; # null return path; uses original sender if undef@addr_extension_virus_maps= ('virus');
@addr_extension_banned_maps = ('banned');
@addr_extension_spam_maps = ('spam');
@addr_extension_bad_header_maps = ('badh');
$recipient_delimiter = undef;# undef disables address extensions altogether
# $recipient_delimiter = '+';# undef disables address extensions altogether
# when enabling addr extensions do also Postfix/main.cf: recipient_delimiter=+$path = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/usr/bin:/bin';
# $dspam = 'dspam';$MAXLEVELS = 14;
$MAXFILES = 1500;
$MIN_EXPANSION_QUOTA =100*1024;# bytes(default undef, not enforced)
$MAX_EXPANSION_QUOTA = 300*1024*1024;# bytes(default undef, not enforced)$sa_spam_subject_tag = '***SPAM*** ';
$defang_virus= 1;# MIME-wrap passed infected mail
$defang_banned = 1;# MIME-wrap passed mail containing banned name
# for defanging bad headers only turn on certain minor contents categories:
$defang_by_ccat{+CC_BADH.",3"} = 1;# NUL or CR character in header
$defang_by_ccat{+CC_BADH.",5"} = 1;# header line longer than 998 characters
$defang_by_ccat{+CC_BADH.",6"} = 1;# header field syntax error
# OTHER MORE COMMON SETTINGS (defaults may suffice):# $myhostname = 'host.example.com';# must be a fully-qualified domain name!# $notify_method= 'smtp:[127.0.0.1]:10025';
# $forward_method = 'smtp:[127.0.0.1]:10025';# set to undef with milter!$final_virus_destiny= D_REJECT;
$final_banned_destiny = D_REJECT;
$final_spam_destiny = D_PASS;
$final_bad_header_destiny = D_PASS;#$final_virus_destiny= D_DISCARD;
#$final_banned_destiny = D_BOUNCE;
#$final_spam_destiny = D_DISCARD;
#$final_bad_header_destiny = D_BOUNCE;
# $bad_header_quarantine_method = undef;# $os_fingerprint_method = 'p0f:*:2345';# to query p0f-analyzer.pl## hierarchy by which a final setting is chosen:
## policy bank (based on port or IP address) -&gt; *_by_ccat
## *_by_ccat (based on mail contents) -&gt; *_maps
## *_maps (based on recipient address) -&gt; final configuration value
# SOME OTHER VARIABLES WORTH CONSIDERING (see amavisd.conf-default for all)# $warnbadhsender,
# $warnvirusrecip, $warnbannedrecip, $warnbadhrecip, (or @warn*recip_maps)
#
# @bypass_virus_checks_maps, @bypass_spam_checks_maps,
# @bypass_banned_checks_maps, @bypass_header_checks_maps,
#
# @virus_lovers_maps, @spam_lovers_maps,
# @banned_files_lovers_maps, @bad_header_lovers_maps,
#
# @blacklist_sender_maps, @score_sender_maps,
#
# $clean_quarantine_method, $virus_quarantine_to, $banned_quarantine_to,
# $bad_header_quarantine_to, $spam_quarantine_to,
#
# $defang_bad_header, $defang_undecipherable, $defang_spam
# REMAINING IMPORTANT VARIABLES ARE LISTED HERE BECAUSE OF LONGER ASSIGNMENTS@keep_decoded_original_maps = (new_RE( qr'^MAIL$', # retain full original message for virus checking qr'^MAIL-UNDECIPHERABLE$', # recheck full mail if it contains undecipherables qr'^(ASCII(?! cpio)|text|uuencoded|xxencoded|binhex)'i,
# qr'^Zip archive data', # don't trust Archive::Zip
));
# for $banned_namepath_re (a new-style of banned table) see amavisd.conf-sample$banned_filename_re = new_RE(### BLOCKED ANYWHERE
# qr'^UNDECIPHERABLE$',# is or contains any undecipherable components qr'^\.(exe-ms|dll)$', # banned file(1) types, rudimentary
# qr'^\.(exe|lha|tnef|cab|dll)$', # banned file(1) types### BLOCK THE FOLLOWING, EXCEPT WITHIN UNIX ARCHIVES:
# [ qr'^\.(gz|bz2)$' =&gt; 0 ],# allow any in gzip or bzip2 [ qr'^\.(rpm|cpio|tar)$' =&gt; 0 ],# allow any in Unix-type archivesqr'.\.(pif|scr)$'i, # banned extensions - rudimentary
# qr'^\.zip$',# block zip type### BLOCK THE FOLLOWING, EXCEPT WITHIN ARCHIVES:
# [ qr'^\.(zip|rar|arc|arj|zoo)$'=&gt; 0 ],# allow any within these archivesqr'^application/x-msdownload$'i,# block these MIME types qr'^application/x-msdos-program$'i, qr'^application/hta$'i,# qr'^message/partial$'i, # rfc2046 MIME type
# qr'^message/external-body$'i, # rfc2046 MIME type# qr'^(application/x-msmetafile|image/x-wmf)$'i,# Windows Metafile MIME type
# qr'^\.wmf$',# Windows Metafile file(1) type# block certain double extensions in filenames qr'\.[^./]*[A-Za-z][^./]*\.\s*(exe|vbs|pif|scr|bat|cmd|com|cpl|dll)[.\s]*$'i,# qr'\{[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}\}?'i, # Class ID CLSID, strict
# qr'\{[0-9a-z]{4,}(-[0-9a-z]{4,}){0,7}\}?'i, # Class ID extension CLSID, looseqr'.\.(exe|vbs|pif|scr|cpl)$'i, # banned extension - basic
# qr'.\.(exe|vbs|pif|scr|cpl|bat|cmd|com)$'i, # banned extension - basic+cmd
# qr'.\.(ade|adp|app|bas|bat|chm|cmd|com|cpl|crt|emf|exe|fxp|grp|hlp|hta|
#inf|ins|isp|js|jse|lnk|mda|mdb|mde|mdw|mdt|mdz|msc|msi|msp|mst|
#ops|pcd|pif|prg|reg|scr|sct|shb|shs|vb|vbe|vbs|
#wmf|wsc|wsf|wsh)$'ix,# banned ext - long
# qr'.\.(ani|cur|ico)$'i, # banned cursors and icons filename
# qr'^\.ani$',# banned animated cursor file(1) type# qr'.\.(mim|b64|bhx|hqx|xxe|uu|uue)$'i,# banned extension - WinZip vulnerab.
);
# See http://support.microsoft.com/default.aspx?scid=kb;EN-US;q262631
# and http://www.cknow.com/vtutor/vtextensions.htm
# ENVELOPE SENDER SOFT-WHITELISTING / SOFT-BLACKLISTING@score_sender_maps = ({ # a by-recipient hash lookup table, # results from all matching recipient tables are summed# ## per-recipient personal tables(NOTE: positive: black, negative: white)
# 'user1@example.com'=&gt; [{'bla-mobile.press@example.com' =&gt; 10.0}],
# 'user3@example.com'=&gt; [{'.ebay.com' =&gt; -3.0}],
# 'user4@example.com'=&gt; [{'cleargreen@cleargreen.com' =&gt; -7.0,
# '.cleargreen.com' =&gt; -5.0}],## site-wide opinions about senders (the '.' matches any recipient) '.' =&gt; [# the _first_ matching sender determines the score boost new_RE(# regexp-type lookup table, just happens to be all soft-blacklist [qr'^(bulkmail|offers|cheapbenefits|earnmoney|foryou)@'i =&gt; 5.0], [qr'^(greatcasino|investments|lose_weight_today|market\.alert)@'i=&gt; 5.0], [qr'^(money2you|MyGreenCard|new\.tld\.registry|opt-out|opt-in)@'i=&gt; 5.0], [qr'^(optin|saveonlsmoking2002k|specialoffer|specialoffers)@'i =&gt; 5.0], [qr'^(stockalert|stopsnoring|wantsome|workathome|yesitsfree)@'i=&gt; 5.0], [qr'^(your_friend|greatoffers)@'i=&gt; 5.0], [qr'^(inkjetplanet|marketopt|MakeMoney)\d*@'i=&gt; 5.0],),#read_hash("/var/amavis/sender_scores_sitewide"), { # a hash-type lookup table (associative array)'nobody@cert.org'=&gt; -3.0,'cert-advisory@us-cert.gov'=&gt; -3.0,'owner-alert@iss.net'=&gt; -3.0,'slashdot@slashdot.org'=&gt; -3.0,'securityfocus.com'=&gt; -3.0,'ntbugtraq@listserv.ntbugtraq.com' =&gt; -3.0,'security-alerts@linuxsecurity.com'=&gt; -3.0,'mailman-announce-admin@python.org'=&gt; -3.0,'amavis-user-admin@lists.sourceforge.net'=&gt; -3.0,'amavis-user-bounces@lists.sourceforge.net' =&gt; -3.0,'spamassassin.apache.org'=&gt; -3.0,'notification-return@lists.sophos.com' =&gt; -3.0,'owner-postfix-users@postfix.org'=&gt; -3.0,'owner-postfix-announce@postfix.org' =&gt; -3.0,'owner-sendmail-announce@lists.sendmail.org' =&gt; -3.0,'sendmail-announce-request@lists.sendmail.org' =&gt; -3.0,'donotreply@sendmail.org'=&gt; -3.0,'ca+envelope@sendmail.org' =&gt; -3.0,'noreply@freshmeat.net'=&gt; -3.0,'owner-technews@postel.acm.org'=&gt; -3.0,'ietf-123-owner@loki.ietf.org' =&gt; -3.0,'cvs-commits-list-admin@gnome.org' =&gt; -3.0,'rt-users-admin@lists.fsck.com'=&gt; -3.0,'clp-request@comp.nus.edu.sg'=&gt; -3.0,'surveys-errors@lists.nua.ie'=&gt; -3.0,'emailnews@genomeweb.com'=&gt; -5.0,'yahoo-dev-null@yahoo-inc.com' =&gt; -3.0,'returns.groups.yahoo.com' =&gt; -3.0,'clusternews@linuxnetworx.com' =&gt; -3.0,lc('lvs-users-admin@LinuxVirtualServer.org')=&gt; -3.0,lc('owner-textbreakingnews@CNNIMAIL12.CNN.COM') =&gt; -5.0, # soft-blacklisting (positive score)'sender@example.net' =&gt;3.0,'.example.net' =&gt;1.0, }, ],# end of site-wide tables
});
@decoders = ( ['mail', \&amp;do_mime_decode], ['asc',\&amp;do_ascii], ['uue',\&amp;do_ascii], ['hqx',\&amp;do_ascii], ['ync',\&amp;do_ascii], ['F',\&amp;do_uncompress, ['unfreeze','freeze -d','melt','fcat'] ], ['Z',\&amp;do_uncompress, ['uncompress','gzip -d','zcat'] ], ['gz', \&amp;do_uncompress,'gzip -d'], ['gz', \&amp;do_gunzip], ['bz2',\&amp;do_uncompress,'bzip2 -d'], ['lzo',\&amp;do_uncompress,'lzop -d'], ['rpm',\&amp;do_uncompress, ['rpm2cpio.pl','rpm2cpio'] ], ['cpio', \&amp;do_pax_cpio, ['pax','gcpio','cpio'] ], ['tar',\&amp;do_pax_cpio, ['pax','gcpio','cpio'] ], ['deb',\&amp;do_ar,'ar'],
# ['a',\&amp;do_ar,'ar'],# unpacking .a seems an overkill ['zip',\&amp;do_unzip], ['7z', \&amp;do_7zip, ['7zr','7za','7z'] ], ['rar',\&amp;do_unrar,['rar','unrar'] ], ['arj',\&amp;do_unarj,['arj','unarj'] ], ['arc',\&amp;do_arc,['nomarch','arc'] ], ['zoo',\&amp;do_zoo,['zoo','unzoo'] ], ['lha',\&amp;do_lha, 'lha'],
# ['doc',\&amp;do_ole, 'ripole'], ['cab',\&amp;do_cabextract,'cabextract'], ['tnef', \&amp;do_tnef_ext,'tnef'], ['tnef', \&amp;do_tnef],
# ['sit',\&amp;do_unstuff, 'unstuff'],# broken/unsafe decoder ['exe',\&amp;do_executable, ['rar','unrar'], 'lha', ['arj','unarj'] ],
);
@av_scanners = (# ### http://www.clanfield.info/sophie/ (http://www.vanja.com/tools/sophie/)
# ['Sophie',
# \&amp;ask_daemon, ["{}/\n", '/var/run/sophie'],
# qr/(?x)^ 0+ ( : | [00\r\n]* $)/m,qr/(?x)^ 1 ( : | [00\r\n]* $)/m,
# qr/(?x)^ [-+]? \d+ : (.*?) [00\r\n]* $/m ],# ### http://www.csupomona.edu/~henson/www/projects/SAVI-Perl/
# ['Sophos SAVI', \&amp;sophos_savi ],# ### http://www.clamav.net/
['ClamAV-clamd', \&amp;ask_daemon, ["CONTSCAN {}\n", "/var/spool/amavisd/clamd.sock"], qr/\bOK$/m, qr/\bFOUND$/m, qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],
# # NOTE: run clamd under the same user as amavisd, or run it under its own
# # uid such as clamav, add user clamav to the amavis group, and then add
# # AllowSupplementaryGroups to clamd.conf;
# # NOTE: match socket name (LocalSocket) in clamav.conf to the socket name in
# # this entry; when running chrooted one may prefer socket "$MYHOME/clamd".# ### http://www.clamav.net/ and CPAN(memory-hungry! clamd is preferred)
# # note that Mail::ClamAV requires perl to be build with threading!
# ['Mail::ClamAV', \&amp;ask_clamav, "*", [0], [1], qr/^INFECTED: (.+)/m ],# ### http://www.openantivirus.org/
# ['OpenAntiVirus ScannerDaemon (OAV)',
# \&amp;ask_daemon, ["SCAN {}\n", '127.0.0.1:8127'],
# qr/^OK/m, qr/^FOUND: /m, qr/^FOUND: (.+)/m ],# ### http://www.vanja.com/tools/trophie/
# ['Trophie',
# \&amp;ask_daemon, ["{}/\n", '/var/run/trophie'],
# qr/(?x)^ 0+ ( : | [00\r\n]* $)/m,qr/(?x)^ 1 ( : | [00\r\n]* $)/m,
# qr/(?x)^ [-+]? \d+ : (.*?) [00\r\n]* $/m ],# ### http://www.grisoft.com/
# ['AVG Anti-Virus',
# \&amp;ask_daemon, ["SCAN {}\n", '127.0.0.1:55555'],
# qr/^200/m, qr/^403/m, qr/^403 .*?: ([^\r\n]+)/m ],# ### http://www.f-prot.com/
# ['F-Prot fpscand',# F-PROT Antivirus for BSD/Linux/Solaris, version 6
# \&amp;ask_daemon,
# ["SCAN FILE {}/*\n", '127.0.0.1:10200'],
# qr/^(0|8|64) /m,
# qr/^([1235679]|1[01345]) |&lt;[^&gt;:]*(?i)(infected|suspicious|unwanted)/m,
# qr/(?i)&lt;[^&gt;:]*(?:infected|suspicious|unwanted)[^&gt;:]*: ([^&gt;]*)&gt;/m ],# ### http://www.f-prot.com/
# ['F-Prot f-protd',# old version
# \&amp;ask_daemon,
# ["GET {}/*?-dumb%20-archive%20-packed HTTP/1.0\r\n\r\n",
# ['127.0.0.1:10200', '127.0.0.1:10201', '127.0.0.1:10202',
#'127.0.0.1:10203', '127.0.0.1:10204'] ],
# qr/(?i)&lt;summary[^&gt;]*&gt;clean&lt;\/summary&gt;/m,
# qr/(?i)&lt;summary[^&gt;]*&gt;infected&lt;\/summary&gt;/m,
# qr/(?i)&lt;name&gt;(.+)&lt;\/name&gt;/m ],# ### http://www.sald.com/, http://www.dials.ru/english/, http://www.drweb.ru/
# ['DrWebD', \&amp;ask_daemon, # DrWebD 4.31 or later
# [pack('N',1).# DRWEBD_SCAN_CMD
#pack('N',0x00280001). # DONT_CHANGEMAIL, IS_MAIL, RETURN_VIRUSES
#pack('N', # path length
#length("$TEMPBASE/amavis-yyyymmddTHHMMSS-xxxxx/parts/pxxx")).
#'{}/*'. # path
#pack('N',0).# content size
#pack('N',0),
#'/var/drweb/run/drwebd.sock',
## '/var/amavis/var/run/drwebd.sock', # suitable for chroot
## '/usr/local/drweb/run/drwebd.sock',# FreeBSD drweb ports default
## '127.0.0.1:3000',# or over an inet socket
# ],
# qr/\A\x00[\x10\x11][\x00\x10]\x00/sm,# IS_CLEAN,EVAL_KEY; SKIPPED
# qr/\A\x00[\x00\x01][\x00\x10][\x20\x40\x80]/sm,# KNOWN_V,UNKNOWN_V,V._MODIF
# qr/\A.{12}(?:infected with )?([^\x00]+)\x00/sm,
# ],
# # NOTE: If using amavis-milter, change length to:
# # length("$TEMPBASE/amavis-milter-xxxxxxxxxxxxxx/parts/pxxx").### http://www.kaspersky.com/(kav4mailservers) ['KasperskyLab AVP - aveclient', ['/usr/local/kav/bin/aveclient','/usr/local/share/kav/bin/aveclient','/opt/kav/5.5/kav4mailservers/bin/aveclient','aveclient'], '-p /var/run/aveserver -s {}/*', [0,3,6,8], qr/\b(INFECTED|SUSPICION|SUSPICIOUS)\b/m, qr/(?:INFECTED|WARNING|SUSPICION|SUSPICIOUS) (.+)/m, ], # NOTE: one may prefer [0],[2,3,4,5], depending on how suspicious, # currupted or protected archives are to be handled### http://www.kaspersky.com/ ['KasperskyLab AntiViral Toolkit Pro (AVP)', ['avp'], '-* -P -B -Y -O- {}', [0,3,6,8], [2,4],# any use for -A -K ? qr/infected: (.+)/m, sub {chdir('/opt/AVP') or die "Can't chdir to AVP: $!"}, sub {chdir($TEMPBASE) or die "Can't chdir back to $TEMPBASE $!"}, ],### The kavdaemon and AVPDaemonClient have been removed from Kasperky ### products and replaced by aveserver and aveclient ['KasperskyLab AVPDaemonClient', [ '/opt/AVP/kavdaemon', 'kavdaemon', '/opt/AVP/AvpDaemonClient', 'AvpDaemonClient', '/opt/AVP/AvpTeamDream','AvpTeamDream', '/opt/AVP/avpdc', 'avpdc' ], "-f=$TEMPBASE {}", [0,8], [3,4,5,6], qr/infected: ([^\r\n]+)/m ], # change the startup-script in /etc/init.d/kavd to: # DPARMS="-* -Y -dl -f=/var/amavis /var/amavis" # (or perhaps: DPARMS="-I0 -Y -* /var/amavis" ) # adjusting /var/amavis above to match your $TEMPBASE. # The '-f=/var/amavis' is needed if not running it as root, so it # can find, read, and write its pid file, etc., see 'man kavdaemon'. # defUnix.prf: there must be an entry "*/var/amavis" (or whatever # directory $TEMPBASE specifies) in the 'Names=' section. # cd /opt/AVP/DaemonClients; configure; cd Sample; make # cp AvpDaemonClient /opt/AVP/ # su - vscan -c "${PREFIX}/kavdaemon ${DPARMS}"### http://www.centralcommand.com/ ['CentralCommand Vexira (new) vascan', ['vascan','/usr/lib/Vexira/vascan'], "-a s --timeout=60 --temp=$TEMPBASE -y $QUARANTINEDIR ". "--log=/var/log/vascan.log {}", [0,3], [1,2,5], qr/(?x)^\s* (?:virus|iworm|macro|mutant|sequence|trojan)\ found:\ ( [^\]\s']+ )\ \.\.\.\ /m ], # Adjust the path of the binary and the virus database as needed. # 'vascan' does not allow to have the temp directory to be the same as # the quarantine directory, and the quarantine option can not be disabled. # If $QUARANTINEDIR is not used, then another directory must be specified # to appease 'vascan'. Move status 3 to the second list if password # protected files are to be considered infected.### http://www.avira.com/ ### Avira AntiVir (formerly H+BEDV) or (old) CentralCommand Vexira Antivirus ['Avira AntiVir', ['antivir','vexira'], '--allfiles -noboot -nombr -rs -s -z {}', [0], qr/ALERT:|VIRUS:/m, qr/(?x)^\s* (?: ALERT: \s* (?: \[ | [^']* ' ) |(?i) VIRUS:\ .*?\ virus\ '?) ( [^\]\s']+ )/m ], # NOTE: if you only have a demo version, remove -z and add 214, as in: #'--allfiles -noboot -nombr -rs -s {}', [0,214], qr/ALERT:|VIRUS:/,### http://www.commandsoftware.com/ ['Command AntiVirus for Linux', 'csav', '-all -archive -packed {}', [50], [51,52,53], qr/Infection: (.+)/m ],### http://www.symantec.com/ ['Symantec CarrierScan via Symantec CommandLineScanner', 'cscmdline', '-a scan -i 1 -v -s 127.0.0.1:7777 {}', qr/^Files Infected:\s+0$/m, qr/^Infected\b/m, qr/^(?:Info|Virus Name):\s+(.+)/m ],### http://www.symantec.com/ ['Symantec AntiVirus Scan Engine', 'savsecls', '-server 127.0.0.1:7777 -mode scanrepair -details -verbose {}', [0], qr/^Infected\b/m, qr/^(?:Info|Virus Name):\s+(.+)/m ], # NOTE: check options and patterns to see which entry better applies# ### http://www.f-secure.com/products/anti-virus/version 4.65
#['F-Secure Antivirus for Linux servers',
# ['/opt/f-secure/fsav/bin/fsav', 'fsav'],
# '--delete=no --disinf=no --rename=no --archive=yes --auto=yes '.
# '--dumb=yes --list=no --mime=yes {}', [0], [3,6,8],
# qr/(?:infection|Infected|Suspected): (.+)/m ],### http://www.f-secure.com/products/anti-virus/version 5.52['F-Secure Antivirus for Linux servers', ['/opt/f-secure/fsav/bin/fsav', 'fsav'], '--virus-action1=report --archive=yes --auto=yes '. '--dumb=yes --list=no --mime=yes {}', [0], [3,4,6,8], qr/(?:infection|Infected|Suspected|Riskware): (.+)/m ], # NOTE: internal archive handling may be switched off by '--archive=no' # to prevent fsav from exiting with status 9 on broken archives# ### http://www.avast.com/
# ['avast! Antivirus daemon',
# \&amp;ask_daemon,# greets with 220, terminate with QUIT
# ["SCAN {}1512QUIT1512", '/var/run/avast4/mailscanner.sock'],
# qr/\t\[\+\]/m, qr/\t\[L\]\t/m, qr/\t\[L\]\t([^[ \t1512]+)/m ],# ### http://www.avast.com/
# ['avast! Antivirus - Client/Server Version', 'avastlite',
# '-a /var/run/avast4/mailscanner.sock -n {}', [0], [1],
# qr/\t\[L\]\t([^[ \t1512]+)/m ],['CAI InoculateIT', 'inocucmd',# retired product '-sec -nex {}', [0], [100], qr/was infected by virus (.+)/m ], # see: http://www.flatmtn.com/computer/Linux-Antivirus_CAI.html### http://www3.ca.com/Solutions/Product.asp?ID=156(ex InoculateIT) ['CAI eTrust Antivirus', 'etrust-wrapper', '-arc -nex -spm h {}', [0], [101], qr/is infected by virus: (.+)/m ], # NOTE: requires suid wrapper around inocmd32; consider flag: -mod reviewer # see http://marc.theaimsgroup.com/?l=amavis-user&amp;m=109229779912783### http://mks.com.pl/english.html ['MkS_Vir for Linux (beta)', ['mks32','mks'], '-s {}/*', [0], [1,2], qr/--[ \t]*(.+)/m ],### http://mks.com.pl/english.html ['MkS_Vir daemon', 'mksscan', '-s -q {}', [0], [1..7], qr/^... (\S+)/m ],# ### http://www.nod32.com/,version v2.52 (old)
# ['ESET NOD32 for Linux Mail servers',
# ['/opt/eset/nod32/bin/nod32cli', 'nod32cli'],
#'--subdir --files -z --sfx --rtp --adware --unsafe --pattern --heur '.
#'-w -a --action-on-infected=accept --action-on-uncleanable=accept '.
#'--action-on-notscanned=accept {}',
# [0,3], [1,2], qr/virus="([^"]+)"/m ],# ### http://www.eset.com/, version v2.7 (old)
# ['ESET NOD32 Linux Mail Server - command line interface',
# ['/usr/bin/nod32cli', '/opt/eset/nod32/bin/nod32cli', 'nod32cli'],
# '--subdir {}', [0,3], [1,2], qr/virus="([^"]+)"/m ],# ### http://www.eset.com/, version 2.71.12
# ['ESET Software ESETS Command Line Interface',
# ['/usr/bin/esets_cli', 'esets_cli'],
# '--subdir {}', [0], [1,2,3], qr/virus="([^"]+)"/m ],### http://www.eset.com/, version 3.0 ['ESET Software ESETS Command Line Interface', ['/usr/bin/esets_cli', 'esets_cli'], '--subdir {}', [0], [1,2,3], qr/:\s*action="(?!accepted)[^"]*"\n.*:\s*virus="([^"]*)"/m ],## http://www.nod32.com/,NOD32LFS version 2.5 and above ['ESET NOD32 for Linux File servers', ['/opt/eset/nod32/sbin/nod32','nod32'], '--files -z --mail --sfx --rtp --adware --unsafe --pattern --heur '. '-w -a --action=1 -b {}', [0], [1,10], qr/^object=.*, virus="(.*?)",/m ],# Experimental, based on posting from Rado Dibarbora (Dibo) on 2002-05-31
# ['ESET Software NOD32 Client/Server (NOD32SS)',
# \&amp;ask_daemon2,# greets with 200, persistent, terminate with QUIT
# ["SCAN {}/*\r\n", '127.0.0.1:8448' ],
# qr/^200 File OK/m, qr/^201 /m, qr/^201 (.+)/m ],### http://www.norman.com/products_nvc.shtml ['Norman Virus Control v5 / Linux', 'nvcc', '-c -l:0 -s -u -temp:$TEMPBASE {}', [0,10,11], [1,2,14], qr/(?i).* virus in .* -&gt; \'(.+)\'/m ],### http://www.pandasoftware.com/ ['Panda CommandLineSecure 9 for Linux', ['/opt/pavcl/usr/bin/pavcl','pavcl'], '-auto -aex -heu -cmp -nbr -nor -nos -eng -nob {}', qr/Number of files infected[ .]*: 0+(?!\d)/m, qr/Number of files infected[ .]*: 0*[1-9]/m, qr/Found virus :\s*(\S+)/m ], # NOTE: for efficiency, start the Panda in resident mode with 'pavcl -tsr' # before starting amavisd - the bases are then loaded only once at startup. # To reload bases in a signature update script: # /opt/pavcl/usr/bin/pavcl -tsr -ulr; /opt/pavcl/usr/bin/pavcl -tsr # Please review other options of pavcl, for example: #-nomalw, -nojoke, -nodial, -nohackt, -nospyw, -nocookies# ### http://www.pandasoftware.com/
# ['Panda Antivirus for Linux', ['pavcl'],
# '-TSR -aut -aex -heu -cmp -nbr -nor -nso -eng {}',
# [0], [0x10, 0x30, 0x50, 0x70, 0x90, 0xB0, 0xD0, 0xF0],
# qr/Found virus :\s*(\S+)/m ],# GeCAD AV technology is acquired by Microsoft; RAV has been discontinued.
# Check your RAV license terms before fiddling with the following two lines!
# ['GeCAD RAV AntiVirus 8', 'ravav',
# '--all --archive --mail {}', [1], [2,3,4,5], qr/Infected: (.+)/m ],
# # NOTE: the command line switches changed with scan engine 8.5 !
# # (btw, assigning stdin to /dev/null causes RAV to fail)### http://www.nai.com/ ['NAI McAfee AntiVirus (uvscan)', 'uvscan', '--secure -rv --mime --summary --noboot - {}', [0], [13], qr/(?x) Found (?: \ the\ (.+)\ (?:virus|trojan)| \ (?:virus|trojan)\ or\ variant\ ([^ ]+)| :\ (.+)\ NOT\ a\ virus)/m, # sub {$ENV{LD_PRELOAD}='/lib/libc.so.6'}, # sub {delete $ENV{LD_PRELOAD}}, ], # NOTE1: with RH9: force the dynamic linker to look at /lib/libc.so.6 before # anything else by setting environment variable LD_PRELOAD=/lib/libc.so.6 # and then clear it when finished to avoid confusing anything else. # NOTE2: to treat encrypted files as viruses replace the [13] with: #qr/^\s{5,}(Found|is password-protected|.*(virus|trojan))/### http://www.virusbuster.hu/en/ ['VirusBuster', ['vbuster', 'vbengcl'], "{} -ss -i '*' -log=$MYHOME/vbuster.log", [0], [1], qr/: '(.*)' - Virus/m ], # VirusBuster Ltd. does not support the daemon version for the workstation # engine (vbuster-eng-1.12-linux-i386-libc6.tgz) any longer. The names of # binaries, some parameters AND return codes have changed (from 3 to 1). # See also the new Vexira entry 'vascan' which is possibly related.# ### http://www.virusbuster.hu/en/
# ['VirusBuster (Client + Daemon)', 'vbengd',
# '-f -log scandir {}', [0], [3],
# qr/Virus found = (.*);/m ],
# # HINT: for an infected file it always returns 3,
# # although the man-page tells a different story### http://www.cyber.com/ ['CyberSoft VFind', 'vfind', '--vexit {}/*', [0], [23], qr/##==&gt;&gt;&gt;&gt; VIRUS ID: CVDL (.+)/m, # sub {$ENV{VSTK_HOME}='/usr/lib/vstk'}, ],### http://www.avast.com/ ['avast! Antivirus', ['/usr/bin/avastcmd','avastcmd'], '-a -i -n -t=A {}', [0], [1], qr/\binfected by:\s+([^ \t\n\[\]]+)/m ],### http://www.ikarus-software.com/ ['Ikarus AntiVirus for Linux', 'ikarus', '{}', [0], [40], qr/Signature (.+) found/m ],### http://www.bitdefender.com/ ['BitDefender', 'bdscan',# new version '--action=ignore --no-list {}', qr/^Infected files\s*:\s*0+(?!\d)/m, qr/^(?:Infected files|Identified viruses|Suspect files)\s*:\s*0*[1-9]/m, qr/(?:suspected|infected)\s*:\s*(.*)(?:33|$)/m ],### http://www.bitdefender.com/ ['BitDefender', 'bdc',# old version '--arc --mail {}', qr/^Infected files *:0+(?!\d)/m, qr/^(?:Infected files|Identified viruses|Suspect files) *:0*[1-9]/m, qr/(?:suspected|infected): (.*)(?:33|$)/m ], # consider also: --all --nowarn --alev=15 --flev=15.The --all argument may # not apply to your version of bdc, check documentation and see 'bdc --help'### ArcaVir for Linux and Unix http://www.arcabit.pl/ ['ArcaVir for Linux', ['arcacmd','arcacmd.static'], '-v 1 -summary 0 -s {}', [0], [1,2], qr/(?:VIR|WIR):[ \t]*(.+)/m ],# ### a generic SMTP-client interface to a SMTP-based virus scanner
# ['av_smtp', \&amp;ask_av_smtp,
# ['{}', 'smtp:[127.0.0.1]:5525', 'dummy@localhost'],
# qr/^2/, qr/^5/, qr/^\s*(.*?)\s*$/m ],# ['File::Scan', sub {Amavis::AV::ask_av(sub{
# use File::Scan; my($fn)=@_;
# my($f)=File::Scan-&gt;new(max_txt_size=&gt;0, max_bin_size=&gt;0);
# my($vname) = $f-&gt;scan($fn);
# $f-&gt;error ? (2,"Error: ".$f-&gt;error)
# : ($vname ne '') ? (1,"$vname FOUND") : (0,"Clean")}, @_) },
# ["{}/*"], [0], [1], qr/^(.*) FOUND$/m ],# ### fully-fledged checker for JPEG marker segments of invalid length
# ['check-jpeg',
# sub { use JpegTester (); Amavis::AV::ask_av(\&amp;JpegTester::test_jpeg, @_) },
# ["{}/*"], undef, [1], qr/^(bad jpeg: .*)$/m ],
# # NOTE: place file JpegTester.pm somewhere where Perl can find it,
# # for example in /usr/local/lib/perl5/site_perl);
@av_scanners_backup = (### http://www.clamav.net/ - backs up clamd or Mail::ClamAV ['ClamAV-clamscan', 'clamscan', "--stdout --no-summary -r --tempdir=$TEMPBASE {}", [0], qr/:.*\sFOUND$/m, qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],### http://www.f-prot.com/ - backs up F-Prot Daemon, V6 ['F-PROT Antivirus for UNIX', ['fpscan'], '--report --mount --adware {}',# consider: --applications -s 4 -u 3 -z 10 [0,8,64],[1,2,3, 4+1,4+2,4+3, 8+1,8+2,8+3, 12+1,12+2,12+3], qr/^\[Found\s+[^\]]*\]\s+&lt;([^ \t(&gt;]*)/m ],### http://www.f-prot.com/ - backs up F-Prot Daemon (old) ['FRISK F-Prot Antivirus', ['f-prot','f-prot.sh'], '-dumb -archive -packed {}', [0,8], [3,6], # or: [0], [3,6,8], qr/(?:Infection:|security risk named) (.+)|\s+contains\s+(.+)$/m ],### http://www.trendmicro.com/ - backs up Trophie ['Trend Micro FileScanner', ['/etc/iscan/vscan','vscan'], '-za -a {}', [0], qr/Found virus/m, qr/Found virus (.+) in/m ],### http://www.sald.com/, http://drweb.imshop.de/ - backs up DrWebD ['drweb - DrWeb Antivirus',# security LHA hole in Dr.Web 4.33 and earlier ['/usr/local/drweb/drweb', '/opt/drweb/drweb', 'drweb'], '-path={} -al -go -ot -cn -upn -ok-', [0,32], [1,9,33], qr' infected (?:with|by)(?: virus)? (.*)$'m ], ### http://www.kaspersky.com/['Kaspersky Antivirus v5.5',['/opt/kaspersky/kav4fs/bin/kav4fs-kavscanner', '/opt/kav/5.5/kav4unix/bin/kavscanner', '/opt/kav/5.5/kav4mailservers/bin/kavscanner', 'kavscanner'],'-i0 -xn -xp -mn -R -ePASBME {}/*', [0,10,15], [5,20,21,25],qr/(?:INFECTED|WARNING|SUSPICION|SUSPICIOUS) (.*)/m,
#sub {chdir('/opt/kav/bin') or die "Can't chdir to kav: $!"},
#sub {chdir($TEMPBASE) or die "Can't chdir back to $TEMPBASE $!"},],# Commented out because the name 'sweep' clashes with Debian and FreeBSD
# package/port of an audio editor. Make sure the correct 'sweep' is found
# in the path when enabling.
#
# ### http://www.sophos.com/ - backs up Sophie or SAVI-Perl
# ['Sophos Anti Virus (sweep)', 'sweep',
# '-nb -f -all -rec -ss -sc -archive -cab -mime -oe -tnef '.
# '--no-reset-atime {}',
# [0,2], qr/Virus .*? found/m,
# qr/^&gt;&gt;&gt; Virus(?: fragment)? '?(.*?)'? found/m,
# ],
# # other options to consider: -idedir=/usr/local/sav# Always succeeds and considers mail clean.
# Potentially useful when all other scanners fail and it is desirable
# to let mail continue to flow with no virus checking (when uncommented).
# ['always-clean', sub {0}],);
1;# insure a defined return value</pre>
</td>
</tr>
<p> amavisd-new is the program that glues together Postfix and SpamAssassin/ClamAV. Postfix passes the mails to amavisd-new which then invokes SpamAssassin and ClamAV to scan the emails. Please have a look at the Spamassassin and ClamAV settings in <em>/etc/amavisd/amavisd.conf</em>. Of course, you can customize that file a lot more. Feel free to do so, and have a look at the explanations in the original <em>/etc/amavisd/amavisd.conf </em> file! </p>
<p>When we installed ClamAV, a cron job got installed that tries to update the ClamAV virus database every three hours. But this works only if we enable it in <span class="system">/etc/sysconfig/freshclam</span> and <span class="system">/etc/freshclam.conf</span>: </p>
<p class="command">vi /etc/sysconfig/freshclam</p>
<p>Comment out the <span class="system">FRESHCLAM_DELAY</span> line at the end:</p>
<tr>
<td class="">
<pre>## When changing the periodicity of freshclam runs in the crontab,
## this value must be adjusted also. Its value is the timespan between
## two subsequent freshclam runs in minutes. E.g. for the default
##
## | 0 */3 * * *...
##
## crontab line, the value is 180 (minutes).
# FRESHCLAM_MOD=## A predefined value for the delay in seconds. By default, the value is
## calculated by the 'hostid' program. This predefined value guarantees
## constant timespans of 3 hours between two subsequent freshclam runs.
##
## This option accepts two special values:
## 'disabled-warn'...disables the automatic freshclam update and
## gives out a warning
## 'disabled' ...disables the automatic freshclam silently
# FRESHCLAM_DELAY=
### !!!!! REMOVE ME !!!!!!
### REMOVE ME: By default, the freshclam update is disabled to avoid
### REMOVE ME: network access without prior activation
#FRESHCLAM_DELAY=disabled-warn# REMOVE ME</pre>
</td>
</tr>
<p class="command">vi /etc/freshclam.conf</p>
<p>Comment out the <span class="system">Example</span> line:</p>
<tr>
<td class="">
<pre>[...]
# Comment or remove the line below.
#Example
[...]</pre>
</td>
</tr>
<p>Now let&#8217;s create the system startup links for ClamAV and amavisd-new, update ClamAV&#8217;s virus signature database, and start both services:</p>
<p class="command">chkconfig &#8211;levels 235 amavisd on<br /> chkconfig &#8211;levels 235 clamd.amavisd on<br /> /usr/bin/freshclam<br /> /etc/init.d/amavisd start<br />
/etc/init.d/clamd.amavisd start</p>
<p> Now we have to configure Postfix to pipe incoming emails through amavisd-new: </p>
<p class="command">postconf -e &#8216;content_filter = amavis:[127.0.0.1]:10024&#8242;<br />
postconf -e &#8216;receive_override_options = no_address_mappings&#8217;</p>
<p> Afterwards append the following lines to <em>/etc/postfix/master.cf</em>: </p>
<p class="command">vi /etc/postfix/master.cf</p>
<tr>
<td class="">
<pre>[...]
amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks -o smtpd_bind_address=127.0.0.1</pre>
</td>
</tr>
<p> and restart Postfix: </p>
<p class="command">/etc/init.d/postfix restart</p>
<div class="book">
<div class="nav">
<div class="links">
<div class="prev"><a href="virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p3" title="View the previous page.">previous</a></div>
<div class="next"><a href="virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p5" title="View the next page.">next</a></div>
<div class="up"><a href="virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64" title="View this page&#39;s parent section.">up</a></div>
</div>
<div class="titles">
<div class="prev">Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86_64) &#8211; Page 3</div>
<div class="next">Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86_64) &#8211; Page 5</div>
</div>
</div>
</div>
<p>
<div class="copyright-footer">
<div class="copyright-image"><a href="http://creativecommons.org/licenses/by/2.0/"><img title="Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 4" alt=" Virtual Users And Domains With Postfix, Courier, MySQL And SquirrelMail (Fedora 12 x86 64)   Page 4" /></a></div>
<p>This page is licensed under a <a href="http://creativecommons.org/licenses/by/2.0/">Creative Commons License</a>.</div>
</div>
</div>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4&amp;title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+4" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4&amp;title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+4" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4&amp;title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+4" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4&amp;headline=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+4" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+4&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+4&amp;u=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+4&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+4&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+4&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4&amp;title=Virtual+Users+And+Domains+With+Postfix%2C+Courier%2C+MySQL+And+SquirrelMail+%28Fedora+12+x86_64%29+-+Page+4&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Ftusforyou.com%2Fvirtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://tusforyou.com/virtual-users-domains-postfix-courier-mysql-squirrelmail-fedora-12-x86_64-p4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bigbluebutton CentOS install failed_1</title>
		<link>http://tusforyou.com/bigbluebutton-centos-install-failed_1</link>
		<comments>http://tusforyou.com/bigbluebutton-centos-install-failed_1#comments</comments>
		<pubDate>Sat, 22 May 2010 05:28:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Bigbluebutton]]></category>
		<category><![CDATA[failed_1]]></category>
		<category><![CDATA[Install]]></category>

		<guid isPermaLink="false">http://tusforyou.com/bigbluebutton-centos-install-failed_1</guid>
		<description><![CDATA[Bigbluebutton CentOS install failed]]></description>
			<content:encoded><![CDATA[<p>					<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/ABSFB-MlzaA?fs=1"></param><param name="allowFullScreen" value="true"></param>
					<embed src="http://www.youtube.com/v/ABSFB-MlzaA?fs=1" type="application/x-shockwave-flash" width="425" height="355" allowfullscreen="true"></embed></object><br />
Bigbluebutton CentOS install failed</p>
<div class="lightsocial_container"><a class="lightsocial_a" href="http://digg.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1&amp;title=Bigbluebutton+CentOS+install+failed_1" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/digg.png" alt="Digg This" title="Digg This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.reddit.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1&amp;title=Bigbluebutton+CentOS+install+failed_1" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/reddit.png" alt="Reddit This" title="Reddit This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1&amp;title=Bigbluebutton+CentOS+install+failed_1" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/stumbleupon.png" alt="Stumble Now!" title="Stumble Now!" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1&amp;headline=Bigbluebutton+CentOS+install+failed_1" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/yahoo_buzz.png" alt="Buzz This" title="Buzz This" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dzone.com/links/add.html?title=Bigbluebutton+CentOS+install+failed_1&amp;url=http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dzone.png" alt="Vote on DZone" title="Vote on DZone" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.facebook.com/sharer.php?t=Bigbluebutton+CentOS+install+failed_1&amp;u=http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/facebook.png" alt="Share on Facebook" title="Share on Facebook" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://delicious.com/save?title=Bigbluebutton+CentOS+install+failed_1&amp;url=http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/delicious.png" alt="Bookmark this on Delicious" title="Bookmark this on Delicious" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.dotnetkicks.com/kick/?title=Bigbluebutton+CentOS+install+failed_1&amp;url=http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetkicks.png" alt="Kick It on DotNetKicks.com" title="Kick It on DotNetKicks.com" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://dotnetshoutout.com/Submit?title=Bigbluebutton+CentOS+install+failed_1&amp;url=http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/dotnetshoutout.png" alt="Shout it" title="Shout it" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1&amp;title=Bigbluebutton+CentOS+install+failed_1&amp;summary=&amp;source=" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/linkedin.png" alt="Share on LinkedIn" title="Share on LinkedIn" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.technorati.com/faves?add=http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/technorati.png" alt="Bookmark this on Technorati" title="Bookmark this on Technorati" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://twitter.com/home?status=Reading+http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/twitter.png" alt="Post on Twitter" title="Post on Twitter" /></a>&nbsp;&nbsp;<a class="lightsocial_a" href="http://www.google.com/buzz/post?url=http%3A%2F%2Ftusforyou.com%2Fbigbluebutton-centos-install-failed_1" ><img class="lightsocial_img" src="http://tusforyou.com/wp-content/plugins/light-social/google_buzz.png" alt="Google Buzz (aka. Google Reader)" title="Google Buzz (aka. Google Reader)" /></a>&nbsp;&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://tusforyou.com/bigbluebutton-centos-install-failed_1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
