rainloop-webmail: [202] Data folder permisions error

Information: Im using rainloop from github src, I installed once before on another server. Worked fine same procedures. Now im running centos7.

I already ran

cd /var/www/rainloop
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

still not working

[root@neko www]# pwd
/var/www
[root@neko www]# ls -lha
total 28K
drwxr-xr-x.  7 root root 4.0K Jul 31 07:12 .
drwxr-xr-x. 21 root root 4.0K Jul 29 12:42 ..
drwxr-xr-x.  2 root root 4.0K Jul 23 10:48 cgi-bin
drwxr-xr-x.  2 root root 4.0K Jun  9 22:32 html
drwxr-xr-x. 10 root root 4.0K Jul 31 07:12 rainloop
total 92K
drwxr-xr-x. 10 root root 4.0K Jul 31 07:12 .
drwxr-xr-x.  7 root root 4.0K Jul 31 07:12 ..
drwxr-xr-x.  4 root root 4.0K Jul 31 07:12 build
drwxrwxrwx.  2 root root 4.0K Jul 31 07:18 data
drwxr-xr-x. 12 root root 4.0K Jul 31 07:12 dev
drwxr-xr-x.  8 root root 4.0K Jul 31 07:12 .git
-rw-r--r--.  1 root root  126 Jul 31 07:12 .gitignore
-rw-r--r--.  1 root root  19K Jul 31 07:12 gulpfile.js
-rw-r--r--.  1 root root  214 Jul 31 07:12 _include.php
-rw-r--r--.  1 root root  428 Jul 31 07:12 index.php
-rw-r--r--.  1 root root 1.2K Jul 31 07:12 .jshintrc
-rw-r--r--.  1 root root 1.5K Jul 31 07:12 LICENSE
-rw-r--r--.  1 root root   69 Jul 31 07:12 _MULTIPLY
-rw-r--r--.  1 root root 1.2K Jul 31 07:12 package.json
drwxr-xr-x. 20 root root 4.0K Jul 31 07:12 plugins
drwxrwxrwx.  3 root root 4.0K Jul 31 07:12 rainloop
-rw-r--r--.  1 root root  791 Jul 31 07:12 README.md
drwxr-xr-x.  4 root root 4.0K Jul 31 07:12 tests
drwxr-xr-x. 32 root root 4.0K Jul 31 07:12 vendors

About this issue

  • Original URL
  • State: closed
  • Created 10 years ago
  • Comments: 30 (7 by maintainers)

Most upvoted comments

Took me a little while to figure out, but the solution is to have SE Linux allow writing data folder by httpd: You need to change the label on ‘/your/installation/folder/data’. In my case this is done by the following two commands (as root user):

[root@machine rainloop]# cd /var/www/html/rainloop
[root@machine rainloop]# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/rainloop/data'
[root@machine rainloop]# restorecon -v '/var/www/html/rainloop/data'

Note that the complete path to the rainloop data folder must be specified. You can check the setting using ls -Z:

[root@machine rainloop]# ls -Z
drwxr-xr-x. apache apache system_u:object_r:httpd_sys_rw_content_t:s0 data
-rw-r--r--. apache apache system_u:object_r:httpd_sys_content_t:s0 index.php
drwxr-xr-x. apache apache system_u:object_r:httpd_sys_content_t:s0 rainloop

And with the check.php script from a previous comment the output should be:

1) is_dir=1
2) is_readable=1
3) is_writable=1
4) mkdir=1
5) file_put_contents=1
6) unlink=1
7) rmdir=1

755 and 644 works with apache/nginx user only. If you want to use root owner fo files, you shoud set 775 and 664.

cd /var/www/rainloop
find . -type d -exec chmod 775 {} \;
find . -type f -exec chmod 664 {} \;

you should desable selinux and reboot your os

i had the same problem. 777 worked.

I had the same problem with SELinux. first setenforce 0 and then try if everything is ok, then enable SELinux setenforce 1 and try to find the targets witch SELinux denies them . Tail -f /var/log/audit/audit.log | grep deny then with semanage or other tools set the proper permission.

You should try

setsebool httpd_unified true
setsebool httpd_can_network_connect true
yum install policycoreutils-python
cd /var/www/html/rainloop
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/rainloop/data'
restorecon -v '/var/www/html/rainloop/data'
systemctl restart httpd

It is working for me on my centos7+rainloop.

following the doc has worked for me :

http://www.rainloop.net/docs/permissions/

maybe it was the missing : chown -R www-data:www-data .

Selinux issue~ @RainLoop Documentation should tell to disable Selinux~

Your data folder is not writable from PHP code. Try to set correct chown for data folder (your webserver user - apache, www-data or nginx)