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.
+with you. We plan to address this limitation in a future release. Also decide
+if you wish to connect with members of the Diaspora network, as this will
+impact the installation requirements.
+
+Decide if you will use SSL and obtain an SSL cert. Communications with the
+Diaspora network MAY require both SSL AND an SSL cert signed by a CA which is
+recognised by the major browsers. Friendika will work with self-signed certs
+but Diaspora communication may not. For best results, install your cert PRIOR
+to installing Friendika and when visiting your site for the initial
+installation in step 5, please use the https: link. (Use the http: or non-SSL
+link if your cert is self-signed).
1. Requirements
- Apache with mod-rewrite enabled and "Options All" so you can use a
local .htaccess file
- - PHP 5.2+. The later the better. You'll need 5.3 for encryption of key
-exchange conversations
+ - PHP 5.2+. The later the better. PHP 5.3 is required for communications
+with the Diaspora network and improved security.
+
- PHP *command line* access with register_argc_argv set to true in the
-php.ini file
- - curl, gd, mysql, mbstring, and openssl extensions
+php.ini file [or see 'poormancron' in section 8]
+
+ - curl, gd, mysql, mbstring, mcrypt, 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
(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
-not be as convenient to use and have not been thoroughly tested.
-
- [Dreamhost.com offers all of the necessary hosting features at a
-reasonable price. If your hosting provider doesn't allow Unix shell access,
-you might have trouble getting everything to work.]
+directory/path component in the URL) is preferred. This is REQUIRED if
+you wish to communicate with the Diaspora network.
2. Unpack the Friendika files into the root of your web server document area.
.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.
+note any error messages and correct these before continuing. If you are using
+SSL with a known signature authority (recommended), use the https: link to your
+website. If you are using a self-signed cert or no cert, use the http: link.
6. *If* the automated installation fails for any reason, check the following:
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
+step if you are using a recent Friendika 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 plugins. On a fresh
installation, it will look like
and save your changes.
-
+
#####################################################################
If things don't work...
logger('facebook: fb_get_friends: ' . $s, LOGGER_DATA);
$j = json_decode($s);
logger('facebook: fb_get_friends: json: ' . print_r($j,true), LOGGER_DATA);
+ if(! $j->data)
+ return;
foreach($j->data as $person) {
$s = fetch_url('https://graph.facebook.com/' . $person->id . '?access_token=' . $access_token);
if($s) {
require_once("include/pgettext.php");
-define ( 'FRIENDIKA_VERSION', '2.2.1079' );
+define ( 'FRIENDIKA_VERSION', '2.2.1080' );
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
define ( 'DB_UPDATE_VERSION', 1081 );
$sql_extra .= " AND `network` IN ( 'dfrn' ) ";
}
elseif($privatenet) {
- $sql_extra .= " AND `network` IN ( 'dfrn', 'mail', 'face' ) ";
+ $sql_extra .= " AND `network` IN ( 'dfrn', 'mail', 'face', 'dspr' ) ";
}
$xrd_timeout = intval(get_config('system','xrd_timeout'));
$redirects = 0;
- $xml = fetch_url($url,false,$redirects,(($xrd_timeout) ? $xrd_timeout : 30));
+ $xml = fetch_url($url,false,$redirects,(($xrd_timeout) ? $xrd_timeout : 20));
logger('fetch_xrd_links: ' . $xml, LOGGER_DATA);
$timeout = ((x($_POST,'timeout')) ? intval(trim($_POST['timeout'])) : 60);
$dfrn_only = ((x($_POST,'dfrn_only')) ? True : False);
$ostatus_disabled = !((x($_POST,'ostatus_disabled')) ? True : False);
+ $diaspora_enabled = ((x($_POST,'diaspora_enabled')) ? True : False);
set_config('config','sitename',$sitename);
set_config('system','curl_timeout', $timeout);
set_config('system','dfrn_only', $dfrn_only);
set_config('system','ostatus_disabled', $ostatus_disabled);
+ set_config('system','diaspora_enabled', $diaspora_enabled);
info( t('Site settings updated.') . EOL);
goaway($a->get_baseurl() . '/admin/site' );
'$no_utf' => array('no_utf', t("UTF-8 Regular expressions"), !get_config('system','no_utf'), "Use PHP UTF8 regular expressions"),
'$no_community_page' => array('no_community_page', t("Show Community Page"), !get_config('system','no_community_page'), "Display a Community page showing all recent public postings on this site."),
'$ostatus_disabled' => array('ostatus_disabled', t("Enable OStatus support"), !get_config('system','ostatus_disable'), "Provide built-in OStatus \x28identi.ca, status.net, etc.\x29 compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed."),
+ '$diaspora_enabled' => array('diaspora_enabled', t("Enable Diaspora support"), get_config('system','diaspora_enabled'), "Provide built-in Diaspora network compatibility."),
'$dfrn_only' => array('dfrn_only', t('Only allow Friendika contacts'), get_config('system','dfrn_only'), "All contacts must use Friendika protocols. All other built-in communication protocols disabled."),
'$verifyssl' => array('verifyssl', t("Verify SSL"), get_config('system','verifyssl'), "If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites."),
'$proxyuser' => array('proxyuser', t("Proxy user"), get_config('system','proxyuser'), ""),
{{ inc field_checkbox.tpl with $field=$force_publish }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_community_page }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$ostatus_disabled }}{{ endinc }}
+ {{ inc field_checkbox.tpl with $field=$diaspora_enabled }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$dfrn_only }}{{ endinc }}
{{ inc field_input.tpl with $field=$global_directory }}{{ endinc }}