txtd yeah I saw that page and asked support @ serverpilot about it:

Hey guys!

I'm trying to install a new forum on my server, they give instructions for changing the nginx file. I looked through your support docs and found this: https://serverpilot.io/community/articles/customize-nginx-settings.html

I edited according to that (and many other ways), but to no avail. It seems to break it.

The instructions: http://flarum.org/docs/installation/ show that I need to change the nginx.conf files

===============================

Hi Jake,

You should not need to customize Nginx and you should revert any customizations you've made as they will likely break your server. We can't provide support for customized servers.

According to the documentation you linked to (http://flarum.org/docs/installation/), there's nothing you need to do:

Flarum comes with a .htaccess file which contains the appropriate rules for Apache.

ServerPilot configures your server with Nginx in front of Apache so apps like Flarum can work like normal. For more info, see here:

https://serverpilot.io/community/articles/how-serverpilot-configures-your-lamp-stack.html

To be clear the Install WAS successful - it's after the fact, you can view here: http://bitcoinum.org/

The strange behavior comes when I try to interact with the site at all. On the surface things look good, until you start clicking around.

6 days later

It's a rewriting issue, I've just had it too. Though my installation was a bit long winded due to me installing on debian.

In /etc/apache2/sites-available/ the default set up looks like this (at least on my set-up with phpMyAdmin):

NameVirtualHost *:8080
NameVirtualHost *:443

<VirtualHost *:8080>
    ServerAdmin webmaster@localhost
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/cert.pem
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/
</VirtualHost>

ScriptAlias /cgi-bin/ /var/www/cgi-bin/

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    allow from all
   AllowOverride All
</Directory>

Remove:

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    allow from all
   AllowOverride All
</Directory>

And replace with:

<Directory /your/forum/path/>
   AllowOverride All
</Directory>

Initially I had this below the /var/www, but it needs to replace it
Try it anyway, it's the only thing that worked for me

Auk Does that mean adding a line like the following to our .htaccess file may improve the situation for some folks?

Options -MultiViews

Yes. That's correct.

Important note for those not aware.

Mixing Options with a + or - with those without is not valid syntax and will be rejected during server startup by the syntax check with an abort.

More information about using the Options Directive can be read here.

Hmm..

Note that Options All does not set MultiViews; you have to ask for it by name.

Sounds like MultiViews is off be default - even setting it to All doesn't even include it. You have to specifically specify (which you did in above config) it I guess it serves to inform that Multiviews is bad in this case, but if you can't do - and +, someone might be forced to disable some +foo just to ensure there is a -MultiViews there.

4 months later

I'm having the same problem.

I checked the .htaccess file that was generated by the installation and it correctly got the Options - MultiViews inside.

Here is my vhost:

    DocumentRoot /var/www/flarum

    <Directory "/var/www/flarum">
            AllowOverride All
    </Directory>

rewrite module is also correctly enabled (apache2ctl says it's loaded).

I don't know what to do to track down the problem :/

    luceos No: the .htaccess is present in flarum's directory.

    One thing I'm wondering: I have configured the apache server to run on port 3001. Maybe this causes some sort of problems when redirecting ?

      warpdesign I'm not sure I follow, you mentioned serverpilot and now you're testing locally?

      Jake can you tell me which is your hosting provider? I'm trying to find one

      I mean the server is not connected to the internet (yet). It's on a local network (with a local IP). That's what I meant by "local".

      After installing flarum from scratch, it works now.

      Thanks for the help.

      8 months later

      Sorry to bump an old thread, but I'm having this issue on an Apache server.

      Installation ran fine (via Composer), but I'm missing the .htaccess file (which I should have, according to the install guide). Is there any way to retrieve this manually?

      I have already placed this in my apache2.conf (as per the install guide):

      <Directory "/flarum">
          AllowOverride All
      </Directory>

      Edit: So I managed to get this working by enabling mod_rewrite (doh!). Still a little weird I'm missing that .htaccess file though.

      Edit 2: It appears the .htaccess was there after all, just hidden.

      sudo nano .htaccess

      This did the trick.