Difference between revisions of "NATS Requirements"
Line 27: | Line 27: | ||
** Ensure open_files_limit is set to at least 20,000 | ** Ensure open_files_limit is set to at least 20,000 | ||
* [http://www.maxmind.com/ MaxMind GeoIP.] You must have at least the free version. Must install mod_geoip. Please ensure that you install the '''Apache''' Module for GeoIP, as this will not work without the GeoIP Apache API installed. | * [http://www.maxmind.com/ MaxMind GeoIP.] You must have at least the free version. Must install mod_geoip. Please ensure that you install the '''Apache''' Module for GeoIP, as this will not work without the GeoIP Apache API installed. | ||
− | * [http://php.net/ mod_PHP 5.2.] or higher. | + | * [http://php.net/ mod_PHP 5.2.] or higher, and below PHP 5.4 |
** install and enable [http://www.php.net/manual/en/mysql.installation.php mysql support] for php | ** install and enable [http://www.php.net/manual/en/mysql.installation.php mysql support] for php | ||
** Enable [http://us.php.net/ini.core <code>short_open_tag</code>] in your server's ''php.ini'' | ** Enable [http://us.php.net/ini.core <code>short_open_tag</code>] in your server's ''php.ini'' |
Revision as of 13:57, 10 May 2012
Software Requirements
Please verify the following programs are installed. Your host can install any missing or out-of-date programs.
- Linux or Unix, including BSD, Macintosh OS X, and Darwin
- You must not use Cpanel
- Apache
- Must not use mod_security
- Must not use Safe Mode
- Must have FollowSymLinks enabled in Apache for your NATS install.
- Apache must be able to use the directives specified in the nats/www/.htaccess file in your NATS install.
- MySQL version 5.1; for its database partitioning capability. (MySQL version 5.1 or above, and below MySQL 5.5)
- MySQL must also be accessible from the CLI, which may require changes to the my.cnf file
- The MySQL user must have all priviliges on the nats DB, grant is optional.
- Ensure that NO_UNSIGNED_SUBTRACTION is enabled
- Ensure that innodb_file_per_table is enabled in my.cnf
- Ensure that triggers can be created by the NATS user
- Example MySQL Command: GRANT CREATE TRIGGER ON <NATSDB>.* TO '<NATSUSER>'@'<DBHOST>';
- <NATSDB> = Your NATS database
- <NATSUSER> = The NATS user
- <DBHOST> = Your DB host
- If binary logging is enabled, you may need to set the log_bin_trust_function_creators variable. If this is not an option, you may provide SUPER privilege to the NATS DB user.
- Example MySQL Command: GRANT CREATE TRIGGER ON <NATSDB>.* TO '<NATSUSER>'@'<DBHOST>';
- Ensure open_files_limit is set to at least 20,000
- MaxMind GeoIP. You must have at least the free version. Must install mod_geoip. Please ensure that you install the Apache Module for GeoIP, as this will not work without the GeoIP Apache API installed.
- mod_PHP 5.2. or higher, and below PHP 5.4
- install and enable mysql support for php
- Enable
short_open_tag
in your server's php.ini - Disable
register_globals
in your server's php.ini - Ensure that iconv is installed.
- Disable session.auto_start in your server's php.ini
- PHP CLI (should be the same version used by apache and should use the same php.ini)
- Apache and the CLI must allow exec commands from PHP
- must have cURL with/Open SSL, GDlib (w/ freetype, JPEG, PNG, XPM), and mcrypt (with blowfish and ecb support) included)
- must have Ctype functions installed.
- Must not use Safe Mode
- ChartDirector The PHP version of ChartDirector appropriate to your OS should be installed in the PHP Extensions directory.
- unzip must be installed in /usr/bin/
- CVS
- Ensure your firewall doesn't block port 2401
- GNU Tar with Gzip
- Ioncube
- If possible ensure the "enable_dl" setting is turned on in php.ini
- FFMPEG
- MPlayer with all codecs Please ensure the GUI is not enabled
Server Requirements
NATS requires a Web-accessible domain. It should be the domain you plan on using permanently. For example: nats.example.com. Your domain must be Web-accessible before we start installing NATS.
Note: Make sure that your installation of NATS is on its own unique domain name. If NATS shares its domain name with any other site or content that uses cookies to store information, you will run into issues.
For example, if your site's domain name is www.example.com, your NATS installation should be located on another domain, such as www.examplecash.com
We also require secure shell (SSH) access. Please give us access to the same account you use to log in to the server. The account must be allowed to create files and folders in your user directory and replace the Apache VirtualHost directory with a symlink to your user directory. The user account must also be able to create a crontab entry.
Please create a new database in the current MySQL server. Grant all access to that database to a username and password of your choosing. Please make sure that the trigger privilege is for all the tables in the database. user Commands to create a database and grant all access to a specific user can be found in the MySQL documentation.
Please remove any server administration software. Server administration software might break NATS. We cannot support NATS issues arising from the interaction with server administration software.
Recommended Server Settings
We recommend that you use the following settings to ensure that NATS will run optimally, and avoid as much server stress and slowdown as possible. If your NATS system is getting stressed or otherwise running slowly, try using the following settings to remove on the NATS server and improve overall performance.
- 256MB memory allocation for PHP
- Allow Temp Tables to run in Memory (10MB or higher)
- Increase MySQL Cache Size (10MB or higher)
- Set up a slave database
- Our reporting runs off of the slave database, so getting reports and recording statistics will not slow down your join process when using a slave database.
- For more information, please see the "Database Server(s)" section of our NATS Multiple Server Setup wiki article.
- Move your database to another server
- For more information, please see the "Database Server(s)" section of our NATS Multiple Server Setup wiki article.
- Add multiple servers for load balancing
- For more information, please see the "Load Balancing Web Files" section of our NATS Multiple Server Setup wiki article.
- Use the Memcached PHP function to speed up your database
- For more information, please see our Using Memcached For Caching wiki article.
If you are using all of the settings listed above, and you are experiencing more stress or slowdown on your NATS server than you anticipated, please put in a support ticket.
Dedicated Server Required
For numerous reasons, NATS will not be installed on a shared server (this includes VPS systems). Performance issues, load issues, permissions issues, and directory restriction issues are just some of the potential reasons why it has been determined that NATS installations on a shared server cannot realistically be done. It's also common that shared servers will use control panel programs and/or have too many restrictions on functionality to operate properly or predictably.
Installation Information
After you server meets the above requirements, please reply to your install ticket saying that you have met the requirements and have the following information ready when we contact you:
- The SSH server IP or host address
- The SSH username
- The SSH password
- The SSH port
- The MySQL host name (even if its localhost, please specify)
- The MySQL database name
- The MySQL username
- The MySQL password
- The NATS admin and affiliate area domain
- Note: The document root cannot be a sub directory of another domain. Example: You have your domain, www.somesite.com. Nats can be installed under nats.somesite.com, but cannot be installed under www.somesite.com/nats/
- The Apache document root for the above domain
- Please give us written permission to overwrite the contents of this directory
- What type of encoding to use: Ioncube
We will email the above instructions to you after you purchase NATS. Please contact us if you have any questions even before your installation begins. Your host can help you with any questions you have about the software on this list.