- PHP *command line* access with register_argc_argv set to true in the
php.ini file [or see 'poormancron' in section 8]
- - curl, gd (with at least jpeg support), mysql, mbstring, xml and openssl extensions
+ - curl, gd (with at least jpeg support), mysql, mbstring, xml, zip and openssl extensions
- some form of email server or email gateway such that PHP mail() works
+ - The POSIX module of PHP needs to be activated (e.g. RHEL, CentOS have disabled it)
+
- Mysql 5.5.3+ or an equivalant alternative for MySQL (MariaDB, Percona Server etc.)
- ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks
2b. Clone the friendica/friendica GitHub repository and import dependencies
- git clone https://github.com/friendica/friendica [web server folder]
+ git clone https://github.com/friendica/friendica -b master [web server folder]
cd [web server folder]
php bin/composer.phar install
+Make sure the folder view/smarty3 exists and is writable by the webserver
+user, in this case `www-data`
+
+ mkdir view/smarty3
+ chown www-data:www-data view/smarty3
+ chmod 775 view/smarty3
+
+Get the addons by going into your website folder.
+
+ cd mywebsite
+
+Clone the addon repository (separately):
+
+ git clone https://github.com/friendica/friendica-addons.git -b master addon
+
+If you copy the directory tree to your webserver, make sure that you also
+copy .htaccess - as "dot" files are often hidden and aren't normally copied.
+
+If you want to use the development version of Friendica you can switch to
+the devel branch in the repository by running
+
+ git checkout develop
+ bin/composer.phar install
+ cd addon
+ git checkout develop
+
+please be aware that the develop branch may break your Friendica node at any
+time. If you encounter a bug, please let us know.
+
3. Create an empty database and note the access details (hostname, username,
password, database name).
You should also be sure that $a->config['php_path'] is set correctly, it should
look like (changing it to the correct PHP location)
-$a->config['php_path'] = '/usr/local/php53/bin/php'
-
-Alternative: You may be able to use the 'poormancron' addon to perform this
-step if you are using a recent Friendica release. 'poormancron' may result in
-perfomance and memory issues and is only suitable for small sites with one or
-two users and a handful of contacts. To do this, edit the file
-".htconfig.php" and look for a line describing your addons. On a fresh
-installation, it will look like
-
-$a->config['system']['addon'] = 'js_upload';
+$a->config['php_path'] = '/usr/local/php56/bin/php'
-This indicates the "js_upload" addon module is enabled. You may add additional
-addons using this same line in the configuration file. Change it to
-read
+Alternative: If you cannot use a cron job as described above, you can use
+the frontend worker and an external cron service to trigger the execution
+of the worker script. You can enable the frontend worker after the installation
+from the admin panel of your node and call
-$a->config['system']['addon'] = 'js_upload,poormancron';
+ https://example.com/worker
-and save your changes.
+with the service of your choice.
9. (Recommended) Set up a backup plan