Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docs:install [2021-05-06 16:24] – [Prerequisites] Tobiasdocs:install [2024-04-05 17:34] (current) – [Requirements] updated required PHP versions (not sure if 8.3+ ist ok, too) Andreas Kilgus
Line 20: Line 20:
   * Choose a domain name or subdomain name for your server. Put some thought into this. While changing it after installation is supported, things still might break.   * Choose a domain name or subdomain name for your server. Put some thought into this. While changing it after installation is supported, things still might break.
   * A working mail setup (local or with [[https://github.com/friendica/friendica-addons/tree/develop/phpmailer|external]] mail server)   * A working mail setup (local or with [[https://github.com/friendica/friendica-addons/tree/develop/phpmailer|external]] mail server)
-  * Setup HTTPS on your domain((**You really should do this**, you can get a TLS certificate for free using LetsEncrypt and [[docs:ssl|the setup]] is relatively easy. However if you have good reasons to not choose a certificate, e.g. because you are running a local only test installation of Friendica, you can set the ''ssl_policy'' to ''0'' in the ''config/local.config.php'' file //after// the installation wizard has been run. But **do not do this in a production setup**!)).+  * Setup [[docs:ssl|TLS / HTTPS]] on your domain((**You really should do this**, you can get a TLS certificate for free using LetsEncrypt and [[docs:ssl|the setup]] is relatively easy. However if you have good reasons to not choose a certificate, e.g. because you are running a local only test installation of Friendica, you can set the ''ssl_policy'' to ''0'' in the ''config/local.config.php'' file //after// the installation wizard has been run. But **do not do this in a production setup**!)).
  
 ==== Requirements ==== ==== Requirements ====
  
   * Apache with mod-rewrite enabled and "Options All" so you can use a local ''.htaccess'' file   * Apache with mod-rewrite enabled and "Options All" so you can use a local ''.htaccess'' file
-  * PHP 7+ (PHP 7.1+ is recommended for performance and official support) +  * PHP versions 7.4 to 8.2 are supported 
-      * PHP **command line** access with register_argc_argv set to true in the php.ini file +  * PHP **command line** access with register_argc_argv set to true in the php.ini file 
-      * Curl, GD, PDO, mbstrings, MySQLi, hash, xml, zip and OpenSSL extensions+      * Curl, GD, GMP, PDO, mbstrings, MySQLi, hash, xml, zip and OpenSSL extensions
       * The POSIX module of PHP needs to be activated (e.g. [[http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7|RHEL, CentOS]] have disabled it)       * The POSIX module of PHP needs to be activated (e.g. [[http://www.bigsoft.co.uk/blog/index.php/2014/12/08/posix-php-commands-not-working-under-centos-7|RHEL, CentOS]] have disabled it)
       * some form of email server or email gateway such that PHP mail() works       * some form of email server or email gateway such that PHP mail() works
-  * MySQL 5.6+ or an equivalent alternative for MySQL (MariaDB, Percona Server etc.)+      For FreeBSD you need to enable the following extensions in your PHP configuration: curl gd pdo_mysql mbstring xml iconv zip openssl pecl-mcrypt posix dom json fileinfo pecl-imagick session filter ctype simplexml zlib 
 +  * A MySQL server that supports InnoDB and Barracuda (we recommend MariaDB as all development is done on Servers running itbut other MySQL servers might work as well)
   * ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows)   * ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows)
   * installation into a top-level domain or sub-domain (without a directory/path component in the URL) is RECOMMENDED. Directory paths will not be as convenient to use and have not been thoroughly tested. This is REQUIRED if you wish to communicate with the Diaspora network.   * installation into a top-level domain or sub-domain (without a directory/path component in the URL) is RECOMMENDED. Directory paths will not be as convenient to use and have not been thoroughly tested. This is REQUIRED if you wish to communicate with the Diaspora network.
Line 195: Line 196:
 bin/console autoinstall [--savedb] bin/console autoinstall [--savedb]
 </code> </code>
-===== B.3: Execution options =====+=== B.3: Execution options ===
  
 All options will be saved in the `config/local.config.php` and are overruling the associated environment variables. All options will be saved in the `config/local.config.php` and are overruling the associated environment variables.
Line 262: Line 263:
 You can generally find the location of PHP by executing ''which php''. If you run into trouble with this section please contact your hosting provider for assistance. Friendica will not work correctly if you cannot perform this step. You can generally find the location of PHP by executing ''which php''. If you run into trouble with this section please contact your hosting provider for assistance. Friendica will not work correctly if you cannot perform this step.
  
-If it is not possible to set up a cron job then please activate the "frontend worker" in the administration interface.+Some hosting providers use different versions of PHP for web server, command line and processes started by the system itself. In this case it might be necessary to provide the path of the PHP binary to use in local.config.php by setting php_path: 
 + 
 +<code> 
 +'config' => [ 
 +                'php_path' => '/usr/bin/php82', 
 +                …, 
 +        ], 
 +</code>
  
 Once you have installed Friendica and created an admin account as part of the process, you can access the admin panel of your installation and do most of the server wide configuration from there. Once you have installed Friendica and created an admin account as part of the process, you can access the admin panel of your installation and do most of the server wide configuration from there.
Line 293: Line 301:
  
 The most important file is the ''config/local.config.php'' file. As it stores all your data, you should also have a recent dump of your Friendica database at hand, should you have to recover your node. The most important file is the ''config/local.config.php'' file. As it stores all your data, you should also have a recent dump of your Friendica database at hand, should you have to recover your node.
 +
 +==== (RECOMMENDED) Server Optimization ====
 +
 +After you have set-up the Friendica server successfully, you might want to have a look into [[docs:improve-performance|optimization of the servers settings]] to get some more performance out of it.
  
 ==== (OPTIONAL) Reverse-proxying and HTTPS ==== ==== (OPTIONAL) Reverse-proxying and HTTPS ====
  • Last modified: 2021-05-06 16:24