Skip to content

Commit 358c3ec

Browse files
josephcardillo-akamaiMagda Sulik
andauthored
[Update] MEAN OCA (#7223)
* update distro and instructions for mean marketplace app * editorial review --------- Co-authored-by: Magda Sulik <you@example.com>
1 parent b437c42 commit 358c3ec

File tree

1 file changed

+40
-16
lines changed
  • docs/marketplace-docs/guides/mean-stack

1 file changed

+40
-16
lines changed

docs/marketplace-docs/guides/mean-stack/index.md

Lines changed: 40 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Deploy a MEAN Stack through the Linode Marketplace"
33
description: "Learn how to easily deploy MEAN (MongoDB, Express, Angular, Node.js) using Linode's Marketplace Apps."
44
published: 2020-03-17
5-
modified: 2022-03-08
5+
modified: 2025-03-19
66
keywords: ['mongodb','mean','angular','express', 'web app', 'node']
77
tags: ["web server","database","cloud-manager","linode platform","web applications","marketplace"]
88
external_resources:
@@ -29,8 +29,6 @@ A MEAN (MongoDB, Express, Angular, Node.js) stack is a free and open-source web
2929

3030
- [Node.js](https://nodejs.org/en/about/) serves as the run-time environment for your application.
3131

32-
- [PM2](https://pm2.keymetrics.io) is a daemon process manager that helps you manage and keep your application online.
33-
3432
MEAN is a full-stack JavaScript-based framework consisting of MongoDB database, ExpressJS, AngularJS, and NodeJS. You can build entire web applications on JavaScript, from client to server to database with this stack. Single-language programming makes it easier to develop working applications more quickly without sacrificing functionality and features.
3533

3634
## Deploying a Marketplace App
@@ -45,51 +43,77 @@ MEAN is a full-stack JavaScript-based framework consisting of MongoDB database,
4543

4644
## Configuration Options
4745

48-
- **Supported distributions:** Ubuntu 20.04 LTS
46+
- **Supported distributions:** Ubuntu 24.04 LTS
4947
- **Recommended minimum plan:** 1GB Shared Compute Instance or higher, depending on the number of sites and size of the sites you plan on hosting.
5048

5149
### MEAN Options
5250

5351
- **Email address** *(required)*: Enter the email address to use for generating the SSL certificates.
5452

55-
{{% content "marketplace-limited-user-fields-shortguide" %}}
53+
{{% content "marketplace-required-limited-user-fields-shortguide" %}}
5654

5755
{{% content "marketplace-custom-domain-fields-shortguide" %}}
5856

5957
{{% content "marketplace-special-character-limitations-shortguide" %}}
6058

6159
## Getting Started After Deployment
6260

63-
Once deployed, a "Hello World" sample application should be running on `http://localhost:3000`. An Nginx reverse proxy then serves the application through your custom domain or rDNS domain over ports 80 and 443. Follow the instructions below to view or access it.
61+
Once the app is deployed, you need to obtain the credentials from the server.
62+
63+
To obtain credentials:
64+
65+
1. Log in to your new Compute Instance using one of the methods below:
66+
67+
- **Lish Console**: Log in to Cloud Manager, click the **Linodes** link in the left menu, and select the Compute Instance you just deployed. Click **Launch LISH Console**. Log in as the `root` user. To learn more, see [Using the Lish Console](/docs/products/compute/compute-instances/guides/lish/).
68+
- **SSH**: Log in to your Compute Instance over SSH using the `root` user. To learn how, see [Connecting to a Remote Server Over SSH](/docs/guides/connect-to-server-over-ssh/).
69+
70+
1. Run the following command to access the credentials file:
71+
72+
```command
73+
cat /home/$USERNAME/.credentials
74+
```
75+
76+
This returns passwords that were automatically generated when the instance was deployed. Save them. Once saved, you can safely delete the file.
77+
78+
Once deployed, a *Hello World* sample application should be running. The Express backend runs on port `5000`, and Nginx serves the Angular frontend through your custom domain or rDNS domain over ports `80` and `443`. Follow the instructions below to view or access it.
6479

6580
### Accessing the MEAN App through the Command Line
6681

67-
The MEAN sample application is stored in the `/opt/mean/` directory. To access it within the command line, follow the instructions below.
82+
The MEAN stack components are organized as follows:
83+
- Frontend (Angular): `/var/www/[domain]`
84+
- Backend (Express): `/var/www/[domain]/backend`
85+
86+
To access these components within the command line:
6887

6988
1. Log in to your Compute Instance via [SSH](/docs/guides/connect-to-server-over-ssh/) or [Lish](/docs/products/compute/compute-instances/guides/lish/).
7089

71-
1. Navigate to the directory in which the application is stored:
90+
1. Go to the backend directory:
7291

73-
cd /opt/mean/
92+
cd /var/www/[domain]/backend
7493

75-
1. Open the sample application with your preferred command line text editor, such as [nano](/docs/guides/use-nano-to-edit-files-in-linux/) or [vim](/docs/guides/what-is-vi/).
94+
1. To view the Express server file, run:
7695

77-
nano server.js
96+
cat server.js
97+
98+
1. To view the Angular frontend files, run:
99+
100+
cd /var/www/[domain]
101+
ls
78102

79103
### Viewing the MEAN App through a Web Browser
80104

81-
Open your web browser and navigate to `https://[domain]`, where *[domain]* can be replaced with the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS.
105+
Open your web browser and navigate to `https://[domain]`, where `[domain]` is the custom domain you entered during deployment or your Compute Instance's rDNS domain (such as `192-0-2-1.ip.linodeusercontent.com`). See the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for information on viewing rDNS.
82106
83107
## Software Included
84108
85109
| **Software** | **Description** |
86110
|:--------------|:------------|
87-
| **MongoDB** | Document-based database |
111+
| **MongoDB 8.0** | Document-based database |
88112
| **Express** | Web application framework |
89-
| **Angular** | JavaScript library |
90-
| **Node JS** | Runtime environment |
91-
| **PM2** | Daemon process manager |
113+
| **Angular** | JavaScript frontend framework with CLI |
114+
| **Node.js 22.x** | Runtime environment |
92115
| **NGINX** | Web server |
93116
| **UFW (UncomplicatedFirewall)** | Firewall utility. Ports 22, 80, and 443 for IPv4 and IPv6 are set to allow traffic. All other ports have the following firewall rules: deny (incoming), allow (outgoing). |
94117
118+
95119
{{% content "marketplace-update-note-shortguide" %}}

0 commit comments

Comments
 (0)