mirror of
https://github.com/AlexBocken/mykb.git
synced 2024-11-09 16:47:23 +01:00
4.0 KiB
4.0 KiB
General
Rainloop is a web-based email client that works with your local install of dovecot etc. Its easy to install and use.
Setting up LEMP Stack
apt install mariadb-server
systemctl enable mysql
apt install php php7.3-fpm php7.3-mysql -y
systemctl enable php7.3-fpm
To test the php setup add the following to your site-available nginx folder. Restart nginx usingsystemctl restart nginx
and add a new page calledindex.php
to your homepage directory with<?php phpinfo();?>
as the only content. If the php install worked fine, this will show you the installed php packages. Delete this afterwords.
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
}
Installing rainloop
apt install php7.3-{curl,xml}
wget http://www.rainloop.net/repository/webmail/rainloop-community-latest.zip
mkdir /var/www/html/rainloop
unzip rainloop-community-latest.zip -d /var/www/html/rainloop/
find /var/www/html/rainloop/ -type d -exec chmod 755 {} \;
find /var/www/html/rainloop/ -type f -exec chmod 644 {} \;
chown -R www-data.www-data /var/www/html/rainloop/
- Edit the
nginx
entry for the webmail :vim /etc/nginx/sites-available/rainloop.conf
. Make sure that thephp
version you installed above matches the php version in line 20. It also should match the php version of the LEMP stack. Also change the hostname accordingly.
server {
listen 80;
server_name webmail.hostname.xyz;
root /var/www/html/rainloop;
access_log /var/log/rainloop/access.log;
error_log /var/log/rainloop/error.log;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_keep_conn on;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
location ^~ /data {
deny all;
}
}
mkdir /var/log/rainloop
nginx -t
ln -s /etc/nginx/sites-available/rainloop.conf /etc/nginx/sites-enabled/
systemctl reload nginx
Configure RainLoop
- Go to
http:/webmail.hostname.xyz/?admin
. Here a webinterface should pop up (If not - ty to check the php install - all same versions? Is php accessible? Are the permissions set correctly? - Log in using
admin
and12345
. Strongly recommend to change that one as soon as you log in. This can be done underSecurity
in the left menu. - Under
Domains
add your local domains, ports and authentication method and delete the defaults. - Now you should be able to log in to the client on
webmail.hostname.xyz
using your email address and password.
Add database for contacts
mysql -uroot -p
- Add a database (copy paste each single line - change
rainlooppassword
to something proper
create database rainloopdb;
GRANT ALL PRIVILEGES ON rainloopdb.* TO 'rainloopuser'@'localhost' IDENTIFIED BY 'rainlooppassword';
flush privileges;
quit
- Go to the admin panel to
Contacts
and activate the data base - Select storage
mysql
and choose as DSNmysql:host=localhost;port=3306;dbname=rainloopdb
. The user name israinloopuser
and the password the password you used to set up the database.
Certbot
Give the webmail client proper security using certbot --nginx
to extend your certificate.
Increasing the upload limit
To increase the maximal upload through the rainloop interface to 100 MB, we do:
vim /etc/php/7.3/fpm/php.ini
- Set
upload_max_filesize
to100M
- Set
post_max_size
to100M
- Set
systemctl restart php7.3-fpm
vim /etc/nginx/nginx.conf
- Set
client_max_body_size
to100M
- Set
systemctl restart nginx
- Go to
http:/webmail.hostname.xyz/?admin
and underGeneral
setUpload size limit
to100M
- Here you can also see if the php settings worked out.