Minimum System Requirements

Both #V2 and arpReach are PHP software that is installed on your own web hosting account, whether on shared hosting or on your own VPS or dedicated server.

You can use the standard Sendmail or SMTP sending facilities offered by your web host or send emails through third-party SMTP providers such as SendGrid, Mailjet, SMTP.com, or Amazon SES.

Hosting requirements

#V2 and arpReach run on most shared hosting, VPS, and dedicated servers. DirectAdmin or cPanel-based hosting are generally suitable, easy to manage, and work great with both software. Plesk-based hosting is also compatible.

To run #V2 or arpReach, you need the following:

  • A website hosted with a working domain name (not just an IP address)
  • MySQL 5.7 or greater (InnoDB type used)
  • Minimum PHP requirements:
    #
    V2
    PHP7.1.x or greater (#V2 will NOT run with PHP 5.x.x.)
    arpReach: PHP 5.6* or greater (arpReach may run on prior versions of PHP. However, we are unable to provide support assistance for any installation using an older version than what is recommended.)
  • Ability to create and run “command line” cron/scheduled tasks that are not time-limited (wget/http not suitable) and access to create these tasks (e.g., cPanel)
  • FTP access for installing and configuring arpReach

Your server will also need the following, which are commonly available on most servers:

  • register_globals OFF
  • safe_mode OFF
  • max_execution_time = 0
  • cgi.fix_pathinfo = 1 (for CGI/FastCGI)
  • php-cli module (PHP 5.5 or greater is needed at the command line.)
  • php-imap module (When using or upgrading to PHP 5.6+, this module will not be available even if it was previously.)
  • MySQL extension (The strict ONLY_FULL_GROUP_BY option must be removed from the “sql mode” of your MySQL.)
  • curl extension
  • GD extension
  • JSON extension
  • Open SSL extension
  • Local MTA (Sendmail, Postfix, Exim, etc.) or local or remote SMTP provider
  • Ports 25, 587, and 465 (SSL/TLS) need to be open for inbound and outbound traffic when using third-party ESPs
  • We recommend at least 256M of memory is allocated to PHP, but you may need to set it higher depending on how large your list is. The memory MUST be applied to both http PHP AND php-cli which is used for cron tasks.
  • SpamAssassin Module (optional, used for spam scoring)
  • escapeshellcmd & escapeshellarg enabled in php.ini
  • SSL certificate for server/hostname when using PHP 5.6 or greater

We recommend that your web hosting environment uses the Apache web server and not Nginx. While we love Nginx, it requires specialist configuration depending on the server modules used. If you have a good server admin who understands and works with Nginx daily, do give it a try. For most users, Apache will be great.

If you are in doubt as to whether your system configuration meets the minimum requirements, please contact your web hosting company and direct them to this page. They will be able to advise you.

Server specification

There is no one-size-fits-all solution or recommendation for server specification, but the following can be used as a guideline for working out how much RAM you should allocate as a minimum.

LIST SIZEMINIMUM RAM
>10K2Gb
50K – 100K4Gb
250K8Gb

These are not linear dependencies. The larger your logs, the more RAM you will need. The larger your suppression list, the more RAM you will need.