Installing Nextcloud with nginx "The page isn’t redirecting properly" after creation of the admin user

I am installing nextcloud on a raspberry pi running aarch64. I can get to the point where I can pull up the nextcloud initialization panel in my browser, but after I put the username + password + database info in and hit done, it starts to load, and after about a minute, my browser gives me the message:

The page isn’t redirecting properly

Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
This problem can sometimes be caused by disabling or refusing to accept cookies.

I don’t think it is a matter of it just taking a long time to generate the new user and initialize the nextcloud installation, because when I watch my cpu usage as the process unfolds, it starts high and then goes to basically idle, but the page still won’t load.

nginx/conf.d/nextcloud.conf:

upstream php-handler {
    #server 127.0.0.1:9000;
    #server unix:/run/php-fpm/php-fpm.sock;
    server unix:/var/run/php-fpm/php-fpm.sock;
}

server {
    listen 80;
    listen [::]:80;
    server_name 192.168.1.228;
    # enforce https
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name 192.168.1.228;

    ssl_certificate /etc/ssl/nginx/filestorage.me.crt;
    ssl_certificate_key /etc/ssl/nginx/filestorage.me.key;

    # Add headers to serve security related headers
    # Before enabling Strict-Transport-Security headers please read into this
    # topic first.
    # add_header Strict-Transport-Security "max-age=15768000;
    # includeSubDomains; preload;";
    #
    # WARNING: Only add the preload option once you read about
    # the consequences in https://hstspreload.org/. This option
    # will add the domain to a hardcoded list that is shipped
    # in all major browsers and getting removed from this list
    # could take several months.
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;

    # Path to the root of your installation
    root /usr/share/webapps/nextcloud/;

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    # The following 2 rules are only needed for the user_webfinger app.
    # Uncomment it if you're planning to use this app.
    #rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
    #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
    # last;

    location = /.well-known/carddav {
      return 301 $scheme://$host/remote.php/dav;
    }
    location = /.well-known/caldav {
      return 301 $scheme://$host/remote.php/dav;
    }

    # set max upload size
    client_max_body_size 512M;
    fastcgi_buffers 64 4K;

    # Enable gzip but do not remove ETag headers
    gzip on;
    gzip_vary on;
    gzip_comp_level 4;
    gzip_min_length 256;
    gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
    gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-pol$

    # Uncomment if your server is build with the ngx_pagespeed module
    # This module is currently not supported.
    #pagespeed off;

    location / {
        rewrite ^ /index.php$uri;
    }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
        deny all;
    }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
        deny all;
    }

    location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        #Avoid sending the security headers twice
        fastcgi_param modHeadersAvailable true;
        fastcgi_param front_controller_active true;
        fastcgi_pass php-handler;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }

    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
        try_files $uri/ =404;
        index index.php;
    }

    # Adding the cache control header for js and css files
    # Make sure it is BELOW the PHP block
    location ~ \.(?:css|js|woff|svg|gif)$ {
        try_files $uri /index.php$uri$is_args$args;
        add_header Cache-Control "public, max-age=15778463";
        # Add headers to serve security related headers (It is intended to
        # have those duplicated to the ones above)
        # Before enabling Strict-Transport-Security headers please read into
        # this topic first.
        # add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
        #
        # WARNING: Only add the preload option once you read about
        # the consequences in https://hstspreload.org/. This option
        # will add the domain to a hardcoded list that is shipped
        # in all major browsers and getting removed from this list
        # could take several months.
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        # Optional: Don't log access to assets
        access_log off;
    }

    location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        # Optional: Don't log access to other assets
        access_log off;
    }
}

nginx/nginx.conf:

#user html;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server_names_hash_bucket_size 64;
    include conf.d/*.conf;

    server {
        listen       80;
        server_name  localhost;

        ssl off;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

       # location ~ \.php$ {
       #     root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}
#       location ~ \.php$ {
#    try_files $uri $document_root$fastcgi_script_name =404;
#    fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
#    fastcgi_index index.php;
#    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#    include fastcgi.conf;
#
#    # prevention for httpoxy vulnerability: https://httpoxy.org/
#    fastcgi_param HTTP_PROXY "";
#}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

nextcloud/config/config.php:

<?php
$CONFIG = array (
  'instanceid' => 'oczu7byiywqp',
  'apps_paths' =>
  array (
    0 =>
    array (
      'path' => '/mnt/nextcloud/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 =>
    array (
      'path' => '/mnt/nextcloud/apps2',
      'url' => '/apps2',
      'writable' => true,
    ),
  ),
  'datadirectory' => '/mnt/nextcloud/data',
);

some logs of nginx and php-fpm (should show time period of starting the processes, redirect problem occuring, and stopping them).

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

Apr 22 12:36:26 alarm nginx[481]: 2018/04/22 12:36:26 [warn] 481#481: could not build optimal types_hash, you should increase either types_hash_max_size: 1024 or types_hash_bucket_size: 64;>
Apr 22 12:36:26 alarm systemd[1]: Started A high performance web server and a reverse proxy server.
Apr 22 12:47:39 alarm systemd[1]: Stopping A high performance web server and a reverse proxy server...
Apr 22 12:47:39 alarm nginx[481]: 2018/04/22 12:47:39 [error] 483#483: *71 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.1.127, >
Apr 22 12:47:39 alarm systemd[1]: Stopped A high performance web server and a reverse proxy server.
Apr 22 13:01:43 alarm systemd[1]: Starting A high performance web server and a reverse proxy server...
Apr 22 13:01:43 alarm nginx[651]: 2018/04/22 13:01:43 [warn] 651#651: could not build optimal types_hash, you should increase either types_hash_max_size: 1024 or types_hash_bucket_size: 64;>
Apr 22 13:01:43 alarm systemd[1]: Started A high performance web server and a reverse proxy server.
Apr 22 13:02:08 alarm systemd[1]: Stopping A high performance web server and a reverse proxy server...
Apr 22 13:02:08 alarm systemd[1]: Stopped A high performance web server and a reverse proxy server.

● php-fpm.service - The PHP FastCGI Process Manager
   Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Sun 2018-04-22 13:02:08 UTC; 16min ago
  Process: 652 ExecStart=/usr/bin/php-fpm --nodaemonize --fpm-config /etc/php/php-fpm.conf (code=exited, status=0/SUCCESS)
 Main PID: 652 (code=exited, status=0/SUCCESS)
   Status: "Processes active: 1, idle: 1, Requests: 19, slow: 0, Traffic: 1req/sec"

Apr 22 13:01:43 alarm systemd[1]: Starting The PHP FastCGI Process Manager...
Apr 22 13:01:43 alarm php-fpm[652]: [NOTICE] fpm is running, pid 652
Apr 22 13:01:43 alarm php-fpm[652]: [NOTICE] ready to handle connections
Apr 22 13:01:43 alarm php-fpm[652]: [NOTICE] systemd monitor interval set to 10000ms
Apr 22 13:01:43 alarm systemd[1]: Started The PHP FastCGI Process Manager.
Apr 22 13:02:08 alarm php-fpm[652]: [NOTICE] Terminating ...
Apr 22 13:02:08 alarm systemd[1]: Stopping The PHP FastCGI Process Manager...
Apr 22 13:02:08 alarm php-fpm[652]: [NOTICE] exiting, bye-bye!
Apr 22 13:02:08 alarm systemd[1]: Stopped The PHP FastCGI Process Manager.

please let me know if it would be useful to see additional files.

EDIT: Update:

It somehow got to the login screen, and doesn’t let you in with a wrong password, but as soon as I enter the right password, it goes back to the same problem. So I’m fairly sure that the account is all there, but there’s just something weird going on with the webserver.