DEV Community

Cover image for How to Host Nodejs/Express Applications on Namecheap cPanel
Abdulfatai Suleiman
Abdulfatai Suleiman

Posted on

How to Host Nodejs/Express Applications on Namecheap cPanel

What is Namecheap?

Namecheap is an ICANN-accredited domain name registrar, which provides domain name registration and web hosting.

Getting Started

Step 1: Write some code!

We will create a simple Express application and host it on Namecheap on this tutorial.

Write some code!

const express = require('express');
const app = express();

const PORT = process.env.PORT || 8000;

app.get('/', (req, res) => {
  res.send('Hello world');
});

app.get('/:name', (req, res) => {
  const name = req.params.name;
  res.send(`Hello ${name}`);
});

app.listen(PORT, () => console.log(`Server is running on PORT ${PORT}`));
ðŸ”Ĩ āļ‚āđˆāļēāļ§āļ”āđˆāļ§āļ™: iamnotstatic/how to host nodejs express applications on namecheap cpanel nh - āļŠāļĢāļļāļ›āļ”āļĢāļēāļĄāđˆāļēāļĨāđˆāļēāļŠāļļāļ” ðŸ”Ĩ āļ‚āđˆāļēāļ§āļ”āđˆāļ§āļ™: iamnotstatic/how to host nodejs express applications on namecheap cpanel nh - āļŠāļĢāļļāļ›āļ”āļĢāļēāļĄāđˆāļēāļĨāđˆāļēāļŠāļļāļ”

Save the code above in a file named app.js. When you run it, you should get a result similar to the images below.
Alt Text

Alt Text

Alt Text

Hosting Express on cPanel

This section assumes we have created a Namecheap account and purchased a domain along with hosting.

Step 2: Log in to cPanel

image

Step 3: Create a NodeJs Application

cPanel has tools for operations like SSL management, Databases, File management, Emails, Site metrics, Domain management, etc. Navigate to the SOFTWARE section and select Setup Node.js App.
image

The following interface will be displayed there:
image

Next, click the CREATE APPLICATION button on the right side of the screen.
Alt Text

You will see a screen similar to the one above, select a Node.js version (preferably the latest). Provide a name for your application in the Application root form field, and select the domain/subdomain you want the app hosted on in the Application URL section.
Alt Text

Step 4: Upload the Express Application to cPanel

Navigate to the FILES section in cPanel and select File Manager. It is a tool that allows for the management of files on our server.
image

Next, zip your local project, upload it to the cPanel file manager. Then unzip it on the server.
Alt Text

Alt Text

Step 5: Install Project Dependencies

Open the Node.js App page again and scroll down and open the project.

Click on the Run NPM Install button.
Alt Text

Alt Text

Step 6: Restart the Node.js Application

Whenever you make changes to the web application, you have to restart the application to effect the changes. To do this, scroll up on the Node.js App page and locate the RESTART button, then click it.
Alt Text

Congratulations! You have successfully hosted a Node.js/Express application on Namecheap cPanel. It is accessible via the domain you linked to the app during its creation.

Alt Text

Conclusion

We saw the possibility of hosting Node.js web applications on cPanels like Namecheap and learned how to host a Node.js project on cPanel. If you have any questions, don't hesitate to contact me on Twitter: @iamnotstatic

Top comments (9)

ðŸ”Ĩ āļ‚āđˆāļēāļ§āļ”āđˆāļ§āļ™: iamnotstatic/how to host nodejs express applications on namecheap cpanel nh - āļŠāļĢāļļāļ›āļ”āļĢāļēāļĄāđˆāļēāļĨāđˆāļēāļŠāļļāļ”
 
krlz profile image
Krlz •

I did the same thing, but its important to define the correct path for this to work, any other but not the root /, otherwise you will have a conflict with what is already being handle in the public folder

app.get('/nottherrot', (req, res) => {
res.send('Hello world');
});

ðŸ”Ĩ āļ‚āđˆāļēāļ§āļ”āđˆāļ§āļ™: iamnotstatic/how to host nodejs express applications on namecheap cpanel nh - āļŠāļĢāļļāļ›āļ”āļĢāļēāļĄāđˆāļēāļĨāđˆāļēāļŠāļļāļ”
 
halltech profile image
Olajide Ayomide •

I am getting an error
The node binary used for scripts is /home/cebilute/nodevenv/rest-api/14/bin/node but npm is using /opt/alt/alt-nodejs14/root/usr/bin/node itself. Use the--scripts-prepend-node-pathoption to include the path for the node binary npm was executed with.

ðŸ”Ĩ āļ‚āđˆāļēāļ§āļ”āđˆāļ§āļ™: iamnotstatic/how to host nodejs express applications on namecheap cpanel nh - āļŠāļĢāļļāļ›āļ”āļĢāļēāļĄāđˆāļēāļĨāđˆāļēāļŠāļļāļ”
 
atlas7005 profile image
Atlas •

Doesn't work for me, I just get redirected to the "Default Web Site Page" thing, when trying to access the app.

ðŸ”Ĩ āļ‚āđˆāļēāļ§āļ”āđˆāļ§āļ™: iamnotstatic/how to host nodejs express applications on namecheap cpanel nh - āļŠāļĢāļļāļ›āļ”āļĢāļēāļĄāđˆāļēāļĨāđˆāļēāļŠāļļāļ”
 
olatuneday profile image
Oladosu Olatuneday •

i have same problem, pls how did u go about yours?

ðŸ”Ĩ āļ‚āđˆāļēāļ§āļ”āđˆāļ§āļ™: iamnotstatic/how to host nodejs express applications on namecheap cpanel nh - āļŠāļĢāļļāļ›āļ”āļĢāļēāļĄāđˆāļēāļĨāđˆāļēāļŠāļļāļ”
 
iamnotstatic profile image
Abdulfatai Suleiman •

Oh sorry to hear that, have you resolved it?

ðŸ”Ĩ āļ‚āđˆāļēāļ§āļ”āđˆāļ§āļ™: iamnotstatic/how to host nodejs express applications on namecheap cpanel nh - āļŠāļĢāļļāļ›āļ”āļĢāļēāļĄāđˆāļēāļĨāđˆāļēāļŠāļļāļ”
 
olatuneday profile image
Oladosu Olatuneday •

Doesn't work for me, I just get redirected to the "Default Web Site Page" thing, when trying to access the app

ðŸ”Ĩ āļ‚āđˆāļēāļ§āļ”āđˆāļ§āļ™: iamnotstatic/how to host nodejs express applications on namecheap cpanel nh - āļŠāļĢāļļāļ›āļ”āļĢāļēāļĄāđˆāļēāļĨāđˆāļēāļŠāļļāļ”
 
iamnotstatic profile image
Abdulfatai Suleiman •

You need to add "RewriteEngine off" to your .htaccess file

ðŸ”Ĩ āļ‚āđˆāļēāļ§āļ”āđˆāļ§āļ™: iamnotstatic/how to host nodejs express applications on namecheap cpanel nh - āļŠāļĢāļļāļ›āļ”āļĢāļēāļĄāđˆāļēāļĨāđˆāļēāļŠāļļāļ”
 
jacksonemmanuel profile image
Jackson •

Should the .htaccess file be in the project root?

ðŸ”Ĩ āļ‚āđˆāļēāļ§āļ”āđˆāļ§āļ™: iamnotstatic/how to host nodejs express applications on namecheap cpanel nh - āļŠāļĢāļļāļ›āļ”āļĢāļēāļĄāđˆāļēāļĨāđˆāļēāļŠāļļāļ” Thread
 
iamnotstatic profile image
Abdulfatai Suleiman •

Yeah