- 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) [Note: other options are presented in Section 7 of this document]
+(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
****************************************************************************
****************************************************************************
-7. Set up a cron job or scheduled task to run the poller once every 5-10
+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
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
+