3 KiB

Friendica Directory Install Instructions

1. Get the source code

For a planned install of Friendica Directory in the /path/to/friendica-directory folder.

Using Git and Composer

Git is a popular version control management tool. Getting Started with Git.

You'll also need Composer to grab the project dependencies. Composer is a popular dependency management tool for PHP projects. Getting Started with Composer.

cd /path/to
git clone friendica-directory
cd friendica-directory
composer install --no-dev

Using a stable release archive

On the Friendica Directory Github Releases page, you can find the latest source archive named friendica-directory-<version>.zip.

Simply unpack the archive in /path/to/friendica-directory, the dependencies are already included.

Set up a database and a user

Friendica Directory supports MariaDB as a database provider. Getting started with MariaDB.

Once you have MariaDB installed on a given host, you need to create a database structure and a user with privileges on it.

Sample commands from the MariaDB console for a local install:

> CREATE DATABASE `friendica-directory`;

> GRANT ALL ON `friendica-directory`.* TO 'friendica-directory'@'localhost' IDENTIFIED BY "password";

2. Initialize database schema

Using the details gathered from the previous step, follow the instructions in the Friendica Directory Install Wizard.

cd /path/to/friendica-directory
bin/console install

3. Configure your web server

The document root of Friendica Directory is /public.


Friendica Directory requires mod_rewrite to be enabled.

In your Virtual Host file, set your document root as follow:

DocumentRoot /path/to/friendica-directory/public/


Add these lines to your nginx config file.

root /path/to/friendica-directory/public;

location / {
    rewrite ^/(.*) /index.php?$args last;

location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {
    expires 30d;
    try_files $uri /index.php?$args;

4. Set up the background task

Friendica Directory relies on a background task running every minute to keep the directory up to date.

On Linux, you can set it up with Crontab, a popular background task scheduler. Getting started with Crontab.

Add this line to your crontab:

* * * * * cd /path/to/friendica-directory && php bin/cron.php

5. Seed your directory

Your directory is ready, but empty. To start filling it, you can:

  • Set your host name as the main directory in Friendica's admin settings.
  • Add existing directories in your polling queue: bin/console directory-add