January 2007


AWStats is a Perl script and so you must have Perl installed on your server. These instructions assume that this is the case.

  • Login to your server via a SSH session using PuTTY
  • Download the source code from Sourceforge using the command wget http://prdownloads.sourceforge.net/awstats/awstats-6.6.tar.gz
  • Extract the source code using the command gunzip -c awstats-6.6.tar.gz | tar x
  • Move the source directory to /usr/local mv awstats-6.6 /usr/local/awstats
  • Change to the tools directory (cd /usr/local/awstats/tools) and run the configuration script perl awstats_configure.pl to create a configuration file for your domain.
    • Need to create a new config file ? y
    • Define config file name to create yourdomain.com
    • Define config file path /etc/awstats
  • Edit /etc/awstats/awstats.yourdomain.com.conf and change the following parameters
    • LogFile=”/var/log/httpd/access_log”
    • DNSLookup=1
    • AllowToUpdateStatsFromBrowser=1
    • AllowFullYearView=3
  • Add the following entry to your periodic task scheduler (cron). On Westhost the command is editcron -e instead of crontab -e. The time should be the same as for logrotate
  • 36 3 * * * /bin/perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=yourdomain.com 2>&1 >/dev/null
  • Create a symbolic link so that you can access the documentation. ln -s /usr/local/awstats/docs /var/www/html/awdocs You will then be able to access the documentation from http://www.yourdomain.com/awdocs/
  • Create a symbolic link so that you can access the tools. ln -s /usr/local/awstats/tools /var/www/html/awtools You will then be able to access the documentation from http://www.yourdomain.com/awtools/
  • Check your Apache configuration by typing apachectl configtest
  • Restart Apache by typing apachectl graceful or restart
Bookmark this article

This is a sendmail error and causes the header X-Authentication-Warning: to be added to your email. It occurs when sendmail is accessed without logging in and you have PrivacyOptions=authwarnings in your sendmail.cf file.

If you have access to your sendmail configuration, then simply remove authwarnings from the line beginning “O PrivacyOptions=” in /etc/mail/sendmail.cf. (I did not start to get this error until I enabled the genericstable feature).

If you do not have access to your sendmail setup, then all email you receive will probably have it added as a header. However, you may be able to avoid adding this header to your outgoing email by configuring your email client so that it logs in to sendmail first. Here is how to configure some common email clients

Outlook

Click on menu item Tools
Click on submenu item Options…
Click on Mail Setup tab
Click on E-mail Accounts… button
Select the option View or change existing e-mail accounts
Click on Next
Select the account you wish to change
Click on the Change… button
Click on the More Settings… button
Click on the Outgoing Server tab
Select My outgoing server (SMTP) requires authentication
Select the option Use same settings as my incoming mail server

Outlook Express

Click on menu item Tools
Click on submenu item Accounts…
Click on the Mail tab
Select the account you wish to edit
Click on the Properties button
Click on the Servers tab
Select My server requires authentication under Outgoing Mail Server
Click on the Settings button
Select the option Use same settings as my incoming mail server

Thunderbird v1.5

Click on menu item Tools
Click on Account Settings…
Select Outgoing Server (SMTP) in the left hand pane
Select the server you wish to edit in the right hand pane
Click on the Edit… button
Select Use name and password under Security and Authentication
Enter your User Name
Select option No for Use secure connection unless you have SSL installed.

Bookmark this article

I am glad to say that Westhost recently upgraded sendmail from 8.11.6 to 8.12.11. Thank you. However I have two questions:

1) Why did they not upgrade to Sendmail 8.13.x? Plenty of milters require 8.13 ahich was released on 06/20/2004. The latest stable version (8.13.6) was released on 03/22/2006.

2) While they included SASL support, they failed to include STARTTLS. Hopefully they will rebuild sendmail with STARTTLS as well. That way we can encrypt our login and passwords as well

Bookmark this article

or How to setup recipient@domain1.com and recipient@domain2.com to be delivered to different mailboxes

Apache provides the ability to host multiple domains on a single VPS account using Virtual Hosts. However, we run into a problem if we want email to be treated uniquely for each domain.

There are several programs involved in processing email on the server, but we won't have to change most of them. These include

Program Description
* If installed
sendmail used to send and receive email by your server
procmail used to process email after it is received by sendmail
spamassassin* called from procmail to filter out spam messages
clamav* called from procmail to filter out viruses
qpopper used to deliver email to your computer using the pop3 protocol
uw-imap* used to view email on your computer using the imap protocol

Sendmail uses a lookup table (virtusertable) to convert an email address into a Unix user account. Full details can be found at Sendmail's website

If you have a hosting plan which allows for multiple domains, then Westhost configures virtusertable so that email to recipient@anydomain.com is delivered to the Unix mailbox for recipient's account. We need to modify this so that the email for recipient@domain1.com is delivered to a separate mailbox from recipient@domain2.com

You will need SSH access to your server to complete this task. PuTTY is available for free for this purpose from here; configuration instructions are available from Westhost.

Here are the steps you will have to take:

Create separate user accounts

  • Login in to your site manager
  • Click on EMail/FTP Management (Second item on menu bar)
  • Click on New E-mail/FTP button (in lower right)
  • A window titled “E-mail/FTP Wizard (1 of 3)” will pop up.
    • Enter the user details for recipient@domain1.com. Use a unique user name - I suggest recipient.domain1.com
  • Click on Next once you have entered user name, description and password
  • A window titled “E-mail/FTP Wizard (2 of 3)” will pop up.
    • Modify the email quota if desired. We can change this later by editing the file /etc/features
    • Enable the Autoresponder - it can be setup later by logging in to the the user account at http://www.domain1.com/users/
  • A window titled “E-mail/FTP Wizard (3 of 3)” will pop up.
    • Disable FTP access unless needed
  • Repeat the above for recipient@domain2. I suggest using a user name of recipient.domain2.com

Edit virtusertable

  • If you are comfortable with SSH then edit /etc/mail/virtusertable on the server or, alternatively, download a copy to your computer and edit it using a simple text editor such as Notepad (on a Windows PC). DO NOT USE A WORD PROCESSOR. Make sure you backup the file first.
  • virtusertable will contain various lines, but you should find these at the end
    recipient.domain1.com@domain1.com      recipient.domain1.com
    recipient.domain1.com@domain2.com   recipient.domain1.com
    recipient.domain2.com@domain1.com      recipient.domain2.com
    recipient.domain2.com@domain2.com   recipient.domain2.com
    
  • Change this to
    recipient@domain1.com      recipient.domain1.com
    recipient@domain2.com      recipient.domain2.com
    

    NOTE: the two columns of data MUST be separated by a TAB

  • Upload the changed file to /etc/mail/virtusertable

Create genericstable (optional)

If you want any applications or scripts on your server to send email from recipient@domain2.com, then follow these optional steps.

  • Create a new file /etc/mail/genericstable which contains
    recipient.domain1.com   recipient@domain1.com
    recipient.domain2.com   recipient@domain2.com
    

Create generics-domains (optional)

  • Create a new file /etc/mail/generics-domains which contains
    domain1.com
    domain2.com
    

Modify sendmail.mc (optional)

  • Add these two lines to /etc/mail/sendmail.mc
    FEATURE(`genericstable', `dbm /etc/mail/genericstable')dnl Added two lines
    GENERICS_DOMAIN_FILE(`/etc/mail/generics-domains')dnl
    

Activate changes

  • Login to your server using SSH
  • Generate a new copy of virtusertable.db by entering the command makemap hash /etc/mail/virtusertable </etc/mail/virtusertable
    (If you are not hosted by Westhost, then check your /etc/mail/sendmail.cf file for the type of database used by virtusertable. This will be either hash (as above) or dbm)
  • If you completed the optional steps above, you will also need to
    • generate a copy of genericstable.db by entering the command makemap hash /etc/mail/genericstable </etc/mail/genericstable on one line.
    • regenerate your sendmail configuration file if you made the optional changes by typing m4 /etc/mail/sendmail.mc >/etc/mail/sendmail.cf (again on one line)
  • Logout of your SSH session (logout)

Configure your email client

  • You will need to set up two accounts
  • For domain1.com
    • Your Name: Recipient One
    • EMail Address: recipient@domain1.com
    • Incoming Mail Server: pop.domain1.com
    • Outgoing Mail Server: smtp.domain1.com
    • User Name: recipient.domain1.com
    • Password: domain1
    • NOTE: User Name and Password are case sensitive. In other words, recipient.domain1.com is not the same as Recipient.Domain1.Com
    • Under More Settings:
      • Click on Outgoing Server
      • Select “My outgoing server requires authentication”
      • Select “Use same settings as my incoming mailserver”
  • For domain2.com
    • Your Name: Recipient Two
    • EMail Address: recipient@domain2.com
    • Incoming Mail Server: pop.domain2.com
    • Outgoing Mail Server: smtp.domain2.com
    • User Name: recipient.domain2.com
    • Password: domain2
    • NOTE: User Name and Password are case sensitive. In other words, recipient.domain2.com is not the same as Recipient.Domain2.Com
    • Under More Settings:
      • Click on Outgoing Server
      • Select “My outgoing server requires authentication”
      • Select “Use same settings as my incoming mailserver”

Distribution lists

These can be created by editing /etc/mail/aliases

Bookmark this article

In order to configure Uebimiau for multiple domains, we need to edit the config.php file located in the inc folder of your Uebimiau installation. We can either have an installation for each domain or set it up so that the user is able to select the domain from a drop down list. If we are clever, we can configure Uebimiau so that it selects the domain automatically.

If we are hosting multiple domains on a signle server, then all we need for the login is the username in the configuration file inc/config.php. The POP usernames and passwords are found in /etc/passwd or /etc/shadow and are those you defined from the Westhost Site Manager Email/FTP Configuration section.

If you have $mail_server_type = "DETECT"; then set

CODE:
  1. $mail_detect_login_type = "%user%";

The user will have to enter a username of joe@domainx.com

If you have $mail_server_type = "ONE-FOR-ALL"; then set

CODE:
  1. $one_for_all_login_type = "%user%";

The user will have to enter a username of joe@domainx.com

If you have $mail_server_type = "ONE-FOR-EACH"; then set

CODE:
  1. "login_type" => "%user%",

The user will have to select the domain from a drop down menu and you will have to have one $mail_servers[] block for each domain.

However, if you use the php reserved variable $_SERVER['HTTP_HOST'] as shown below you will only need one $mail_servers[] block and uebimiau will automatically detect the domain so that the user will just have to enter their user ID. The code below will let you access your domain by either domain.com, www.domain.com or webmail.domain.com.

CODE:
  1. $mail_servers[] = Array( //sample using POP3
  2. "domain" => str_replace("webmail.","",str_replace("www.","",$_SERVER['HTTP_HOST'])) ,
  3. "server" => "maindomain.com",
  4. "login_type" => "%user%",
  5. "protocol" => "POP3",
  6. "port" => "110",
  7. "folder_prefix" => "" //not used for pop3
  8. );

If you want email for joe@domain1.com and joe@domain2.com to be delivered to different users, then you will have to edit /etc/mail/virtusertable as described in this post or elsewhere in the Westhost forum. By default mail to joe@domain1.com and joe@domain2.com are delivered to user joe.

Bookmark this article

Next Page »