X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=INSTALL;h=0483320a78bc08795afbde082346043a583d37a9;hb=b15f5f0cafc08c9b63090c5b4f7494fca0634238;hp=273934ed010d0b0128db148f91e4e35ecfbeee43;hpb=1945a3152e456d0090651cec431aa06dfbba3e96;p=quix0rs-gnu-social.git diff --git a/INSTALL b/INSTALL index 273934ed01..0483320a78 100644 --- a/INSTALL +++ b/INSTALL @@ -1,15 +1,34 @@ +TABLE OF CONTENTS +================= +* Prerequisites + - PHP modules + - Better performance +* Installation + - Getting it up and running + - Fancy URLs + - Sphinx + - SMS + - Queues and daemons + - Themes + - Translation + - Backups + - Private + Prerequisites ============= +PHP modules +----------- + The following software packages are *required* for this software to run correctly. -- PHP 5.3.2+ 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 +- MariaDB 5+ GNU Social uses, by default, a MariaDB server for data storage. Versions 5.x and 10.x have both reportedly - worked well. It is also possible to run MySQL 5.x. + worked well. It is also possible to run MySQL 5.5+. - Web server Apache, lighttpd and nginx will all work. CGI mode is recommended and also some variant of 'suexec' (or a proper setup php-fpm pool) @@ -18,23 +37,26 @@ run correctly. Your PHP installation must include the following PHP extensions for a functional setup of GNU Social: -- Curl Fetching files by HTTP. -- XMLWriter For formatting XML and HTML output. -- 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). +- openssl (compiled in for Debian, enabled manually in Arch Linux) +- php5-curl Fetching files by HTTP. +- php5-gd Image manipulation (scaling). +- php5-gmp For Salmon signatures (part of OStatus). +- php5-json For WebFinger lookups and more. +- php5-mysqlnd The native driver for PHP5 MariaDB connections. If you + use MySQL, 'mysql' or 'mysqli' may work. + +The above package names are for Debian based systems. In the case of +Arch Linux, PHP is compiled with support for most extensions but they +require manual enabling in the relevant php.ini file (mostly php5-gmp). Better performance ------------------ For some functionality, you will also need the following extensions: -- memcache A client for the memcached server, which caches database - information in volatile memory. This is important for - adequate performance on high-traffic sites. You will - also need a memcached server to store the data in. +- opcache Improves performance a _lot_. Included in PHP, must be + enabled manually in php.ini for most distributions. Find + and set at least: opcache.enable=1 - mailparse Efficient parsing of email requires this extension. Submission by email or SMS-over-email uses this. - sphinx A client for the sphinx server, an alternative to MySQL @@ -44,61 +66,16 @@ For some functionality, you will also need the following extensions: 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 -is 'xcache', which after installation (php5-xcache) can be enabled in -your site's config.php with: - - addPlugin('XCache'); - -External libraries ------------------- - -A number of external PHP libraries are used to provide basic -functionality and optional functionality for your system. For your -convenience, they are available in the "extlib" directory of this -package, and you do not have to download and install them. However, -you may want to keep them up-to-date with the latest upstream version, -and the URLs are listed here for your convenience. - -- DB_DataObject http://pear.php.net/package/DB_DataObject -- Validate http://pear.php.net/package/Validate -- OpenID by Janrain, http://janrain.com/openid-enabled/ -- PEAR DB. Although this is an older data access system (new - packages should use PDO), the OpenID libraries depend on PEAR DB - or MDB2. -- OAuth.php from http://oauth.googlecode.com/svn/code/php/ -- markdown.php from http://michelf.com/projects/php-markdown/ -- PEAR Mail, for sending out mail notifications - http://pear.php.net/package/Mail -- PEAR Net_SMTP, if you use the SMTP factory for notifications - http://pear.php.net/package/Net_SMTP -- PEAR Net_Socket, if you use the SMTP factory for notifications - http://pear.php.net/package/Net_Socket -- XMPPHP, the follow-up to Class.Jabber.php. Probably the best XMPP - library available for PHP. http://xmpphp.googlecode.com/. Note that - as of this writing the version of this library that is available in - the extlib directory is *significantly different* from the upstream - version (patches have been submitted). Upgrading to the upstream - version may render your StatusNet site unable to send or receive XMPP - messages. -- Facebook library. Used for the Facebook application. -- PEAR Validate is used for URL and email validation. -- Console_GetOpt for parsing command-line options. - predecessor to OStatus. -- HTTP_Request2, a library for making HTTP requests. -- PEAR Net_URL2 is an HTTP_Request2 dependency. - -A design goal of GNU Social is that the basic Web functionality should -work on even the most restrictive commercial hosting services. -However, additional functionality, such as receiving messages by XMPP, -require that you be able to run long-running processes on your account. -In addition, posting by email require that you be able to install a mail -filter in your mail server. +You may also experience better performance from your site if you configure +a PHP cache/accelerator. Most distributions come with "opcache" support. +Enable it in your php.ini, it is documented there together with its settings. Installation ============ +Getting it up and running +------------------------- + Installing the basic GNU Social web component is relatively easy, especially if you've previously installed PHP/MariaDB packages. @@ -306,10 +283,6 @@ For this to work, there *must* be a domain or sub-domain for which all $config['mail']['domain'] = 'yourdomain.example.net'; -At this point, post-by-email and post-by-SMS-gateway should work. Note -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. Queues and daemons @@ -431,10 +404,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.