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 5.4+. PHP7 seems to work fine but development is done on PHP5.
- PHP command line access with register_argc_argv set to true in the php.ini file.
- curl, gd, mysql, hash, mb_string, XML iconv and openssl extensions. The mcrypt extension is optionally used for encryption of the server-to-server communication.
- Some form of email server or email gateway such that PHP mail() works.
- MySQL 5.5.3+ or an equivalant alternative for MySQL (MariaDB, 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.