The intern's goal is to transform a blank Linux server into a versatile Production Server, capable of simultaneously running various types of application source code and databases.


Required knowledge to grasp


  • Linux Administration: Configure Systemd Service, Port Management, Firewall Management (ufw or firewalld).

  • Web Server Knowledge: Reverse Proxy Concept, Processing Blocks (Block Server/Virtual Host) in Nginx.

  • Database Knowledge: How to install, grant permissions, and securely open ports for DBMS on Linux.


Implementation sequence


  1. Server Allocation: Go to https://dev.mdcgroup.vn to request 01 server running Ubuntu Server or Rocky Linux.

  2. Install Database Management Systems:

    • Install PostgreSQL, create user, database, and configure pg_hba.conf to allow remote connections.

    • Install Microsoft SQL Server on Linux, configure a strong password compliant with Microsoft policies.

  3. Install Application Runtimes:

    • Install the latest .NET SDK / Runtime version.

    • Install Node.js (via NVM) and Python (via venv/conda).

  4. Deploy Sample Applications:

    • Deploy 1 API written in .NET, 1 API written in FastAPI/Flask (Python), and 1 API written in Node.js. Run them as background services (systemd).

    • Deploy 1 NextJS source code (running SSR) using PM2 for process management.

  5. Configure Nginx as Reverse Proxy: Configure a single Nginx instance to listen on port 80/443, use Domain/Subdomain to accurately route (Proxy pass) to the internal ports of .NET, Node.js, NextJS, and Python.

  6. Security and Optimization: Configure Certbot to automatically issue SSL Let's Encrypt for applications. Enable Firewall to block all DB ports, only open Web ports.


Acceptance of results


  • Quiz: Take a quiz to test Web Server knowledge on the internal server.

  • Questions & Suggestions: Propose solutions for CPU/RAM resource management when running too many services on the same OS.

  • Report Results: Send a summary table of services with corresponding Ports, links to sample websites that are functioning normally to management.

  • Weekend Discussion: Present on the operating mechanism of Reverse Proxy during the general meeting.