Modifies elasticsearch.conf, determines OS bit-depth, optioanlly configures RUN_AS_USER.
e.g. Usage:
curl -ksL https://gist.github.com/rnix/8823390/raw/install-elasticsearch-servicewrapper.sh | bash -s [ES_HOME [RUN_AS_USER]]
| #!/bin/bash | |
| which unzip || sudo apt-get install unzip | |
| ES_HOME=${1:-${ES_HOME:-${PWD}/elasticsearch}} | |
| RUN_AS_USER=${2} | |
| [ -d ${ES_HOME}/bin ] || { | |
| echo "No directory: ${ES_HOME}/bin" >&2 | |
| exit ${LINENO} | |
| } | |
| tmp=$(mktemp -d) | |
| [ "${tmp}" ] && [ -d ${tmp} ] || { | |
| echo "Can not create temporary directory." >&2 | |
| exit ${LINENO} | |
| } | |
| trap "rm -rf ${tmp}" 0 1 2 3 | |
| ( | |
| cd ${tmp} || exit ${LINENO} | |
| curl -Lo elasticsearch-servicewrapper.zip https://github.com/elasticsearch/elasticsearch-servicewrapper/zipball/master | |
| unzip elasticsearch-servicewrapper.zip | |
| sudo rm -rfv ${ES_HOME}/bin/service | |
| sudo mv -v elasticsearch-elasticsearch-servicewrapper-*/service ${ES_HOME}/bin/ | |
| [ "${RUN_AS_USER}" ] && { | |
| sudo chown -R ${RUN_AS_USER}:${RUN_AS_USER} ${ES_HOME}/bin/service | |
| } | |
| ) || exit $? | |
| bits=($(file /sbin/init)) | |
| bits="${bits[2]/-bit/}" | |
| ( | |
| cd ${ES_HOME}/bin/service || exit ${LINENO} | |
| sudo perl -pi -e 's|(set.default.ES_HOME=).*|$1'"${ES_HOME}|" elasticsearch.conf | |
| [ "${RUN_AS_USER}" ] && { | |
| sudo perl -pi -e 's|^#?(RUN_AS_USER=).*|$1'"${RUN_AS_USER}|" elasticsearch | |
| } | |
| ) | |
| sudo ${ES_HOME}/bin/service/elasticsearch${bits} install |