Friendica runs atop a LAMP stack or similar environment. The requirements to run Friendica successfully are in detail:
- Apache 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+ (PHP 7.1+ is recommended for performance and official support)
- PHP command line access with register_argc_argv set to true in the php.ini file.
- curl, gd, mysql, hash, mb_string, XML iconv, zip and openssl extensions. The mcrypt extension is optionally used for encryption of the server-to-server communication.
- 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.
- MySQL 5.6+ or an equivalent alternative for MySQL (MariaDB 10.0.5+, Percona Server etc.). As there are problems with MySQL 5.7 we suggest using MariaDB.
- 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.