{"id":3881,"date":"2023-11-23T12:51:37","date_gmt":"2023-11-23T04:51:37","guid":{"rendered":"https:\/\/www.servergigabit.com\/guide\/?post_type=kb&#038;p=3881"},"modified":"2026-03-16T10:33:39","modified_gmt":"2026-03-16T02:33:39","slug":"lemp-stack-setup-debian-vps","status":"publish","type":"kb","link":"https:\/\/www.servergigabit.com\/guide\/kb\/lemp-stack-setup-debian-vps","title":{"rendered":"LEMP Stack: 7 Powerful Steps to Effortlessly Set Up"},"content":{"rendered":"<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-3882\" src=\"https:\/\/www.servergigabit.com\/guide\/wp-content\/uploads\/2023\/11\/30-300x169.jpeg\" alt=\"LEMP Stack\" width=\"696\" height=\"392\" srcset=\"https:\/\/www.servergigabit.com\/guide\/wp-content\/uploads\/2023\/11\/30-300x169.jpeg 300w, https:\/\/www.servergigabit.com\/guide\/wp-content\/uploads\/2023\/11\/30-1024x576.jpeg 1024w, https:\/\/www.servergigabit.com\/guide\/wp-content\/uploads\/2023\/11\/30-768x432.jpeg 768w, https:\/\/www.servergigabit.com\/guide\/wp-content\/uploads\/2023\/11\/30-1536x864.jpeg 1536w, https:\/\/www.servergigabit.com\/guide\/wp-content\/uploads\/2023\/11\/30-2048x1152.jpeg 2048w, https:\/\/www.servergigabit.com\/guide\/wp-content\/uploads\/2023\/11\/30-370x208.jpeg 370w, https:\/\/www.servergigabit.com\/guide\/wp-content\/uploads\/2023\/11\/30-1230x692.jpeg 1230w, https:\/\/www.servergigabit.com\/guide\/wp-content\/uploads\/2023\/11\/30-800x450.jpeg 800w, https:\/\/www.servergigabit.com\/guide\/wp-content\/uploads\/2023\/11\/30-390x219.jpeg 390w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/p>\n<div class=\"markdown markdown-main-panel\" dir=\"ltr\">\n<p data-sourcepos=\"7:1-7:45\">This comprehensive tutorial will guide you through the process of setting up a LEMP (Linux, NGINX, MariaDB, PHP) stack on a Debian VPS. A LEMP stack (Linux, NGINX, MariaDB, PHP) is a popular web server configuration known for its performance, scalability, and security. It is commonly used to host websites and web applications. By following this detailed guide, you can establish a robust and reliable foundation for hosting your website or web application on your Debian VPS.<\/p>\n<h2 data-sourcepos=\"9:1-9:33\"><strong>Prerequisites<\/strong><\/h2>\n<p data-sourcepos=\"11:1-11:88\">Before embarking on this tutorial, ensure you have the following prerequisites in place:<\/p>\n<ol data-sourcepos=\"13:1-18:0\">\n<li data-sourcepos=\"13:1-14:0\">\n<p data-sourcepos=\"13:4-13:132\"><strong>A Debian VPS with SSH Access:<\/strong> You will need a Debian VPS with SSH access to perform the installation and configuration steps.<\/p>\n<\/li>\n<li data-sourcepos=\"15:1-16:0\">\n<p data-sourcepos=\"15:4-15:164\"><strong>Root or Sudo User Account:<\/strong> You will need to have a root user account or a sudo user account with administrative privileges to execute the necessary commands.<\/p>\n<\/li>\n<li data-sourcepos=\"17:1-18:0\">\n<p data-sourcepos=\"17:4-17:114\"><strong>Basic Linux Knowledge:<\/strong> Familiarity with basic Linux commands and file system navigation will be beneficial.<\/p>\n<\/li>\n<\/ol>\n<h2 data-sourcepos=\"24:1-24:47\"><strong>Steps<\/strong><\/h2>\n<h4 data-sourcepos=\"24:1-24:47\"><strong>Step 1: Install the Software<\/strong><\/h4>\n<ol data-sourcepos=\"26:1-32:14\">\n<li data-sourcepos=\"16:1-17:0\">Update the package manager cache:<\/li>\n<\/ol>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo apt update\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"2\" data-sourcepos=\"22:1-23:0\">\n<li data-sourcepos=\"22:1-23:0\">Install the LEMP stack software:<\/li>\n<\/ol>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo apt install nginx python3-certbot-nginx php-fpm php-mysql zip unzip pwgen\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"3\" data-sourcepos=\"28:1-29:0\">\n<li data-sourcepos=\"28:1-29:0\">Install <a href=\"https:\/\/downloads.mariadb.org\/mariadb\/repositories\/\" target=\"_blank\" rel=\"noopener\">MariaDB<\/a>:<\/li>\n<\/ol>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo apt install mariadb-server\r\n<\/code><\/pre>\n<\/div>\n<h4 data-sourcepos=\"34:1-34:34\"><strong>Step 2: Configure the Software<\/strong><\/h4>\n<ol data-sourcepos=\"36:1-37:0\">\n<li data-sourcepos=\"36:1-37:0\">Secure the MariaDB installation:<\/li>\n<\/ol>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo mysql_secure_installation &amp;&amp; sudo mysql_upgrade\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"2\" data-sourcepos=\"42:1-43:0\">\n<li data-sourcepos=\"42:1-43:0\">Configure Certbot to obtain SSL certificates:<\/li>\n<\/ol>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo certbot --nginx -d $(hostname) -d vmXXXX.contaboserver.net\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"3\" data-sourcepos=\"48:1-49:0\">\n<li data-sourcepos=\"48:1-49:0\">PHP configuration:<\/li>\n<\/ol>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo grep \"listen =\" \/etc\/php\/7.3\/fpm\/pool.d\/www.conf\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"4\" data-sourcepos=\"54:1-55:0\">\n<li data-sourcepos=\"54:1-55:0\">NGINX configuration:<\/li>\n<\/ol>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo open \/etc\/nginx\/sites-enabled\/default\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"5\" data-sourcepos=\"60:1-61:0\">\n<li data-sourcepos=\"60:1-61:0\">Restart NGINX:<\/li>\n<\/ol>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo systemctl restart nginx\r\n<\/code><\/pre>\n<\/div>\n<h4 data-sourcepos=\"66:1-66:44\"><strong>Step 3: Install and Configure phpMyAdmin<\/strong><\/h4>\n<ol data-sourcepos=\"68:1-69:0\">\n<li data-sourcepos=\"68:1-69:0\">Download <a href=\"https:\/\/www.phpmyadmin.net\/downloads\/\" target=\"_blank\" rel=\"noopener\">phpMyAdmin<\/a>:<\/li>\n<\/ol>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo mkdir \/var\/www\/phpmyadmin\r\nsudo cd \/var\/www\/phpmyadmin\/\r\nsudo wget [https:\/\/files.phpmyadmin.net\/phpMyAdmin\/5.0.0-alpha1\/phpMyAdmin-5.0.0-alpha1-all-languages.zip](https:\/\/files.phpmyadmin.net\/phpMyAdmin\/5.0.0-alpha1\/phpMyAdmin-5.0.0-alpha1-all-languages.zip)\r\nsudo unzip phpMyAdmin-5.0.0-alpha1-all-languages.zip\r\nsudo mv phpMyAdmin-5.0.0-alpha1-all-languages\/* .\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"2\" data-sourcepos=\"78:1-79:0\">\n<li data-sourcepos=\"78:1-79:0\">Create a database user and import the database:<\/li>\n<\/ol>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo mysql &lt; sql\/create_tables.sql\r\nsudo <span class=\"citation-0 citation-end-0\">mysql\r\nCREATE USER 'phpmyadminuser'@'localhost'  IDENTIFIED BY 'USE ONLY SECURE PASSWORDS !!';\r\nGRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'phpmyadminuser'@'localhost'\r\n  IDENTIFIED BY 'USE ONLY SECURE PASSWORDS !!';\r\nFLUSH PRIVILEGES;<\/span>\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"3\" data-sourcepos=\"89:1-90:0\">\n<li data-sourcepos=\"89:1-90:0\">Configure phpMyAdmin:<\/li>\n<\/ol>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo cp -p config.sample.inc.php config.inc.php\r\nsudo chown www-data: \/var\/www\/phpmyadmin -R\r\n<\/code><\/pre>\n<\/div>\n<ol start=\"4\" data-sourcepos=\"96:1-97:0\">\n<li data-sourcepos=\"96:1-97:0\">Configure NGINX for phpMyAdmin:<\/li>\n<\/ol>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo open \/etc\/nginx\/sites-enabled\/domain_name\r\n<\/code><\/pre>\n<\/div>\n<h2 data-sourcepos=\"3:1-3:38\"><strong>Additional Tips and Considerations<\/strong><\/h2>\n<ul data-sourcepos=\"5:1-6:0\">\n<li data-sourcepos=\"5:1-6:0\"><strong>Regularly update your software:<\/strong>\u00a0To ensure your system remains secure and up-to-date, regularly update your software packages using the following command:<\/li>\n<\/ul>\n<div class=\"code-block ng-star-inserted\">\n<pre><code class=\"code-container no-decoration-radius\" role=\"text\">sudo apt update &amp;&amp; sudo apt upgrade\r\n<\/code><\/pre>\n<\/div>\n<ul data-sourcepos=\"11:1-18:0\">\n<li data-sourcepos=\"11:1-12:0\">\n<p data-sourcepos=\"11:3-11:195\"><strong>Monitor system performance:<\/strong> Keep an eye on your system&#8217;s performance metrics, such as CPU usage, memory consumption, and disk I\/O, to identify potential bottlenecks or resource constraints.<\/p>\n<\/li>\n<li data-sourcepos=\"13:1-14:0\">\n<p data-sourcepos=\"13:3-13:211\"><strong>Implement security measures:<\/strong>\u00a0Take additional security measures to protect your server by enabling firewall rules, implementing intrusion detection systems, and regularly scanning for vulnerabilities.<\/p>\n<\/li>\n<li data-sourcepos=\"15:1-16:0\">\n<p data-sourcepos=\"15:3-15:180\"><strong>Consider using a control panel:<\/strong> Consider installing a web-based control panel like cPanel or Plesk to manage multiple websites or require a more user-friendly interface.<\/p>\n<\/li>\n<\/ul>\n<h2 data-sourcepos=\"47:1-47:14\"><strong>Conclusion<\/strong><\/h2>\n<p data-sourcepos=\"49:1-49:342\">LEMP is a powerful and versatile web server stack that can support a wide range of web applications. By carefully following the guidelines and delving into the advanced topics presented in this comprehensive tutorial, you can effectively configure, optimize, and manage your LEMP stack. This will lay the foundation for a reliable, scalable, and high-performance web infrastructure that supports your online presence and empowers your web applications to thrive.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This comprehensive tutorial will guide you through the process of setting up a LEMP (Linux, NGINX, MariaDB, PHP) stack on a Debian VPS. A LEMP stack (Linux, NGINX, MariaDB, PHP) is a popular web server configuration known for its performance, scalability, and security. It is commonly used to host websites and web applications. By following this detailed guide, you can&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"kbtopic":[1099],"kbtag":[1132],"class_list":["post-3881","kb","type-kb","status-publish","hentry","kbtopic-tutorials","kbtag-lemp-stack"],"_links":{"self":[{"href":"https:\/\/www.servergigabit.com\/guide\/wp-json\/wp\/v2\/kb\/3881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.servergigabit.com\/guide\/wp-json\/wp\/v2\/kb"}],"about":[{"href":"https:\/\/www.servergigabit.com\/guide\/wp-json\/wp\/v2\/types\/kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.servergigabit.com\/guide\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.servergigabit.com\/guide\/wp-json\/wp\/v2\/comments?post=3881"}],"version-history":[{"count":8,"href":"https:\/\/www.servergigabit.com\/guide\/wp-json\/wp\/v2\/kb\/3881\/revisions"}],"predecessor-version":[{"id":6275,"href":"https:\/\/www.servergigabit.com\/guide\/wp-json\/wp\/v2\/kb\/3881\/revisions\/6275"}],"wp:attachment":[{"href":"https:\/\/www.servergigabit.com\/guide\/wp-json\/wp\/v2\/media?parent=3881"}],"wp:term":[{"taxonomy":"kbtopic","embeddable":true,"href":"https:\/\/www.servergigabit.com\/guide\/wp-json\/wp\/v2\/kbtopic?post=3881"},{"taxonomy":"kbtag","embeddable":true,"href":"https:\/\/www.servergigabit.com\/guide\/wp-json\/wp\/v2\/kbtag?post=3881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}