{"id":48707,"date":"2024-08-28T11:31:35","date_gmt":"2024-08-28T11:31:35","guid":{"rendered":"https:\/\/accuweb.cloud\/resource\/?post_type=faq&#038;p=48707"},"modified":"2026-02-18T06:36:42","modified_gmt":"2026-02-18T06:36:42","slug":"setting-up-a-full-stack-environment","status":"publish","type":"faq","link":"https:\/\/accuweb.cloud\/resource\/articles\/setting-up-a-full-stack-environment","title":{"rendered":"Setting up a Full Stack Environment"},"content":{"rendered":"<h2 class=\"ack-h2\">Mastering the Full Stack: Node.js, MongoDB, WordPress, Apache, and MySQL on AccuWeb.Cloud VPS<\/h2>\n<p>This guide provides a detailed walkthrough for setting up a Node.js application with MongoDB and a WordPress installation using MySQL on a single VPS with AccuWeb.Cloud.<\/p>\n<p>You\u2019ll learn how to install and configure Apache, PHP, MySQL, and WordPress, and deploy a Node.js app to handle backend processes. We\u2019ll cover the complete setup process, ensuring that your VPS is optimally configured to run both dynamic applications and a robust content management system seamlessly.<\/p>\n<p>By the end, you\u2019ll have a fully integrated server environment that supports both modern web applications and content management efficiently.<\/p>\n<p>First, create your Elastic VPS on AccuWeb.Cloud by following our step-by-step guide <a class=\"ack-link-color\" href=\"https:\/\/accuweb.cloud\/resource\/articles\/how-to-create-elastic-cloud-vps\/\" target=\"_blank\" rel=\"noopener\">here.<\/a><\/p>\n<div class=\"article-space\"><\/div>\n<div class=\"ack-formula\"><strong>Note:<\/strong> For the purposes of this article, we demonstrate the process using Ubuntu 22.<\/div>\n<div class=\"article-space\"><\/div>\n<p>Once your VPS is created, it will appear in your AccuWeb.Cloud dashboard. From there, you can manage and configure your VPS, monitor its performance, and access various management tools.<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Elastic-VPS-Environment.png\"><img fetchpriority=\"high\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48711 size-full\" title=\"Elastic VPS Environment\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Elastic-VPS-Environment.png\" alt=\"Elastic VPS Environment\" width=\"1239\" height=\"322\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Elastic-VPS-Environment.png 1239w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Elastic-VPS-Environment-300x78.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Elastic-VPS-Environment-1024x266.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Elastic-VPS-Environment-768x200.png 768w\" sizes=\"(max-width: 1239px) 100vw, 1239px\" \/><\/a><\/p>\n<p>Now, connect to your VPS using the web SSH client and run the following commands to install updates:<\/p>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo apt update\r\nsudo apt upgrade -y<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Connect-to-VPS-1.png\"><img decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48712 size-full\" title=\"Connect to VPS\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Connect-to-VPS-1.png\" alt=\"Connect to VPS\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Connect-to-VPS-1.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Connect-to-VPS-1-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Connect-to-VPS-1-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Connect-to-VPS-1-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Connect-to-VPS-1-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<h2 class=\"ack-h2\">Install Node.js<\/h2>\n<p>We will now begin by installing <strong>Node.js.<\/strong> Please run the following commands:<\/p>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\n# installs nvm (Node Version Manager)\r\ncurl -o- https:\/\/raw.githubusercontent.com\/nvm-sh\/nvm\/v0.39.7\/install.sh | bash\r\n# download and install Node.js (a restart of the terminal may be necessary)\r\nnvm install 20<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Node.Js-1.png\"><img decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48713 size-full\" title=\"Install Node.Js\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Node.Js-1.png\" alt=\"Install Node.Js\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Node.Js-1.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Node.Js-1-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Node.Js-1-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Node.Js-1-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Node.Js-1-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\n# verify that the correct Node.js version is installed in the environment\r\nnode -v\r\n# should print `v20.16.0`\r\n# verifies the right npm version is in the environment\r\nnpm -v\r\n# should print `10.8.1`<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-Current-Version.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48714 size-full\" title=\"Verify Current Version\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-Current-Version.png\" alt=\"Verify Current Version\" width=\"1314\" height=\"582\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-Current-Version.png 1314w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-Current-Version-300x133.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-Current-Version-1024x454.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-Current-Version-768x340.png 768w\" sizes=\"(max-width: 1314px) 100vw, 1314px\" \/><\/a><\/p>\n<h2 class=\"ack-h2\">Create a Directory for Your Node.js Application<\/h2>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\ncd ~\r\nmkdir my-node-app\r\ncd my-node-app<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h3 class=\"ack-h3\">Initialize a Node.js Project<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nnpm init -y\r\n# this command generates a package.json file with default configurations.<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h3 class=\"ack-h3\">Create a Simple Test Application<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\ncat &gt; app.js<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h3 class=\"ack-h3\">[Enter following code in app.js]<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nconst http = require('http');\r\nconst hostname = '0.0.0.0'; \/\/ bind to all network interfaces\r\nconst port = 3000;\r\nconst server = http.createServer((req, res) =&gt; {\r\nres.statusCode = 200;\r\nres.setHeader('Content-Type', 'text\/plain');\r\nres.end('Hello World\\n');\r\n});\r\nserver.listen(port, hostname, () =&gt; {\r\nconsole.log(`Server running at http:\/\/${hostname}:${port}\/`);\r\n});<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<p>Press Ctrl+D. This will save the file and exit cat.<\/p>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nView Filecat app.js<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Create-a-Directory.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48715 size-full\" title=\"Create a Directory\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Create-a-Directory.png\" alt=\"Create a Directory\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Create-a-Directory.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Create-a-Directory-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Create-a-Directory-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Create-a-Directory-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Create-a-Directory-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<h2 class=\"ack-h2\">Install PM2<\/h2>\n<p><strong>PM2<\/strong> is a powerful process manager that enhances the management of your applications. Here\u2019s how to set it up:<\/p>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nnpm install -g pm2<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h3 class=\"ack-h3\">Start Your Application<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\npm2 start app.js<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-pm2-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48716 size-full\" title=\"Install pm2\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-pm2-1.png\" alt=\"Install pm2\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-pm2-1.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-pm2-1-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-pm2-1-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-pm2-1-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-pm2-1-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<h3 class=\"ack-h3\">Access Your Application<\/h3>\n<p>Open a web browser and go to: <strong>http:\/\/&lt;your-server-ip&gt;:3000<\/strong><\/p>\n<h3 class=\"ack-h3\">You should see &#8220;Hello World&#8221;.<\/h3>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/hello-word-img-1-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48781 size-full\" title=\"Access your application\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/hello-word-img-1-1.png\" alt=\"Access your application\" width=\"1247\" height=\"750\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/hello-word-img-1-1.png 1247w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/hello-word-img-1-1-300x180.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/hello-word-img-1-1-1024x616.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/hello-word-img-1-1-768x462.png 768w\" sizes=\"(max-width: 1247px) 100vw, 1247px\" \/><\/a><\/p>\n<div class=\"article-extra-space\"><\/div>\n<div class=\"ack-formula\"><strong>NOTE:<\/strong> To allow traffic through port 3000 in your environment settings, adjust your firewall rules accordingly.<\/div>\n<div class=\"article-space\"><\/div>\n<h2 class=\"ack-h2\">Install MongoDB Community Edition<\/h2>\n<p>To install MongoDB Community Edition, refer to the official documentation for the required commands and steps: <a class=\"ack-link-color\" href=\"https:\/\/www.mongodb.com\/docs\/manual\/tutorial\/install-mongodb-on-ubuntu\/\" target=\"_blank\" rel=\"noopener\">MongoDB Installation Guide for Ubuntu.<\/a><\/p>\n<h3 class=\"ack-h3\">Install GnuPG and cURL<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo apt-get install gnupg curl<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<p>Installs the tools required for key management and downloading files from the internet.<\/p>\n<h3 class=\"ack-h3\">Add the MongoDB GPG Key<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\ncurl -fsSL https:\/\/www.mongodb.org\/static\/pgp\/server-7.0.asc | sudo gpg -o \/usr\/share\/keyrings\/mongodb-server-7.0.gpg --dearmor\r\nDownloads and adds the GPG key needed to verify MongoDB packages.<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h3 class=\"ack-h3\">Add the MongoDB Repository<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\necho \"deb [ arch=amd64,arm64 signed-by=\/usr\/share\/keyrings\/mongodb-server-7.0.gpg ] https:\/\/repo.mongodb.org\/apt\/ubuntu jammy\/mongodb-org\/7.0 multiverse\" | sudo tee \/etc\/apt\/sources.list.d\/mongodb-org-7.0.list<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<p>Adds MongoDB&#8217;s official repository to your system&#8217;s sources list.<\/p>\n<h3 class=\"ack-h3\">Update the Package List<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo apt-get update<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<p>Refreshes the package list to include the latest updates from the MongoDB repository.<\/p>\n<h3 class=\"ack-h3\">Install MongoDB<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo apt-get install -y mongodb-org<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<p>Installs MongoDB along with its necessary components.<\/p>\n<h3 class=\"ack-h3\">Start the MongoDB Service<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo systemctl start mongod<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<p>Starts the MongoDB service, making it active and ready for database operations.<\/p>\n<h3 class=\"ack-h3\">Check the Status of MongoDB Service<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo systemctl status mongod<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<p>Provides the current status and logs of the MongoDB service.<\/p>\n<h3 class=\"ack-h3\">Enable MongoDB to Start on Boot<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo systemctl enable mongod<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<p>Configures MongoDB to automatically start when the system boots.<\/p>\n<h3 class=\"ack-h3\">Restart the MongoDB Service<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo systemctl restart mongod<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<p>Restart the MongoDB service to apply any new changes or updates.<\/p>\n<p>We have successfully installed MongoDB and started the MongoDB service.<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/01-setting-up-full-stack.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48757 size-full\" title=\"Install MongoDB Community Edition\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/01-setting-up-full-stack.png\" alt=\"Install MongoDB Community Edition\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/01-setting-up-full-stack.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/01-setting-up-full-stack-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/01-setting-up-full-stack-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/01-setting-up-full-stack-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/01-setting-up-full-stack-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<h2 class=\"ack-h2\">Install MySQL Community Edition<\/h2>\n<p>To install MySQL, follow the detailed instructions provided in the official documentation:<\/p>\n<p><a class=\"ack-link-color\" href=\"https:\/\/dev.mysql.com\/doc\/mysql-apt-repo-quick-guide\/en\/\" target=\"_blank\" rel=\"noopener\">MySQL APT Repository Quick Guide<\/a><\/p>\n<h3 class=\"ack-h3\">Install<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo apt-get install mysql-server<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-MySQL-Community-Edition-1-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48763 size-full\" title=\"Install MySQL Community Edition\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-MySQL-Community-Edition-1-1.png\" alt=\"Install MySQL Community Edition\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-MySQL-Community-Edition-1-1.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-MySQL-Community-Edition-1-1-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-MySQL-Community-Edition-1-1-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-MySQL-Community-Edition-1-1-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-MySQL-Community-Edition-1-1-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<p><strong>After installing MySQL, you can enable and start the MySQL service using the following commands:<\/strong><\/p>\n<h3 class=\"ack-h3\">Enable MySQL to start on boot<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo systemctl enable mysql<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h3 class=\"ack-h3\">Start the MySQL service<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo systemctl start mysql<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h3 class=\"ack-h3\">Check the status of the MySQL service<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo systemctl status mysql<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Start-MySQL-Service.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48764 size-full\" title=\"Start MySQL Service\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Start-MySQL-Service.png\" alt=\"Start MySQL Service\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Start-MySQL-Service.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Start-MySQL-Service-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Start-MySQL-Service-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Start-MySQL-Service-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Start-MySQL-Service-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<h2 class=\"ack-h2\">Install Apache, PHP, and necessary PHP extensions<\/h2>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo apt-get install -y apache2 php php-mysql libapache2-mod-php php-bcmath php-curl php-imagick php-intl php-json php-mbstring php-xml php-zip<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Extensions-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48765 size-full\" title=\"Install Extensions\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Extensions-1.png\" alt=\"Install Extensions\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Extensions-1.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Extensions-1-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Extensions-1-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Extensions-1-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Install-Extensions-1-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<h3 class=\"ack-h3\">Start and enable Apache<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo systemctl start apache2\r\nsudo systemctl enable apache2\r\nsudo systemctl status apache2<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h3 class=\"ack-h3\">Verify PHP installation<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nphp -v<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-PHP-Installation-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48766 size-full\" title=\"Verify PHP Installation\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-PHP-Installation-1.png\" alt=\"Verify PHP Installation\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-PHP-Installation-1.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-PHP-Installation-1-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-PHP-Installation-1-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-PHP-Installation-1-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Verify-PHP-Installation-1-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<h2 class=\"ack-h2\">Install and configure WordPress<\/h2>\n<p>Install and configure WordPress by following the detailed instructions in the Ubuntu tutorial: <a class=\"ack-link-color\" href=\"https:\/\/ubuntu.com\/tutorials\/install-and-configure-wordpress#1-overview\" target=\"_blank\" rel=\"noopener\">Install and Configure WordPress.<\/a><\/p>\n<p>To make the installation and configuration of WordPress easier, follow the outlined commands and steps below:<\/p>\n<h3 class=\"ack-h3\">Create the Installation Directory and Download the WordPress<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo mkdir -p \/srv\/www\r\nsudo chown www-data: \/srv\/www\r\ncurl https:\/\/wordpress.org\/latest.tar.gz | sudo -u www-data tar zx -C \/srv\/www<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/WordPress-Installation.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48769 size-full\" title=\"WordPress Installation\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/WordPress-Installation.png\" alt=\"WordPress Installation\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/WordPress-Installation.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/WordPress-Installation-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/WordPress-Installation-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/WordPress-Installation-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/WordPress-Installation-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<h3 class=\"ack-h3\">Install Dependencies (If not already installed):<\/h3>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo apt install ghostscript \\\r\nlibapache2-mod-php \\\r\nphp-bcmath \\\r\nphp-curl \\\r\nphp-imagick \\\r\nphp-intl \\\r\nphp-json \\\r\nphp-mbstring \\\r\nphp-mysql \\\r\nphp-xml \\\r\nphp-zip<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h3 class=\"ack-h3\">Configure Apache for WordPress<\/h3>\n<p><strong>Create Apache site for WordPress.<\/strong><\/p>\n<p>Create \/etc\/apache2\/sites-available\/wordpress.conf with the following lines:<\/p>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\n&lt;VirtualHost *:80&gt;\r\nDocumentRoot \/srv\/www\/wodpress\r\nOptions FollowSymLinks\r\nAllowOverride Limit Options FileInfo\r\nDirectoryIndex index.php\r\nRequire all granted\r\nOptions FollowSymLinks\r\nRequire all granted<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h4>Enable the site with<\/h4>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo a2ensite wordpress<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h4>Enable URL rewriting with<\/h4>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo a2enmod rewrite<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h4>Disable the default \u201cIt Works\u201d site with<\/h4>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo a2dissite 000-default<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<h4>Ensure to reload apache2 to apply all these changes.<\/h4>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo service apache2 reload<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-Apache-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48770 size-full\" title=\"Configure Apache\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-Apache-1.png\" alt=\"Configure Apache\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-Apache-1.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-Apache-1-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-Apache-1-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-Apache-1-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-Apache-1-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<h2 class=\"ack-h2\">Configure database<\/h2>\n<p>To configure WordPress, we need to create a MySQL database. Let\u2019s proceed with this step.<\/p>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo mysql -u root\r\nCREATE DATABASE wordpress;\r\nCREATE USER wordpress@localhost IDENTIFIED BY '';\r\nGRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER\r\n-&gt; ON wordpress.*\r\n-&gt; TO wordpress@localhost;\r\nFLUSH PRIVILEGES;\r\nquit<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-database-1-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48771 size-full\" title=\"Configure database\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-database-1-1.png\" alt=\"Configure database\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-database-1-1.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-database-1-1-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-database-1-1-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-database-1-1-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-database-1-1-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<h3 class=\"ack-h3\">Configure WordPress to connect to the database<\/h3>\n<p>To configure WordPress to use the new database, start by copying the sample configuration file to wp-config.php<\/p>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo -u www-data cp \/srv\/www\/wordpress\/wp-config-sample.php \/srv\/www\/wordpress\/wp-config.php<\/code><\/pre>\n<div class=\"article-space\"><\/div>\n<p>Proceed to update the configuration file with your database credentials. Ensure you replace with your actual database password, and keep the placeholders database_name_here and username_here unchanged in the commands below.<\/p>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo -u www-data sed -i 's\/database_name_here\/wordpress\/' \/srv\/www\/wordpress\/wp-config.php\r\nsudo -u www-data sed -i 's\/username_here\/wordpress\/' \/srv\/www\/wordpress\/wp-config.php\r\nsudo -u www-data sed -i 's\/password_here\/\/' \/srv\/www\/wordpress\/wp-config.php<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-WordPress-to-connect-to-Database.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48772 size-full\" title=\"Configure WordPress to connect to Database\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-WordPress-to-connect-to-Database.png\" alt=\"Configure WordPress to connect to Database\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-WordPress-to-connect-to-Database.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-WordPress-to-connect-to-Database-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-WordPress-to-connect-to-Database-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-WordPress-to-connect-to-Database-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-WordPress-to-connect-to-Database-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<p><strong>Finally, open the configuration file in the nano editor with the following command<\/strong><\/p>\n<div class=\"article-space\"><\/div>\n<pre><code class=\"language-javascript\">\r\nsudo -u www-data nano \/srv\/www\/wordpress\/wp-config.php\r\nLocate these lines in the file\r\ndefine( 'AUTH_KEY', 'put your unique phrase here' );\r\ndefine( 'SECURE_AUTH_KEY', 'put your unique phrase here' );\r\ndefine( 'LOGGED_IN_KEY', 'put your unique phrase here' );\r\ndefine( 'NONCE_KEY', 'put your unique phrase here' );\r\ndefine( 'AUTH_SALT', 'put your unique phrase here' );\r\ndefine( 'SECURE_AUTH_SALT', 'put your unique phrase here' );\r\ndefine( 'LOGGED_IN_SALT', 'put your unique phrase here' );\r\ndefine( 'NONCE_SALT', 'put your unique phrase here' );<\/code><\/pre>\n<div class=\"article-extra-space\"><\/div>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-File-in-the-Neno-Editor-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48773 size-full\" title=\"Configure File in the Neno Editor\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-File-in-the-Neno-Editor-1.png\" alt=\"Configure File in the Neno Editor\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-File-in-the-Neno-Editor-1.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-File-in-the-Neno-Editor-1-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-File-in-the-Neno-Editor-1-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-File-in-the-Neno-Editor-1-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/Configure-File-in-the-Neno-Editor-1-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<p>Delete the lines using <strong>Ctrl+K<\/strong> (press it multiple times if necessary to remove each line).<\/p>\n<p>Next, visit <a class=\"ack-link-color\" href=\"https:\/\/api.wordpress.org\/secret-key\/1.1\/salt\/\" target=\"_blank\" rel=\"noopener\">this link<\/a>, which generates unique keys every time it&#8217;s accessed. Replace the deleted lines with the generated content to protect your site from <strong>&#8220;known secrets&#8221;<\/strong> vulnerabilities.<br \/>\nAfter updating the file, save and close it by pressing <strong>Ctrl+X<\/strong>, then Y to confirm, and <strong>Enter<\/strong> to finalize.<\/p>\n<h2 class=\"ack-h2\">Configure WordPress<\/h2>\n<p>Open your browser and navigate to http:\/\/localhost\/ [<strong>OR your instance IP OR domain URL<\/strong>]. You will be prompted to set up your new WordPress site by providing a site title, username, password, and email address.<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/11-setting-up-full-stack.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48747 size-full\" title=\"Configure New WordPress Site\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/11-setting-up-full-stack.png\" alt=\"Configure New WordPress Site\" width=\"1448\" height=\"899\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/11-setting-up-full-stack.png 1448w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/11-setting-up-full-stack-300x186.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/11-setting-up-full-stack-1024x636.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/11-setting-up-full-stack-768x477.png 768w\" sizes=\"(max-width: 1448px) 100vw, 1448px\" \/><\/a><\/p>\n<div class=\"article-extra-space\"><\/div>\n<div class=\"ack-formula\"><strong>Note:<\/strong> The username and password you create here are for logging into WordPress and should be different from the MySQL credentials you previously configured for WordPress, as well as different from your server or system login credentials.<\/div>\n<div class=\"article-space\"><\/div>\n<p>You can also choose whether you want search engines to index your site.<\/p>\n<p>After filling out the required information, click the <strong>&#8220;Install WordPress&#8221;<\/strong> button to complete the setup.<\/p>\n<p>You can now log in to your WordPress site at <a class=\"ack-link-color\" href=\"http:\/\/localhost\/wp-login.php\" target=\"_blank\" rel=\"noopener\">http:\/\/localhost\/wp-login.php<\/a> [<strong>OR your instance IP OR domain URL<\/strong>]. Once logged in, you&#8217;ll be greeted by the WordPress Dashboard, which contains a variety of icons and options for managing your site. It may seem overwhelming at first, but don\u2019t worry\u2014WordPress is designed to be user-friendly and intuitive.<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/12-setting-up-full-stack.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48746 size-full\" title=\"WordPress Dashbaord\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/12-setting-up-full-stack.png\" alt=\"WordPress Dashbaord\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/12-setting-up-full-stack.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/12-setting-up-full-stack-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/12-setting-up-full-stack-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/12-setting-up-full-stack-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/12-setting-up-full-stack-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<h3 class=\"ack-h3\">WordPress Site<\/h3>\n<p>This is the appearance of your WordPress site as seen by visitors.<\/p>\n<p><a href=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/13-setting-up-ful-stack.png\"><img loading=\"lazy\" decoding=\"async\" class=\"ack-article-image aligncenter wp-image-48745 size-full\" title=\"Verify WordPress Site\" src=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/13-setting-up-ful-stack.png\" alt=\"Verify WordPress Site\" width=\"1600\" height=\"757\" srcset=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/13-setting-up-ful-stack.png 1600w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/13-setting-up-ful-stack-300x142.png 300w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/13-setting-up-ful-stack-1024x484.png 1024w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/13-setting-up-ful-stack-768x363.png 768w, https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/08\/13-setting-up-ful-stack-1536x727.png 1536w\" sizes=\"(max-width: 1600px) 100vw, 1600px\" \/><\/a><\/p>\n<p>This guide equips you with the knowledge to host both Node.js with MongoDB and WordPress with MySQL on a single VPS using AccuWeb.Cloud, creating a fully integrated and efficient server environment for dynamic applications and content management. By following these steps, you\u2019ll ensure your server is optimized to support modern web development needs.<\/p>\n<p>That\u2019s all!<\/p>\n<div class=\"cta-btn-top-space ack-extra-image-space\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"38668\" class=\"elementor elementor-38668\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"elementor_library\">\n\t\t\t        <section class=\"elementor-section elementor-top-section elementor-element elementor-element-882321f elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-row-max-none\" data-id=\"882321f\" data-element_type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n            \n                        <div class=\"elementor-container elementor-column-gap-default \">\n                    <div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7cc79cc\" data-id=\"7cc79cc\" data-element_type=\"column\">\n        <div class=\"elementor-widget-wrap elementor-element-populated\">\n                    \n        \t\t<div class=\"elementor-element elementor-element-e31b40f elementor-widget elementor-widget-shortcode\" data-id=\"e31b40f\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t            <\/div>\n        <\/div>\n                    <\/div>\n        <\/section>\n        \t\t<\/div>\n\t\t<\/div>\n<div class=\"cta-btn-bottom-space\"><\/div>\n","protected":false},"author":1,"featured_media":52879,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","class_list":["post-48707","faq","type-faq","status-publish","has-post-thumbnail","hentry","faq_topics-environment-management","faq_topics-kb","faq_topics-product-documentation","faq_topics-setting-up-a-full-stack-environment"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.10 (Yoast SEO v24.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Setting up a full stack environment - AccuWeb.Cloud<\/title>\n<meta name=\"description\" content=\"Discover how to set up a full stack environment including Node.Js, MongoDB with WordPress, MySQL on VPS. Deploy full application.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Setting up a Full Stack Environment\" \/>\n<meta property=\"og:description\" content=\"Discover how to set up a full stack environment including Node.Js, MongoDB with WordPress, MySQL on VPS. Deploy full application.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps\" \/>\n<meta property=\"og:site_name\" content=\"AccuWeb Cloud\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-18T06:36:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#article\",\"isPartOf\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/setting-up-a-full-stack-environment\"},\"author\":{\"name\":\"Jilesh Patadiya\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/a7a4cbe8405202b537509c757b588c58\"},\"headline\":\"Setting up a Full Stack Environment\",\"datePublished\":\"2024-08-28T11:31:35+00:00\",\"dateModified\":\"2026-02-18T06:36:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/setting-up-a-full-stack-environment\"},\"wordCount\":1020,\"publisher\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/#organization\"},\"image\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#primaryimage\"},\"thumbnailUrl\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\",\"inLanguage\":\"en-US\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/setting-up-a-full-stack-environment\",\"url\":\"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps\",\"name\":\"Setting up a full stack environment - AccuWeb.Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#primaryimage\"},\"image\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#primaryimage\"},\"thumbnailUrl\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\",\"datePublished\":\"2024-08-28T11:31:35+00:00\",\"dateModified\":\"2026-02-18T06:36:42+00:00\",\"description\":\"Discover how to set up a full stack environment including Node.Js, MongoDB with WordPress, MySQL on VPS. Deploy full application.\",\"breadcrumb\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#primaryimage\",\"url\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\",\"contentUrl\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/accuweb.cloud\/resource\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Setting up a Full Stack Environment\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#website\",\"url\":\"https:\/\/accuweb.cloud\/resource\/\",\"name\":\"AccuWeb Cloud\",\"description\":\"Cutting Edge Cloud Computing\",\"publisher\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/accuweb.cloud\/resource\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#organization\",\"name\":\"AccuWeb.Cloud\",\"url\":\"https:\/\/accuweb.cloud\/resource\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/04\/accuwebcloud_logo_black_tagline.jpg\",\"contentUrl\":\"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/04\/accuwebcloud_logo_black_tagline.jpg\",\"width\":156,\"height\":87,\"caption\":\"AccuWeb.Cloud\"},\"image\":{\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/a7a4cbe8405202b537509c757b588c58\",\"name\":\"Jilesh Patadiya\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2cea2bdb5bbabb771ee67e96acad7396f25cb1a0c360b9bc4a9ac40cea9cd8b2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2cea2bdb5bbabb771ee67e96acad7396f25cb1a0c360b9bc4a9ac40cea9cd8b2?s=96&d=mm&r=g\",\"caption\":\"Jilesh Patadiya\"},\"description\":\"Jilesh Patadiya, the visionary Co-Founder and Chief Technology Officer (CTO) behind AccuWeb.Cloud. Founder &amp; CTO at AccuWebHosting.com. He shares his web hosting insights on the AccuWeb.Cloud blog. He mostly writes on the latest web hosting trends, WordPress, storage technologies, and Windows and Linux hosting platforms.\",\"sameAs\":[\"https:\/\/accuweb.cloud\/resource\",\"https:\/\/www.facebook.com\/accuwebhosting\",\"https:\/\/www.instagram.com\/accuwebhosting\/\",\"https:\/\/www.linkedin.com\/company\/accuwebhosting\/\",\"https:\/\/x.com\/accuwebhosting\",\"https:\/\/www.youtube.com\/c\/Accuwebhosting\"],\"url\":\"https:\/\/accuweb.cloud\/resource\/author\/accuwebadmin\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Setting up a full stack environment - AccuWeb.Cloud","description":"Discover how to set up a full stack environment including Node.Js, MongoDB with WordPress, MySQL on VPS. Deploy full application.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps","og_locale":"en_US","og_type":"article","og_title":"Setting up a Full Stack Environment","og_description":"Discover how to set up a full stack environment including Node.Js, MongoDB with WordPress, MySQL on VPS. Deploy full application.","og_url":"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps","og_site_name":"AccuWeb Cloud","article_modified_time":"2026-02-18T06:36:42+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#article","isPartOf":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/setting-up-a-full-stack-environment"},"author":{"name":"Jilesh Patadiya","@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/a7a4cbe8405202b537509c757b588c58"},"headline":"Setting up a Full Stack Environment","datePublished":"2024-08-28T11:31:35+00:00","dateModified":"2026-02-18T06:36:42+00:00","mainEntityOfPage":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/setting-up-a-full-stack-environment"},"wordCount":1020,"publisher":{"@id":"https:\/\/accuweb.cloud\/resource\/#organization"},"image":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#primaryimage"},"thumbnailUrl":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","inLanguage":"en-US"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/accuweb.cloud\/resource\/articles\/setting-up-a-full-stack-environment","url":"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps","name":"Setting up a full stack environment - AccuWeb.Cloud","isPartOf":{"@id":"https:\/\/accuweb.cloud\/resource\/#website"},"primaryImageOfPage":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#primaryimage"},"image":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#primaryimage"},"thumbnailUrl":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","datePublished":"2024-08-28T11:31:35+00:00","dateModified":"2026-02-18T06:36:42+00:00","description":"Discover how to set up a full stack environment including Node.Js, MongoDB with WordPress, MySQL on VPS. Deploy full application.","breadcrumb":{"@id":"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#primaryimage","url":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","contentUrl":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/07\/NEW-OG-IMAGE-URL.jpg","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/accuweb.cloud\/resource\/articles\/Nodejs-mongodb-wordpress-apache-php-vps#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/accuweb.cloud\/resource\/"},{"@type":"ListItem","position":2,"name":"Setting up a Full Stack Environment"}]},{"@type":"WebSite","@id":"https:\/\/accuweb.cloud\/resource\/#website","url":"https:\/\/accuweb.cloud\/resource\/","name":"AccuWeb Cloud","description":"Cutting Edge Cloud Computing","publisher":{"@id":"https:\/\/accuweb.cloud\/resource\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/accuweb.cloud\/resource\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/accuweb.cloud\/resource\/#organization","name":"AccuWeb.Cloud","url":"https:\/\/accuweb.cloud\/resource\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/logo\/image\/","url":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/04\/accuwebcloud_logo_black_tagline.jpg","contentUrl":"https:\/\/accuweb.cloud\/resource\/wp-content\/uploads\/2024\/04\/accuwebcloud_logo_black_tagline.jpg","width":156,"height":87,"caption":"AccuWeb.Cloud"},"image":{"@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/a7a4cbe8405202b537509c757b588c58","name":"Jilesh Patadiya","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/accuweb.cloud\/resource\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2cea2bdb5bbabb771ee67e96acad7396f25cb1a0c360b9bc4a9ac40cea9cd8b2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2cea2bdb5bbabb771ee67e96acad7396f25cb1a0c360b9bc4a9ac40cea9cd8b2?s=96&d=mm&r=g","caption":"Jilesh Patadiya"},"description":"Jilesh Patadiya, the visionary Co-Founder and Chief Technology Officer (CTO) behind AccuWeb.Cloud. Founder &amp; CTO at AccuWebHosting.com. He shares his web hosting insights on the AccuWeb.Cloud blog. He mostly writes on the latest web hosting trends, WordPress, storage technologies, and Windows and Linux hosting platforms.","sameAs":["https:\/\/accuweb.cloud\/resource","https:\/\/www.facebook.com\/accuwebhosting","https:\/\/www.instagram.com\/accuwebhosting\/","https:\/\/www.linkedin.com\/company\/accuwebhosting\/","https:\/\/x.com\/accuwebhosting","https:\/\/www.youtube.com\/c\/Accuwebhosting"],"url":"https:\/\/accuweb.cloud\/resource\/author\/accuwebadmin"}]}},"_links":{"self":[{"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/faq\/48707","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/faq"}],"about":[{"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/types\/faq"}],"author":[{"embeddable":true,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/comments?post=48707"}],"version-history":[{"count":18,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/faq\/48707\/revisions"}],"predecessor-version":[{"id":52979,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/faq\/48707\/revisions\/52979"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/media\/52879"}],"wp:attachment":[{"href":"https:\/\/accuweb.cloud\/resource\/wp-json\/wp\/v2\/media?parent=48707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}