SquirrelMail
-----------------
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bk
vi /etc/httpd/conf/httpd.conf
Add the following lines at the end:
Alias /webmail /usr/share/squirrelmail
<Directory /usr/share/squirrelmail> Options Indexes FollowSymLinks RewriteEngine On AllowOverride All DirectoryIndex index.php Order allow,deny Allow from all</Directory>
Restart the Apache service:
systemctl restart httpd
LOGO change
# cd /usr/share/squirrelmail/images
***** php version 7.1 ********
yum -y install php71w-mysql php71w-xml php71w-soap php71w-xmlrpc
yum --enablerepo=epel,remi install httpd
yum -y install php-mysqlnd-7.1.14-1.el7.remi.x86_64
yum -y install php-pecl-mysql-1.0.0-0.15.20160812git230a828.el7.remi.7.1.x86_6
yum -y install php-pecl-mysql
yum --enablerepo=epel -y install php71w-pear-MDB2-Driver-mysql
yum -y install php-pear-MDB2-Driver-mysql
-------------
Installing : php-fedora-autoloader-1.0.0-1.el7.noarch 1/5
Installing : php-process-7.1.15-1.el7.remi.x86_64 2/5
Installing : 1:php-pear-1.10.5-6.el7.remi.noarch 3/5
Installing : php-pear-MDB2-2.5.0-0.9.b5.el7.noarch 4/5
Installing : php-pear-MDB2-Driver-mysql-1.5.0-0.8.b4.el7.noarch
squirrelmail-postfixadmin Plugins:
Plugins: https://drive.google.com/open?id=1xA6FXNSz17gQm5FJU3R_VZURJoLNl3-w
-------
# install from EPEL
[root@www ~]# yum --enablerepo=epel -y install squirrelmail php-pear-MDB2-Driver-mysql
----------------------------------------------------------------------
curl -O http://www.squirrelmail.org/plugins/compatibility-2.0.16-1.0.tar.gz
curl -O http://www.squirrelmail.org/plugins/empty_trash-2.0-1.2.2.tar.gz
curl -O http://www.squirrelmail.org/plugins/secure_login-1.4-1.2.8.tar.gz
curl -O http://www.squirrelmail.org/plugins/html_mail-2.3-1.4.tar.gz
curl -O http://www.squirrelmail.org/plugins/view_as_html-3.8.tar.gz
curl -O http://www.squirrelmail.org/plugins/autocomplete-3.0-1.4.0.tar.gz
curl -O http://www.squirrelmail.org/plugins/squirrel_logger-2.3.1-1.2.7.tar.gz
curl -O http://www.linuxmail.info/files/squirrelmail-postfixadmin-0.4.3.2.tar.gz
curl -O http://www.squirrelmail.org/plugins/change_sqlpass-3.3-1.2.tar.gz
tar zxvf html_mail-2.3-1.4.tar.gz -C /usr/share/squirrelmail/plugins
tar zxvf view_as_html-3.8.tar.gz -C /usr/share/squirrelmail/plugins
tar zxvf compatibility-2.0.16-1.0.tar.gz -C /usr/share/squirrelmail/plugins
tar zxvf empty_trash-2.0-1.2.2.tar.gz -C /usr/share/squirrelmail/plugins
tar zxvf secure_login-1.4-1.2.8.tar.gz -C /usr/share/squirrelmail/plugins
tar zxvf autocomplete-3.0-1.4.0.tar.gz -C /usr/share/squirrelmail/plugins
tar zxvf squirrel_logger-2.3.1-1.2.7.tar.gz -C /usr/share/squirrelmail/plugins
tar zxvf squirrelmail-postfixadmin-0.4.3.2.tar.gz -C /usr/share/squirrelmail/plugins
tar zxvf change_sqlpass-3.3-1.2.tar.gz -C /usr/share/squirrelmail/plugins
rm -f ./*.tar.gz
--------------------------------------------------------------------------
cd /usr/share/squirrelmail/plugins/postfixadmin
cp config.php.sample config.php
vi /usr/share/squirrelmail/plugins/postfixadmin/config.php
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfixadmin';
$CONF['database_password'] = 'your-passwd';
$CONF['database_name'] = 'postfixadmin';
i
# run config script
[root@www ~]# /usr/share/squirrelmail/config/conf.pl
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Main Menu -- 1. Organization Preferences 2. Server Settings 3. Folder Defaults 4. General Options 5. Themes 6. Address Books 7. Message of the Day (MOTD) 8. Plugins 9. Database 10. Languages D. Set pre-defined settings for specific IMAP servers C Turn color off S Save data Q Quit
Command >> 1 # select
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Organization Preferences 1. Organization Name : SquirrelMail 2. Organization Logo : ../images/sm_logo.png 3. Org. Logo Width/Height : (308/111) 4. Organization Title : SquirrelMail $version 5. Signout Page : 6. Top Frame : _top 7. Provider link : http://squirrelmail.org/ 8. Provider name : SquirrelMail R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 5 # select
When users click the Sign Out button they will be logged out and then sent to signout_page. If signout_page is left empty, (hit space and then return) they will be taken, as normal, to the default and rather sparse SquirrelMail signout page.
[]: /webmail # change logout page
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Organization Preferences 1. Organization Name : SquirrelMail 2. Organization Logo : ../images/sm_logo.png 3. Org. Logo Width/Height : (308/111) 4. Organization Title : SquirrelMail $version 5. Signout Page : /webmail 6. Top Frame : _top 7. Provider link : http://squirrelmail.org/ 8. Provider name : SquirrelMail R Return to Main Menu C Turn color off S Save data Q Quit
Command >> r # back to menu
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Main Menu -- 1. Organization Preferences 2. Server Settings 3. Folder Defaults 4. General Options 5. Themes 6. Address Books 7. Message of the Day (MOTD) 8. Plugins 9. Database 10. Languages D. Set pre-defined settings for specific IMAP servers C Turn color off S Save data Q Quit
Command >> 2 # select
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Server Settings General ------- 1. Domain : localhost 2. Invert Time : false 3. Sendmail or SMTP : Sendmail A. Update IMAP Settings : localhost:143 (uw) B. Change Sendmail Config : /usr/sbin/sendmail R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 1 # select
The domain name is the suffix at the end of all email addresses. If for example, your email address is jdoe@example.com, then your domain would be example.com.
[localhost]: srv.world # change to the own domainname
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Server Settings General ------- 1. Domain : srv.world 2. Invert Time : false 3. Sendmail or SMTP : Sendmail A. Update IMAP Settings : localhost:143 (uw) B. Change Sendmail Config : /usr/sbin/sendmail R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 3 # select
You now need to choose the method that you will use for sending messages in SquirrelMail. You can either connect to an SMTP server or use sendmail directly. 1. Sendmail 2. SMTP
Your choice [1/2] [1]: 2 # change to SMTP
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Server Settings General ------- 1. Domain : srv.world 2. Invert Time : false 3. Sendmail or SMTP : SMTP A. Update IMAP Settings : localhost:143 (uw) B. Update SMTP Settings : localhost:25 R Return to Main Menu C Turn color off S Save data Q Quit
Command >> A # select
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Server Settings General ------- 1. Domain : srv.world 2. Invert Time : false 3. Sendmail or SMTP : SMTP IMAP Settings -------------- 4. IMAP Server : localhost 5. IMAP Port : 143 6. Authentication type : login 7. Secure IMAP (TLS) : false 8. Server software : uw 9. Delimiter : / B. Update SMTP Settings : localhost:25 H. Hide IMAP Server Settings R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 4 # select
This is the hostname where your IMAP server can be contacted.
[localhost]: mail.srv.world # specify IMAP server
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Server Settings General ------- 1. Domain : srv.world 2. Invert Time : false 3. Sendmail or SMTP : SMTP IMAP Settings -------------- 4. IMAP Server : mail.srv.world 5. IMAP Port : 143 6. Authentication type : login 7. Secure IMAP (TLS) : false 8. Server software : uw 9. Delimiter : / B. Update SMTP Settings : localhost:25 H. Hide IMAP Server Settings R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 8 # select
Each IMAP server has its own quirks. As much as we tried to stick to standards, it doesn't help much if the IMAP server doesn't follow the same principles. We have made some work-arounds for some of these servers. If you would like to use them, please select your IMAP server. If you do not wish to use these work-arounds, you can set this to "other", and none will be used. bincimap = Binc IMAP server courier = Courier IMAP server cyrus = Cyrus IMAP server dovecot = Dovecot Secure IMAP server exchange = Microsoft Exchange IMAP server hmailserver = hMailServer macosx = Mac OS X Mailserver mercury32 = Mercury/32 uw = University of Washington's IMAP server gmail = IMAP access to Google mail (Gmail) accounts other = Not one of the above servers
[uw]: dovecot # change to Dovecot
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Server Settings General ------- 1. Domain : srv.world 2. Invert Time : false 3. Sendmail or SMTP : SMTP IMAP Settings -------------- 4. IMAP Server : mail.srv.world 5. IMAP Port : 143 6. Authentication type : login 7. Secure IMAP (TLS) : false 8. Server software : dovecot 9. Delimiter : / B. Update SMTP Settings : localhost:25 H. Hide IMAP Server Settings R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 9 # select
This is the delimiter that your IMAP server uses to distinguish between folders. For example, Cyrus uses '.' as the delimiter and a complete folder would look like 'INBOX.Friends.Bob', while UW uses '/' and would look like 'INBOX/Friends/Bob'. Normally this should be left at 'detect' but if you are sure you know what delimiter your server uses, you can specify it here. To have it autodetect the delimiter, set it to 'detect'.
[/]: detect # input "detect"
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Server Settings General ------- 1. Domain : srv.world 2. Invert Time : false 3. Sendmail or SMTP : SMTP IMAP Settings -------------- 4. IMAP Server : mail.srv.world 5. IMAP Port : 143 6. Authentication type : login 7. Secure IMAP (TLS) : false 8. Server software : dovecot 9. Delimiter : detect B. Update SMTP Settings : localhost:25 H. Hide IMAP Server Settings R Return to Main Menu C Turn color off S Save data Q Quit
Command >> B # select
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Server Settings General ------- 1. Domain : srv.world 2. Invert Time : false 3. Sendmail or SMTP : SMTP SMTP Settings ------------- 4. SMTP Server : localhost 5. SMTP Port : 25 6. POP before SMTP : false 7. SMTP Authentication : none 8. Secure SMTP (TLS) : false 9. Header encryption key : A. Update IMAP Settings : mail.srv.world:143 (dovecot) H. Hide SMTP Settings R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 4 # select
This is the hostname of your SMTP server.
[localhost]: mail.srv.world # specify SMTP server
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Server Settings General ------- 1. Domain : srv.world 2. Invert Time : false 3. Sendmail or SMTP : SMTP SMTP Settings ------------- 4. SMTP Server : mail.srv.world 5. SMTP Port : 25 6. POP before SMTP : false 7. SMTP Authentication : none 8. Secure SMTP (TLS) : false 9. Header encryption key : A. Update IMAP Settings : mail.srv.world:143 (dovecot) H. Hide SMTP Settings R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 7 # select
If you have already set the hostname and port number, I can try to automatically detect the mechanisms your SMTP server supports. Auto-detection is *optional* - you can safely say "n" here.
Try to detect auth mechanisms? [y/N]: y # yes (auto)
Trying to detect supported methods (SMTP)... Testing none: SUPPORTED Testing login: SUPPORTED Testing plain: SUPPORTED Testing CRAM-MD5: NOT SUPPORTED Testing DIGEST-MD5: NOT SUPPORTED What authentication mechanism do you want to use for SMTP connections? none - Your SMTP server does not require authorization. login - Plaintext. If you can do better, you probably should. plain - Plaintext. If you can do better, you probably should. cram-md5 - Slightly better than plaintext. digest-md5 - Privacy protection - better than cram-md5. *** YOUR SMTP SERVER MUST SUPPORT THE MECHANISM YOU CHOOSE HERE *** If you don't understand or are unsure, you probably want "none"
none, login, plain, cram-md5, or digest-md5 [none]: login # select "login" on this example
SMTP authentication uses IMAP username and password by default. Would you like to use other login and password for all SquirrelMail
SMTP connections? [y/N]: n # no (use IMAP authentication)
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Server Settings General ------- 1. Domain : srv.world 2. Invert Time : false 3. Sendmail or SMTP : SMTP SMTP Settings ------------- 4. SMTP Server : mail.srv.world 5. SMTP Port : 25 6. POP before SMTP : false 7. SMTP Authentication : login (with IMAP username and password) 8. Secure SMTP (TLS) : false 9. Header encryption key : A. Update IMAP Settings : mail.srv.world:143 (dovecot) H. Hide SMTP Settings R Return to Main Menu C Turn color off S Save data Q Quit
Command >> r # back to menu
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Main Menu -- 1. Organization Preferences 2. Server Settings 3. Folder Defaults 4. General Options 5. Themes 6. Address Books 7. Message of the Day (MOTD) 8. Plugins 9. Database 10. Languages D. Set pre-defined settings for specific IMAP servers C Turn color off S Save data Q Quit
Command >> 10 # select
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Language preferences 1. Default Language : en_US 2. Default Charset : iso-8859-1 3. Enable lossy encoding : false R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 1 # select
SquirrelMail attempts to set the language in many ways. If it can not figure it out in another way, it will default to this language. Please use the code for the desired language.
[en_US]: ja_JP # specify your own lang
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Language preferences 1. Default Language : ja_JP 2. Default Charset : iso-8859-1 3. Enable lossy encoding : false R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 2 # select
This option controls what character set is used when sending mail and when sending HTML to the browser. This option is used only when default language is 'en_US'.
[iso-8859-1]: iso-2022-jp # specify your own lang
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Language preferences 1. Default Language : ja_JP 2. Default Charset : iso-2022-jp 3. Enable lossy encoding : false R Return to Main Menu C Turn color off S Save data Q Quit
Command >> r # back to menu
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Main Menu -- 1. Organization Preferences 2. Server Settings 3. Folder Defaults 4. General Options 5. Themes 6. Address Books 7. Message of the Day (MOTD) 8. Plugins 9. Database 10. Languages D. Set pre-defined settings for specific IMAP servers C Turn color off S Save data Q Quit
Command >> 4 # select
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- General Options 1. Data Directory : /var/lib/squirrelmail/prefs/ 2. Attachment Directory : /var/spool/squirrelmail/attach/ 3. Directory Hash Level : 0 4. Default Left Size : 150 5. Usernames in Lowercase : false 6. Allow use of priority : true 7. Hide SM attributions : false 8. Allow use of receipts : true 9. Allow editing of identity : true Allow editing of name : true Remove username from header : false 10. Allow server thread sort : true 11. Allow server-side sorting : true 12. Allow server charset search : true 13. Enable UID support : true 14. PHP session name : SQMSESSID 15. Location base : 16. Only secure cookies if poss. : true 17. Disable secure forms : false 18. Page referal requirement : R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 7 # select Hide SM attributions
Hide SM attributions (y/n) [n]: y # Yes
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- General Options 1. Data Directory : /var/lib/squirrelmail/prefs/ 2. Attachment Directory : /var/spool/squirrelmail/attach/ 3. Directory Hash Level : 0 4. Default Left Size : 150 5. Usernames in Lowercase : false 6. Allow use of priority : true 7. Hide SM attributions : true 8. Allow use of receipts : true 9. Allow editing of identity : true Allow editing of name : true Remove username from header : false 10. Allow server thread sort : true 11. Allow server-side sorting : true 12. Allow server charset search : true 13. Enable UID support : true 14. PHP session name : SQMSESSID 15. Location base : 16. Only secure cookies if poss. : true 17. Disable secure forms : false 18. Page referal requirement : R Return to Main Menu C Turn color off S Save data Q Quit
Command >> r # back to menu
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Main Menu -- 1. Organization Preferences 2. Server Settings 3. Folder Defaults 4. General Options 5. Themes 6. Address Books 7. Message of the Day (MOTD) 8. Plugins 9. Database 10. Languages D. Set pre-defined settings for specific IMAP servers C Turn color off S Save data Q Quit
Command >> 8 # select
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Plugins Installed Plugins 1. delete_move_next 2. squirrelspell 3. newmail Available Plugins: 4. administrator 5. bug_report 6. calendar 7. compatibility 8. empty_trash 9. filters 10. fortune 11. info 12. listcommands 13. mail_fetch 14. message_details 15. secure_login 16. sent_subfolders 17. spamcop 18. test 19. translate 20. undelete R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 7 # add compatibility
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Plugins Installed Plugins 1. delete_move_next 2. squirrelspell 3. newmail 4. compatibility Available Plugins: 5. administrator 6. bug_report 7. calendar 8. empty_trash 9. filters 10. fortune 11. info 12. listcommands 13. mail_fetch 14. message_details 15. secure_login 16. sent_subfolders 17. spamcop 18. test 19. translate 20. undelete R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 8 # add empty_trash
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Plugins Installed Plugins 1. delete_move_next 2. squirrelspell 3. newmail 4. compatibility 5. empty_trash Available Plugins: 6. administrator 7. bug_report 8. calendar 9. filters 10. fortune 11. info 12. listcommands 13. mail_fetch 14. message_details 15. secure_login 16. sent_subfolders 17. spamcop 18. test 19. translate 20. undelete R Return to Main Menu C Turn color off S Save data Q Quit
Command >> 15 # add secure_login
SquirrelMail Configuration : Read: config.php (1.4.0) --------------------------------------------------------- Plugins Installed Plugins 1. delete_move_next 2. squirrelspell 3. newmail 4. compatibility 5. empty_trash 6. secure_login Available Plugins: 7. administrator 8. bug_report 9. calendar 10. filters 11. fortune 12. info 13. listcommands 14. mail_fetch 15. message_details 16. sent_subfolders 17. spamcop 18. test 19. translate 20. undelete R Return to Main Menu C Turn color off S Save data Q Quit
Command >> q # quit
You have not saved your data.
Save? [Y/n]: y # save
Data saved in config.php Exiting conf.pl. You might want to test your configuration by browsing to http://your-squirrelmail-location/src/configtest.php Happy SquirrelMailing!
[root@www ~]# cp /usr/share/squirrelmail/plugins/secure_login/config.sample.php /usr/share/squirrelmail/plugins/secure_login/config.php
[root@www ~]# vi /usr/share/squirrelmail/plugins/secure_login/config.php
# line 24: change (continue SSL connection after login)
$change_back_to_http_after_login = 0;
[root@www ~]# systemctl restart httpd
[root@www ~]# setsebool -P httpd_can_network_connect on
[7]
Access to 'https://(your server's name or IP address/)/webmail/', then login form is shown like follows. Authenticate your user name and password to login.
--------------------
Organization Preferences 1. Organization Name : webmail 2. Organization Logo : ../images/logo.jpg 3. Org. Logo Width/Height : (200/111) 4. Organization Title : Welcome to Webmail 5. Signout Page : 6. Top Frame : _top 7. Provider link : http://squirrelmail.org/ 8. Provider name : postfix.localhost.net
Upload file size in webmail:
# vi /etc/php.ini
memory_limit = 512M; upload_max_filesize = 50M; post_max_size = 80M;
date.timezone = Asia/Dhaka
# systemctl restart httpd
Squirrelmail Index configure
# vi /etc/squirrelmail/config.php
$org_logo_width = '150';
$org_logo_height = '100';
** image Change
# /usr/share/squirrelmail/images
** plugins
/usr/share/squirrelmail/plugins/
# systemctl restart httpd
--------------------
# vi /etc/httpd/conf.d/squirrelmail.conf
Alias /webmail /usr/share/squirrelmail
<Directory "/usr/share/squirrelmail/plugins/squirrelspell/modules">
<IfModule mod_authz_core.c>
# Apache 2.4
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Deny from all
</IfModule>
</Directory>
# this section makes squirrelmail use https connections only, for this you
# need to have mod_ssl installed. If you want to use unsecure http
# connections, just remove this section:
<Directory /usr/share/squirrelmail>
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order allow,deny
Allow from all
</IfModule>
-------------------------- Centos 6 ------------------------------------
[root@mail ~]# vi /etc/httpd/conf.d/squirrelmail.conf
#
# SquirrelMail is a webmail package written in PHP.
#
Alias /webmail /usr/share/squirrelmail
<Directory "/usr/share/squirrelmail/plugins/squirrelspell/modules">
Deny from all
</Directory>
# this section makes squirrelmail use https connections only, for this you
# need to have mod_ssl installed. If you want to use unsecure http
# connections, just remove this section:
<Directory /usr/share/squirrelmail>
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</Directory>
--------------------------------------------------------------------------
# vi /etc/httpd/conf.d/email.conf
Alias /email /var/www/html/emailAlias /webmail /var/www/html/email
<Directory "/var/www/html/email/plugins/squirrelspell/modules"> Deny from all</Directory>
-------------