Outgoing mails in queue but never sent

Hi there,
I installed phabricator today and so far it looks quite promising. Initially I have not been able to get the account password link sent to the new admin user and was stuck for a while.
I followed every step of the the guide at https://phabricator.karenware.com/book/phabricator/article/configuring_outbound_email/ and have configured the clustermailer to deliver mails via smpt and via sendmail. All the mails sit in the queue but they are never sent:

/usr/share/phabricator/phabricator$ ./bin/mail list-outbound
1    Queued email [Phabricator] Account Password Link
2    Queued email [Phabricator] Account Password Link
3    (...)

I then decided to get help, created my forum account and began to write this message. While doing so it came to my mind that the first thing you guys will probably ask is wether I tried to send a test message through the command line. Well I did that and finally got an error message:

$  ./bin/mail send-test --to 'ansum@soundbytes.de' < tmp/mail.txt
Reading message body from stdin...
[2019-12-21 20:54:56] EXCEPTION: (Exception) Define 'phabricator.base-uri' in your configuration to continue. at [<phabricator>/src/infrastructure/env/PhabricatorEnv.php:523]

I asked google and was told to set the base uri. I did that through:

$ ./bin/config set phabricator.base-uri http://my.host.address/

and now my mail gets sent correctly. Yay!

Question: it seems something has gone wrong with the initial configuration of Phabricator on my server.
Are there any further points that I should look into to get things right?
Or maybe I stumbled over a bug?

I followed the setup guide as closely as possible. Since I have nexcloud on the same server I am not using php over fast cgi as advised but through php-fpm instead.

from nginx.conf:

upstream php-handler {
    server unix:/var/run/php/php7.3-fpm.sock;

my conf.d/phabricator.conf:

server {
  listen 80;
  listen [::]:80;

  root /usr/share/phabricator/phabricator/webroot;

  server_name tm.ansum.de;

  location / {
    index index.php;
    rewrite ^/(.*)$ /index.php?__path__=/$1 last;

  location /index.php {
    include fastcgi_params;

    #variables to make the $_SERVER populate in PHP
    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param  QUERY_STRING       $query_string;
    fastcgi_param  REQUEST_METHOD     $request_method;
    fastcgi_param  CONTENT_TYPE       $content_type;
    fastcgi_param  CONTENT_LENGTH     $content_length;
    fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
    fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
    fastcgi_param  REMOTE_ADDR        $remote_addr;

    fastcgi_pass php-handler; 

I would not expect that using php-fpm might lead to the observed issue. Still this is the only notable difference to the setup guide that I am aware of.

Thanks for any helpful hints and comments!

Andreas Sumerauer

In the normal setup process, you would not be allowed to create an admin account before fixing the base-uri issue, so something went wrong there.
Once you are logged in as admin, there a series of Setup Warnings that should pop up (Looks like a notification on the top-left side of the page) that should guide you through completing the setup.