Installing Friendica

7/14/2020 Update

It turns out some original source content I had not looked at in a long time is a better resource than what I originally wrote below. Hop over to the blog section at here to see the well laid out instructions.

At the time of writing this text section the 2020.07 was just newly released.

Note that my systems virtual domains manager has a paths like this for any websites root folder/directory:

  • Main FQDN,


  • Any sub-server/sub-domain,


Your install commands need to be adjusted accordingly for the relative path to your root web folder.

Have some email address you want to be associated with the Admin of your server ready for later. It can be an alias of a main account you already have, your favorite email address, or some brand new one. It will be listed at Friendica if your server is a public type Friendica system.

Make an empty MariaDB database and user for the Friendica's data. (Have MySQL instead of MariaDB?)

Friendica install commands:

  1. cd <path to the directory above the server for your Friendica site>/

  2. git clone -b master public_html

  3. cd public_html/

  4. bin/composer.phar install (assumes you already installed composer)

  5. git clone -b master addon

  6. cd

  7. crontab -e

    1. 10 * * * * cd /<full path to the root directory of the server for your Friendica site>; /usr/bin/php bin/worker.php

  8. cp .htaccess-dist .htaccess

At this point I set-up my Let's Encrypt certificate for the domain. You may now go to the web-installer and follow the instructions for linking the site to the database and user you made earlier. Just hit your corresponding URL to my "" and the wizard will start.

At the end of the set-up you will enter that administrators email address. Then when it's done, you'll experience the registration to your instance (using that administrators eMail address), the way any other user will, but you'll have buttons after logging in that they don't.

Setting up the rest of your server is mainly explained at the place you need to know things, especially when it comes to setting up the add-on's. One tip I got was the "Jappix Mini" is very old and shouldn't be activated. When it comes to the XMPP (Jabber) add-on, you don't need it to be set-up for your users to take advantage of it, it just needs to be enabled. Each user can input in their settings a Jabber host that they are already using and then sign into the chat client. They can also put their XMPP id in their profile to allow other users to contact them.

Ignore this. I never got the XMPP server to work right, but these notes will get altered if I ever get it right.


  1. sudo apt-get install -y -f ejabberd jabberd2

  2. sudo pico /etc/ejabberd/ejabberd.yml

    1. Alter the hosts: section to include your hosts instead of the default "localhost"


  1. sudo apt-get -y install openjdk-11-jdk

  1. cd /<full path to the root directory of the server for your Friendica site>

  2. git pull

  3. cd addon

  4. git pull

  5. cd ..

  6. php ~bin/composer install --no-dev (helpful notes on install vs. update)

  7. php ~bin/composer update (helpful notes on install vs. update)

  8. bin/console dbupdate (It seems like I've only had to run this once because an upgrade went wrong)

7/14/2020 Update

I'm going to try this for the next time I do "Maintenance (or updates)",

  1. cd /<full path to the root directory of the server for your Friendica site>

  2. git fetch

  3. git checkout BRANCH (as of right now the branch I would checkuot is "stable")

  4. git pull

  5. bin/composer.phar install --no-dev

  6. cd addon

  7. git fetch

  8. git checkout BRANCH (it's vital to checkuot the same in addon as you did in the main folder, so "stable")

  9. git pull

To see all the branch choices go to