{"_id":"5735a92831a73b1700887cbe","version":{"_id":"5735936aafab441700723a53","__v":12,"project":"5735936aafab441700723a50","createdAt":"2016-05-13T08:42:18.615Z","releaseDate":"2016-05-13T08:42:18.615Z","categories":["5735936aafab441700723a54","5735a32931a73b1700887c94","5735b55beceb872200abbc6c","5735b56eb667601700d3bd6f","5735b9ba4b0ab120000b7dd4","5735b9c94b0ab120000b7dd5","5735cb131f16241700c8a0f7","5735e5c4e4824c3400aa1f21","5735e5d9e4824c3400aa1f23","5735e5f2ec67f6290013ac72","573ecfe0804f901700a9dfc7","573f276c7eeb8b190094ca7d"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":false,"codename":"","version_clean":"1.0.0","version":"1.0"},"__v":34,"category":{"_id":"5735b55beceb872200abbc6c","project":"5735936aafab441700723a50","version":"5735936aafab441700723a53","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-05-13T11:07:07.935Z","from_sync":false,"order":1,"slug":"configuration-options","title":"Stage 1 - Server Setup"},"parentDoc":null,"project":"5735936aafab441700723a50","user":"573592b84b0ab120000b7d44","updates":["573c969fef69250e00cf8c5a"],"next":{"pages":[],"description":""},"createdAt":"2016-05-13T10:15:04.303Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":1,"body":"[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Dockerised setup\",\n  \"body\": \"We are currently migrating to a Dockerised setup to further simplify setup and this documentation will be updated to reflect this approach soon.\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"easy import has been developed and tested on freshly installed Ubuntu 14.04.  Most steps should run on alternate operating systems but ``install-dependencies.sh`` is OS/version specific.\",\n  \"title\": \"Developed and tested on Ubuntu 14.04\"\n}\n[/block]\n\n- On a fresh install of Ubuntu 14.04 only the ``git`` package needs to be added manually:\n```\nsudo apt-get update\nsudo apt-get upgrade\nsudo apt-get install git\n```\n\n- Then [easy import](https://github.com/lepbase/easy-import) can be ``git clone``d into a local directory (named ``ei`` in these instructions for brevity):\n```\ncd ~\ngit clone --recursive https://github.com/lepbase/easy-import ei\n```\n  The ``--recursive`` option to ``git clone`` also clones the [easy mirror](https://github.com/lepbase/easy-mirror) and [gff parser](https://github.com/rjchallis/gff-parser) submodules into ``em`` and ``gff`` subdirectories, respectively.  The [gff parser](https://github.com/rjchallis/gff-parser) is required during Stage 2 to handle the diversity of real-world ``.gff`` files while [easy mirror](https://github.com/lepbase/easy-mirror) handles server/database/website setup and is the basis for all steps in Stages 1 and 4.\n\n- Finally the [easy mirror](https://github.com/lepbase/easy-mirror) script ``install-dependencies.sh`` is used to fetch and install all dependencies. \n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Check configuration\",\n  \"body\": \"before running any of these scripts, you should check the ``Configuration options`` and edit the relevant ``.ini`` file to match your local setup.\"\n}\n[/block]\n```\ncd ~/ei/em\nsudo ./install-dependencies.sh ../conf/setup.ini\n```\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Configuration options\"\n}\n[/block]\nOnly two stanzas of `setup.ini` are used in Step 1.1:\n- [[WEBSITE]](doc:website)\n```\n[WEBSITE]\n    SERVER_ROOT = /ensembl\n```\n  ``SERVER_ROOT`` is the full path to the directory into which the Ensembl repositories will be cloned and from which an Ensembl instance will be hosted.  The directory will be created if it does not already exist. \n\n- [[ENSEMBL_USER]](doc:ensembl_user)\n```\n[ENSEMBL_USER]\n    WEB_USER_NAME = eguser\n    WEB_USER_PASS = password\n```\n  If ``WEB_USER_NAME`` is provided, a new user will be created with ``WEB_USER_PASS``, otherwise it defaults to the name of the user running the ``install-dependencies.sh`` script. Ownership of the ``SERVER_ROOT`` directory is transferred to ``WEB_USER_NAME`` so if an alternate user is specified here, subsequent steps (none of which require root permissions) should be run as this alternate user.","excerpt":"","slug":"step-11-install-dependencies","type":"basic","title":"Step 1.1: Install dependencies"}

Step 1.1: Install dependencies


[block:callout] { "type": "info", "title": "Dockerised setup", "body": "We are currently migrating to a Dockerised setup to further simplify setup and this documentation will be updated to reflect this approach soon." } [/block] [block:callout] { "type": "warning", "body": "easy import has been developed and tested on freshly installed Ubuntu 14.04. Most steps should run on alternate operating systems but ``install-dependencies.sh`` is OS/version specific.", "title": "Developed and tested on Ubuntu 14.04" } [/block] - On a fresh install of Ubuntu 14.04 only the ``git`` package needs to be added manually: ``` sudo apt-get update sudo apt-get upgrade sudo apt-get install git ``` - Then [easy import](https://github.com/lepbase/easy-import) can be ``git clone``d into a local directory (named ``ei`` in these instructions for brevity): ``` cd ~ git clone --recursive https://github.com/lepbase/easy-import ei ``` The ``--recursive`` option to ``git clone`` also clones the [easy mirror](https://github.com/lepbase/easy-mirror) and [gff parser](https://github.com/rjchallis/gff-parser) submodules into ``em`` and ``gff`` subdirectories, respectively. The [gff parser](https://github.com/rjchallis/gff-parser) is required during Stage 2 to handle the diversity of real-world ``.gff`` files while [easy mirror](https://github.com/lepbase/easy-mirror) handles server/database/website setup and is the basis for all steps in Stages 1 and 4. - Finally the [easy mirror](https://github.com/lepbase/easy-mirror) script ``install-dependencies.sh`` is used to fetch and install all dependencies. [block:callout] { "type": "warning", "title": "Check configuration", "body": "before running any of these scripts, you should check the ``Configuration options`` and edit the relevant ``.ini`` file to match your local setup." } [/block] ``` cd ~/ei/em sudo ./install-dependencies.sh ../conf/setup.ini ``` [block:api-header] { "type": "basic", "title": "Configuration options" } [/block] Only two stanzas of `setup.ini` are used in Step 1.1: - [[WEBSITE]](doc:website) ``` [WEBSITE] SERVER_ROOT = /ensembl ``` ``SERVER_ROOT`` is the full path to the directory into which the Ensembl repositories will be cloned and from which an Ensembl instance will be hosted. The directory will be created if it does not already exist. - [[ENSEMBL_USER]](doc:ensembl_user) ``` [ENSEMBL_USER] WEB_USER_NAME = eguser WEB_USER_PASS = password ``` If ``WEB_USER_NAME`` is provided, a new user will be created with ``WEB_USER_PASS``, otherwise it defaults to the name of the user running the ``install-dependencies.sh`` script. Ownership of the ``SERVER_ROOT`` directory is transferred to ``WEB_USER_NAME`` so if an alternate user is specified here, subsequent steps (none of which require root permissions) should be run as this alternate user.