Cypht - Lightweight open source webmail application written in PHP and JavaScript
-
@timconsidine Thanks for sharing ideas, the path
/etc/nginx/conf.d/
is empty -
Hmmm.
I notice that/run/access.log
and/run/error.log
are ownedroot:root
and arerw-r--r--
But processes are running as www-data or cloudron ?
Still just chucking stuff around -
Perhaps it's looking for an environment variable and when not found it uses a default. Set HOME and whatever else nginx looks for with supervisor.
-
Okay, I got one step further after using a symlink in Dockerfile for the error.log
It seems the document root is still broken, because I get
Feb 06 20:22:40=> Healtheck error got response status 502
Okay, this is because of not properly working php
root@da491a6f-01a2-4d9c-859a-e34799e1c3cf:/app/code# tail -f /run/error.log 2024/02/06 19:25:20 [crit] 24#24: *37 connect() to unix:/run/php/php8.1-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 172.18.0.1, server: _, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php/php8.1-fpm.sock:", host: "a101.
-
@Kubernetes Can you tell me why cypht requires nginx? You can just modphp like other apps no? Atleast, that's what I see from https://www.cypht.org/install.html . Does it not work in the LAMP app?
As for apache itself, see cryptpad or discourse or nginx. They have a readonly config for nginx. They configure various paths that nginx wants to write to.
-
@Kubernetes hmm, try some debug set commands https://www.baeldung.com/linux/nginx-log-variable-output
this was interesting too:
https://www.baeldung.com/linux/nginx-config-environment-variables
https://stackoverflow.com/questions/21866477/nginx-use-environment-variablesor just stick them in a cyclic
memory:2m
https://adamtheautomator.com/nginx-logs/ -
No luck today, now I just get an error from the App that
Invalid auth configuration
. -
@Kubernetes is that a typo in the start.sh?
#sed -i "s/^imap_auth_tls=.*/imap_auth_tls=${CLOUDRON_EMAIL_IMAPS_PORT}/" /app/data/hm3.ini
IMAP vs IMAPS
-
@robi I think this is okay. In the current state it is not used anyways, because after a change of the .ini a config generation php script needs to be run. So I have to move that to the Docker Image build process, because during runtime it is read-only...
-
Okay, here we go...
- The Cypht App is using Apache2 to get served.
- The Login (auth) still fails - I have no idea why.
- The PHP Session caching seems to fail in addition.
- The use of redis db doesn't work at the moment.
Some Logs:
[Wed Feb 07 07:51:10.118044 2024] [php:notice] [pid 19] [client 172.18.0.1:51058] Array\n(\n [0] => Using Hm_PHP_Session with Hm_Auth_IMAP\n [1] => Using file based user configuration\n [2] => Using sapi: apache2handler\n [3] => Request type: HTTP\n [4] => Request path: /\n [5] => TLS request: 0\n [6] => Mobile request: 0\n [7] => Page ID: home\n [8] => Using Hm_Cache for cache\n [9] => Redis connect failed\n [10] => Memcached enabled but not supported by PHP\n [11] => CACHE backend using: noop\n [12] => TRANSLATION NOT FOUND :Cypht powered by Cloudron:\n [13] => PHP version 8.1.2-1ubuntu2.14\n [14] => Zend version 4.1.2\n [15] => Peak Memory: 4096\n [16] => PID: 19\n [17] => Included files: 78\n)\n [Wed Feb 07 07:51:15.862828 2024] [php:notice] [pid 14] [client 172.18.0.1:37006] Array\n(\n [0] => Using Hm_PHP_Session with Hm_Auth_IMAP\n [1] => Using file based user configuration\n [2] => Using sapi: apache2handler\n [3] => Request type: HTTP\n [4] => Request path: /\n [5] => TLS request: 0\n [6] => Mobile request: 0\n [7] => Page ID: home\n [8] => Using Hm_Cache for cache\n [9] => Redis connect failed\n [10] => Memcached enabled but not supported by PHP\n [11] => CACHE backend using: noop\n [12] => \nDebug Array\n(\n)\n\nResponse Array\n(\n)\n\n [13] => Invalid IMAP auth configuration settings\n [14] => Setting cookie: name: hm_msgs, lifetime: 0, path: /, domain: a100.XXXXXX.XXX, secure: , html_only 1\n [15] => Redirecting to /\n [16] => PHP version 8.1.2-1ubuntu2.14\n [17] => Zend version 4.1.2\n [18] => Peak Memory: 4096\n [19] => PID: 14\n [20] => Included files: 77\n)\n, referer: https://a100.XXXXXX.XXX/ [Wed Feb 07 07:51:15.890047 2024] [php:notice] [pid 15] [client 172.18.0.1:37018] Array\n(\n [0] => Using Hm_PHP_Session with Hm_Auth_IMAP\n [1] => Using file based user configuration\n [2] => Using sapi: apache2handler\n [3] => Request type: HTTP\n [4] => Request path: /\n [5] => TLS request: 0\n [6] => Mobile request: 0\n [7] => Page ID: home\n [8] => Using Hm_Cache for cache\n [9] => Redis connect failed\n [10] => Memcached enabled but not supported by PHP\n [11] => CACHE backend using: noop\n [12] => Deleting cookie: name: hm_msgs, lifetime: 1707288675, path: /, domain: a100.XXXXX.XXX, secure: , html_only 1\n [13] => TRANSLATION NOT FOUND :Cypht powered by Cloudron:\n [14] => PHP version 8.1.2-1ubuntu2.14\n [15] => Zend version 4.1.2\n [16] => Peak Memory: 4096\n [17] => PID: 15\n [18] => Included files: 78\n)\n, referer: https://a100.XXXXXX.XXX/ [Wed Feb 07 07:51:20.097269 2024] [php:notice] [pid 16] [client 172.18.0.1:37028] Array\n(\n [0] => Using Hm_PHP_Session with Hm_Auth_IMAP\n [1] => Using file based user configuration\n [2] => Using sapi: apache2handler\n [3] => Request type: HTTP\n [4] => Request path: /\n [5] => TLS request: 0\n [6] => Mobile request: 0\n [7] => Page ID: home\n [8] => Using Hm_Cache for cache\n [9] => Redis connect failed\n [10] => Memcached enabled but not supported by PHP\n [11] => CACHE backend using: noop\n [12] => TRANSLATION NOT FOUND :Cypht powered by Cloudron:\n [13] => PHP version 8.1.2-1ubuntu2.14\n [14] => Zend version 4.1.2\n [15] => Peak Memory: 4096\n [16] => PID: 16\n [17] => Included files: 78\n)\n
The
Invalid IMAP auth configuration settings
error appeared after I removed the 143 imap port from configuration and kept only 9993 for secure imapWhen adding 143 again to the hm3.ini I get this error when trying to login:
[Wed Feb 07 08:01:27.837212 2024] [php:notice] [pid 16] [client 172.18.0.1:42946] Array\n(\n [0] => Using Hm_PHP_Session with Hm_Auth_IMAP\n [1] => Using file based user configuration\n [2] => Using sapi: apache2handler\n [3] => Request type: HTTP\n [4] => Request path: /\n [5] => TLS request: 0\n [6] => Mobile request: 0\n [7] => Page ID: home\n [8] => Using Hm_Cache for cache\n [9] => Redis connect failed\n [10] => Memcached enabled but not supported by PHP\n [11] => CACHE backend using: noop\n [12] => \nDebug Array\n(\n [0] => Connecting to tls://mail on port 143\n [1] => Could not connect to the IMAP server\n [2] => fsockopen errors #111. Connection refused\n)\n\nResponse Array\n(\n)\n\n [13] => Unable to connect to the IMAP auth server mail\n [14] => Setting cookie: name: hm_msgs, lifetime: 0, path: /, domain: a100.XXXXXX.XXX, secure: , html_only 1\n [15] => Redirecting to /\n [16] => PHP version 8.1.2-1ubuntu2.14\n [17] => Zend version 4.1.2\n [18] => Peak Memory: 4096\n [19] => PID: 16\n [20] => Included files: 77\n)\n, referer: https://a100.XXXXXX.XXX/
-
Heureka! I got it working now after putting 9993 as "normal/unsecure" imap server port config....
I will prepare the easy installer now and then some more people should check if it works correctly - be carefull and use a dummy mailbox - just in case it starts to run wild and delete emails or so!During my own tests I found following issues:
- SMTP is not working (outgoing email)
- Profile is not saved - after logout the profile is gone
Link to Repo