Friendica runs atop a LAMP stack or similar environment. The requirements to run Friendica successfully are in detail:

  • Apache web server with mod-rewrite enabled and “Options All” so you can use a local .htaccess file. If you use nginx or lighttpd please have a look at /mods for sample configuration files.
  • PHP 7.4+ (PHP 8 recommended, no official support is offered for PHP 7 anymore)
    • PHP command line access with register_argc_argv set to true in the php.ini file.
    • Curl, GD, GMP, PDO, mbstrings, Intl, MySQLi, hash, xml, zip and OpenSSL extensions.
    • The POSIX module of PHP needs to be activated (e.g. RHEL, CentOS have disabled it)
    • Some form of email server or email gateway such that PHP mail() works. If you cannot set up your own email server, you can use the phpmailer addon and use a remote SMTP server.
  • MySQL-compatible database server with support of InnoDB and Barracuda (we suggest a MariaDB server as all development is done using these, but alternatives like MySQL or Percona Server etc. might work as well).
  • The ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows). If this is not an option, you can also use external cron services, but the performance will not be ideal with these.
  • Installation into a top-level domain or sub-domain (without a directory/path component in the URL) is preferred and necessary if you want to federate with Diaspora and GNU Social. Directory paths will not be as convenient to use and have not been thoroughly tested.
  • If your hosting provider doesn’t allow Unix shell access, you might have trouble getting everything to work.
  • Minimum 2GB of memory. We’ve received reports of intermittent database connection drops with just 1 GB.