RHEL 7 - matthewfincher/blacksky GitHub Wiki
Install firewalld
How to Configure ‘FirewallD’ in RHEL
hostnamectl
# Operating System: Red Hat Enterprise Linux Server 7.3 (Maipo)
ip addr show | grep inet
# inet 172.31.60.228/20 brd 172.31.63.255 scope global dynamic eth0
sudo yum install firewalld -y
systemctl status iptables
# Unit iptables.service could not be found.
sudo service firewalld start
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
# public
# ...
# ports: 27017/tcp 8080/tcp
# ...
Install Node.js
Install Node.js on Enterprise Linux and Fedora
sudo su
curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs
yum groupinstall 'Development Tools' -y
yum install vim -y
exit
node -v && npm -v
Install MongoDB
Install MongoDB Community Edition on Red Hat Enterprise
sudo vim /etc/yum.repos.d/mongodb-org-3.4.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
sudo yum install -y mongodb-org
sudo sestatus
# SELinux status: enabled
# ...
sudo semanage port -a -t mongod_port_t -p tcp 27017
sudo semanage port -l | grep mongo
sudo service mongod start
sudo systemctl list-unit-files | grep mongo
# mongod.service enabled
sudo chkconfig mongod on
# Note: Forwarding request to 'systemctl enable mongod.service'.
Install Docker
Get Docker for Red Hat Enterprise Linux
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://docs.docker.com/engine/installation/linux/repo_files/centos/docker.repo
sudo yum makecache fast
sudo yum list docker-engine.x86_64 --showduplicates |sort -r
sudo yum -y install docker-engine
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
sudo docker run hello-world
Post-installation steps for Linux
WARNING: The docker group grants privileges equivalent to the root user. For details on how this impacts security in your system, see Docker Daemon Attack Surface. sudo groupadd docker
sudo groupadd docker
sudo usermod -aG docker $USER
sudo reboot
docker run hello-world
docker rmi $(docker images -q)
docker rm $(docker ps -a -q)
Install Landscapes v2
git clone -b v2 https://github.com/OpenWhere/landscapes.io.git
cd landscapes.io
npm install
PUBLIC_IP=52.87.161.236 npm run build
MONGO_SEED=true PUBLIC_IP=52.87.161.236 npm run prod
systemctl
sudo vim /usr/lib/systemd/system/landscapes.service
[Unit]
Description=Landscapes.io v2.0.0
After=mongod.service
[Service]
ExecStart=/home/ec2-user/landscapes.io/node_modules/nodemon/bin/nodemon.js /home/ec2-user/landscapes.io/server/init.js --exec babel-node
WorkingDirectory=/home/ec2-user/landscapes.io
Restart=always
RestartSec=10
Environment=NODE_ENV=production PROTOCOL=https PUBLIC_IP=landscapes.blacksky.io
[Install]
WantedBy=multi-user.target
then
sudo systemctl enable landscapes
sudo systemctl start landscapes
sudo systemctl status landscapes