Node.js via SOD hosting panel
If you are interested in hosting Node.js apps on your web space, we have good news! The control panel offered by SOD, based on Plesk, is equipped with a Node.js extension that allows you to easily manage applications. In this article we see how it is possible to integrate Node through the control panel.
Host a Node.js application from the Plesk panel
To verify that everything is working, let’s try hosting a Node.js application in the panel. We will use a generic “Hello, World” application. To do this, we will use the Git extension that you find directly from the panel. It would also be possible to upload the application directly to the server, but I thought that implementing a second extension could also be useful for the purposes of this mini guide.
Once you have accessed the SOD Plesk panel, you will need to create a destination folder for the application. Select the “Files” tab, create a “hello-world” folder. From the “Websites & Domains” tab, among the available components, select Git. If you own more than one domain, be sure to select the option under the correct one.
The second screen on where to find the Git icon:
Setting up a local repository
Now let’s set up a local repository as a clone of a remote one to download the code to the folder you created a moment ago. The URL of the repository we will clone is: https://github.com/plesk/node-hello-world.git
To do this, click on the Git icon, set the URL in the space provided and select the “hello-world” folder you created a while ago.
Differences between “Application root” and “Document root” folders
The next step is to change the Document root folder for the domain. Note that the Document root and Application root folders are not the same. When we talk about web apps (such as those based on Node.js), the document root is the position where the static resources are located, while the application root is the root directory where the app. In most cases, the Document root is a folder within the Application root.
Right now we need to change the document root. To do this, go to the “Websites & Domains” panel, select the correct site and go to “Hosting Settings” (right above Git) and click the link:
Change the current “Document root” to hello-world/public.
Enable support for Node.js
Before running the “Hello World” app, the last thing you need to do is enable support for Node.js on the domain. Then go to the “Websites & Domain” panel and click on the appropriate option. Here you can see some information about the app. Click on “Enable Node.js” and in a few moments this will be enabled.
At this point, if everything went well, clicking on the “Application URL” you should see a screen that says “Hello World!”. Congratulations, you have just installed and run an app on your domain.
Applications with dependencies
Applications built with Node.js, more often than not, must satisfy dependencies that are defined in the package.json file, which is installed in the “node_modules” directory.
Let’s look at another ExpressJS-based application. You can find it in its repository, upload it manually, or repeat the steps described in the previous section. Here is the repository: https://github.com/plesk/node-express.git. Once you have things sorted out, you will find yourself as in the screenshot below, assuming you have cloned the repository in the express-demo folder:
Install the dependencies and change the startup file
Before trying to access the app, you need to initialize it. Let’s start by installing the dependencies. Fortunately, in the Plesk panel of SOD, there is a simple “NPM install” button. This is done to install app dependencies based on the “package.json” file. Install the dependencies this way, for convenience.
Finally, we need to set up the app’s startup file. Plesk uses the Phusion Passenger server application to service the Node.js apps. In the demonstration repository, there is a file called “server.js”. This, which is not a common part of ExpressJS-based apps, contains a few lines of code necessary to make the app work:
const app = require (‘./ app’);
const http = require (‘http’);
http.createServer (app) .listen (process.env.PORT);
You can use the idea behind this file when hosting other Node.js applications, for example based on a different framework. The last thing you have to do is change the “Application Startup File” option and set it to “server.js”.
At this point, browsing to the address that hosts the app, you should see the ExpressJS welcome screen.
For every Node.js developer it is essential to know how to identify problems to find a solution. To do this, here are a couple of tips that might help you Debug.
Checking the log file
The first thing to do when debugging a Node.js application is to check the log files. For example, if you forget to install the dependencies for the Express demo app, the server error log will contain the error “cannot find module ‘express'”. Unfortunately, due to how Phusion Passenger works, server level error logs are used instead of per domain error logs. In this case, end users will see a simple generic error message.
To check the server log messages, go to the “Websites & Domain” panel, under the domain concerned, look for the log option. Clicking on it will give you access to a screen of the logged messages.
See messages directly on the app screen
It can be very useful to see the error messages directly on the app website, without looking for the option in the control panel. Go to the Node.js app settings screen and change the application mode to “development”. The next time a problem occurs, the error will be shown in the browser window.
Furthermore, if the app is in “development” mode, it is not necessary to restart the app every time you change the contents of a file.
As we have seen, implementing Node.js applications on your domain is really simple with the Plesk control panel of the SOD hosting service, which is once again very flexible, intuitive and easy to use.
If you want to try this and other features, you can test the demo version by simply clicking here.
- Zero-Day attack: what they are and how to defend yourself with SOCaaS
- Monitoring system, an overview
- Data Exfiltration: defense against data theft
- Install a Let’s Encrypt certificate on Debian based machine
- WastedLocker: Next generation ransomware
- Protecting a site in WordPress: security package
- Critical ransomware: examples of successful attacks
- Secure Online Desktop Social Initiatives
- Backup as a Service (2)
- Cloud Conference (3)
- Cloud CRM (1)
- Cloud Server/VPS (20)
- Conferenza Cloud (4)
- ICT Monitoring (4)
- Log Management (2)
- News (16)
- ownCloud (4)
- Privacy (6)
- Secure Online Desktop (14)
- Security (6)
- Web Hosting (12)
- Intel Confirms Unauthorized Access of Earnings-Related Data January 22, 2021News likely contributed to slide of over 9% in chipmaker's stock at one point Friday.
- Speed of Digital Transformation May Lead to Greater App Vulnerabilities January 22, 2021The fastest-moving industries are struggling to produce secure code, according to AppSec experts.
- How Cybersecurity Newbs Can Start Out on the Right Foot January 22, 2021Cybersecurity experts share their savvy tips and useful resources for infosec hopefuls.
- Why North Korea Excels in Cybercrime January 22, 2021North Korea is laser-focused on boosting its cyber capabilities, and it's doing a remarkable job of it.
- DreamBus, FreakOut Botnets Pose New Threat to Linux Systems January 21, 2021Researchers from Zscaler and Check Point describe botnets as designed for DDoS attacks, cryptocurrency mining, and other malicious purposes.
- Breach Data Shows Attackers Switched Gears in 2020 January 21, 2021Attackers focused more on ransomware, while the consolidation of data into large databases led to fewer reported breaches but more records leaked.
- Attackers Leave Stolen Credentials Searchable on Google January 21, 2021Operators behind a global phishing campaign inadvertently left thousands of stolen credentials accessible via Google Search.
- Cloud Jacking: The Bold New World of Enterprise Cybersecurity January 21, 2021Increased reliance on cloud computing puts more weight on robust authentication systems to protect data against hijackers.
- 7 Steps to Secure a WordPress Site January 21, 2021Many companies operate under the assumption that their WordPress sites are secure -- and that couldn't be anything further from the truth.
- Hacker Pig Latin: A Base64 Primer for Security Analysts January 21, 2021The Base64 encoding scheme is often used to hide the plaintext elements in the early stages of an attack that can't be concealed under the veil of encryption. Here's how to see through its tricks.
- Backdoor.Win32.Hupigon.adef / Remote Stack Buffer Overflow January 22, 2021Posted by malvuln on Jan 22Discovery / credits: Malvuln - malvuln.com (c) 2021 Original source: https://malvuln.com/advisory/c8f55ce7bbec784a97d7bfc6d7b1931f.txt Contact: malvuln13 () gmail com Media: twitter.com/malvuln Threat: Backdoor.Win32.Hupigon.adef Vulnerability: Remote Stack Buffer Overflow Description: Backdoor Hupigon (Cracked by bartchen) bartchen () vip sina com, listens on TCP ports 8001,8002,8003,8004 and 8005. Sending a large contaminated HTTP POST request...
- Backdoor.Win32.Xel / Remote Authentication Buffer Overflow January 22, 2021Posted by malvuln on Jan 22Discovery / credits: Malvuln - malvuln.com (c) 2021 Original source: https://malvuln.com/advisory/3648c68bfe395fb9980ae547d881572c.txt Contact: malvuln13 () gmail com Media: twitter.com/malvuln Threat: Backdoor.Win32.Xel Vulnerability: Remote Authentication Buffer Overflow Description: Xel listens on TCP port 8023 and requires authentication good for them!, upon connecting you are greeted with a password prompt: XeL TROJAN based […]
- Backdoor.Win32.Verify.f / Missing Authentication January 22, 2021Posted by malvuln on Jan 22Discovery / credits: Malvuln - malvuln.com (c) 2021 Original source: https://malvuln.com/advisory/119cd00c48678d63ec07762a7ff08ac7.txt Contact: malvuln13 () gmail com Media: twitter.com/malvuln Threat: Backdoor.Win32.Verify.f Vulnerability: Missing Authentication Description: Backdoor.Win32.Verify by pMK, yet another self-hating backdoor as it lacks authentication granting access to whoever can reach the infected system. This malware listens on...
- Backdoor.Win32.Onalf / Missing Authentication January 22, 2021Posted by malvuln on Jan 22Discovery / credits: Malvuln - malvuln.com (c) 2021 Original source: https://malvuln.com/advisory/ba815d409cd714c0eac010b5970f6408.txt Contact: malvuln13 () gmail com Media: twitter.com/malvuln Threat: Backdoor.Win32.Onalf Vulnerability: Missing Authentication Description: WinRemoteShell (Onalf) listens for commands on TCP port 2020. Interestingly, it will only start listening once it can connect outbound to SMTP port 25. Not much […]
- Backdoor.Win32.WinShell.30 / Remote Stack Buffer Overflow / Missing Authentication January 22, 2021Posted by malvuln on Jan 22Discovery / credits: Malvuln - malvuln.com (c) 2021 Original source: https://malvuln.com/advisory/56a2b135c8d35561ea5b04694155eb77.txt Contact: malvuln13 () gmail com Media: twitter.com/malvuln Threat: Backdoor.Win32.WinShell.30 Vulnerability: Remote Stack Buffer Overflow / Missing Authentication Description: WinShell.30 listens on TCP port 5277 for commands. Attackers or responders who can reach the infected host can trigger a buffer […]
- Backdoor.Win32.Zxman / Missing Authentication January 22, 2021Posted by malvuln on Jan 22Discovery / credits: Malvuln - malvuln.com (c) 2021 Original source: https://malvuln.com/advisory/6b2a9304d1c7a63365db0f9fd12d39b0.txt Contact: malvuln13 () gmail com Media: twitter.com/malvuln Threat: Backdoor.Win32.Zxman Vulnerability: Missing Authentication Description: Backdoor.Win32.Zxman by Zx-man listens on TCP port 2048 for commands. However, anyone who can reach the infected host can take control as there is no authentication […]
- Backdoor.Win32.Whisper.b / Remote Stack Corruption January 22, 2021Posted by malvuln on Jan 22Discovery / credits: Malvuln - malvuln.com (c) 2021 Original source: https://malvuln.com/advisory/a0edb91f62c8c083ec35b32a922168d1.txt Contact: malvuln13 () gmail com Media: twitter.com/malvuln Threat: Backdoor.Win32.Whisper.b Vulnerability: Remote Stack Corruption Description: Whisper.b listens on TCP port 113 and connects to port 6667, deletes itself drops executable named rundll32.exe in Windows\System dir. The malware is prone to […]
- Backdoor.Win32.Whirlpool.10 / Remote Stack Buffer Overflow January 22, 2021Posted by malvuln on Jan 22Discovery / credits: Malvuln - malvuln.com (c) 2021 Original source: https://malvuln.com/advisory/bf0682b674ef23cf8ba0deeaf546f422.txt Contact: malvuln13 () gmail com Media: twitter.com/malvuln Threat: Backdoor.Win32.Whirlpool.10 Vulnerability: Remote Stack Buffer Overflow Description: Whirlpool listens on UDP Datagram ports 8848 and 8864. Sending a 192 byte payload to port 8864 triggers a stack buffer overflow overwriting both […]
- Backdoor.Win32.Zombam.geq / Remote Buffer Overflow January 22, 2021Posted by malvuln on Jan 22Discovery / credits: Malvuln - malvuln.com (c) 2021 Original source: https://malvuln.com/advisory/fd14cc7f025f49a3e08b4169d44a774e.txt Contact: malvuln13 () gmail com Media: twitter.com/malvuln Threat: Backdoor.Win32.Zombam.geq Vulnerability: Remote Buffer Overflow Description: Zombam.geq listens for connections on TCP port 80 and trys connect to SMTP port 25. By sending a HTTP GET request of about 2000 bytes […]
- [REVIVE-SA-2021-001] Revive Adserver Vulnerabilities January 22, 2021Posted by Matteo Beccati via Fulldisclosure on Jan 22======================================================================== Revive Adserver Security Advisory REVIVE-SA-2021-001 ------------------------------------------------------------------------ https://www.revive-adserver.com/security/revive-sa-2021-001 ------------------------------------------------------------------------ CVE-IDs: CVE-2021-22871, CVE-2021-22872, CVE-2021-22873 Date:...
Ransomware commonly comes up with an email that tricks users into trusting a malicious file. Many of the most recen… https://t.co/wIarD0ojXT
Tempo di lettura: 5 minSul web sono disponibili moltissime applicazioni open source che permettono di gestire le pi… https://t.co/SjCg383iEF
On the web there are many open source applications that allow you to manage the most various situations. It is comm… https://t.co/e5OZvRPAqm
Tempo di lettura: 4 minLa pratica dello shadow IT e' l'utilizzo di sistemi informatici, dispositivi, software, appl… https://t.co/9wQPtvqemG
The practice of shadow IT is the use of computer systems, devices, software, applications and services without the… https://t.co/CgzjblglX9