====== Software requirements ====== GemsTracker is built in PHP 5.5 on top of the Zend Framework 1 and uses MySQL 5.5 or higher. As of version 1.8 GemsTracker is stored on [[https://github.com/GemsTracker|GitHub]]. The development team runs the software on both Windows and Unix systems using both Apache 2, Nginx and IIS 7 as servers. Additional web publication environments that support PHP 5.5 and MySQL should work, but we have not tested them so you are on your own. To use GemsTracker you need: * a working Webserver ([[http://httpd.apache.org|Apache]] or Nginx or IIS) * [[http://www.php.net|PHP]] 5.5 or higher * [[https://getcomposer.org/|Composer]] * [[https://www.git-scm.com|Git]] * access to a database on a [[http://www.mysql.com|MySQL server]] version 5.5 or higher (in version 5.7 strict mode must be disabled) * (optionally) a [[http://www.limesurvey.org|LimeSurvey]] 2.06/lts GemsTracker is built for plug-in survey engines, but the only survey engine currently available in open source is LimeSurvey. At least one other survey system has been implemented but it is not available in open source. === PHP Requirements === As of version 1.8 GemsTracker requires PHP 5.5 or higher. We advise using the latest PHP 5.6 version or the latest PHP 7 version, but at the moment PHP 7 has only been used on development and test systems. In PHP 5 these modules are required unless stated otherwise: * Apache (when using apache) * APC (strongly recommended) * Curl * Dom * Fileinfo * GD * Iconv * Intl * Json * libXML * Mcrypt * Multi-Byte string * MySqli * OpensSSL * SOAP * XMLReader * XMLWriter * Zip === MySQL Requirements === Both GemsTracker and LimeSurvey require access to MySQL databases. MySQL version 5.5 or higher is required. We advise MySQL version 5.6. MySQL version 5.7 has a strict mode that is enabled by default, but that causes know problems with GemsTracker. Using MySQL 5.7 with strict mode **disabled** should work fine. ===== General Installation notes ===== After you have gotten PHP, Composer, Git and the web-server working, install your project on the server (e.g. using ''git clone'') and make sure the htdocs folder of your project is accessible through the web-server. The use ''composer install'' to install all required libraries and modules not part of the PHP installation. The alternative to using git and composer on a server is to install both packages on another machine, download the software on that machine and transfer the files to the server. However: //we strongly advise against this// as this complicates future updates. ===== LimeSurvey Installation notes ===== We advise GemsTracker users to us the 2.06lts version of LimeSurvey. You can either download the zipfile from [[https://github.com/LimeSurvey/LimeSurvey/tree/2.06lts]] or clone the GitHub repository and switch to the 2.06lts version. Usually we install LimeSurvey in an ls subdirectory of the webroot of the GemsTracker installation. Browsing to the ls/admin page starts the installation wizard. ===== Windows Installation notes ===== GemsTracker with Internet Information Server works best on Windows 7 or Higher en Windows 2008 server and higher, i.e. IIS 7 or higher. With earlier versions of Windows we advise the use of Apache Web Server, e.g. though the installation of Xampp [[http://www.apachefriends.org/en/xampp.html]], as IIS 6 needs third party software to run GemsTracker. ==== Preparations for IIS 7 and higher ==== In the Windows 2008 "Server Manager" application, make sure the server role "Web Server (IIS)" is installed, with the role service "CGI" enabled. (You can right click the role to check.) On Windows Vista and Windows 7, enable in the "Control Panel" under "Programs" the Windows Feature: "Internet Information Services" => "World Wide Web Services" and next make sure the that under "Application Development Features" the "CGI" feature is enabled. The rest you can leave on the default settings. On existing installations make sure that under "Common HTTP Features" the feature "Default Document" is enabled. Download and install the **URL Rewrite** application from Microsoft. After installation (re)start the "Internet Information Services (IIS) Manager" and check on a site int the tree under your system under "Sites" for an "URL Rewrite" icon in the IIS group of features. You do not need to do anything else, as the configuration for this application is included with the default GemsTracker installation. Download the latest stable **PHP** version from [[http://php.net/]]. Install the latest version that has a Windows installer and choose the "Non Thread Safe" version if available. During installation choose "IIS FastCGI" for Web Server Setup and enable at least the required modules. The installation is now prepared, you can **test** the installation by creating in your web root (usually ''C:\inetpub\wwwroot'') a small file called ''phptest.php'' with this one line of content: On a standard IIS installation you should then see a page showing you PHP version information when you use this link: [[http://localhost/phptest.php]] on a browser on your server. Should you get any errors instead, just Google on what is wrong. ==== Installing MySQL ==== For MySQL you may first need to install the **Microsoft .NET 4 Framework**. Just download it from the Microsoft site and run a standard installation. Download the latest **MySQL** Community Server Edition from [[http://www.mysql.com/]]. Install the server; we advice to use the standard "Server" configuration, but you may choose the "Development" or "Custum" configurations if you prefer. During the rest of the installation you can use the default options, but do not forget to write down the password you must enter for the ''root'' user. If all is well MySQL is now up and running, as you can check in the Windows "Administrative Tools" => "Services" application, where you should see the MySQL service up and running; or you can login on the Windows command line using: mysql -uroot -ppassword Of course you should use the correct password you wrote down in the previous paragraph. This installation is sufficient for GemsTracker, but requires you to perform certain installation task using the MySQL command line. So usually the next step is to download the latest stable release of **phpMyAdmin** from [[https://www.phpmyadmin.net]]. After download extract he files e.g. to ''C:\inetpub\wwwroot\myadmin'', copy ''config.sample.inc.php'' to ''config.inc.php'' and while you may want to edit some settings in this file, you should now be able to get a login screen using this link [[http://localhost/myadmin]] on a browser on your server. You can then log in using the name ''root'' and you password. Using phpMyAdmin you can then create databases and users that can the be used by both GemsTracker and LimeSurvey. Note: use a secure password and preferable use another directory name than ''admin'', ''myadmin'' or ''phpmyadmin'' as these are favorite hacker targets. The best option would be to configure your web server so that access to this page is only possible from your own network and not from other locations.