Setting Up Squirrelmail

Setting up Squirrelmail
The following is part of a series of steps to setup an email server using Postfix, with imap and webmail access.

See http://www.squirrelmail.org/ for much more information.
Quick steps:
1. Download and unpack
2. Create attachments directory
3. Set permissions and owner
4. Install perl if it is not (or see the Squirrelmail website for manually editing the config)
5. Run the configuration script
6. Check php.ini
7. Check that DirectoryIndex has index.php added in httpd.conf
8. Test
9. Rename directory as desired
10. Add plugins as desired
11. Upgrading
12. Miscellaneous

Note I am using Red Hat Enterprise version 4 I am not using the squirrelmail-*.rpm that comes with Red Hat because it wants postfix installed.Since this just needs to be unpacked, I really see no need for an rpm anyway. I assume you have apache at least minimally configured.

1) Download and unpack
Get the tar.gz from here: http://www.squirrelmail.org/
Move it to the "DocumentRoot" location specified in the apache config ( see /etc/httpd/conf/httpd.conf).
Default is /var/www/html/.
Unpack:
tar -xvzf name.tar.gz
Don't forget to remove the tar file (rm *.tar)
Change the user and group for the directory:
chown -R root.apache squirrelmail-version
2) Create attachments directory
cd into the squirrelmail directory created. Make the attachments directory:
mkdir attachments
3) Set permissions and owner
The user the web server runs as must have right to data and attachments. If you use the Red Hat httpd-*.rpm
the default is apache for both user and group.
chown -R apache.apache data attachments
chmod -R 1770 data attachments
4) Install perl if it is not (or see the Squirrelmail website for manually editing the config)
Should be self explanatory.
5) Run the configuration script
cd into the config directory. To configure, type:
perl conf.pl
At minimum you need to change:
Menu 2 - Server Settings
Domain: your.domain
Use Sendmail/SMTP: SMTP (I'm using Postfix 2.4)
Server (in IMAP Settings): xxx
(I've tested both uw and courier, and for a bit, exchange)
Menu 4 - General Options
Attachment Directory: ../attachments/
The rest is up to you. Don't forget to save before you exit.
Note: In order to clean up the way some imap clients present the user's mailbox I have changed:
Menu 3 - Folder Defaults
1. Default Folder Prefix: INBOX. (for Courier or mail/ for UW)
3. Trash Folder: Trash
4. Sent Folder: Sent
5. Drafts Folder: Drafts
12. Default Sub. of INBOX : true (for courier)
13. Show 'Contain Sub.' Option: true (for uw)
In regaurds to shared folders, for UW-IMAP see #11 in Setting up UW-IMAP on how to make public folders appear. For Courier-IMAP I use:
1. Default Folder Prefix: (none)
2. Show Folder Prefix Option : false
3. Trash Folder : INBOX.Trash
4. Sent Folder : INBOX.Sent
5. Drafts Folder : INBOX.Drafts
12. Default Sub. of INBOX : true
6) Check php.ini
With pre-1.2.9 I had to set register_globals = On. This file should be in /etc.
With 1.2.9 and later I was able to turn register_globals=Off.
7) Check that DirectoryIndex has index.php added in httpd.conf
This will be in /etc/httpd/conf
8) Test
Point your web browser at:
http://server_name_or_ip/squirrelmail_dir/
If the squirrelmail page loads, try to login. If you can't login, check that imap is enabled in xinetd.d/imap if using uw-imap (tip: restart xinetd) or courier is started and that you can use an email client to login.
If you see code, php isn't working or isn't installed. If you see files, check step 7. See the squirrelmail, apache,and php web sites for more troubleshooting and configuration tips.
9) Rename directory as desired
Once you have the basics working you can rename the squirrelmail directory that was created. By waiting until this point you can effectively test before replacing any existing installation. To rename it cd back to the DocumentRoot (ie /var/www/html) so that you can see the squirrelmail directory. Now issue:
mv oldname newname Of course replace "oldname" and "newname" with the correct entries.
10) Add plugins as desired
There is lots of stuff out there for Squirrelmail. It comes with a few and there are more at the web site. I'm using:
delete_move_next
newmail
squirrelspell
message_details
msg_flags
folder_sizes
secure_login
compatibility
newuser_wiz
filters (with the spam rbl filtering turned off in it's setup.php file)
vacation_exim (plugin I wrote to work with Exim's autoreply transport and .forward files)
To install what you download, place them in (DocumentRoot)/(squirrelmail dir)/plugins. Next, unpack them:
gunzip name.tar.gz
tar -xvf name.tar
You can now remove the tar files if you like (rm *.tar).Enter the directory created for the plugin and read the README and/or INSTALL file. Some plugins require
you to configure some things in one of their files.Then re-run the config.pl, see step 5, and add them to the list by typing in the number. To remove, reverse the
process. Note that you will not see some of what you installed on the web page until you enable it through Options, such as for folder_sizes.
11) Upgrading
Download and extract the new version of Squirrelmail.
cp old_dir/config/config.php new_dir/config/
cp old_dir/data/* new_dir/data/
cd new_dir
mkdir attachments
chown -R apache.apache data attachments
chmod -R 1770 data attachments
Check for new versions of plugins. Use new versions if available, else:
cp old_dir/plugins/plugin_to_keep new_dir/plugins/
If using new, remember to configure them where applicable.If using the msg_flags plugin, remember to modify the Squirrelmail files it requires changed.Make the same changes to any files you customized in the old version.Run perl conf.pl in new_dir/config/. Review all settings to make sure they are correct and nothing
has changed.Point your browser to the new_dir to make sure everything works.
Fix anything that is broken and test again.
mv old_dir backup_name
mv new_dir old_dir_name
12) Miscellaneous
To get Squirrelmail -> Compose -> Addresses to search your LDAP address book in company as well as name, edit functions/abook_ldap_server.php. Change:
$expression = "cn=$expr";
to:
$expression = "(|(cn=$expr)(o=$expr))";
Back
Computers | Personal | Index
Contact: webmaster_at_flatmtn_dot_com

Posted in |

0 comments: