Installing flarum on netcup shared hosting
Posted on October 31, 2021 • 2 minutes • 394 words
To successfully install the forum software flarum on netcups shared hosting, a few unintuitive steps are nesseccary.
Install composer
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.
export PATH=/.local/bin:$PATH
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 /bin.
/> 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:
./flarum install