the-djmaze / snappymail

Simple, modern & fast web-based email client
https://snappymail.eu
GNU Affero General Public License v3.0
1.01k stars 122 forks source link

Rainloop works but SnappyMail doesn't #373

Closed Pumpino closed 2 years ago

Pumpino commented 2 years ago

I've run Rainloop on my VPS (currently running Ubuntu 22.04) for years. Due to Rainloop no longer being developed and its security issues not being addressed, I thought I'd switch to SnappyMail. However, after installing it, going to the appropriate address in Chrome (domain/webmail/?admin) is met with a "You don't have permission to access this".

It's a fresh install of SnappyMail in /home/username/www/domain/webmail. Rainloop is in /home/username/www/domain/rainloop. The Apache root is my domain name at /home/username/www/domain.

I've tried setting ownership of webmail and its folders to both and www-data, but it doesn't work. For comparison, I have phpSysInfo running fine with the ownership set to , and Lychee running fine with the ownership set to www-data. Out of desperation, I did chmod -R 777 webmail to remove any possibility of a permission error. That too didn't resolve it.

Is there anything different about SnappyMail, as the instructions seem identical to Rainloop, yet it won't work?

Pumpino commented 2 years ago

One thing I noticed is that there's no data directory anywhere. While unzipping the file, it asked the following, and a data directory in the webserver root with these files was created. There's no sign of a data folder with admin_password.txt. Something's not right.

replace data/.htaccess? [y]es, [n]o, [A]ll, [N]one, [r]ename: A extracting: data/.htaccess extracting: data/VERSION inflating: data/README.md inflating: _include.php inflating: .htaccess inflating: index.php inflating: README.md inflating: serviceworker.js

the-djmaze commented 2 years ago

"You don't have permission to access this".

Where does that come from? Server logs?

Pumpino commented 2 years ago

Where does that come from? Server logs?

No, that's what's displayed by Chrome when I enter the address.

Pumpino commented 2 years ago

Is it normal for there to be no data directory?

the-djmaze commented 2 years ago

Strange, everything should be in the distro:

Something goes wrong on your server. Can you check Apache/Nginx logs?

Pumpino commented 2 years ago

Can you check Apache/Nginx logs?

From /var/log/apache2/error.log:

[Mon May 09 21:24:41.649136 2022] [autoindex:error] [pid 143013] [client XXX.XXX.XXX.XX:19088] AH01276: Cannot serve directory /home/username/www/domain/snappymail/: No matching DirectoryIndex (index.html,index.cgi,index.pl,index.php,index.xhtml,index.htm) found, and server-generated directory index forbidden by Options directive

With Rainloop, the directory structure is Rainloop-> Data->data->default.

In Snappy, there's no data folder within the snappymail directory. Is that supposed to be the case?

the-djmaze commented 2 years ago

I think you have incorrect directory structure. It should be as i described above.

Pumpino commented 2 years ago

I just unzipped the downloaded file. I tried the previous version too. Same thing.

Pumpino commented 2 years ago

I think you have incorrect directory structure. It should be as i described above.

The data dir is automatically decompressed into the webserver root rather than within the snappymail dir. The instructions don't mention moving the data dir to within the snappymail dir, but is that what's required?

Pumpino commented 2 years ago

I managed to fix it. It didn't like being in my webserver root. I had to unzip it within a new snappymail dir, so the data dir, index.php, _include.php, etc are now in /home/username/www/domain/snappymail and then the rest of the structure is /home/username/www/domain/snappymail/snappymail/v/2.15.1. However, it's accessed in my browser via domain.com/snappymail rather than domain.com/snappymail/snappymail.