The recommended approach is to download the latest release of the pre-packaged farmOS distribution from Drupal.org.
The Drupal.org packaged release is pre-built and ready to go. Just drop it into a hosted web server environment and it will work the same as Drupal. For more information on installing Drupal, see the official Drupal Installation Guide.
Alternatively, you can also build the distribution yourself using Drush Make. This is essentially what the drupal.org automatic packaging script does, so it is generally not necessary to do this unless you have a specific reason to.
Simply checkout the [farmOS repository] and run the following command:
drush make build-farm.make farm
This will build the farmOS distribution in a directory called "farm". Point your server's webroot to this directory (or move the contents to your server's webroot) and open it in a browser to access farmOS.
You will need a web server with all the basic requirements of Drupal.
In addition to Drupal's basic requirements, farmOS also needs the following:
- PHP 5.5+. Drupal 7 itself only requires PHP 5.2+, but farmOS makes heavy use of the Openlayers module, and includes some custom code that uses newer features of PHP only available in 5.5+.
The following are not hard requirements of farmOS, but will provide progressive enhancements if they are available.
- A Google Maps API key is necessary for rendering the Google Maps layers used in farmOS maps. See the Google Maps API Key instructions for more information about how to set this up. If an API key is not provided, OpenStreetMap will be used as the default base layer.
- PHP BCMath extension is required for accurate geometric polygon area calculations.
- GEOS - Geometry Engine, Open Source is required by the Area Generator module.
- PostgreSQL + PostGIS can be used as farmOS's database backend, which together provide advanced geographic query capabilities. See GitHub issue #43 for more information.
- SSL Although not strictly a requirement, some features (like the "Geolocate" button on maps) will only work when over a secure connection. SSL is also recommended if you are using the Sensor Listener module to keep your sensor's private key a secret.