To successfully install the forum software flarum on netcups shared hosting, a few unintuitive steps are nesseccary.
To have the php
composer binary availabe on your ssh command line, you have to download it manually and put it into your
PATH environment variable. Since you cannot write to any folders already present in your PATH, you have to extend it.
If you do not already have a file
/.profile, go ahead and create it. The following will prepend the path
/.local/bin to your existing PATH. You’ll see later, why it is important to prepend it rather than append it.
For this script to take effect, you have to restart your terminal session.
Now, download composer into this folder:
cd /.local/bin curl -sS https://getcomposer.org/installer | php chmod a+x composer.phar mv composer.phar composer
Congratulations, you can now use composer globally.
Set another php cli version
For some reason the version of the php cli deviates from the version set in the web control panel and is older. In fact, it is so old that flarum will complain and not even install. That’s because an old binary is referenced in
/> ls -la /bin/ | grep php php -> /usr/local/php72/bin/php
Luckily we already added a custom
bin folder to our
PATH. And now it is important that we prepended it, so it will take precedence over the other entries.
cd /.local/bin ln -s /usr/local/php80/bin/php php
Restart your terminal session and you will have the new version \o/
Flarum and php open_basedir
Flarums public files reside in the public folder and only that should be delivered by the webserver. This means that the document root of your flarum domain is set to the public/ subfolder.
While this makes perfectly sense, it violates the default value for the open_basedir setting that only allows files to be accessed in and under your document root.
Luckily netcup provides us with a way to change that value. In your web control panel go the php settings for your domain and change the value for open_basedir. For me only one other option was available that enables access to the complete webhosting root.
And there we go, flarum now runs!
If for some reason you don’t see the install screen, you can do it via the command line like this in the folder where you installed flarum: