Skip to content

Instantly share code, notes, and snippets.

@alexbevi
Created August 29, 2012 17:44
Show Gist options
  • Save alexbevi/3516100 to your computer and use it in GitHub Desktop.
Save alexbevi/3516100 to your computer and use it in GitHub Desktop.
Automate installation of mongodb
#!/bin/bash
PKG=mongodb-linux-x86_64-2.2.0
URL=http://fastdl.mongodb.org/linux
if [ -f /etc/init.d/mongod ]
then
echo "mongod already installed ... stopping"
sudo service mongod stop
else
echo "installing mongod script"
wget https://raw.github.com/gist/3516078/713ad981715236473999f30636bca2ee3dcc5f24/mongod
sudo mv mongod /etc/init.d/mongod
sudo chmod +x /etc/init.d/mongod
echo "creating mongodb user"
sudo useradd mongodb
echo "creating directories"
sudo mkdir -p /var/lib/mongodb
sudo mkdir -p /var/log/mongodb
sudo chown mongodb.mongodb /var/lib/mongodb
sudo chown mongodb.mongodb /var/log/mongodb
sudo update-rc.d mongod defaults
fi
wget $URL/$PKG.tgz
sudo tar -xvzf $PKG.tgz -C /usr/local/
if [ -d /usr/local/mongodb ]
then
echo "removing existing mongodb symlink"
sudo rm -rf /usr/local/mongodb
sudo ln -s /usr/local/$PKG /usr/local/mongodb
else
echo "creating symlinks"
sudo ln -s /usr/local/$PKG /usr/local/mongodb
sudo ln -s /usr/local/mongodb/bin/bsondump /usr/local/bin/bsondump
sudo ln -s /usr/local/mongodb/bin/mongo /usr/local/bin/mongo
sudo ln -s /usr/local/mongodb/bin/mongod /usr/local/bin/mongod
sudo ln -s /usr/local/mongodb/bin/mongodump /usr/local/bin/mongodump
sudo ln -s /usr/local/mongodb/bin/mongoexport /usr/local/bin/mongoexport
sudo ln -s /usr/local/mongodb/bin/mongofiles /usr/local/bin/mongofiles
sudo ln -s /usr/local/mongodb/bin/mongoimport /usr/local/bin/mongoimport
sudo ln -s /usr/local/mongodb/bin/mongorestore /usr/local/bin/mongorestore
sudo ln -s /usr/local/mongodb/bin/mongos /usr/local/bin/mongos
sudo ln -s /usr/local/mongodb/bin/mongosniff /usr/local/bin/mongosniff
sudo ln -s /usr/local/mongodb/bin/mongostat /usr/local/bin/mongostat
fi
echo "cleaning up"
rm $PKG.tgz
echo "starting mongod service"
sudo service mongod start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment