-
-
Save crawc/4cb78f0d49bb93309efae928091fb31b to your computer and use it in GitHub Desktop.
Install GenieACS on Ubuntu 16.04
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
set -e | |
# install all updates/upgrades to begin with | |
sudo apt-get update | |
sudo apt-get upgrade -y | |
sudo apt-get dist-upgrade -y | |
# install essential packages | |
sudo apt-get install -y build-essential git curl software-properties-common python-software-properties zlib1g-dev tmux libsqlite3-dev | |
# install nodejs | |
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - | |
sudo apt-get install -y nodejs | |
# install mongodb | |
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5 | |
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list | |
sudo apt-get install -y mongodb-org | |
# install GenieACS | |
git clone https://github.com/genieacs/genieacs.git | |
cd genieacs/ | |
npm install | |
npm run configure | |
npm run compile | |
cd .. | |
# install ruby | |
sudo add-apt-repository ppa:brightbox/ruby-ng | |
sudo apt-get update | |
sudo apt-get install ruby2.5 ruby2.5-dev | |
# install bundler | |
gem install bundler | |
# install ruby on rails | |
gem install rails | |
#GenieACS GUI | |
git clone https://github.com/genieacs/genieacs-gui | |
cd genieacs-gui/ | |
bundle | |
cp config/summary_parameters-sample.yml config/summary_parameters.yml | |
cp config/index_parameters-sample.yml config/index_parameters.yml | |
cp config/parameter_renderers-sample.yml config/parameter_renderers.yml | |
cp config/parameters_edit-sample.yml config/parameters_edit.yml | |
cp config/roles-sample.yml config/roles.yml | |
cp config/users-sample.yml config/users.yml | |
cp config/graphs-sample.json.erb config/graphs.json.erb | |
cd .. | |
cat << EOF > ./genieacs-start.sh | |
#!/bin/sh | |
if tmux has-session -t 'genieacs'; then | |
echo "GenieACS is already running." | |
echo "To stop it use: ./genieacs-stop.sh" | |
echo "To attach to it use: tmux attach -t genieacs" | |
else | |
tmux new-session -s 'genieacs' -d | |
tmux send-keys './genieacs/bin/genieacs-cwmp' 'C-m' | |
tmux split-window | |
tmux send-keys './genieacs/bin/genieacs-nbi' 'C-m' | |
tmux split-window | |
tmux send-keys './genieacs/bin/genieacs-fs' 'C-m' | |
tmux split-window | |
tmux send-keys 'cd genieacs-gui' 'C-m' | |
tmux send-keys 'rails server' 'C-m' | |
tmux select-layout tiled 2>/dev/null | |
tmux rename-window 'GenieACS' | |
echo "GenieACS has been started in tmux session 'geneiacs'" | |
echo "To attach to session, use: tmux attach -t genieacs" | |
echo "To switch between panes use Ctrl+B-ArrowKey" | |
echo "To deattach, press Ctrl+B-D" | |
echo "To stop GenieACS, use: ./genieacs-stop.sh" | |
fi | |
EOF | |
cat << EOF > ./genieacs-stop.sh | |
#!/bin/sh | |
if tmux has-session -t 'genieacs' 2>/dev/null; then | |
tmux kill-session -t genieacs 2>/dev/null | |
echo "GenieACS has been stopped." | |
else | |
echo "GenieACS is not running!" | |
fi | |
EOF | |
chmod +x genieacs-start.sh genieacs-stop.sh | |
echo | |
echo "DONE!" | |
echo "GenieACS has been sucessfully installed. Start/stop it using the following commands:" | |
echo "./genieacs-start.sh" | |
echo "./genieacs-stop.sh" | |
#sudo add-apt-repository -y ppa:chris-lea/redis-server | |
#sudo apt-get -y install redis-server | |
#sudo npm install -g coffee-script | |
#sudo npm install -g nodemon | |
#sudo chmod -R 777 ./tmp |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment