X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=doc%2FInstall.md;h=e8a7d509edbf1af3faf5dc0133655a16f33c06c7;hb=14fde5dc9b1915392601fb94efc6224c01f2b216;hp=79747c0837692e02f15e32bbeb6f09db3c3a8022;hpb=e4a652cae805cbe3b048fb0193050061ad39809b;p=friendica.git diff --git a/doc/Install.md b/doc/Install.md index 79747c0837..e8a7d509ed 100644 --- a/doc/Install.md +++ b/doc/Install.md @@ -40,6 +40,14 @@ Requirements Installation procedure --- +### Alternative Installation Methods + +This guide will walk you through the manual installation process of Friendica. +If this is nothing for you, you might be interested in + +* the [Friendica Docker image](https://github.com/friendica/docker) or +* how [install Friendica with YunoHost](https://github.com/YunoHost-Apps/friendica_ynh). + ### Get Friendica Unpack the Friendica files into the root of your web server document area. @@ -111,29 +119,87 @@ You might wish to move/rename `config/local.ini.php` to another name and empty ( ### Option B: Run the automatic install script -Open the file htconfig.php in the main Friendica directory with a text editor. -Remove the `die('...');` line and edit the lines to suit your installation (MySQL, language, theme etc.). -Then save the file (do not rename it). +You have the following options to automatically install Friendica: +- creating a prepared config file (f.e. `prepared.ini.php`) +- using environment variables (f.e. `MYSQL_HOST`) +- using options (f.e. `--dbhost `) -Navigate to the main Friendica directory and execute the following command: +You can combine environment variables and options, but be aware that options are prioritized over environment variables. - bin/console autoinstall +For more information during the installation, you can use this command line option -Or if you wish to include all optional checks, execute this statement instead: + bin/console autoinstall -v + +If you wish to include all optional checks, use `-a` like this statement: bin/console autoinstall -a + +*If* the automatic installation fails for any reason, check the following: -At this point visit your website again, and register your personal account. +* Does `config/local.ini.php` already exist? If yes, the automatic installation won't start +* Are the options in the `config/local.ini.php` correct? If not, edit them directly. +* Is the empty MySQL-database created? If not, create it. -*If* the automatic installation fails for any reason, check the following: +#### B.1: Config file -* Does "config/local.ini.php" already exist? If yes, the automatic installation won't start -* Are the settings inside "htconfig.php" correct? If not, edit the file again. -* Is the empty MySQL-database created? If not, create it. +You can use a prepared config file like [local-sample.ini.php](config/local-sample.ini.php). -For more information during the installation, you can use this command line option +Navigate to the main Friendica directory and execute the following command: - bin/console autoinstall -v + bin/console autoinstall -f + +#### B.2: Environment variables + +There are two types of environment variables. +- those you can use in normal mode too (Currently just **database credentials**) +- those you can only use during installation (because Friendica will normally ignore it) + +You can use the options during installation too and skip some of the environment variables. + +**Database credentials** + +if you don't use the option `--savedb` during installation, the DB credentials will **not** be saved in the `config/local.ini.php`. + +- `MYSQL_HOST` The host of the mysql/mariadb database +- `MYSQL_PORT` The port of the mysql/mariadb database +- `MYSQL_USERNAME` The username of the mysql database login (used for mysql) +- `MYSQL_USER` The username of the mysql database login (used for mariadb) +- `MYSQL_PASSWORD` The password of the mysql/mariadb database login +- `MYSQL_DATABASE` The name of the mysql/mariadb database + +**Friendica settings** + +This variables wont be used at normal Friendica runtime. +Instead, they get saved into `config/local.ini.php`. + +- `FRIENDICA_URL_PATH` The URL path of Friendica (f.e. '/friendica') +- `FRIENDICA_PHP_PATH` The path of the PHP binary +- `FRIENDICA_ADMIN_MAIL` The admin email address of Friendica (this email will be used for admin access) +- `FRIENDICA_TZ` The timezone of Friendica +- `FRIENDICA_LANG` The langauge of Friendica + +Navigate to the main Friendica directory and execute the following command: + + bin/console autoinstall [--savedb] + +#### B.3: Execution options + +All options will be saved in the `config/local.ini.php` and are overruling the associated environment variables. + +- `-H|--dbhost ` The host of the mysql/mariadb database (env `MYSQL_HOST`) +- `-p|--dbport ` The port of the mysql/mariadb database (env `MYSQL_PORT`) +- `-U|--dbuser ` The username of the mysql/mariadb database login (env `MYSQL_USER` or `MYSQL_USERNAME`) +- `-P|--dbpass ` The password of the mysql/mariadb database login (env `MYSQL_PASSWORD`) +- `-d|--dbdata ` The name of the mysql/mariadb database (env `MYSQL_DATABASE`) +- `-u|--urlpath ` The URL path of Friendica - f.e. '/friendica' (env `FRIENDICA_URL_PATH`) +- `-b|--phppath ` The path of the PHP binary (env `FRIENDICA_PHP_PATH`) +- `-A|--admin ` The admin email address of Friendica (env `FRIENDICA_ADMIN_MAIL`) +- `-T|--tz ` The timezone of Friendica (env `FRIENDICA_TZ`) +- `-L|--lang ` The language of Friendica (env `FRIENDICA_LANG`) + +Navigate to the main Friendica directory and execute the following command: + + bin/console autoinstall [options] ### Prepare .htaccess file @@ -145,6 +211,23 @@ Example: *Note*: Do **not** rename the .htaccess-dist file as it is tracked by GIT and renaming will cause a dirty working directory. +### Verify the "host-meta" page is working + +Friendica should respond automatically to important addresses under the /.well-known/ rewrite path. +One critical URL would look like, for example, https://example.com/.well-known/host-meta +It must be visible to the public and must respond with an XML file that is automatically customized to your site. + +If that URL is not working, it is possible that some other software is using the /.well-known/ path. +Other symptoms may include an error message in the Admin settings that says "host-meta is not reachable on your system. +This is a severe configuration issue that prevents server to server communication." +Another common error related to host-meta is the "Invalid profile URL." + +Check for a .well-known directory that did not come with Friendica. +The preferred configuration is to remove the directory, however this is not always possible. +If there is any /.well-known/.htaccess file, it could interfere with this Friendica core requirement. +You should remove any RewriteRules from that file, or remove that whole file if appropriate. +It may be necessary to chmod the /.well-known/.htaccess file if you were not given write permissions by default. + ### Set up the worker Set up a cron job or scheduled task to run the worker once every 5-10 minutes in order to perform background processing.