I see people have gotten squirrelmail to work with Drupal. I actually haven't tried making them work together yet. My Drupal installation is running in a temp directory while I fix it up.

In order to make Drupal work (according to the installation doc), I had to set session.save_hander:

session.save_handler = users

but squirrel seems to need it:

session.save_handler = files

Or is that just because it's not integrated into drupal?

Either way, it makes it a pain in the ass to work on drupal.

Comments

dsbw’s picture

Not to blame drupal or anything. (Or SquirrelMail, for that matter.) Just annoyed.

dsbw’s picture

Drupal is still working with this setting?

Is there some potential fallout from this?

torgeirb’s picture

The .htaccess file included with Drupal takes care of this. If you're running Apache that is.

trixter’s picture

.htaccess is (alledgly) recursivly read, so if you have one in your document root all child directories will have the properties of the main directory. So while the .htaccess takes care of that you would have to have a different .htaccess in the squirrelmail root to get them to play nice.

In all honesty, I dont know that it really matters that much, but then I havent read the code or even tried changing it and doing a regression test to see what breaks.

dsbw’s picture

I thought it was something a little more serious. Not that being unable to access stuff wouldn't be serious, but I was worried more about data corruption or something of that sort.

'k. Thanks guys.

(The things you worry about when a n00b.)

trixter’s picture

.htaccess is more or less a localized way to reconfigure (some aspects) of CERN compatible servers (which apache was based on originally, dont know how many exist now)..

I have no idea what effect having 2 different session methods will do. Near as I can tell if sessions are files they get stored in a temp dir (/tmp by default) and the file name is something like sess_ I am using drupal on a system that is doing everything as files (I have a ton of em, one for each connection) this allows for sessions to survive reboots, possibly a security problem if someone were to break into the system (but if they broke in they could do so much more than play with sessions, like rewrite the webapp) and other potential things.

sarkhori’s picture

1st:
Edit /etc/httpd/conf/httpd.conf
Search for the string 'placed in the .htaccess file'

A couple of lines below change "AllowOverride None" to "AllowOverride All"

2nd:
edit /etc/httpd/conf.d/squirrelmail.conf

There is an alias in there that reads: "Alias /webmail /usr/share/squirrelmail"

Add below it:


Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all

3rd:
create a .htaccess in /usr/share/squirrelmail with the following contents:

php_value session.save_handler files

bertboerland’s picture

not just fedora core 3. this is pure apache related.
--
groets
bertb

--
groets
bert boerland

Oceria’s picture

Sadly this directive does not work for me, using clarkconnect 3.0 (based on FC 3) I get the error

syntax error in /etc/httpd/config.d/squirrelmail.conf:
AllowOverride not allowed here

It would be better to NOT to touch the squirrelmail.conf file and instead add the alias in /etc/httpd/conf/httpd.conf.
1st:
In /etc/httpd/conf/httpd.conf search for the string
Aliases: Add here
(Between line 520 and 540)
Below the /icons alias you can add

Alias /webmail "/usr/share/squirrelmail"

<Directory "/usr/share/squirrelmail">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

2nd:
create a .htaccess in /usr/share/squirrelmail with the following contents:

php_value session.save_handler files

You might get an error report stating that it won't work as "the alias will probably never match because it overlaps an earlier Alias" when restarting apache, but everything works (for me at least....).

Oceria’s picture

The solution I gave is not a good solution, as it makes Apache whine about old aliases.

There is however a Directive in /etc/httpd/conf/httpd.conf that allows the use of .htaccess files.
Open /etc/httpd/conf/httpd.conf and go to line 319 (in vi, type 319 and then arrow down)

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
_   AllowOverride None

Now change "None" into "All", restart Apache and enjoy!

For the error to disappear you need to undo the changes I suggested in my previous post.