|
|
|
@@ -28,52 +28,52 @@ check_dependecies(){
|
|
|
|
|
CMD=$(if(dpkg --compare-versions 2> /dev/null $(dpkg -s nodejs 2> /dev/null | awk '/Version/ {print $2}') ge "5"); then echo true; else echo false; fi)
|
|
|
|
|
if("$CMD" = true); then
|
|
|
|
|
NODE=true
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Nodejs compatible version already installed ${COLOR_NC}\n\n"
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Nodejs compatible version already installed ${COLOR_NC}"
|
|
|
|
|
elif("$CMD" = false); then
|
|
|
|
|
echo -e "\n\n${COLOR_RED}Nodejs installed version is < 13. Please, update and try again. ${COLOR_NC}\n\n"
|
|
|
|
|
exit 1
|
|
|
|
|
else
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Nodejs not installed ${COLOR_NC}\n\n"
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Nodejs not installed ${COLOR_NC}"
|
|
|
|
|
fi
|
|
|
|
|
CMD=$(if(dpkg --compare-versions 2> /dev/null $(dpkg -s elasticsearch 2> /dev/null | awk '/Version/ {print $2}') ge "7.6"); then echo true; else echo false; fi)
|
|
|
|
|
if("$CMD" = true); then
|
|
|
|
|
ELASTIC=true
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Elasticsearch compatible version already installed ${COLOR_NC}\n\n"
|
|
|
|
|
echo -e "\n${COLOR_BLUE}Elasticsearch compatible version already installed ${COLOR_NC}"
|
|
|
|
|
elif ("$CMD" = false); then
|
|
|
|
|
echo -e "\n\n${COLOR_RED}Elasticsearch installed version is < 7.6. Please, update and try again. ${COLOR_NC}\n\n"
|
|
|
|
|
exit 1
|
|
|
|
|
else
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Elasticsearch not installed ${COLOR_NC}\n\n"
|
|
|
|
|
echo -e "\n${COLOR_BLUE}Elasticsearch not installed ${COLOR_NC}"
|
|
|
|
|
fi
|
|
|
|
|
CMD=$(if(dpkg --compare-versions 2> /dev/null $(dpkg -s redis-server 2> /dev/null | awk '/Version/ {print $2}') ge "5"); then echo true; else echo false; fi)
|
|
|
|
|
if("$CMD" = true); then
|
|
|
|
|
REDIS=true
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Redis compatible version already installed ${COLOR_NC}\n\n"
|
|
|
|
|
echo -e "\n${COLOR_BLUE}Redis compatible version already installed ${COLOR_NC}"
|
|
|
|
|
elif("$CMD" = false); then
|
|
|
|
|
echo -e "\n\n${COLOR_RED}Redis installed version is < 5. Please, update and try again. ${COLOR_NC}\n\n"
|
|
|
|
|
exit 1
|
|
|
|
|
else
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Redis not installed ${COLOR_NC}\n\n"
|
|
|
|
|
echo -e "\n${COLOR_BLUE}Redis not installed ${COLOR_NC}"
|
|
|
|
|
fi
|
|
|
|
|
CMD=$(if(dpkg --compare-versions 2> /dev/null $(dpkg -s rabbitmq-server 2> /dev/null | awk '/Version/ {print $2}') ge "3.8"); then echo true; else echo false; fi)
|
|
|
|
|
if("$CMD" = true); then
|
|
|
|
|
RABBIT=true
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}RabbitMQ compatible version already installed ${COLOR_NC}\n\n"
|
|
|
|
|
echo -e "\n${COLOR_BLUE}RabbitMQ compatible version already installed ${COLOR_NC}"
|
|
|
|
|
elif("$CMD" = false); then
|
|
|
|
|
echo -e "\n\n${COLOR_RED}RabbitMQ installed version is < 3.8. Please, update and try again. ${COLOR_NC}\n\n"
|
|
|
|
|
exit 1
|
|
|
|
|
else
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}RabbitMQ not installed ${COLOR_NC}\n\n"
|
|
|
|
|
echo -e "\n${COLOR_BLUE}RabbitMQ not installed ${COLOR_NC}"
|
|
|
|
|
fi
|
|
|
|
|
CMD=$(if(dpkg --compare-versions 2> /dev/null $(dpkg -s kibana 2> /dev/null | awk '/Version/ {print $2}') ge "7.6"); then echo true; else echo false; fi)
|
|
|
|
|
if("$CMD" = true); then
|
|
|
|
|
RABBIT=true
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Kibana compatible version already installed ${COLOR_NC}\n\n"
|
|
|
|
|
echo -e "\n${COLOR_BLUE}Kibana compatible version already installed ${COLOR_NC}"
|
|
|
|
|
elif("$CMD" = false); then
|
|
|
|
|
echo -e "\n\n${COLOR_RED}Kibana installed version is < 7.6. Please, update and try again. ${COLOR_NC}\n\n"
|
|
|
|
|
exit 1
|
|
|
|
|
else
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Kibana not installed ${COLOR_NC}\n\n"
|
|
|
|
|
echo -e "\n${COLOR_BLUE}Kibana not installed ${COLOR_NC}\n\n"
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -99,10 +99,12 @@ install_keys_sources(){
|
|
|
|
|
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
KEY=$(apt-key list 2> /dev/null | grep erlang)
|
|
|
|
|
if [[ ! $KEY ]]; then
|
|
|
|
|
wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -
|
|
|
|
|
fi
|
|
|
|
|
# PPA="http://dl.bintray.com/rabbitmq-erlang/debian bionic erlang"
|
|
|
|
|
# if ! grep -q "^deb .*$PPA" /etc/apt/sources.list /etc/apt/sources.list.d/*; then
|
|
|
|
|
# curl -fsSL https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc | sudo apt-key add -
|
|
|
|
|
# echo "deb http://dl.bintray.com/rabbitmq-erlang/debian bionic erlang" | sudo tee /etc/apt/sources.list.d/bintray.rabbitmq.list
|
|
|
|
|
# curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.deb.sh | sudo bash
|
|
|
|
|
# fi
|
|
|
|
|
|
|
|
|
|
KEY=$(apt-key list 2> /dev/null | grep rabbitmq)
|
|
|
|
|
if [[ ! $KEY ]]; then
|
|
|
|
@@ -117,9 +119,11 @@ install_keys_sources(){
|
|
|
|
|
sudo apt update -y
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
install_dep(){
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Installing build essentials...${COLOR_NC}\n\n"
|
|
|
|
|
sudo apt install -y build-essential curl
|
|
|
|
|
install_dep() {
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Installing dependencies...${COLOR_NC}\n\n"
|
|
|
|
|
sudo apt update
|
|
|
|
|
# sudo apt install -y build-essential curl
|
|
|
|
|
sudo apt install -y curl docker.io
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
install_node(){
|
|
|
|
@@ -138,7 +142,7 @@ install_node(){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
install_build_hyperion(){
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Installing and building hyperion...${COLOR_NC}\n\n"
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Installing packages and building hyperion...${COLOR_NC}\n\n"
|
|
|
|
|
npm install
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -158,12 +162,11 @@ install_redis(){
|
|
|
|
|
sudo systemctl restart redis.service
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
install_earlang(){
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Installing earlang...${COLOR_NC}\n\n"
|
|
|
|
|
echo "deb https://packages.erlang-solutions.com/ubuntu bionic contrib" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
|
|
|
|
|
sudo apt update
|
|
|
|
|
sudo apt -y install erlang
|
|
|
|
|
}
|
|
|
|
|
# install_erlang() {
|
|
|
|
|
# echo -e "\n\n${COLOR_BLUE}Installing erlang...${COLOR_NC}\n\n"
|
|
|
|
|
# sudo apt -y install erlang
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
#ask user for rabbit credentials
|
|
|
|
|
rabbit_credentials(){
|
|
|
|
|
read -p "Enter rabbitmq user [hyperion]: " RABBIT_USER
|
|
|
|
@@ -176,14 +179,14 @@ rabbit_credentials(){
|
|
|
|
|
|
|
|
|
|
install_rabittmq(){
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Installing rabbit-mq...${COLOR_NC}\n\n"
|
|
|
|
|
curl -s "https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.deb.sh" | sudo bash
|
|
|
|
|
sudo apt install -y rabbitmq-server
|
|
|
|
|
# sudo apt install -y rabbitmq-server
|
|
|
|
|
sudo docker run -d --name rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=${RABBIT_USER} -e RABBITMQ_DEFAULT_PASS=${RABBIT_PASSWORD} -e RABBITMQ_DEFAULT_VHOST=/hyperion rabbitmq:3.8.3-management
|
|
|
|
|
#enable web gui
|
|
|
|
|
sudo rabbitmq-plugins enable rabbitmq_management
|
|
|
|
|
sudo rabbitmqctl add_vhost /hyperion
|
|
|
|
|
sudo rabbitmqctl add_user ${RABBIT_USER} ${RABBIT_PASSWORD}
|
|
|
|
|
sudo rabbitmqctl set_user_tags ${RABBIT_USER} administrator
|
|
|
|
|
sudo rabbitmqctl set_permissions -p /hyperion ${RABBIT_USER} ".*" ".*" ".*"
|
|
|
|
|
#sudo rabbitmq-plugins enable rabbitmq_management
|
|
|
|
|
# sudo rabbitmqctl add_vhost /hyperion
|
|
|
|
|
# sudo rabbitmqctl add_user ${RABBIT_USER} ${RABBIT_PASSWORD}
|
|
|
|
|
# sudo rabbitmqctl set_user_tags ${RABBIT_USER} administrator
|
|
|
|
|
# sudo rabbitmqctl set_permissions -p /hyperion ${RABBIT_USER} ".*" ".*" ".*"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
install_elastic(){
|
|
|
|
@@ -202,17 +205,29 @@ install_elastic(){
|
|
|
|
|
else
|
|
|
|
|
sudo sed -ie 's/-Xms1g/-Xms16g/; s/-Xmx1g/-Xmx16g/' /etc/elasticsearch/jvm.options
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
sudo bash -c 'echo "xpack.security.enabled: true" >> /etc/elasticsearch/elasticsearch.yml'
|
|
|
|
|
|
|
|
|
|
sudo mkdir -p /etc/systemd/system/elasticsearch.service.d/
|
|
|
|
|
echo -e "[Service]\nLimitMEMLOCK=infinity" | sudo tee /etc/systemd/system/elasticsearch.service.d/override.conf
|
|
|
|
|
sudo systemctl daemon-reload
|
|
|
|
|
sudo service elasticsearch start
|
|
|
|
|
sudo systemctl enable elasticsearch
|
|
|
|
|
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Generating Elasticsearch cluster passwords...${COLOR_NC}\n\n"
|
|
|
|
|
|
|
|
|
|
echo "y" | sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto > elastic_pass.txt
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
install_kibana(){
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Installing kibana...${COLOR_NC}\n\n"
|
|
|
|
|
echo -e "\n\n${COLOR_BLUE}Installing and configuring Kibana...${COLOR_NC}\n\n"
|
|
|
|
|
sudo apt install -y kibana
|
|
|
|
|
|
|
|
|
|
KIBANA_PASSWORD=$(cat elastic_pass.txt | awk '/PASSWORD kibana =/ {print $4}')
|
|
|
|
|
|
|
|
|
|
sudo sed -ie 's/#elasticsearch.password: "pass"/elasticsearch.password: '"$KIBANA_PASSWORD"'/; s/#elasticsearch.username: "kibana"/elasticsearch.username: "kibana"/' /etc/kibana/kibana.yml
|
|
|
|
|
|
|
|
|
|
sudo systemctl enable kibana
|
|
|
|
|
sudo systemctl start kibana
|
|
|
|
|
}
|
|
|
|
@@ -255,4 +270,5 @@ echo -e "\n${COLOR_YELLOW}Please, check your installation: ${COLOR_NC}"
|
|
|
|
|
echo -e "${COLOR_YELLOW}- Elastic: http://localhost:9200 ${COLOR_NC}"
|
|
|
|
|
echo -e "${COLOR_YELLOW}- Kibana: http://localhost:5601 ${COLOR_NC}"
|
|
|
|
|
echo -e "${COLOR_YELLOW}- RabbitMQ: http://localhost:15672 ${COLOR_NC}"
|
|
|
|
|
echo -e "${COLOR_YELLOW}- Refer to the elastic_pass.txt file for the elasticsearch passwords ${COLOR_NC}"
|
|
|
|
|
echo -e "${COLOR_YELLOW}- Make pm2 auto-boot at server restart: \$ pm2 startup ${COLOR_NC}\n"
|