Many will. But please review the requirements and confirm these with your
hosting provider prior to installation.
+Before you begin: Choose a domain name or subdomain name for your server.
+Put some thought into this - because changing it is currently not-supported.
+Things will break, and some of your friends may have difficulty communicating
+with you. We plan to address this limitation in a future release.
+
1. Requirements
- Apache with mod-rewrite enabled and "Options All" so you can use a
local .htaccess file
- - PHP > 5.1. The later the better. You'll need 5.3 for encryption of key
+ - PHP 5.2+. The later the better. You'll need 5.3 for encryption of key
exchange conversations
-encryption support
- PHP *command line* access with register_argc_argv set to true in the
php.ini file
- - curl, gd, mysql, and openssl extensions
+ - curl, gd, mysql, mbstring, and openssl extensions
- some form of email server or email gateway such that PHP mail() works
- mcrypt (optional; used for end-to-end message encryption)
- Mysql 5.x
- ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks
-(Windows)
+(Windows) [Note: other options are presented in Section 8 of this document]
- Installation into a top-level domain or sub-domain (without a
directory/path component in the URL) is preferred. Directory paths will
3. Create an empty database and note the access details (hostname, username,
password, database name).
-4. Visit your website with a web browser and follow the instructions. Please
+
+4. If you know in advance that it will be impossible for the web server to
+write or create files in your web directory, create an empty file called
+.htconfig.php and make it writable by the web server.
+
+5. Visit your website with a web browser and follow the instructions. Please
note any error messages and correct these before continuing.
-5. *If* the automated installation fails for any reason, check the following:
+6. *If* the automated installation fails for any reason, check the following:
- ".htconfig.php" exists
If not, edit htconfig.php and change system settings. Rename
If not, import the contents of "database.sql" with phpmyadmin
or mysql command line
-6. At this point visit your website again, and register your personal account.
+7. At this point visit your website again, and register your personal account.
Registration errors should all be recoverable automatically.
If you get any *critical* failure at this point, it generally indicates the
database was not installed correctly. You might wish to move/rename
.htconfig.php to another name and empty (called 'dropping') the database
tables, so that you can start fresh.
-7. Set up a cron job or scheduled task to run the poller once every 5-10
+****************************************************************************
+****************************************************************************
+******** THIS NEXT STEP IS IMPORTANT!!!! ***********
+****************************************************************************
+****************************************************************************
+
+8. Set up a cron job or scheduled task to run the poller once every 5-10
minutes to pick up the recent "public" postings of your friends. Example:
cd /base/directory; /path/to/php include/poller.php
have troubles with this section please contact your hosting provider for
assistance. Friendika will not work correctly if you cannot perform this step.
+Alternative: You may be able to use the 'poormancron' plugin to perform this
+step if you are using a recent Friendika release. To do this, edit the file
+".htconfig.php" and look for a line describing your plugins. On a fresh
+installation, it will look like
+
+$a->config['system']['addon'] = 'js_upload';
+
+This indicates the "js_upload" addon module is enabled. You may add additional
+addons/plugins using this same line in the configuration file. Change it to
+read
+
+$a->config['system']['addon'] = 'js_upload,poormancron';
+
+and save your changes.
+
+
+
+#####################################################################
+
+ If things don't work...
+
+#####################################################################
+
+
+#####################################################################
+- If you get the message
+ "System is currently unavailable. Please try again later"
+#####################################################################
+
+ Check your database settings. It usually means your database could not
+be opened or accessed. If the database resides on the same machine, check that
+the database server name is "localhost".
+
+#####################################################################
+- 500 Internal Error
+#####################################################################
+
+ This could be the result of one of our Apache directives not being
+supported by your version of Apache. Examine your apache server logs.
+ You might remove the line "Options -Indexes" from the .htaccess file if
+you are using a Windows server as this has been known to cause problems.
+Also check your file permissions. Your website and all contents must generally
+be world-readable.
+
+ It is likely that your web server reported the source of the problem in
+its error log files. Please review these system error logs to determine what
+caused the problem. Often this will need to be resolved with your hosting
+provider or (if self-hosted) your web server configuration.
+
+#####################################################################
+- 400 and 4xx "File not found" errors
+#####################################################################
+
+ First check your file permissions. Your website and all contents must
+generally be world-readable.
+
+ Ensure that mod-rewite is installed and working, and that your
+.htaccess file is being used. To verify the latter, create a file test.out
+containing the word "test" in the top directory of Friendika, make it world
+readable and point your web browser to
+
+http://yoursitenamehere.com/test.out
+
+ This file should be blocked. You should get a permission denied message.
+
+ If you see the word "test" your Apache configuration is not allowing
+your .htaccess file to be used (there are rules in this file to block access
+to any file with .out at the end, as these are typically used for system logs).
+
+ Make certain the .htaccess file exists and is readable by everybody, then
+look for the existence of "AllowOverride None" in the Apache server
+configuration for your site. This will need to be changed to
+"AllowOverride All".
+
+ If you do not see the word "test", your .htaccess is working, but it is
+likely that mod-rewrite is not installed in your web server or is not working.
+
+ On most flavour of Linux,
+
+% a2enmod rewrite
+% /etc/init.d/apache2 restart
+
+ Consult your hosting provider, experts on your particular Linux
+distribution or (if Windows) the provider of your Apache server software if
+you need to change either of these and can not figure out how. There is
+a lot of help available on the web. Google "mod-rewrite" along with the
+name of your operating system distribution or Apache package (if using
+Windows).
+
+
+#####################################################################
+- If you are unable to write the file .htconfig.php during installation
+due to permissions issues:
+#####################################################################
+
+ create an empty file with that name and give it world-write permission.
+For Linux:
+
+% touch .htconfig.php
+% chmod 777 .htconfig.php
+
+Retry the installation. As soon as the database has been created,
+
+******* this is important *********
+
+% chmod 755 .htconfig.php
+