#!/bin/bash mkdir /srv/node curl -sL https://deb.nodesource.com/setup_16.x | bash - apt install -y nodejs npm i -g nodemon cat > /etc/systemd/system/nodejs.service << EOF [Service] ExecStart=/usr/bin/node app.js WorkingDirectory=/srv/node Restart=always StandardOutput=syslog StandardError=syslog SyslogIdentifier=node #User=websites #Group=websites Environment=NODE_ENV=production [Install] WantedBy=multi-user.target EOF cat > /srv/node/app.js << "EOF" var http = require('http') http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}) res.write('Hello World!') res.end() }).listen(80) EOF systemctl daemon-reload systemctl enable nodejs.service systemctl start nodejs.service if [ -f "/etc/iptables/rules.v4" ]; then sed -i '/^-A INPUT -i lo -j ACCEPT.*/a -A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT' /etc/iptables/rules.v4 sed -i '/^-A INPUT -i lo -j ACCEPT.*/a -A INPUT -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT' /etc/iptables/rules.v4 sed -i '/^-A INPUT -i lo -j ACCEPT.*/a # NodeJS' /etc/iptables/rules.v4 iptables-restore /etc/iptables/rules.v4 fi