{"id":40392,"date":"2026-03-18T14:41:39","date_gmt":"2026-03-18T07:41:39","guid":{"rendered":"https:\/\/interdata.vn\/blog\/?p=40392"},"modified":"2026-03-18T14:48:13","modified_gmt":"2026-03-18T07:48:13","slug":"huong-dan-cai-dat-lamp-stack-vps-ubuntu","status":"publish","type":"post","link":"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/","title":{"rendered":"H\u01b0\u1edbng D\u1eabn C\u00e0i \u0110\u1eb7t LAMP Stack Tr\u00ean VPS Ubuntu (2026)"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed8I DUNG<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Dieu-Kien-Chuan-Bi-Truoc-Khi-Cai-Dat-LAMP\" >\u0110i\u1ec1u Ki\u1ec7n Chu\u1ea9n B\u1ecb Tr\u01b0\u1edbc Khi C\u00e0i \u0110\u1eb7t LAMP<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#4-Buoc-Cai-Dat-LAMP-Stack-Tren-VPS-Ubuntu-Chi-Tiet\" >4 B\u01b0\u1edbc C\u00e0i \u0110\u1eb7t LAMP Stack Tr\u00ean VPS Ubuntu (Chi Ti\u1ebft)<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Buoc-1-Cai-dat-va-cau-hinh-tuong-lua-cho-Apache-Web-Server\" >B\u01b0\u1edbc 1: C\u00e0i \u0111\u1eb7t v\u00e0 c\u1ea5u h\u00ecnh t\u01b0\u1eddng l\u1eeda cho Apache Web Server<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Buoc-2-Cai-dat-he-quan-tri-co-so-du-lieu-MySQL\" >B\u01b0\u1edbc 2: C\u00e0i \u0111\u1eb7t h\u1ec7 qu\u1ea3n tr\u1ecb c\u01a1 s\u1edf d\u1eef li\u1ec7u MySQL<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Buoc-3-Cai-dat-ngon-ngu-PHP-va-cac-module-ket-noi\" >B\u01b0\u1edbc 3: C\u00e0i \u0111\u1eb7t ng\u00f4n ng\u1eef PHP v\u00e0 c\u00e1c module k\u1ebft n\u1ed1i<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Buoc-4-Kiem-tra-muc-do-tuong-thich-cua-toan-bo-Stack\" >B\u01b0\u1edbc 4: Ki\u1ec3m tra m\u1ee9c \u0111\u1ed9 t\u01b0\u01a1ng th\u00edch c\u1ee7a to\u00e0n b\u1ed9 Stack<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Toi-Uu-Nang-Cao-Sau-Khi-Co-He-Thong-LAMP\" >T\u1ed1i \u01afu N\u00e2ng Cao Sau Khi C\u00f3 H\u1ec7 Th\u1ed1ng LAMP<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Cai-dat-phpMyAdmin-quan-ly-Database-truc-quan\" >C\u00e0i \u0111\u1eb7t phpMyAdmin qu\u1ea3n l\u00fd Database tr\u1ef1c quan<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Thiet-lap-Virtual-Host-Chay-nhieu-web-tren-mot-VPS\" >Thi\u1ebft l\u1eadp Virtual Host (Ch\u1ea1y nhi\u1ec1u web tr\u00ean m\u1ed9t VPS)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#FAQs-%E2%80%93-Cau-Hoi-Thuong-Gap-Khi-Setup-LAMP-Tren-Ubuntu\" >FAQs \u2013 C\u00e2u H\u1ecfi Th\u01b0\u1eddng G\u1eb7p Khi Setup LAMP Tr\u00ean Ubuntu<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Loi-vong-lap-mat-khau-khi-chay-mysql-secure-installation-tren-Ubuntu-22042404\" >L\u1ed7i v\u00f2ng l\u1eb7p m\u1eadt kh\u1ea9u khi ch\u1ea1y mysql_secure_installation tr\u00ean Ubuntu 22.04\/24.04?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Loi-%E2%80%9CApache-is-functioning-normally%E2%80%9D-nhung-web-khong-hien-la-do-dau\" >L\u1ed7i &#8220;Apache is functioning normally&#8221; nh\u01b0ng web kh\u00f4ng hi\u1ec7n l\u00e0 do \u0111\u00e2u?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Quen-mat-khau-Root-cua-MySQL-sau-khi-chay-secure-installation-phai-lam-sao\" >Qu\u00ean m\u1eadt kh\u1ea9u Root c\u1ee7a MySQL sau khi ch\u1ea1y secure_installation ph\u1ea3i l\u00e0m sao?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Cai-xong-LAMP-thi-VPS-ton-bao-nhieu-RAM\" >C\u00e0i xong LAMP th\u00ec VPS t\u1ed1n bao nhi\u00eau RAM?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/interdata.vn\/blog\/huong-dan-cai-dat-lamp-stack-vps-ubuntu\/#Loi-Ket\" >L\u1eddi K\u1ebft<\/a><\/li><\/ul><\/nav><\/div>\n<p><!-- OVERVIEW BLOCK --><\/p>\n<div class=\"summary\">\n<p><strong>T\u00f3m t\u1eaft nhanh:<\/strong> H\u01b0\u1edbng d\u1eabn c\u00e0i \u0111\u1eb7t LAMP stack tr\u00ean VPS Ubuntu th\u1ef1c hi\u1ec7n theo 4 b\u01b0\u1edbc tu\u1ea7n t\u1ef1: c\u00e0i m\u00e1y ch\u1ee7 web Apache (k\u00e8m c\u1ea5u h\u00ecnh UFW firewall), c\u00e0i h\u1ec7 qu\u1ea3n tr\u1ecb c\u01a1 s\u1edf d\u1eef li\u1ec7u MySQL, c\u00e0i PHP c\u00f9ng c\u00e1c module k\u1ebft n\u1ed1i, v\u00e0 x\u00e1c minh to\u00e0n b\u1ed9 stack ho\u1ea1t \u0111\u1ed9ng \u0111\u00fang. LAMP (Linux, Apache, MySQL, PHP) l\u00e0 b\u1ed9 n\u1ec1n t\u1ea3ng m\u00e3 ngu\u1ed3n m\u1edf ph\u1ed5 bi\u1ebfn nh\u1ea5t \u0111\u1ec3 ch\u1ea1y \u1ee9ng d\u1ee5ng web \u0111\u1ed9ng. Quy tr\u00ecnh n\u00e0y \u00e1p d\u1ee5ng chu\u1ea9n cho Ubuntu 20.04, 22.04 v\u00e0 24.04 \u2014 y\u00eau c\u1ea7u duy nh\u1ea5t l\u00e0 quy\u1ec1n truy c\u1eadp SSH v\u1edbi t\u00e0i kho\u1ea3n <code>root<\/code> ho\u1eb7c user c\u00f3 quy\u1ec1n <code>sudo<\/code>.<\/p>\n<ul>\n<li>T\u01b0\u01a1ng th\u00edch v\u1edbi Ubuntu 20.04, 22.04 v\u00e0 24.04 \u2014 l\u1ec7nh kh\u00f4ng thay \u0111\u1ed5i gi\u1eefa c\u00e1c phi\u00ean b\u1ea3n, ch\u1ec9 phi\u00ean b\u1ea3n PHP \u0111\u01b0\u1ee3c c\u00e0i s\u1ebd kh\u00e1c nhau.<\/li>\n<li>Y\u00eau c\u1ea7u quy\u1ec1n <code>root<\/code> ho\u1eb7c user c\u00f3 quy\u1ec1n <code>sudo<\/code> tr\u01b0\u1edbc khi b\u1eaft \u0111\u1ea7u b\u1ea5t k\u1ef3 b\u01b0\u1edbc n\u00e0o.<\/li>\n<li>Ch\u1ea1y <code>mysql_secure_installation<\/code> ngay sau khi c\u00e0i MySQL \u2014 \u0111\u00e2y l\u00e0 b\u01b0\u1edbc b\u1ea3o m\u1eadt b\u1eaft bu\u1ed9c, kh\u00f4ng ph\u1ea3i t\u00f9y ch\u1ecdn.<\/li>\n<li><strong>C\u1ea3nh b\u00e1o UFW:<\/strong> Ph\u1ea3i cho ph\u00e9p OpenSSH qua t\u01b0\u1eddng l\u1eeda <em>tr\u01b0\u1edbc<\/em> khi b\u1eadt UFW \u2014 b\u1ecf qua b\u01b0\u1edbc n\u00e0y \u0111\u1ed3ng ngh\u0129a v\u1edbi vi\u1ec7c t\u1ef1 kh\u00f3a m\u00ecnh ra kh\u1ecfi VPS.<\/li>\n<li>Stack sau khi c\u00e0i s\u1eb5n s\u00e0ng t\u00edch h\u1ee3p Let&#8217;s Encrypt SSL, phpMyAdmin, v\u00e0 Virtual Host m\u00e0 kh\u00f4ng c\u1ea7n c\u1ea5u h\u00ecnh l\u1ea1i t\u1eeb \u0111\u1ea7u.<\/li>\n<\/ul>\n<\/div>\n<p><!-- INTRODUCTION HOOK --><\/p>\n<p>M\u1edf terminal, k\u1ebft n\u1ed1i SSH v\u00e0o VPS Ubuntu l\u1ea7n \u0111\u1ea7u \u2014 m\u00e0n h\u00ecnh \u0111en tr\u1ed1ng, cursor nh\u1ea5p nh\u00e1y. B\u1ea1n c\u1ea7n d\u1ef1ng website WordPress ho\u1eb7c m\u1ed9t \u1ee9ng d\u1ee5ng PHP, nh\u01b0ng ch\u01b0a r\u00f5 b\u1eaft \u0111\u1ea7u t\u1eeb l\u1ec7nh n\u00e0o, theo th\u1ee9 t\u1ef1 ra sao. C\u00e0i t\u1eebng package ri\u00eang l\u1ebb kh\u00f4ng theo th\u1ee9 t\u1ef1 \u0111\u00fang r\u1ea5t d\u1ec5 g\u00e2y xung \u0111\u1ed9t phi\u00ean b\u1ea3n; t\u1ec7 h\u01a1n l\u00e0 c\u1ea5u h\u00ecnh UFW sai th\u1ee9 t\u1ef1 khi\u1ebfn b\u1ea1n b\u1ecb kh\u00f3a ho\u00e0n to\u00e0n kh\u1ecfi server, kh\u00f4ng SSH \u0111\u01b0\u1ee3c, ph\u1ea3i m\u1edf ticket h\u1ed7 tr\u1ee3 kh\u1ea9n. B\u00e0i vi\u1ebft n\u00e0y cung c\u1ea5p c\u00e1c l\u1ec7nh c\u00e0i \u0111\u1eb7t LAMP stack tr\u00ean Ubuntu theo \u0111\u00fang tr\u00ecnh t\u1ef1, k\u00e8m gi\u1ea3i th\u00edch ng\u1eafn t\u1ea1i sao m\u1ed7i b\u01b0\u1edbc l\u1ea1i quan tr\u1ecdng \u2014 \u0111\u1ec3 b\u1ea1n hi\u1ec3u m\u00ecnh \u0111ang l\u00e0m g\u00ec v\u1edbi VPS, kh\u00f4ng ch\u1ec9 copy-paste m\u00f9 qu\u00e1ng.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Dieu-Kien-Chuan-Bi-Truoc-Khi-Cai-Dat-LAMP\"><\/span>\u0110i\u1ec1u Ki\u1ec7n Chu\u1ea9n B\u1ecb Tr\u01b0\u1edbc Khi C\u00e0i \u0110\u1eb7t LAMP<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0110\u1ec3 th\u1ef1c hi\u1ec7n to\u00e0n b\u1ed9 h\u01b0\u1edbng d\u1eabn n\u00e0y, b\u1ea1n c\u1ea7n SSH v\u00e0o VPS b\u1eb1ng t\u00e0i kho\u1ea3n <code>root<\/code> ho\u1eb7c m\u1ed9t user th\u00f4ng th\u01b0\u1eddng \u0111\u01b0\u1ee3c g\u00e1n quy\u1ec1n <code>sudo<\/code>. N\u1ebfu v\u1eeba thu\u00ea VPS t\u1ea1i InterData, th\u00f4ng tin SSH s\u1ebd \u0111\u01b0\u1ee3c g\u1eedi v\u1ec1 email ngay sau khi h\u1ec7 th\u1ed1ng k\u00edch ho\u1ea1t \u2014 bao g\u1ed3m \u0111\u1ecba ch\u1ec9 IP, username v\u00e0 m\u1eadt kh\u1ea9u.<\/p>\n<p><strong>Vi\u1ec7c \u0111\u1ea7u ti\u00ean sau khi \u0111\u0103ng nh\u1eadp:<\/strong> c\u1eadp nh\u1eadt danh s\u00e1ch package. B\u01b0\u1edbc n\u00e0y kh\u00f4ng ph\u1ea3i th\u1ee7 t\u1ee5c h\u00ecnh th\u1ee9c \u2014 n\u1ebfu b\u1ecf qua, <code>apt<\/code> c\u00f3 th\u1ec3 k\u00e9o v\u1ec1 phi\u00ean b\u1ea3n Apache ho\u1eb7c PHP c\u0169 h\u01a1n m\u1ee9c t\u01b0\u01a1ng th\u00edch v\u1edbi b\u1ea3n Ubuntu b\u1ea1n \u0111ang d\u00f9ng, d\u1eabn \u0111\u1ebfn l\u1ed7i xung \u0111\u1ed9t r\u1ea5t kh\u00f3 debug sau n\u00e0y.<\/p>\n<pre><code>sudo apt update &amp;&amp; sudo apt upgrade -y<\/code><\/pre>\n<p>L\u1ec7nh tr\u00ean c\u1eadp nh\u1eadt danh s\u00e1ch g\u00f3i (<code>apt update<\/code>) v\u00e0 n\u00e2ng c\u1ea5p to\u00e0n b\u1ed9 c\u00e1c g\u00f3i \u0111\u00e3 c\u00e0i l\u00ean phi\u00ean b\u1ea3n m\u1edbi nh\u1ea5t (<code>apt upgrade -y<\/code>). C\u1edd <code>-y<\/code> t\u1ef1 \u0111\u1ed9ng x\u00e1c nh\u1eadn \u0111\u1ec3 kh\u00f4ng ph\u1ea3i g\u00f5 &#8220;Yes&#8221; t\u1eebng b\u01b0\u1edbc. Th\u1eddi gian ch\u1ea1y t\u00f9y t\u1ed1c \u0111\u1ed9 m\u1ea1ng, th\u01b0\u1eddng d\u01b0\u1edbi 2 ph\u00fat v\u1edbi VPS chu\u1ea9n.<\/p>\n<figure id=\"attachment_40394\" aria-describedby=\"caption-attachment-40394\" style=\"width: 937px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-40394\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Cap-nhat-danh-sach-package-moi-nhat.png\" alt=\"C\u1eadp nh\u1eadt danh s\u00e1ch package m\u1edbi nh\u1ea5t\" width=\"937\" height=\"1009\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Cap-nhat-danh-sach-package-moi-nhat.png 937w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Cap-nhat-danh-sach-package-moi-nhat-279x300.png 279w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Cap-nhat-danh-sach-package-moi-nhat-768x827.png 768w\" sizes=\"auto, (max-width: 937px) 100vw, 937px\" \/><figcaption id=\"caption-attachment-40394\" class=\"wp-caption-text\">C\u1eadp nh\u1eadt danh s\u00e1ch package m\u1edbi nh\u1ea5t<\/figcaption><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"4-Buoc-Cai-Dat-LAMP-Stack-Tren-VPS-Ubuntu-Chi-Tiet\"><\/span>4 B\u01b0\u1edbc C\u00e0i \u0110\u1eb7t LAMP Stack Tr\u00ean VPS Ubuntu (Chi Ti\u1ebft)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Buoc-1-Cai-dat-va-cau-hinh-tuong-lua-cho-Apache-Web-Server\"><\/span>B\u01b0\u1edbc 1: C\u00e0i \u0111\u1eb7t v\u00e0 c\u1ea5u h\u00ecnh t\u01b0\u1eddng l\u1eeda cho Apache Web Server<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Apache2 l\u00e0 web server \u2014 th\u00e0nh ph\u1ea7n nh\u1eadn v\u00e0 x\u1eed l\u00fd m\u1ecdi request HTTP \u0111\u1ebfn t\u1eeb tr\u00ecnh duy\u1ec7t ng\u01b0\u1eddi d\u00f9ng. C\u00e0i \u0111\u1eb7t ch\u1ec9 c\u1ea7n m\u1ed9t l\u1ec7nh:<\/p>\n<pre><code>sudo apt install apache2 -y<\/code><\/pre>\n<p>Sau khi apt ch\u1ea1y xong, Apache t\u1ef1 kh\u1edfi \u0111\u1ed9ng. Nh\u01b0ng \u0111\u1eebng v\u1ed9i m\u1edf tr\u00ecnh duy\u1ec7t ki\u1ec3m tra \u2014 c\u1ea7n c\u1ea5u h\u00ecnh UFW firewall tr\u01b0\u1edbc.<\/p>\n<p>UFW (Uncomplicated Firewall) l\u00e0 t\u01b0\u1eddng l\u1eeda m\u1eb7c \u0111\u1ecbnh c\u1ee7a Ubuntu. M\u1eb7c \u0111\u1ecbnh n\u00f3 \u1edf tr\u1ea1ng th\u00e1i t\u1eaft, nh\u01b0ng m\u1ed9t s\u1ed1 VPS provider \u0111\u00e3 b\u1eadt s\u1eb5n. Nguy\u00ean t\u1eafc kh\u00f4ng th\u1ec3 b\u1ecf qua: <strong>lu\u00f4n cho ph\u00e9p OpenSSH qua UFW tr\u01b0\u1edbc khi b\u1eadt t\u01b0\u1eddng l\u1eeda.<\/strong> Th\u1ee9 t\u1ef1 ba l\u1ec7nh d\u01b0\u1edbi \u0111\u00e2y kh\u00f4ng ph\u1ea3i ng\u1eabu nhi\u00ean:<\/p>\n<pre><code>sudo ufw allow OpenSSH<\/code><\/pre>\n<pre><code>sudo ufw allow 'Apache Full'<\/code><\/pre>\n<pre><code>sudo ufw enable<\/code><\/pre>\n<p>L\u1ec7nh <code>ufw allow OpenSSH<\/code> m\u1edf port 22 \u2014 c\u1ed5ng SSH. N\u1ebfu b\u1ea1n ch\u1ea1y <code>ufw enable<\/code> m\u00e0 ch\u01b0a cho ph\u00e9p OpenSSH, k\u1ebft n\u1ed1i SSH hi\u1ec7n t\u1ea1i b\u1ecb ng\u1eaft ngay l\u1eadp t\u1ee9c v\u00e0 kh\u00f4ng th\u1ec3 k\u1ebft n\u1ed1i l\u1ea1i t\u1eeb xa. <code>Apache Full<\/code> m\u1edf \u0111\u1ed3ng th\u1eddi port 80 (HTTP) v\u00e0 port 443 (HTTPS) \u2014 c\u1ea7n c\u1ea3 hai \u0111\u1ec3 sau n\u00e0y c\u00e0i SSL kh\u00f4ng ph\u1ea3i quay l\u1ea1i ch\u1ec9nh UFW.<\/p>\n<p>X\u00e1c minh tr\u1ea1ng th\u00e1i t\u01b0\u1eddng l\u1eeda:<\/p>\n<pre><code>sudo ufw status<\/code><\/pre>\n<p>Output chu\u1ea9n ph\u1ea3i hi\u1ec3n th\u1ecb <code>OpenSSH<\/code> v\u00e0 <code>Apache Full<\/code> \u0111\u1ec1u \u1edf tr\u1ea1ng th\u00e1i <code>ALLOW<\/code>. Gi\u1edd m\u1edf tr\u00ecnh duy\u1ec7t, nh\u1eadp \u0111\u1ecba ch\u1ec9 IP c\u1ee7a VPS v\u00e0o thanh \u0111\u1ecba ch\u1ec9 \u2014 b\u1ea1n s\u1ebd th\u1ea5y trang <strong>Apache2 Ubuntu Default Page<\/strong> n\u1ec1n tr\u1eafng. \u0110\u00e2y l\u00e0 x\u00e1c nh\u1eadn Apache \u0111ang ch\u1ea1y v\u00e0 l\u1eafng nghe \u0111\u00fang port.<\/p>\n<figure id=\"attachment_40395\" aria-describedby=\"caption-attachment-40395\" style=\"width: 1314px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-40395\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Giao-dien-test-may-chu-Apache-tren-Ubuntu-thanh-cong.png\" alt=\"Giao di\u1ec7n test m\u00e1y ch\u1ee7 Apache tr\u00ean Ubuntu th\u00e0nh c\u00f4ng\" width=\"1314\" height=\"989\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Giao-dien-test-may-chu-Apache-tren-Ubuntu-thanh-cong.png 1314w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Giao-dien-test-may-chu-Apache-tren-Ubuntu-thanh-cong-300x226.png 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Giao-dien-test-may-chu-Apache-tren-Ubuntu-thanh-cong-1024x771.png 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Giao-dien-test-may-chu-Apache-tren-Ubuntu-thanh-cong-768x578.png 768w\" sizes=\"auto, (max-width: 1314px) 100vw, 1314px\" \/><figcaption id=\"caption-attachment-40395\" class=\"wp-caption-text\">Giao di\u1ec7n test m\u00e1y ch\u1ee7 Apache tr\u00ean Ubuntu th\u00e0nh c\u00f4ng<\/figcaption><\/figure>\n<p><!-- G\u1ee3i \u00fd h\u00ecnh \u1ea3nh 1: Screenshot trang Apache2 Ubuntu Default Page | Alt text: Giao di\u1ec7n test m\u00e1y ch\u1ee7 Apache tr\u00ean Ubuntu th\u00e0nh c\u00f4ng --><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Buoc-2-Cai-dat-he-quan-tri-co-so-du-lieu-MySQL\"><\/span>B\u01b0\u1edbc 2: C\u00e0i \u0111\u1eb7t h\u1ec7 qu\u1ea3n tr\u1ecb c\u01a1 s\u1edf d\u1eef li\u1ec7u MySQL<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>MySQL l\u00e0 th\u00e0nh ph\u1ea7n l\u01b0u tr\u1eef d\u1eef li\u1ec7u c\u1ee7a stack \u2014 to\u00e0n b\u1ed9 b\u00e0i vi\u1ebft, t\u00e0i kho\u1ea3n ng\u01b0\u1eddi d\u00f9ng, \u0111\u01a1n h\u00e0ng c\u1ee7a WordPress hay b\u1ea5t k\u1ef3 \u1ee9ng d\u1ee5ng PHP n\u00e0o \u0111\u1ec1u n\u1eb1m \u1edf \u0111\u00e2y. Kh\u00f4ng c\u00f3 MySQL, PHP ch\u1ea1y \u0111\u01b0\u1ee3c nh\u01b0ng kh\u00f4ng c\u00f3 ch\u1ed7 l\u01b0u d\u1eef li\u1ec7u.<\/p>\n<pre><code>sudo apt install mysql-server -y<\/code><\/pre>\n<figure id=\"attachment_40396\" aria-describedby=\"caption-attachment-40396\" style=\"width: 570px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-40396\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Ket-qua-sau-khi-dung-lenh-sudo-apt-install-mysql-server-y.png\" alt=\"K\u1ebft qu\u1ea3 sau khi d\u00f9ng l\u1ec7nh sudo apt install mysql-server -y\" width=\"570\" height=\"120\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Ket-qua-sau-khi-dung-lenh-sudo-apt-install-mysql-server-y.png 570w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Ket-qua-sau-khi-dung-lenh-sudo-apt-install-mysql-server-y-300x63.png 300w\" sizes=\"auto, (max-width: 570px) 100vw, 570px\" \/><figcaption id=\"caption-attachment-40396\" class=\"wp-caption-text\">K\u1ebft qu\u1ea3 sau khi d\u00f9ng l\u1ec7nh sudo apt install mysql-server -y<\/figcaption><\/figure>\n<p>Ngay sau khi c\u00e0i xong, b\u1eaft bu\u1ed9c ph\u1ea3i ch\u1ea1y script b\u1ea3o m\u1eadt \u0111i k\u00e8m:<\/p>\n<pre><code>sudo mysql_secure_installation<\/code><\/pre>\n<p>Script h\u1ecfi m\u1ed9t lo\u1ea1t c\u00e2u h\u1ecfi Yes\/No. Khuy\u1ebfn ngh\u1ecb th\u1ef1c t\u1ebf:<\/p>\n<ul>\n<li><strong>Validate Password Plugin:<\/strong> C\u00f3 th\u1ec3 b\u1ecf qua (N) n\u1ebfu b\u1ea1n t\u1ef1 qu\u1ea3n l\u00fd m\u1eadt kh\u1ea9u m\u1ea1nh.<\/li>\n<li><strong>Remove anonymous users:<\/strong> Y \u2014 x\u00f3a user \u1ea9n danh m\u1eb7c \u0111\u1ecbnh, kh\u00f4ng c\u00f3 l\u00fd do \u0111\u1ec3 gi\u1eef l\u1ea1i.<\/li>\n<li><strong>Disallow root login remotely:<\/strong> Y \u2014 root kh\u00f4ng \u0111\u01b0\u1ee3c \u0111\u0103ng nh\u1eadp t\u1eeb xa, ch\u1ec9 t\u1eeb localhost.<\/li>\n<li><strong>Remove test database:<\/strong> Y \u2014 x\u00f3a database &#8220;test&#8221; kh\u00f4ng c\u1ea7n thi\u1ebft, th\u01b0\u1eddng l\u00e0 m\u1ee5c ti\u00eau \u0111\u1ea7u ti\u00ean c\u1ee7a script t\u1ea5n c\u00f4ng t\u1ef1 \u0111\u1ed9ng.<\/li>\n<li><strong>Reload privilege tables:<\/strong> Y \u2014 \u00e1p d\u1ee5ng to\u00e0n b\u1ed9 thay \u0111\u1ed5i ngay l\u1eadp t\u1ee9c.<\/li>\n<\/ul>\n<p>Server c\u00f3 IP public l\u00e0 server \u0111ang b\u1ecb scan li\u00ean t\u1ee5c \u2014 kh\u00f4ng k\u1ec3 m\u00f4i tr\u01b0\u1eddng dev hay production. B\u1ecf qua b\u01b0\u1edbc n\u00e0y v\u00ec &#8220;\u0111ang th\u1eed nghi\u1ec7m&#8221; l\u00e0 sai l\u1ea7m ph\u1ed5 bi\u1ebfn nh\u1ea5t.<\/p>\n<figure id=\"attachment_40397\" aria-describedby=\"caption-attachment-40397\" style=\"width: 966px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-40397\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Ket-qua-chay-script-MySQL-Secure.png\" alt=\"K\u1ebft qu\u1ea3 ch\u1ea1y script MySQL Secure\" width=\"966\" height=\"853\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Ket-qua-chay-script-MySQL-Secure.png 966w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Ket-qua-chay-script-MySQL-Secure-300x265.png 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Ket-qua-chay-script-MySQL-Secure-768x678.png 768w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><figcaption id=\"caption-attachment-40397\" class=\"wp-caption-text\">K\u1ebft qu\u1ea3 ch\u1ea1y script MySQL Secure<\/figcaption><\/figure>\n<p><!-- G\u1ee3i \u00fd h\u00ecnh \u1ea3nh 2: Screenshot m\u00e0n h\u00ecnh ch\u1ea1y MySQL Secure Installation, hi\u1ec3n th\u1ecb c\u00e1c c\u00e2u h\u1ecfi Yes\/No --><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Buoc-3-Cai-dat-ngon-ngu-PHP-va-cac-module-ket-noi\"><\/span>B\u01b0\u1edbc 3: C\u00e0i \u0111\u1eb7t ng\u00f4n ng\u1eef PHP v\u00e0 c\u00e1c module k\u1ebft n\u1ed1i<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>PHP m\u1ed9t m\u00ecnh kh\u00f4ng \u0111\u1ee7 \u0111\u1ec3 ho\u1ea1t \u0111\u1ed9ng trong LAMP stack. C\u1ea7n th\u00eam hai module: <code>libapache2-mod-php<\/code> l\u00e0 module \u0111\u1ec3 Apache &#8220;hi\u1ec3u&#8221; v\u00e0 th\u1ef1c thi file <code>.php<\/code> thay v\u00ec g\u1eedi nguy\u00ean file v\u1ec1 tr\u00ecnh duy\u1ec7t d\u01b0\u1edbi d\u1ea1ng text th\u00f4; <code>php-mysql<\/code> cho ph\u00e9p PHP k\u1ebft n\u1ed1i v\u00e0 truy v\u1ea5n MySQL. Thi\u1ebfu <code>php-mysql<\/code> l\u00e0 l\u00fd do ph\u1ed5 bi\u1ebfn nh\u1ea5t khi\u1ebfn WordPress b\u00e1o l\u1ed7i &#8220;Error establishing a database connection&#8221; d\u00f9 MySQL \u0111ang ch\u1ea1y b\u00ecnh th\u01b0\u1eddng.<\/p>\n<pre><code>sudo apt install php libapache2-mod-php php-mysql -y<\/code><\/pre>\n<p>Phi\u00ean b\u1ea3n PHP \u0111\u01b0\u1ee3c c\u00e0i ph\u1ee5 thu\u1ed9c v\u00e0o Ubuntu: Ubuntu 24.04 c\u00e0i PHP 8.3, Ubuntu 22.04 c\u00e0i PHP 8.1. Ki\u1ec3m tra version:<\/p>\n<pre><code>php -v<\/code><\/pre>\n<p>Sau \u0111\u00f3, restart Apache \u0111\u1ec3 web server t\u1ea3i module PHP m\u1edbi v\u00e0o b\u1ed9 nh\u1edb:<\/p>\n<pre><code>sudo systemctl restart apache2<\/code><\/pre>\n<p>B\u01b0\u1edbc restart n\u00e0y hay b\u1ecb b\u1ecf qua \u2014 Apache v\u1eabn ch\u1ea1y nh\u01b0ng ch\u01b0a nh\u1eadn module PHP, khi\u1ebfn file <code>.php<\/code> b\u1ecb tr\u1ea3 v\u1ec1 tr\u00ecnh duy\u1ec7t d\u01b0\u1edbi d\u1ea1ng text th\u00f4 thay v\u00ec \u0111\u01b0\u1ee3c x\u1eed l\u00fd. L\u1ed7i n\u00e0y th\u01b0\u1eddng m\u1ea5t th\u00eam 30 ph\u00fat debug kh\u00f4ng c\u1ea7n thi\u1ebft tr\u01b0\u1edbc khi ph\u00e1t hi\u1ec7n ra nguy\u00ean nh\u00e2n.<\/p>\n<figure id=\"attachment_40398\" aria-describedby=\"caption-attachment-40398\" style=\"width: 565px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-40398\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Cai-dat-ngon-ngu-PHP-va-cac-module.png\" alt=\"C\u00e0i \u0111\u1eb7t ng\u00f4n ng\u1eef PHP v\u00e0 c\u00e1c module\" width=\"565\" height=\"92\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Cai-dat-ngon-ngu-PHP-va-cac-module.png 565w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Cai-dat-ngon-ngu-PHP-va-cac-module-300x49.png 300w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><figcaption id=\"caption-attachment-40398\" class=\"wp-caption-text\">C\u00e0i \u0111\u1eb7t ng\u00f4n ng\u1eef PHP v\u00e0 c\u00e1c module<\/figcaption><\/figure>\n<h3><span class=\"ez-toc-section\" id=\"Buoc-4-Kiem-tra-muc-do-tuong-thich-cua-toan-bo-Stack\"><\/span>B\u01b0\u1edbc 4: Ki\u1ec3m tra m\u1ee9c \u0111\u1ed9 t\u01b0\u01a1ng th\u00edch c\u1ee7a to\u00e0n b\u1ed9 Stack<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ba th\u00e0nh ph\u1ea7n \u0111\u00e3 c\u00e0i xong, nh\u01b0ng l\u00e0m sao bi\u1ebft Apache c\u00f3 th\u1ef1c s\u1ef1 \u0111ang x\u1eed l\u00fd PHP v\u00e0 PHP c\u00f3 k\u1ebft n\u1ed1i \u0111\u01b0\u1ee3c MySQL kh\u00f4ng? T\u1ea1o m\u1ed9t file test nhanh:<\/p>\n<pre><code>echo \"&lt;?php phpinfo(); ?&gt;\" | sudo tee \/var\/www\/html\/info.php<\/code><\/pre>\n<p>M\u1edf tr\u00ecnh duy\u1ec7t, truy c\u1eadp <code>http:\/\/[IP_VPS_C\u1ee6A_B\u1ea0N]\/info.php<\/code>. N\u1ebfu m\u1ecdi th\u1ee9 \u0111\u00fang, b\u1ea1n th\u1ea5y trang m\u00e0u t\u00edm quen thu\u1ed9c c\u1ee7a PHP v\u1edbi \u0111\u1ea7y \u0111\u1ee7 th\u00f4ng s\u1ed1 h\u1ec7 th\u1ed1ng: phi\u00ean b\u1ea3n PHP, danh s\u00e1ch module \u0111ang t\u1ea3i, th\u00f4ng s\u1ed1 Apache, c\u1ea5u h\u00ecnh k\u1ebft n\u1ed1i MySQL.<\/p>\n<figure id=\"attachment_40399\" aria-describedby=\"caption-attachment-40399\" style=\"width: 1305px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-40399\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Kiem-tra-xem-PHP-da-hoat-dong.png\" alt=\"K\u1ebft qu\u1ea3 ki\u1ec3m tra PHP \u0111\u00e3 ho\u1ea1t \u0111\u1ed9ng\" width=\"1305\" height=\"983\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Kiem-tra-xem-PHP-da-hoat-dong.png 1305w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Kiem-tra-xem-PHP-da-hoat-dong-300x226.png 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Kiem-tra-xem-PHP-da-hoat-dong-1024x771.png 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/03\/Kiem-tra-xem-PHP-da-hoat-dong-768x579.png 768w\" sizes=\"auto, (max-width: 1305px) 100vw, 1305px\" \/><figcaption id=\"caption-attachment-40399\" class=\"wp-caption-text\">K\u1ebft qu\u1ea3 ki\u1ec3m tra PHP \u0111\u00e3 ho\u1ea1t \u0111\u1ed9ng<\/figcaption><\/figure>\n<p><strong>X\u00f3a file n\u00e0y ngay sau khi x\u00e1c nh\u1eadn xong \u2014 kh\u00f4ng \u0111\u1ec3 l\u1ea1i d\u00f9 m\u1ed9t ph\u00fat:<\/strong><\/p>\n<pre><code>sudo rm \/var\/www\/html\/info.php<\/code><\/pre>\n<p>File <code>info.php<\/code> ph\u01a1i b\u00e0y to\u00e0n b\u1ed9 c\u1ea5u h\u00ecnh server ra Internet: \u0111\u01b0\u1eddng d\u1eabn th\u01b0 m\u1ee5c, phi\u00ean b\u1ea3n ph\u1ea7n m\u1ec1m, bi\u1ebfn m\u00f4i tr\u01b0\u1eddng, c\u1ea5u h\u00ecnh PHP. \u0110\u00e2y l\u00e0 th\u00f4ng tin m\u00e0 scanner t\u1ef1 \u0111\u1ed9ng thu th\u1eadp \u0111\u1ea7u ti\u00ean khi t\u00ecm l\u1ed7 h\u1ed5ng. Kh\u00f4ng c\u00f3 l\u00fd do n\u00e0o \u0111\u1ec3 gi\u1eef file n\u00e0y sau khi test xong.<\/p>\n<p><!-- G\u1ee3i \u00fd h\u00ecnh \u1ea3nh 3: Screenshot trang phpinfo() m\u00e0u t\u00edm | Alt text: Trang phpinfo() x\u00e1c nh\u1eadn PHP \u0111\u00e3 k\u1ebft n\u1ed1i Apache th\u00e0nh c\u00f4ng --><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Toi-Uu-Nang-Cao-Sau-Khi-Co-He-Thong-LAMP\"><\/span>T\u1ed1i \u01afu N\u00e2ng Cao Sau Khi C\u00f3 H\u1ec7 Th\u1ed1ng LAMP<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Stack c\u01a1 b\u1ea3n \u0111\u00e3 ch\u1ea1y. Hai t\u00ednh n\u0103ng d\u01b0\u1edbi \u0111\u00e2y kh\u00f4ng b\u1eaft bu\u1ed9c \u0111\u1ec3 website ho\u1ea1t \u0111\u1ed9ng ngay, nh\u01b0ng s\u1ebd ti\u1ebft ki\u1ec7m \u0111\u00e1ng k\u1ec3 th\u1eddi gian v\u1eadn h\u00e0nh v\u1ec1 sau \u2014 \u0111\u1eb7c bi\u1ec7t n\u1ebfu b\u1ea1n qu\u1ea3n l\u00fd nhi\u1ec1u h\u01a1n m\u1ed9t website.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cai-dat-phpMyAdmin-quan-ly-Database-truc-quan\"><\/span>C\u00e0i \u0111\u1eb7t phpMyAdmin qu\u1ea3n l\u00fd Database tr\u1ef1c quan<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>L\u00e0m vi\u1ec7c v\u1edbi MySQL qua terminal \u1ed5n v\u1edbi ng\u01b0\u1eddi quen g\u00f5 l\u1ec7nh SQL. V\u1edbi nh\u1eefng ai c\u1ea7n xem, s\u1eeda, export\/import database nhanh m\u00e0 kh\u00f4ng mu\u1ed1n m\u1edf terminal m\u1ed7i l\u1ea7n, phpMyAdmin l\u00e0 giao di\u1ec7n web tr\u1ef1c quan l\u00e0m \u0111\u01b0\u1ee3c t\u1ea5t c\u1ea3 \u0111i\u1ec1u \u0111\u00f3 b\u1eb1ng chu\u1ed9t. H\u1eefu \u00edch nh\u1ea5t khi c\u1ea7n migrate d\u1eef li\u1ec7u gi\u1eefa c\u00e1c server, restore backup, ho\u1eb7c debug d\u1eef li\u1ec7u l\u1ea1 m\u00e0 kh\u00f4ng mu\u1ed1n ng\u1ed3i g\u00f5 c\u00e2u SELECT d\u00e0i d\u00f2ng.<\/p>\n<p>Quy tr\u00ecnh c\u00e0i phpMyAdmin c\u00f3 th\u00eam b\u01b0\u1edbc c\u1ea5u h\u00ecnh x\u00e1c th\u1ef1c Apache ri\u00eang \u2014 xem chi ti\u1ebft t\u1ea1i: <a href=\"#\">h\u01b0\u1edbng d\u1eabn c\u00e0i \u0111\u1eb7t phpMyAdmin tr\u00ean Ubuntu<\/a>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Thiet-lap-Virtual-Host-Chay-nhieu-web-tren-mot-VPS\"><\/span>Thi\u1ebft l\u1eadp Virtual Host (Ch\u1ea1y nhi\u1ec1u web tr\u00ean m\u1ed9t VPS)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>M\u1eb7c \u0111\u1ecbnh, Apache ch\u1ec9 ph\u1ee5c v\u1ee5 m\u1ed9t website t\u1eeb th\u01b0 m\u1ee5c <strong>\/var\/www\/html\/<\/strong>. N\u1ebfu b\u1ea1n c\u00f3 VPS c\u1ea5u h\u00ecnh cao \u2014 v\u00ed d\u1ee5 4 vCPU, 8GB RAM \u2014 v\u00e0 mu\u1ed1n ch\u1ea1y 3\u20135 domain kh\u00e1c nhau tr\u00ean c\u00f9ng m\u1ed9t IP, Virtual Host gi\u1ea3i quy\u1ebft \u0111\u00fang b\u00e0i to\u00e1n \u0111\u00f3. M\u1ed7i domain \u0111\u01b0\u1ee3c \u00e1nh x\u1ea1 \u0111\u1ebfn m\u1ed9t th\u01b0 m\u1ee5c ri\u00eang v\u00e0 m\u1ed9t file c\u1ea5u h\u00ecnh Apache ri\u00eang, ho\u00e0n to\u00e0n \u0111\u1ed9c l\u1eadp nhau. Website A v\u00e0 Website B d\u00f9ng chung IP nh\u01b0ng kh\u00f4ng \u1ea3nh h\u01b0\u1edfng l\u1eabn nhau.<\/p>\n<p>Chi ti\u1ebft c\u00e1ch c\u1ea5u h\u00ecnh t\u1eebng b\u01b0\u1edbc: <a href=\"https:\/\/interdata.vn\/blog\/huong-dan-su-dung-vps\/\" target=\"_blank\" rel=\"noopener\">h\u01b0\u1edbng d\u1eabn s\u1eed d\u1ee5ng VPS t\u1eeb A \u0111\u1ebfn Z cho ng\u01b0\u1eddi m\u1edbi<\/a>.<\/p>\n<p><!-- CTA BOX \u2014 M\u1eabu 2: Border Accent, ph\u00f9 h\u1ee3p b\u00e0i how-to k\u1ef9 thu\u1eadt --><\/p>\n<div style=\"border-left: 4px solid #0f6cbf; background: #f0f7ff; border-radius: 0 8px 8px 0; padding: 20px 24px; margin: 40px 0; max-width: 100%;\">\n<div style=\"display: flex; align-items: center; margin-bottom: 12px;\"><span style=\"font-size: 22px; margin-right: 10px;\">\ud83d\udca1<\/span><br \/>\n<strong style=\"color: #1a3c6e; font-size: 17px;\">VPS Gi\u00e1 R\u1ebb InterData \u2014 H\u1ed7 Tr\u1ee3 \u0110a D\u1ea1ng C\u00e1c Phi\u00ean B\u1ea3n Ubuntu Mi\u1ec5n Ph\u00ed<\/strong><\/div>\n<p style=\"color: #333; font-size: 14px; margin: 0 0 16px 0; line-height: 1.6;\">C\u1ea7n VPS Ubuntu s\u1ea1ch \u0111\u1ec3 b\u1eaft \u0111\u1ea7u c\u00e0i LAMP stack ngay? InterData cung c\u1ea5p VPS h\u1ed7 tr\u1ee3 \u0111a d\u1ea1ng c\u00e1c phi\u00ean b\u1ea3n Ubuntu v\u1edbi \u1ed5 SSD NVMe t\u1ed1c \u0111\u1ed9 cao, h\u1ed7 tr\u1ee3 k\u1ef9 thu\u1eadt ti\u1ebfng Vi\u1ec7t 24\/7 v\u00e0 datacenter \u0111\u1eb7t t\u1ea1i H\u00e0 N\u1ed9i &amp; TP. HCM.<\/p>\n<p style=\"color: #555; font-size: 13px; margin: 0 0 18px 0;\"><strong style=\"color: #0f6cbf;\">\u2713<\/strong> C\u00e0i s\u1eb5n Ubuntu 20.04 \/ 22.04 \/ 24.04 mi\u1ec5n ph\u00ed<br \/>\n<strong style=\"color: #0f6cbf;\">\u2713<\/strong> SSD NVMe U.2\u00a0 \u2014 I\/O \u1ed5n \u0111\u1ecbnh, kh\u00f4ng chia s\u1ebb t\u00e0i nguy\u00ean<br \/>\n<strong style=\"color: #0f6cbf;\">\u2713<\/strong> H\u1ed7 tr\u1ee3 k\u1ef9 thu\u1eadt 24\/7, ph\u1ea3n h\u1ed3i nhanh ch\u00f3ng<\/p>\n<p><a style=\"display: inline-block; background: #0f6cbf; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; padding: 10px 22px; border-radius: 6px;\" href=\"https:\/\/interdata.vn\/thue-vps\/\" target=\"_blank\" rel=\"noopener\">Thu\u00ea VPS Gi\u00e1 R\u1ebb \u2192<\/a><\/p>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"FAQs-%E2%80%93-Cau-Hoi-Thuong-Gap-Khi-Setup-LAMP-Tren-Ubuntu\"><\/span>FAQs \u2013 C\u00e2u H\u1ecfi Th\u01b0\u1eddng G\u1eb7p Khi Setup LAMP Tr\u00ean Ubuntu<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Loi-vong-lap-mat-khau-khi-chay-mysql-secure-installation-tren-Ubuntu-22042404\"><\/span>L\u1ed7i v\u00f2ng l\u1eb7p m\u1eadt kh\u1ea9u khi ch\u1ea1y mysql_secure_installation tr\u00ean Ubuntu 22.04\/24.04?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>L\u1ed7i n\u00e0y x\u1ea3y ra do MySQL tr\u00ean Ubuntu 22.04 v\u00e0 24.04 m\u1eb7c \u0111\u1ecbnh d\u00f9ng plugin x\u00e1c th\u1ef1c <code>auth_socket<\/code> thay v\u00ec m\u1eadt kh\u1ea9u th\u00f4ng th\u01b0\u1eddng. Script <code>mysql_secure_installation<\/code> y\u00eau c\u1ea7u nh\u1eadp m\u1eadt kh\u1ea9u nh\u01b0ng MySQL kh\u00f4ng d\u00f9ng c\u01a1 ch\u1ebf \u0111\u00f3 \u2014 k\u1ebft qu\u1ea3 l\u00e0 v\u00f2ng l\u1eb7p kh\u00f4ng tho\u00e1t \u0111\u01b0\u1ee3c.<\/p>\n<p>Fix: V\u00e0o MySQL b\u1eb1ng <code>sudo<\/code> (kh\u00f4ng c\u1ea7n m\u1eadt kh\u1ea9u \u1edf b\u01b0\u1edbc n\u00e0y):<\/p>\n<pre><code>sudo mysql<\/code><\/pre>\n<p>\u0110\u1ed5i plugin x\u00e1c th\u1ef1c c\u1ee7a root sang <code>mysql_native_password<\/code>:<\/p>\n<pre><code>ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MatKhauManhCuaBan';\r\nFLUSH PRIVILEGES;\r\nEXIT;<\/code><\/pre>\n<p>Ch\u1ea1y l\u1ea1i <code>sudo mysql_secure_installation<\/code> \u2014 l\u1ea7n n\u00e0y script ho\u1ea1t \u0111\u1ed9ng b\u00ecnh th\u01b0\u1eddng. Thay <code>MatKhauManhCuaBan<\/code> b\u1eb1ng m\u1eadt kh\u1ea9u th\u1ef1c c\u1ee7a b\u1ea1n, t\u1ed1i thi\u1ec3u 12 k\u00fd t\u1ef1 k\u1ebft h\u1ee3p ch\u1eef hoa, s\u1ed1 v\u00e0 k\u00fd t\u1ef1 \u0111\u1eb7c bi\u1ec7t.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Loi-%E2%80%9CApache-is-functioning-normally%E2%80%9D-nhung-web-khong-hien-la-do-dau\"><\/span>L\u1ed7i &#8220;Apache is functioning normally&#8221; nh\u01b0ng web kh\u00f4ng hi\u1ec7n l\u00e0 do \u0111\u00e2u?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Hai nguy\u00ean nh\u00e2n ph\u1ed5 bi\u1ebfn. Th\u1ee9 nh\u1ea5t: UFW ch\u01b0a th\u1ef1c s\u1ef1 m\u1edf port 80 v\u00e0 443 \u2014 ki\u1ec3m tra b\u1eb1ng <code>sudo ufw status<\/code>, \u0111\u1ea3m b\u1ea3o d\u00f2ng <code>Apache Full<\/code> hi\u1ec3n th\u1ecb tr\u1ea1ng th\u00e1i <code>ALLOW<\/code>. Th\u1ee9 hai: ch\u01b0a c\u1ea5u h\u00ecnh Virtual Host tr\u1ecf Document Root \u0111\u00fang th\u01b0 m\u1ee5c ch\u1ee9a file <code>index.php<\/code> ho\u1eb7c <code>index.html<\/code> c\u1ee7a website \u2014 Apache kh\u00f4ng t\u1ef1 suy lu\u1eadn \u0111\u01b0\u1ee3c th\u01b0 m\u1ee5c n\u1ebfu c\u1ea5u h\u00ecnh Virtual Host ch\u01b0a \u0111\u00fang.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Quen-mat-khau-Root-cua-MySQL-sau-khi-chay-secure-installation-phai-lam-sao\"><\/span>Qu\u00ean m\u1eadt kh\u1ea9u Root c\u1ee7a MySQL sau khi ch\u1ea1y secure_installation ph\u1ea3i l\u00e0m sao?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>D\u1eebng d\u1ecbch v\u1ee5 MySQL:<\/p>\n<pre><code>sudo systemctl stop mysql<\/code><\/pre>\n<p>Kh\u1edfi \u0111\u1ed9ng MySQL \u1edf ch\u1ebf \u0111\u1ed9 b\u1ecf qua x\u00e1c th\u1ef1c:<\/p>\n<pre><code>sudo mysqld_safe --skip-grant-tables &amp;<\/code><\/pre>\n<p>V\u00e0o MySQL kh\u00f4ng c\u1ea7n m\u1eadt kh\u1ea9u, d\u00f9ng l\u1ec7nh <code>ALTER USER<\/code> \u0111\u1ec3 \u0111\u1eb7t l\u1ea1i m\u1eadt kh\u1ea9u m\u1edbi, sau \u0111\u00f3 <code>FLUSH PRIVILEGES<\/code> v\u00e0 tho\u00e1t. Restart MySQL b\u00ecnh th\u01b0\u1eddng sau khi xong. L\u01b0u \u00fd: ch\u1ebf \u0111\u1ed9 <code>skip-grant-tables<\/code> t\u1eaft ho\u00e0n to\u00e0n x\u00e1c th\u1ef1c \u2014 kh\u00f4ng \u0111\u1ec3 server ch\u1ea1y \u1edf ch\u1ebf \u0111\u1ed9 n\u00e0y l\u00e2u h\u01a1n v\u00e0i ph\u00fat c\u1ea7n thi\u1ebft.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Cai-xong-LAMP-thi-VPS-ton-bao-nhieu-RAM\"><\/span>C\u00e0i xong LAMP th\u00ec VPS t\u1ed1n bao nhi\u00eau RAM?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>M\u1ed9t LAMP stack c\u01a1 b\u1ea3n \u1edf tr\u1ea1ng th\u00e1i kh\u00f4ng c\u00f3 traffic (idle) ti\u00eau th\u1ee5 kho\u1ea3ng 300\u2013500MB RAM. Apache d\u00f9ng m\u00f4 h\u00ecnh multi-process n\u00ean t\u1ed1n RAM h\u01a1n Nginx m\u1ed9t ch\u00fat, nh\u01b0ng ho\u00e0n to\u00e0n ph\u00f9 h\u1ee3p v\u1edbi VPS 1GB RAM khi t\u1ea3i nh\u1eb9. Khi c\u00f3 traffic th\u1ef1c, m\u1ee9c ti\u00eau th\u1ee5 t\u0103ng theo s\u1ed1 request \u0111\u1ed3ng th\u1eddi \u2014 WordPress \u0111\u01a1n gi\u1ea3n v\u1edbi v\u00e0i ch\u1ee5c l\u01b0\u1ee3t truy c\u1eadp \u0111\u1ed3ng th\u1eddi c\u1ea7n \u00edt nh\u1ea5t 1\u20132GB \u0111\u1ec3 ch\u1ea1y \u1ed5n \u0111\u1ecbnh, kh\u00f4ng b\u1ecb swap.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Loi-Ket\"><\/span>L\u1eddi K\u1ebft<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0110\u1ebfn \u0111\u00e2y, VPS Ubuntu tr\u1ed1ng c\u1ee7a b\u1ea1n \u0111\u00e3 tr\u1edf th\u00e0nh m\u1ed9t web server ho\u00e0n ch\u1ec9nh: Apache nh\u1eadn request t\u1eeb tr\u00ecnh duy\u1ec7t, MySQL l\u01b0u d\u1eef li\u1ec7u, PHP x\u1eed l\u00fd logic \u1ee9ng d\u1ee5ng. Ba th\u00e0nh ph\u1ea7n n\u00e0y \u0111\u1ee7 \u0111\u1ec3 ch\u1ea1y WordPress, Laravel, ho\u1eb7c b\u1ea5t k\u1ef3 \u1ee9ng d\u1ee5ng PHP n\u00e0o t\u1eeb nh\u1ecf \u0111\u1ebfn trung b\u00ecnh.<\/p>\n<p>B\u01b0\u1edbc ti\u1ebfp theo t\u00f9y m\u1ee5c ti\u00eau: c\u1ea7n nhi\u1ec1u domain th\u00ec c\u1ea5u h\u00ecnh Virtual Host; c\u1ea7n HTTPS th\u00ec c\u00e0i <a href=\"#\" target=\"_blank\" rel=\"noopener\">Let&#8217;s Encrypt SSL cho Apache b\u1eb1ng Certbot<\/a>; c\u1ea7n qu\u1ea3n l\u00fd database b\u1eb1ng giao di\u1ec7n th\u00ec th\u00eam phpMyAdmin. M\u1ed7i th\u1ee9 c\u00f3 h\u01b0\u1edbng d\u1eabn ri\u00eang, kh\u00f4ng c\u1ea7n c\u00e0i l\u1ea1i LAMP t\u1eeb \u0111\u1ea7u. N\u1ebfu mu\u1ed1n hi\u1ec3u r\u00f5 h\u01a1n vai tr\u00f2 c\u1ee7a t\u1eebng th\u00e0nh ph\u1ea7n trong h\u1ea1 t\u1ea7ng web tr\u01b0\u1edbc khi \u0111i s\u00e2u h\u01a1n, \u0111\u1ecdc th\u00eam b\u00e0i <a href=\"https:\/\/interdata.vn\/blog\/web-server\/\" target=\"_blank\" rel=\"noopener\">web server l\u00e0 g\u00ec v\u00e0 c\u00e1ch ho\u1ea1t \u0111\u1ed9ng<\/a>.<\/p>\n<p>G\u1eb7p l\u1ed7i \u1edf b\u01b0\u1edbc n\u00e0o trong qu\u00e1 tr\u00ecnh c\u00e0i \u0111\u1eb7t? Comment b\u00ean d\u01b0\u1edbi \u2014 \u0111\u1ed9i ng\u0169 k\u1ef9 thu\u1eadt InterData s\u1ebd h\u1ed7 tr\u1ee3 tr\u1ef1c ti\u1ebfp.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00f3m t\u1eaft nhanh: H\u01b0\u1edbng d\u1eabn c\u00e0i \u0111\u1eb7t LAMP stack tr\u00ean VPS Ubuntu th\u1ef1c hi\u1ec7n theo 4 b\u01b0\u1edbc tu\u1ea7n t\u1ef1: c\u00e0i m\u00e1y ch\u1ee7 web Apache (k\u00e8m c\u1ea5u h\u00ecnh UFW firewall), c\u00e0i h\u1ec7 qu\u1ea3n tr\u1ecb c\u01a1 s\u1edf d\u1eef li\u1ec7u MySQL, c\u00e0i PHP c\u00f9ng c\u00e1c module k\u1ebft n\u1ed1i, v\u00e0 x\u00e1c minh to\u00e0n b\u1ed9 stack ho\u1ea1t \u0111\u1ed9ng \u0111\u00fang. LAMP<\/p>\n","protected":false},"author":2,"featured_media":40400,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[49],"tags":[],"class_list":["post-40392","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps"],"_links":{"self":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/40392","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/comments?post=40392"}],"version-history":[{"count":3,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/40392\/revisions"}],"predecessor-version":[{"id":40402,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/40392\/revisions\/40402"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media\/40400"}],"wp:attachment":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media?parent=40392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/categories?post=40392"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/tags?post=40392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}