.. _dependencies: Dependencies ============ Python ------ Refinery requires Python 2.7.3. For package dependencies please see ``requirements.txt``. Requirements can be installed using ``pip`` as follows: .. code-block:: bash > pip install -U -r requirements.txt You might need to install NumPy manually before running the above command (you can find the version in ``requirements.txt``). For example: .. code-block:: bash > pip install numpy==1.7.0 Virtual Environment ^^^^^^^^^^^^^^^^^^^ We highly recommended to create a ``virtualenv`` for your Refinery installation. External Software ----------------- Postgresql ^^^^^^^^^^ Apache HTTP Server ^^^^^^^^^^^^^^^^^^ Apache Solr ^^^^^^^^^^^ Refinery uses Solr for searching and faceted browsing. *Website* http://lucene.apache.org/solr *Version* 4.0.0-alpha or later Configuration """"""""""""" We recommend to run Solr using the bundled Jetty webserver. The Solr example configuration included in the standard download is sufficient and should be run like this: .. code-block:: bash cd java -Dsolr.solr.home=/solr/ -jar start.jar > 2>&1 & By default Jetty will allow connections to Solr from any IP address. This is not secure and not required to run Refinery. We recommend to allow connections to Solr only from ``localhost``. Note that this requires Solr to run on the same host as Refinery. If Solr should run on another host change the IP address used below accordingly. To configure Jetty to only accept connections from ``localhost`` do the following: 1. Go to ``/etc``. 2. Open ``jetty.xml``. 3. Locate ```` in ``jetty.xml``. Be aware that the default ``jetty.xml`` file contains an ``addConnector`` block that is commented out. 4. Supply a default value of "127.0.0.1" for the ``jetty.host`` system property used to configure ``Host`` as follows: .. code-block:: xml 5. Make sure that the ``jetty.host`` system variable is not set. 6. Restart Jetty using the command shown above. 7. In the ``settings_local.py`` of your Refinery installation configure ``REFINERY_SOLR_BASE_URL`` as follows: .. code-block:: python REFINERY_SOLR_BASE_URL = "http://localhost:8983/solr/" 8. Restart the WSGI server running Refinery to reload your settings. RabbitMQ ^^^^^^^^ This is the preferred message broker for the `Celery `_ distributed task queue. Refinery uses Celery and RabbitMQ to handle long-running tasks. *Website* http://www.rabbitmq.com *Version* ???