X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=INSTALL;h=57888e008fbf94d7b60f81f545b9a5cea672812e;hb=8674b51144b8a646dceb63c3187d0f90741af3ed;hp=e211cf13129aa3c2df8d221ca17624ad8bd71cd7;hpb=ce37edc1b0bfc6e8fc31cd1a1a53dca99aa21e7e;p=quix0rs-gnu-social.git diff --git a/INSTALL b/INSTALL index e211cf1312..57888e008f 100644 --- a/INSTALL +++ b/INSTALL @@ -4,7 +4,7 @@ Prerequisites The following software packages are *required* for this software to run correctly. -- PHP 5.3+ For newer versions, some functions that are used may be +- PHP 5.4+ For newer versions, some functions that are used may be disabled by default, such as the pcntl_* family. See the section on 'Queues and daemons' for more information. - MariaDB 5.x GNU Social uses, by default, a MariaDB server for data @@ -20,10 +20,11 @@ functional setup of GNU Social: - Curl Fetching files by HTTP. - XMLWriter For formatting XML and HTML output. -- mysqlnd The native driver for PHP5 MySQL/MariaDB connections. +- mysqlnd The native driver for PHP5 MariaDB connections. If you + use MySQL, 'mysql' or 'mysqli' may work. - GD Image manipulation (scaling). - mbstring For handling Unicode (UTF-8) encoded strings. -- bcmath or gmp For Salmon signatures (part of OStatus) +- bcmath or gmp For Salmon signatures (part of OStatus). Better performance ------------------ @@ -41,6 +42,7 @@ For some functionality, you will also need the following extensions: Sphinx server to serve the search queries. - gettext For multiple languages. Default on many PHP installs; will be emulated if not present. +- exif For thumbnails to be properly oriented. You may also experience better performance from your site if you install a PHP bytecode cache/accelerator. Currently the recommended cache module @@ -309,70 +311,46 @@ that if your mail server is on a different computer from your email server, you'll need to have a full installation of StatusNet, a working config.php, and access to the StatusNet database from the mail server. -XMPP ----- -XMPP (eXtended Message and Presence Protocol, ) is the -instant-messenger protocol that drives Jabber and GTalk IM. You can -distribute messages via XMPP using the system below; however, you -need to run the XMPP incoming daemon to allow incoming messages as -well. - -1. You may want to strongly consider setting up your own XMPP server. - Ejabberd, OpenFire, and JabberD are all Open Source servers. - Jabber, Inc. provides a high-performance commercial server. +Queues and daemons +------------------ -2. You must register a Jabber ID (JID) with your new server. It helps - to choose a name like "update@example.com" or "notice" or something - similar. Alternately, your "update JID" can be registered on a - publicly-available XMPP service, like jabber.org or GTalk. +Some activities that StatusNet needs to do, like broadcast OStatus, SMS, +XMPP messages and TwitterBridge operations, can be 'queued' and done by +off-line bots instead. - StatusNet will not register the JID with your chosen XMPP server; - you need to do this manually, with an XMPP client like Gajim, - Telepathy, or Pidgin.im. +Two mechanisms are available to achieve offline operations: -3. Configure your site's XMPP variables, as described below in the - configuration section. +* New embedded OpportunisticQM plugin, which is enabled by default +* Legacy queuedaemon script, which can be enabled via config file. -On a default installation, your site can broadcast messages using -XMPP. Users won't be able to post messages using XMPP unless you've -got the XMPP daemon running. See 'Queues and daemons' below for how -to set that up. Also, once you have a sizable number of users, sending -a lot of SMS, OStatus, and XMPP messages whenever someone posts a message -can really slow down your site; it may cause posting to timeout. +### OpportunisticQM plugin -NOTE: stream_select(), a crucial function for network programming, is -broken on PHP 5.2.x less than 5.2.6 on amd64-based servers. We don't -work around this bug in StatusNet; current recommendation is to move -off of amd64 to another server. +This plugin is enabled by default. It tries its best to do background +job during regular HTTP requests, like API or HTML pages calls. -Public feed ------------ +Since queueing system is enabled by default, notices to be broadcasted +will be stored, by default, into DB (table queue_item). -You can send *all* messages from your social networking site to a -third-party service using XMPP. This can be useful for providing -search, indexing, bridging, or other cool services. +Each time it can, OpportunisticQM will try to handle some of them. -To configure a downstream site to receive your public stream, add -their "JID" (Jabber ID) to your config.php as follows: +This is a good solution whether you: - $config['xmpp']['public'][] = 'downstream@example.net'; +* have no access to command line (shared hosting) +* do not want to deal with long-running PHP processes +* run a low traffic GNU social instance -(Don't miss those square brackets at the end.) Note that your XMPP -broadcasting must be configured as mentioned above. Although you can -send out messages at "Web time", high-volume sites should strongly -consider setting up queues and daemons. +In other case, you really should consider enabling the queuedaemon for +performance reasons. Background daemons are necessary anyway if you wish +to use the Instant Messaging features such as communicating via XMPP. -Queues and daemons ------------------- +### queuedaemon -Some activities that StatusNet needs to do, like broadcast OStatus, SMS, -and XMPP messages, can be 'queued' and done by off-line bots instead. -For this to work, you must be able to run long-running offline -processes, either on your main Web server or on another server you -control. (Your other server will still need all the above -prerequisites, with the exception of Apache.) Installing on a separate -server is probably a good idea for high-volume sites. +If you want to use legacy queuedaemon, you must be able to run +long-running offline processes, either on your main Web server or on +another server you control. (Your other server will still need all the +above prerequisites, with the exception of Apache.) Installing on a +separate server is probably a good idea for high-volume sites. 1. You'll need the "CLI" (command-line interface) version of PHP installed on whatever server you use. @@ -398,6 +376,7 @@ server is probably a good idea for high-volume sites. server!), set the following variable: $config['queue']['enabled'] = true; + $config['queue']['daemon'] = true; You may also want to look at the 'daemon' section of this file for more daemon options. Note that if you set the 'user' and/or 'group' @@ -411,7 +390,7 @@ This will run the queue handlers: * queuedaemon.php - polls for queued items for inbox processing and pushing out to OStatus, SMS, XMPP, etc. * imdaemon.php - if an IM plugin is enabled (like XMPP) -* other daemons that you may have enabled +* other daemons, like TwitterBridge ones, that you may have enabled These daemons will automatically restart in most cases of failure including memory leaks (if a memory_limit is set), but may still die @@ -452,10 +431,6 @@ subdirectory with the name of your theme. Each theme can have the following files: display.css: a CSS2 file for "default" styling for all browsers. -ie6.css: a CSS2 file for override styling for fixing up Internet - Explorer 6. -ie7.css: a CSS2 file for override styling for fixing up Internet - Explorer 7. logo.png: a logo image for the site. default-avatar-profile.png: a 96x96 pixel image to use as the avatar for users who don't upload their own.