{"id":16465,"date":"2025-10-14T14:56:50","date_gmt":"2025-10-14T06:56:50","guid":{"rendered":"https:\/\/www.quape.com\/?p=16465"},"modified":"2025-10-14T14:59:34","modified_gmt":"2025-10-14T06:59:34","slug":"setup-minio-cdn-storage-ubuntu-24-04","status":"publish","type":"post","link":"https:\/\/www.quape.com\/vi\/setup-minio-cdn-storage-ubuntu-24-04\/","title":{"rendered":"C\u00e1ch thi\u1ebft l\u1eadp MinIO \u0111\u1ec3 l\u01b0u tr\u1eef CDN tr\u00ean Ubuntu 24.04"},"content":{"rendered":"<div id=\"bsf_rt_marker\"><\/div><p>Setup MinIO CDN storage Ubuntu 24.04 to create high-performance object storage for your content delivery needs. MinIO provides S3-compatible storage for images, videos, and static files that works seamlessly with CDN providers like <a href=\"https:\/\/www.cloudflare.com\/application-services\/products\/cdn\/\" target=\"_blank\" rel=\"noopener\">Cloudflare<\/a>, <a href=\"https:\/\/bunny.net\/\" target=\"_blank\" rel=\"noopener\">BunnyCDN<\/a>, or <a href=\"https:\/\/www.keycdn.com\/\" target=\"_blank\" rel=\"noopener\">KeyCDN<\/a>.<\/p>\n<p style=\"text-align: left;\">This guide covers complete MinIO installation on Ubuntu 24.04, from server preparation to bucket creation and CDN integration. MinIO serves as your origin storage while CDN providers cache and distribute content globally, reducing latency and bandwidth costs. The setup works perfectly for websites, e-commerce platforms, streaming services, and any application requiring fast, reliable content delivery.<\/p>\n<p style=\"text-align: left;\">Your server needs Ubuntu 24.04 LTS with minimum 4GB RAM, 4 CPU cores, and 100GB storage. Choose VPS with NVMe SSD for best performance. Good network bandwidth is essential since MinIO will serve content to CDN providers and handle upload operations.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/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 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.quape.com\/vi\/setup-minio-cdn-storage-ubuntu-24-04\/#Preparing_Your_Server\" >Preparing Your Server<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.quape.com\/vi\/setup-minio-cdn-storage-ubuntu-24-04\/#Installing_MinIO\" >Installing MinIO<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.quape.com\/vi\/setup-minio-cdn-storage-ubuntu-24-04\/#Configure_Storage\" >Configure Storage<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.quape.com\/vi\/setup-minio-cdn-storage-ubuntu-24-04\/#Create_SystemD_Service\" >Create SystemD Service<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.quape.com\/vi\/setup-minio-cdn-storage-ubuntu-24-04\/#Configure_Firewall\" >Configure Firewall<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.quape.com\/vi\/setup-minio-cdn-storage-ubuntu-24-04\/#Install_MinIO_Client\" >Install MinIO Client<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.quape.com\/vi\/setup-minio-cdn-storage-ubuntu-24-04\/#Create_Buckets\" >Create Buckets<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.quape.com\/vi\/setup-minio-cdn-storage-ubuntu-24-04\/#Set_Public_Access\" >Set Public Access<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.quape.com\/vi\/setup-minio-cdn-storage-ubuntu-24-04\/#Upload_Content\" >Upload Content<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.quape.com\/vi\/setup-minio-cdn-storage-ubuntu-24-04\/#CDN_Integration\" >CDN Integration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.quape.com\/vi\/setup-minio-cdn-storage-ubuntu-24-04\/#Powered_by_QUAPE\" >Powered by QUAPE<\/a><\/li><\/ul><\/nav><\/div>\n<h3 style=\"text-align: left;\"><span class=\"ez-toc-section\" id=\"Preparing_Your_Server\"><\/span><strong>Preparing Your Server<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: left;\">Update system packages and create dedicated user for MinIO.<\/p>\n<pre><code class=\"language-bash\">sudo apt update &amp;&amp; sudo apt upgrade -y\r\nsudo useradd -r -s \/sbin\/nologin miniocdn<\/code><\/pre>\n<h3 style=\"text-align: left;\"><span class=\"ez-toc-section\" id=\"Installing_MinIO\"><\/span><strong>Installing MinIO<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: left;\">Download and install MinIO server binary.<\/p>\n<pre><code class=\"language-bash\">wget https:\/\/dl.min.io\/server\/minio\/release\/linux-amd64\/minio\r\nsudo mv minio \/usr\/local\/bin\/\r\nsudo chmod +x \/usr\/local\/bin\/minio\r\nminio --version<\/code><\/pre>\n<h3 style=\"text-align: left;\"><span class=\"ez-toc-section\" id=\"Configure_Storage\"><\/span><strong>Configure Storage<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: left;\">Create storage directory and set permissions.<\/p>\n<pre><code class=\"language-bash\">sudo mkdir -p \/data\/miniocdn\r\nsudo chown -R miniocdn:miniocdn \/data\/miniocdn<\/code><\/pre>\n<p style=\"text-align: left;\">Create configuration file.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/default\/miniocdn<\/code><\/pre>\n<p style=\"text-align: left;\">Add this configuration.<\/p>\n<pre><code class=\"language-bash\">MINIO_ROOT_USER=\"cdnadmin\"\r\nMINIO_ROOT_PASSWORD=\"SecureCDNPass\"\r\nMINIO_VOLUMES=\"\/data\/miniocdn\"\r\nMINIO_OPTS=\"--console-address :9001 --address :9000\"<\/code><\/pre>\n<p style=\"text-align: left;\">Replace credentials with your own strong password.<\/p>\n<h3 style=\"text-align: left;\"><span class=\"ez-toc-section\" id=\"Create_SystemD_Service\"><\/span><strong>Create SystemD Service<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: left;\">Create service file.<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/systemd\/system\/miniocdn.service<\/code><\/pre>\n<p style=\"text-align: left;\">Add service configuration.<\/p>\n<pre><code class=\"language-ini\">[Unit]\r\nDescription=MinIO CDN Storage Server\r\nDocumentation=https:\/\/min.io\/docs\/minio\/linux\/index.html\r\nWants=network-online.target\r\nAfter=network-online.target\r\nAssertFileIsExecutable=\/usr\/local\/bin\/minio\r\n\r\n[Service]\r\nWorkingDirectory=\/usr\/local\/\r\nUser=miniocdn\r\nGroup=miniocdn\r\nEnvironmentFile=\/etc\/default\/miniocdn\r\nExecStart=\/usr\/local\/bin\/minio server $MINIO_OPTS $MINIO_VOLUMES\r\nRestart=always\r\nLimitNOFILE=65536\r\nTasksMax=infinity\r\nTimeoutStopSec=infinity\r\nSendSIGKILL=no\r\n\r\n[Install]\r\nWantedBy=multi-user.target<\/code><\/pre>\n<p style=\"text-align: left;\">Start MinIO service.<\/p>\n<pre><code class=\"language-bash\">sudo systemctl daemon-reload\r\nsudo systemctl enable miniocdn\r\nsudo systemctl start miniocdn\r\nsudo systemctl status miniocdn<\/code><\/pre>\n<h3 style=\"text-align: left;\"><span class=\"ez-toc-section\" id=\"Configure_Firewall\"><\/span><strong>Configure Firewall<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: left;\">Allow MinIO ports through firewall.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 22\/tcp comment 'SSH'\r\nsudo ufw allow 9000\/tcp comment 'MinIO API'\r\nsudo ufw allow 9001\/tcp comment 'MinIO Console'\r\nsudo ufw enable\r\nsudo ufw status numbered<\/code><\/pre>\n<h3 style=\"text-align: left;\"><span class=\"ez-toc-section\" id=\"Install_MinIO_Client\"><\/span><strong>Install MinIO Client<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: left;\">Download and install MinIO Client for bucket management.<\/p>\n<pre><code class=\"language-bash\">wget https:\/\/dl.min.io\/client\/mc\/release\/linux-amd64\/mc\r\nsudo mv mc \/usr\/local\/bin\/\r\nsudo chmod +x \/usr\/local\/bin\/mc\r\nmc --version<\/code><\/pre>\n<p style=\"text-align: left;\">Configure client connection.<\/p>\n<pre><code class=\"language-bash\">mc alias set mycdn http:\/\/localhost:9000 cdnadmin SecureCDNPass2024!\r\nmc admin info mycdn<\/code><\/pre>\n<h3 style=\"text-align: left;\"><span class=\"ez-toc-section\" id=\"Create_Buckets\"><\/span><strong>Create Buckets<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: left;\">Create buckets for organizing your CDN content.<\/p>\n<pre><code class=\"language-bash\">mc mb mycdn\/images\r\nmc mb mycdn\/static\r\nmc ls mycdn<\/code><\/pre>\n<h3 style=\"text-align: left;\"><span class=\"ez-toc-section\" id=\"Set_Public_Access\"><\/span><strong>Set Public Access<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: left;\">Enable public read access for CDN content.<\/p>\n<pre><code class=\"language-bash\">mc policy set download mycdn\/images\r\nmc policy set download mycdn\/static\r\nmc policy get mycdn\/images<\/code><\/pre>\n<h3 style=\"text-align: left;\"><span class=\"ez-toc-section\" id=\"Upload_Content\"><\/span><strong>Upload Content<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: left;\">Upload files to MinIO storage.<\/p>\n<pre><code class=\"language-bash\">mc cp \/path\/to\/image.jpg mycdn\/images\/\r\nmc cp \/path\/to\/photos\/*.jpg mycdn\/images\/\r\nmc cp --recursive \/path\/to\/website\/assets\/ mycdn\/static\/<\/code><\/pre>\n<p style=\"text-align: left;\">Access your content via URLs.<\/p>\n<pre><code>http:\/\/your-server-ip:9000\/images\/image.jpg\r\nhttp:\/\/your-server-ip:9000\/static\/style.css<\/code><\/pre>\n<h3 style=\"text-align: left;\"><span class=\"ez-toc-section\" id=\"CDN_Integration\"><\/span><strong>CDN Integration<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: left;\">Integrate MinIO with popular CDN providers for global content delivery.<\/p>\n<p style=\"text-align: left;\"><strong>Cloudflare CDN<\/strong>\u00a0 Add MinIO server IP as custom origin in Cloudflare dashboard and configure cache rules for static content.<\/p>\n<p style=\"text-align: left;\"><strong>BunnyCDN<\/strong>\u00a0 Create pull zone with MinIO server as origin URL for automatic content distribution across their global network.<\/p>\n<p style=\"text-align: left;\"><strong>KeyCDN<\/strong>\u00a0 Set up pull zone pointing to MinIO server for edge caching across global locations.<\/p>\n<p style=\"text-align: left;\"><strong>Amazon CloudFront<\/strong>\u00a0 Configure MinIO as custom origin with S3-compatible settings for enterprise-grade CDN delivery.<\/p>\n<p style=\"text-align: left;\">Configure long cache expiration times for static content to maximize CDN efficiency and reduce origin requests. Most CDN providers support cache purging for updating content without waiting for TTL expiration.<\/p>\n<h3 style=\"text-align: left;\"><span class=\"ez-toc-section\" id=\"Powered_by_QUAPE\"><\/span><strong>Powered by QUAPE<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p style=\"text-align: left;\">Quape VPS delivers enterprise-grade NVMe storage and high-bandwidth connectivity perfect for MinIO CDN operations. Deploy in our strategically located data centers with expert support available 24\/7.<\/p>\n<p style=\"text-align: left;\">Visit <a href=\"https:\/\/www.quape.com\/hosting\/vps-hosting\/\">Quape VPS Hosting<\/a> to explore VPS plans optimized for CDN storage workloads.<\/p>\n<p style=\"text-align: left;\">Your MinIO CDN storage is ready to serve content globally. Start with direct URLs or integrate with your preferred CDN provider for edge caching. As traffic grows, MinIO scales seamlessly without architectural changes.<\/p>\n<p style=\"text-align: left;\">Build your content infrastructure on <a href=\"https:\/\/www.quape.com\/hosting\/vps-hosting\/\">Quape VPS<\/a> for reliable, high-performance storage hosting.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Setup MinIO CDN storage Ubuntu 24.04 to create high-performance object storage for your content delivery needs. MinIO provides S3-compatible storage for images, videos, and static files that works seamlessly with CDN providers like Cloudflare, BunnyCDN, or KeyCDN. This guide covers complete MinIO installation on Ubuntu 24.04, from server preparation to bucket creation and CDN integration. [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":16486,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,9],"tags":[436,434,435,437,438],"class_list":["post-16465","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server","category-hosting","tag-cdn-storage","tag-minio","tag-object-storage","tag-s3-compatible-storage","tag-ubuntu-24-04"],"_links":{"self":[{"href":"https:\/\/www.quape.com\/vi\/wp-json\/wp\/v2\/posts\/16465","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quape.com\/vi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.quape.com\/vi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.quape.com\/vi\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quape.com\/vi\/wp-json\/wp\/v2\/comments?post=16465"}],"version-history":[{"count":0,"href":"https:\/\/www.quape.com\/vi\/wp-json\/wp\/v2\/posts\/16465\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.quape.com\/vi\/wp-json\/wp\/v2\/media\/16486"}],"wp:attachment":[{"href":"https:\/\/www.quape.com\/vi\/wp-json\/wp\/v2\/media?parent=16465"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quape.com\/vi\/wp-json\/wp\/v2\/categories?post=16465"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quape.com\/vi\/wp-json\/wp\/v2\/tags?post=16465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}