Difference between revisions of "System Requirements"

Line 1: Line 1:
{{alert|<center>'''Note:''' This article covers the system requirements for '''JomSocial 2.x''' series. If you need requirements for '''JomSocial 3''', please [[JomSocial 3 System Requirements|click here]]</center>|alert-danger}}
+
{{alert|<center>'''Note:''' This article covers the system requirements for '''JomSocial 3'''. If you need requirements for '''JomSocial 2.x''' series, please [[System Requirements|click here]]</center>|alert-danger}}
=== Basic System Requirements ===
+
'''JomSocial is an extension for Joomla. To be able to use JomSocial, you would first need to install Joomla on your web host.'''
+
We recommend using the latest stable version of Joomla (currently 2.5) to enjoy its latest features and security improvements. JomSocial supports the minimum requirement of:
+
* Joomla 2.5.6 or above
+
  
For the server, make sure it has:
+
==Joomla! Requirements==
# PHP 5.3 or above
+
{{alert|'''JomSocial is an extension for Joomla. To be able to use JomSocial, you would first need to install Joomla on your web host.'''|alert}}
 +
We recommend using the latest stable version of Joomla (currently 3.1) to enjoy its latest features and security improvements. JomSocial 3 supports the minimum of:
 +
* Joomla! 2.5.6 or above
 +
* Joomla! 3.0 and above
 +
To see full compatibility sheet list, please, visit [[Joomla Versions Compatibility|this page]]
 +
 
 +
==Server Requirements==
 +
# PHP 5.3.1 or above
 
# MySQL 4.1 or above
 
# MySQL 4.1 or above
 +
#* '''Temporary Tables''' - Your database user must have the priviledge to create temporary tables.
 +
# JomSocial 3 also requires several PHP extensions, which are available in most webhosting providers:
 +
#* '''GD library''' - at least v1.8 with libjpeg to process images. Alternatively, you can use [http://www.imagemagick.org/script/index.php imagemagick]
 +
#* '''cURL library''' - for [[Linking Video|Video Linking]] and [[Setting up Facebook Connect|Facebook Connect]]
 +
#* '''zip'''
 +
#* '''fsockopen''' - for [[Setting up Facebook Connect|Facebook Connect]]
 +
# For video uploads, you will need:
 +
#* '''[http://ffmpeg.org/ FFMPEG]''' - to convert uploaded videos. Most shared webhosting providers disable this option because it consumes a lot of memory and processing power. Please consult your webhosting provider regarding the availability of FFMPEG on your server. It is advisable to at least have VPS before you consider allowing video uploading.
 +
#* '''exec/passthru/shell_exec/system access'''
 +
#*  '''(Optional) FLVTool2''' -, for adding metadata to your video
 +
# [[Setting up Cron Job|Cron Jobs]].- To trigger emails ready to be send, as well as triggering the FFMPEG to convert videos
  
JomSocial also requires several PHP extensions, which are available in most webhosting providers:
+
{{alert|'''Note in ImageMagick:''' To process images, photo upload relies heavily on the GD Library, which uses a lot of memory. For better performance, use ImageMagick instead, if your server supports it.|alert-info}}
# GD library, at least v1.8 with libjpeg
+
{{alert|If you want to allow big images and video files upload (over 1GB) please, [[Video Linking & Upload Requirements|'''check full requirements here''']]|alert}}
# cURL library
+
# zip
+
# fsockopen
+
  
That's almost all you need for most of JomSocial's basic functionality to work. For more advanced features, including faster photo uploading, video uploading, and Facebook Connect, follow the sections below.
+
==System Specifications==
 +
===PHP and MySQL Configurations===
 +
<table>
 +
  <caption>'''To be able to install JomSocial 3, your server PHP and MySQL environment will have to meet these specifications'''</caption>
 +
    <tr>
 +
      <th class="span1"><center>'''File'''</center></th>
 +
      <th class="span3"><center>'''Value'''</center></th>
 +
      <th class="span4 warning"><center>'''Minimum'''</center></th>
 +
      <th class="span4 success"><center>'''Recommended'''</center></th>
 +
    </tr>
 +
<!-- First Table Row -->
 +
    <tr>
 +
      <td><center>php.ini</center></td>
 +
      <td><center>{{pop|max_execution_time|Maximum Execution Time|Maximum execution time of each script, in seconds.}}</center></td>
 +
      <td class="warning"><center>30</center></td>
 +
      <td class="success"><center>300</center></td>
 +
    </tr>
 +
<!-- First Table Row -->
 +
<!-- Second Table Row -->
 +
    <tr>
 +
      <td><center>php.ini</center></td>
 +
      <td><center>{{pop|max_input_time|Maximum Input Tme|Maximum amount of time each script may spend parsing request data}}</center></td>
 +
      <td class="warning"><center>30</center></td>
 +
      <td class="success"><center>300</center></td>
 +
    </tr>
 +
<!-- Second Table Row -->
 +
<!-- Third Table Row -->
 +
    <tr>
 +
      <td><center>php.ini</center></td>
 +
      <td><center>{{pop|memory_limit|PHP Memory Limit|Maximum amount of memory a script may consume}}</center></td>
 +
      <td class="warning"><center>128M</center></td>
 +
      <td class="success"><center>1024M</center></td>
 +
    </tr>
 +
<!-- Third Table Row -->
 +
<!-- Fourth Table Row -->
 +
    <tr>
 +
      <td><center>php.ini</center></td>
 +
      <td><center>{{pop|post_max_size|Maximum Size of POST Data|Maximum size of POST data that PHP will accept}}</center></td>
 +
      <td class="warning"><center>6M</center></td>
 +
      <td class="success"><center>4096M</center></td>
 +
    </tr>
 +
<!-- Fourth Table Row -->
 +
<!-- Fifth Table Row -->
 +
    <tr>
 +
      <td><center>php.ini</center></td>
 +
      <td><center>{{pop|upload_max_filesize|Maximum Filesize for Upload|Maximum allowed size for uploaded files.}}</center></td>
 +
      <td class="warning"><center>6M</center></td>
 +
      <td class="success"><center>4096M</center></td>
 +
    </tr>
 +
<!-- Fifth Table Row -->
 +
<!-- Sixt Table Row -->
 +
    <tr>
 +
      <td><center>my.cnf</center></td>
 +
      <td><center>connect_timeout</center></td>
 +
      <td class="warning"><center>10</center></td>
 +
      <td class="success"><center>120</center></td>
 +
    </tr>
 +
<!-- Sixt Table Row -->
 +
<!-- Seventh Table Row -->
 +
    <tr>
 +
      <td><center>my.cnf</center></td>
 +
      <td><center>wait_timeout</center></td>
 +
      <td class="warning"><center>10</center></td>
 +
      <td class="success"><center>120</center></td>
 +
    </tr>
 +
<!-- Seventh Table Row -->
 +
</table>
  
=== How to Check for System Specifications ===
+
===How to Check for System Specifications===
 
You can check most of the requirements below by accessing Joomla's backend via your Administrator Panel and going to Help > System Info > System Information and PHP Information tab. However, for the most complete overview of your server configuration, contact your webhosting provider.
 
You can check most of the requirements below by accessing Joomla's backend via your Administrator Panel and going to Help > System Info > System Information and PHP Information tab. However, for the most complete overview of your server configuration, contact your webhosting provider.
 
::: [[File:jsysinfo.png]]
 
::: [[File:jsysinfo.png]]
 
::: [[File:jphpinfo.png]]
 
::: [[File:jphpinfo.png]]
  
=== Photo Upload Requirements ===
+
==Additional Requirements==
To process images, photo upload relies heavily on the GD Library, which uses a lot of memory. For better performance, use ImageMagick instead, if your server supports it.
+
# Minimum: '''GD library'''.
+
# Recommended: '''ImageMagick'''. It will require exec/passthru/shell_exec/system access.
+
 
+
=== Video Upload Requirements ===
+
==== Video Linking ====
+
Linking from external websites, such as YouTube, Metacafe, and Vimeo only requires cURL to be installed, which is available on most servers today.
+
* cURL library
+
 
+
==== Video Upload ====
+
Video upload uses [http://ffmpeg.org/ FFMPEG] to convert videos. Most shared webhosting providers disable this option because it consumes a lot of memory and processing power. Please consult your webhosting provider regarding the availability of FFMPEG on your server. It is advisable to at least have VPS before you consider allowing video uploading.
+
# Minimum: FFMPEG; to get it running, it also requires exec/passthru/shell_exec/system access
+
# Optional: FLVTool2, for adding metadata to your video
+
 
+
Unlike other extensions, the path to FFMPEG and FLVTool2 need to be specified on your JomSocial backend. Go to Site > Configuration and look for the "Videos" section. There you will find the fields to set both paths.
+
 
+
::: [[File:ffmpegsettings.png]]
+
 
+
One last thing that JomSocial needs to process the video is a Cronjob (scheduled task). Make sure your Cronjob is configured properly by referring to [[Setting up Cron Job|this documentation]].
+
 
+
===  Large Photo/Video Uploads ===
+
When it comes to large photo/video uploads, there are a few server configurations that you can tweak to the get the most out of JomSocial:
+
 
+
'''php.ini'''
+
# max_execution_time = 9000; Maximum execution time of each script, in seconds.
+
# max_input_time = 9000; Maximum amount of time each script may spend parsing request data.
+
# memory_limit = 1024M; Maximum amount of memory a script may consume.
+
# post_max_size = 1024M; Maximum size of POST data that PHP will accept.
+
# upload_max_filesize = 1024M; Maximum allowed size for uploaded files.
+
 
+
'''my.cnf'''
+
# wait_timeout = 120
+
# connect_timeout = 120
+
 
+
 
'''Disable safe_mode and open_basedir'''
 
'''Disable safe_mode and open_basedir'''
 
Some webhosting providers have safe_mode and openbase_dir enabled. In order for the photo/video upload to work, you have to disable them. If your webhosting provier allows you to override the Apache's configuration, you need to override the vhost configuration.
 
Some webhosting providers have safe_mode and openbase_dir enabled. In order for the photo/video upload to work, you have to disable them. If your webhosting provier allows you to override the Apache's configuration, you need to override the vhost configuration.
Line 66: Line 109:
 
# php_admin_value open_basedir none
 
# php_admin_value open_basedir none
  
=== Temporary Tables ===
+
==A Note on PHP Memory Requirements==
 
+
Your database user must be granted permission to create temporary database tables. Ideally, the database user should have full permissions, but some webhosting providers set limits on the database user privileges. If that is the case, it would be advisable to switch providers since even the cheapest shared hosting today offers what you see on the screen below:
+
 
+
::: [[File:CPanelmysqluser.png]]
+
 
+
=== Facebook Connect Requirements ===
+
 
+
Before you begin implementing the '''Facebook Connect''' feature on your website, make sure you have read the '''Facebook Connect Policy'''.
+
All of the extensions needed for Facebook Connect shown below, are already included in the basic requirements:
+
# GD library
+
# cURL library
+
# fsockopen
+
 
+
Please also ensure that there are no Javascript or jQuery conflicts on your site because it will lead to an error in executing Facebook Connect. We recommend that you use Firebug (a Firefox add-on) to identify and debug such issues.
+
 
+
=== A Note on PHP Memory Requirements ===
+
 
JomSocial is developed to run adequately on a system with just 32MB of memory allocated to PHP. However, please note that the development site uses the default template with no additional third-party modules or plugins enabled. Sites with third-party plugins and modules enabled will consume a lot more memory; thus, we recommend that you increase your memory limit.
 
JomSocial is developed to run adequately on a system with just 32MB of memory allocated to PHP. However, please note that the development site uses the default template with no additional third-party modules or plugins enabled. Sites with third-party plugins and modules enabled will consume a lot more memory; thus, we recommend that you increase your memory limit.
  
That having been said, since all applications will run better with more memory, we recommend that you allocate at least 64MB of memory to PHP. The following tasks will consume a lot of memory:
+
That having been said, since all applications will run better with more memory, we recommend that you allocate at least 128MB of memory to PHP. The following tasks will consume a lot of memory:
 
# resizing uploaded user avatar
 
# resizing uploaded user avatar
 
# resizing any photos uploaded by user
 
# resizing any photos uploaded by user
# converting uploaded videos to Flash .swf
+
# converting uploaded videos to .mp4

Revision as of 14:01, 20 June 2013

Note: This article covers the system requirements for JomSocial 3. If you need requirements for JomSocial 2.x series, please click here

Joomla! Requirements

JomSocial is an extension for Joomla. To be able to use JomSocial, you would first need to install Joomla on your web host.

We recommend using the latest stable version of Joomla (currently 3.1) to enjoy its latest features and security improvements. JomSocial 3 supports the minimum of:

  • Joomla! 2.5.6 or above
  • Joomla! 3.0 and above

To see full compatibility sheet list, please, visit this page

Server Requirements

  1. PHP 5.3.1 or above
  2. MySQL 4.1 or above
    • Temporary Tables - Your database user must have the priviledge to create temporary tables.
  3. JomSocial 3 also requires several PHP extensions, which are available in most webhosting providers:
  4. For video uploads, you will need:
    • FFMPEG - to convert uploaded videos. Most shared webhosting providers disable this option because it consumes a lot of memory and processing power. Please consult your webhosting provider regarding the availability of FFMPEG on your server. It is advisable to at least have VPS before you consider allowing video uploading.
    • exec/passthru/shell_exec/system access
    • (Optional) FLVTool2 -, for adding metadata to your video
  5. Cron Jobs.- To trigger emails ready to be send, as well as triggering the FFMPEG to convert videos
Note in ImageMagick: To process images, photo upload relies heavily on the GD Library, which uses a lot of memory. For better performance, use ImageMagick instead, if your server supports it.
If you want to allow big images and video files upload (over 1GB) please, check full requirements here

System Specifications

PHP and MySQL Configurations

To be able to install JomSocial 3, your server PHP and MySQL environment will have to meet these specifications
File
Value
Minimum
Recommended
php.ini
max_execution_time
30
300
php.ini
max_input_time
30
300
php.ini
memory_limit
128M
1024M
php.ini
post_max_size
6M
4096M
php.ini
upload_max_filesize
6M
4096M
my.cnf
connect_timeout
10
120
my.cnf
wait_timeout
10
120

How to Check for System Specifications

You can check most of the requirements below by accessing Joomla's backend via your Administrator Panel and going to Help > System Info > System Information and PHP Information tab. However, for the most complete overview of your server configuration, contact your webhosting provider.

Jsysinfo.png
Jphpinfo.png

Additional Requirements

Disable safe_mode and open_basedir Some webhosting providers have safe_mode and openbase_dir enabled. In order for the photo/video upload to work, you have to disable them. If your webhosting provier allows you to override the Apache's configuration, you need to override the vhost configuration.

  1. php_admin_flag safe_mode off
  2. php_admin_value open_basedir none

If your webhosting provider allows for .htaccess override, locate your .htaccess file in the Joomla root directory and add these lines into it:

  1. php_admin_flag safe_mode off
  2. php_admin_value open_basedir none

A Note on PHP Memory Requirements

JomSocial is developed to run adequately on a system with just 32MB of memory allocated to PHP. However, please note that the development site uses the default template with no additional third-party modules or plugins enabled. Sites with third-party plugins and modules enabled will consume a lot more memory; thus, we recommend that you increase your memory limit.

That having been said, since all applications will run better with more memory, we recommend that you allocate at least 128MB of memory to PHP. The following tasks will consume a lot of memory:

  1. resizing uploaded user avatar
  2. resizing any photos uploaded by user
  3. converting uploaded videos to .mp4