{"id":270584,"date":"2026-05-27T12:15:42","date_gmt":"2026-05-27T12:15:42","guid":{"rendered":"https:\/\/www.bluehost.com\/blog\/?p=270584"},"modified":"2026-05-27T12:15:54","modified_gmt":"2026-05-27T12:15:54","slug":"how-to-host-paperclip-on-vps","status":"publish","type":"post","link":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/","title":{"rendered":"How to Host Paperclip on a VPS: Step-by-Step Rails Setup Guide"},"content":{"rendered":"\n<ul class=\"wp-block-list\">\n<li>Learn how to configure a Linux VPS for&nbsp;Ruby&nbsp;on Rails and Paperclip image uploads.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Discover the exact storage path configurations&nbsp;required&nbsp;for seamless media handling.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Understand how to install critical system dependencies like&nbsp;ImageMagick&nbsp;via the command line.&nbsp;<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Explore troubleshooting steps to fix common permission denied errors on your server.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>Ruby on Rails developers often face image processing issues when hosting environments lack system dependencies. Paperclip requires external tools like ImageMagick to resize and format media correctly. Without ImageMagick, applications often suffer from broken links or failed uploads.<\/p>\n\n\n\n<p>A Virtual Private Server provides the administrative access required to install these utilities. Overall, a VPS creates a reliable environment that scales as your application grows. The following guide explains how to host Paperclip by configuring dependencies and managing storage permissions.<\/p>\n\n\n\n<p>Proper server configuration prevents common deployment errors and ensures media processing works correctly from the start.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-are-the-prerequisites-for-hosting-paperclip-on-a-vps-nbsp\">What are the prerequisites for hosting Paperclip on a VPS?&nbsp;<\/h2>\n\n\n\n<p>Before diving into the setup process, ensure your&nbsp;server&nbsp;environment meets a few fundamental requirements. Preparing these elements ahead of time makes your deployment process much smoother. You should start by choosing a VPS plan that matches your expected traffic and storage needs.&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><a href=\"https:\/\/www.bluehost.com\/blog\/explained-full-root-access-in-vps-and-its-advantages\/\">Full root access<\/a>:<\/strong>\u00a0You need administrative control over a Linux VPS. We recommend using\u00a0<a href=\"https:\/\/www.bluehost.com\/blog\/almalinux-vps-explained\/\">AlmaLinux<\/a>\u00a0or <a href=\"https:\/\/www.bluehost.com\/blog\/ubuntu-vps-hosting\/\">Ubuntu<\/a> for the best compatibility.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>An existing application:<\/strong>\u00a0Your\u00a0Ruby\u00a0on Rails project should already be built. It must be configured to use the <a href=\"https:\/\/www.bluehost.com\/help\/article\/self-managed-vps-paperclip\">Paperclip gem<\/a> for handling file attachments.\u00a0<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Command-line knowledge:<\/strong>&nbsp;Basic terminal familiarity is&nbsp;required&nbsp;to install system packages and configure directory permissions.&nbsp;<\/li>\n<\/ul>\n\n\n\n<p>With these prerequisites in place, we can move on to the actual server configuration.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-do-you-set-up-and-deploy-paperclip-on-your-vps-nbsp\">How do you set up and deploy Paperclip on your VPS?&nbsp;<\/h2>\n\n\n\n<p>Deploying a Rails application with custom file upload requirements takes a bit of planning. Follow these instructions to prepare your server, configure your&nbsp;application&nbsp;and ensure images load properly.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/05\/image-64.png\" alt=\"\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-1-install-nbsp-imagemagick-nbsp-and-system-dependencies-nbsp\">Step 1: Install&nbsp;ImageMagick&nbsp;and system dependencies&nbsp;<\/h3>\n\n\n\n<p>Paperclip relies on external software to process,&nbsp;resize&nbsp;and crop image attachments. Use your&nbsp;server\u2019s&nbsp;package manager to install&nbsp;ImageMagick.&nbsp;Running the&nbsp;appropriate installation&nbsp;command ensures the core image processing libraries are available to your application.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-2-configure-paperclip-storage-paths-in-your-environment-nbsp\">Step 2: Configure Paperclip storage paths in your environment&nbsp;<\/h3>\n\n\n\n<p>By default, Paperclip saves uploaded files locally. You must define this local storage path within your application environment file. Ensure the configuration points to the public system folder. This keeps uploaded media files separate from your core application code.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-3-set-nbsp-appropriate-folder-nbsp-permissions-for-the-public-directory-nbsp\">Step 3: Set&nbsp;appropriate folder&nbsp;permissions for the public directory&nbsp;<\/h3>\n\n\n\n<p>Your web server needs explicit permission to read and write files within the upload directory. Use the terminal to grant your web server user&nbsp;write&nbsp;access to the correct folder. Proper permissions prevent frustrating errors when visitors try to upload profile pictures.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-4-configure-nginx-to-serve-static-attachments-nbsp\">Step 4: Configure Nginx to serve static attachments&nbsp;<\/h3>\n\n\n\n<p>Routing every image request through your Rails application wastes valuable server resources. Update your <a href=\"https:\/\/www.bluehost.com\/blog\/apache-vs-nginx\/\">Nginx server<\/a> block to serve static files directly from the public folder. Bypassing the Rails application for media delivery dramatically improves load times and overall performance.\u00a0<\/p>\n\n\n\n<p>Once your server is configured, it helps to know how to resolve lingering access issues.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-do-you-troubleshoot-common-paperclip-permission-errors-nbsp\">How do you troubleshoot common Paperclip permission errors?&nbsp;<\/h2>\n\n\n\n<p>Even with a careful setup, access issues can occur when users try to upload files. Use these steps to track down and fix common permission denied errors on your server. Implementing these fixes helps you <a href=\"https:\/\/www.bluehost.com\/blog\/vps-security-guide\/\">secure your VPS<\/a> against unauthorized access attempts.\u00a0<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-1-verify-user-group-assignments-nbsp\">Step 1: Verify user group assignments&nbsp;<\/h3>\n\n\n\n<p>Check that both your deployment user and the web server user belong to the correct groups. If they do not share the right group permissions, the web server will fail. Incoming files will not&nbsp;save&nbsp;to the designated folder.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-step-2-check-nbsp-selinux-nbsp-contexts-nbsp\">Step 2: Check&nbsp;SELinux&nbsp;contexts&nbsp;<\/h3>\n\n\n\n<p>If you are using&nbsp;AlmaLinux, security modules might block&nbsp;write&nbsp;access to the filesystem. Review your audit logs to see if&nbsp;SELinux&nbsp;is preventing Nginx from writing files. You can then update the context&nbsp;rules accordingly.&nbsp;<\/p>\n\n\n\n<p>Now that your deployment is\u00a0running smoothly,\u00a0let\u2019s\u00a0explore why the right\u00a0<a href=\"https:\/\/www.bluehost.com\/vps-hosting\">scalable VPS hosting plans<\/a>.\u00a0<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-choose-bluehost-for-your-rails-deployment-nbsp\">Why choose Bluehost for your Rails deployment?&nbsp;<\/h2>\n\n\n\n<p>Bluehost offers\u00a0<a href=\"https:\/\/www.bluehost.com\/vps-hosting\">scalable VPS hosting plans<\/a>\u00a0plans that are well-suited for custom\u00a0Ruby\u00a0on Rails applications. A <a href=\"https:\/\/www.bluehost.com\/help\/article\/bh-self-managed-vps-overview\">Self-Managed VPS<\/a> provides the full root access you need to install specific software stacks. Every plan\u00a0features\u00a0NVMe\u00a0SSD speed benefits that significantly accelerate heavy server-side tasks like resizing images with\u00a0ImageMagick.\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>VPS plan tier\u00a0<\/td><td>Introductory price\u00a0<\/td><\/tr><tr><td>Standard VPS &#8211;&nbsp;NVMe&nbsp;2&nbsp;<\/td><td>Starts at $2.09\/mo&nbsp;<\/td><\/tr><tr><td>Standard VPS &#8211;&nbsp;NVMe&nbsp;4&nbsp;<\/td><td>Starts at $4.18\/mo&nbsp;<\/td><\/tr><tr><td>Enhanced VPS &#8211;&nbsp;NVMe&nbsp;8&nbsp;<\/td><td>Starts at $8.36\/mo&nbsp;<\/td><\/tr><tr><td>Ultimate VPS &#8211;&nbsp;NVMe&nbsp;16&nbsp;<\/td><td>Starts at $17.67\/mo&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>However, it is important to note\u00a0a limitation\u00a0of this tier. Self-Managed VPS\u00a0<a href=\"https:\/\/www.bluehost.com\/vps-hosting\">scalable VPS hosting plans<\/a>\u00a0include 24\/7 expert human support for server administration.\u00a0<\/p>\n\n\n\n<p>You must be comfortable handling command-line troubleshooting and deployment tasks yourself. If you have&nbsp;the technical&nbsp;skills, this environment offers the unmetered bandwidth your project requires.&nbsp;<\/p>\n\n\n\n<p>Let\u2019s&nbsp;wrap&nbsp;up with&nbsp;a quick summary of what we covered today.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-final-thoughts-on-paperclip-hosting\">Final thoughts on Paperclip hosting<\/h2>\n\n\n\n<p>Hosting Paperclip locally is an effective choice for Rails developers seeking control over media assets. Managing files on your own server keeps architecture simple. Overall, success relies on configuring Nginx correctly and setting proper directory permissions. This approach allows your Ruby on Rails application to serve content quickly without third-party overhead.<\/p>\n\n\n\n<p>Bluehost VPS hosting provides the <a href=\"https:\/\/www.bluehost.com\/blog\/vps-hosting-with-root-access\/\">root access<\/a> and dedicated resources needed for custom Paperclip hosting environments. With NVMe SSD storage and instant provisioning, your media remains fast. Get started with Bluehost today &#8211; power your business with <a href=\"https:\/\/www.bluehost.com\/vps-hosting\/paperclip\">Paperclip hosting<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-faqs-nbsp\">FAQs&nbsp;<\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-17798793863860\"><strong class=\"schema-faq-question\">Is Paperclip deprecated in favor of&nbsp;ActiveStorage?&nbsp;<\/strong> <p class=\"schema-faq-answer\">Yes, Paperclip is officially deprecated. Many developers now use&nbsp;ActiveStorage, which is built directly into modern versions of&nbsp;Ruby&nbsp;on Rails. However, legacy applications still rely on Paperclip. This makes configuration knowledge valuable for&nbsp;maintaining&nbsp;older projects.&nbsp;<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-17798793863861\"><strong class=\"schema-faq-question\">Can I use Paperclip with a shared hosting plan?&nbsp;<\/strong> <p class=\"schema-faq-answer\">It is highly unlikely. Paperclip requires&nbsp;ImageMagick&nbsp;to process files. Shared&nbsp;<a href=\"https:\/\/www.bluehost.com\/vps-hosting\">scalable VPS hosting plans<\/a>&nbsp;do not provide the root access needed to install system-level packages. A VPS gives you the freedom to install exactly what your application requires.&nbsp;<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-17798793863862\"><strong class=\"schema-faq-question\">How much RAM does&nbsp;ImageMagick&nbsp;need on a VPS?&nbsp;<\/strong> <p class=\"schema-faq-answer\">Image processing can be&nbsp;resource-intensive. Small images might process fine on 2 GB of RAM. Handling large uploads or concurrent tasks often requires 4 GB to 8 GB of RAM to prevent server crashes.&nbsp;<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-17798793863863\"><strong class=\"schema-faq-question\">Where does Paperclip store images by default?&nbsp;<\/strong> <p class=\"schema-faq-answer\">By default, Paperclip stores uploaded images&nbsp;in&nbsp;the local filesystem. It places them inside the public system directory of your Rails application. This allows your web server to serve them directly to visitors.<\/p> <\/div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ruby on Rails developers often face image processing issues when hosting environments lack system dependencies. Paperclip requires external tools like ImageMagick to resize and format media correctly. Without ImageMagick, applications often suffer from broken links or failed uploads. A Virtual Private Server provides the administrative access required to install these utilities. Overall, a VPS creates [&hellip;]<\/p>\n","protected":false},"author":135,"featured_media":270586,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_title":"How to Host Paperclip on a VPS: Step-by-Step Rails Setup Guide","_yoast_wpseo_metadesc":"How to Host Paperclip on VPS: follow this step-by-step Rails setup guide to configure storage, install the gem & deploy file uploads without errors.","inline_featured_image":false,"footnotes":""},"categories":[381,3048],"tags":[3330],"ppma_author":[838],"class_list":["post-270584","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hosting","category-vps-hosting","tag-how-to-guides"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Host Paperclip on a VPS: Step-by-Step Rails Setup Guide<\/title>\n<meta name=\"description\" content=\"How to Host Paperclip on VPS: follow this step-by-step Rails setup guide to configure storage, install the gem &amp; deploy file uploads without errors.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/270584\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Host Paperclip on a VPS: Step-by-Step Rails Setup Guide\" \/>\n<meta property=\"og:description\" content=\"How to Host Paperclip on VPS: follow this step-by-step Rails setup guide to configure storage, install the gem &amp; deploy file uploads without errors.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/\" \/>\n<meta property=\"og:site_name\" content=\"Bluehost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/bluehost\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-27T12:15:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-27T12:15:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/05\/How-to-Host-Paperclip-on-a-VPS-1024x538.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"538\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Sanjana Benny\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bluehost\" \/>\n<meta name=\"twitter:site\" content=\"@bluehost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sanjana Benny\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/\"},\"author\":{\"name\":\"Sanjana Benny\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/32e4048dbcc97eec9162061eff9371bd\"},\"headline\":\"How to Host Paperclip on a VPS: Step-by-Step Rails Setup Guide\",\"datePublished\":\"2026-05-27T12:15:42+00:00\",\"dateModified\":\"2026-05-27T12:15:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/\"},\"wordCount\":1206,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/05\/How-to-Host-Paperclip-on-a-VPS.png\",\"keywords\":[\"How-To Guides\"],\"articleSection\":[\"Hosting\",\"VPS hosting\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#respond\"]}]},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/\",\"url\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/\",\"name\":\"How to Host Paperclip on a VPS: Step-by-Step Rails Setup Guide\",\"isPartOf\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/05\/How-to-Host-Paperclip-on-a-VPS.png\",\"datePublished\":\"2026-05-27T12:15:42+00:00\",\"dateModified\":\"2026-05-27T12:15:54+00:00\",\"description\":\"How to Host Paperclip on VPS: follow this step-by-step Rails setup guide to configure storage, install the gem & deploy file uploads without errors.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863860\"},{\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863861\"},{\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863862\"},{\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863863\"}],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#primaryimage\",\"url\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/05\/How-to-Host-Paperclip-on-a-VPS.png\",\"contentUrl\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/05\/How-to-Host-Paperclip-on-a-VPS.png\",\"width\":1731,\"height\":909,\"caption\":\"How to Host Paperclip on a VPS\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/www.bluehost.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hosting\",\"item\":\"https:\/\/www.bluehost.com\/blog\/category\/hosting\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to Host Paperclip on a VPS: Step-by-Step Rails Setup Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/#website\",\"url\":\"https:\/\/www.bluehost.com\/blog\/\",\"name\":\"Bluehost\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.bluehost.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/#organization\",\"name\":\"Bluehost\",\"url\":\"https:\/\/www.bluehost.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2023\/08\/bluehost-logo.svg\",\"contentUrl\":\"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2023\/08\/bluehost-logo.svg\",\"width\":136,\"height\":24,\"caption\":\"Bluehost\"},\"image\":{\"@id\":\"https:\/\/www.bluehost.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/bluehost\/\",\"https:\/\/x.com\/bluehost\",\"https:\/\/www.linkedin.com\/company\/bluehost-com\/\",\"https:\/\/www.youtube.com\/user\/bluehost\",\"https:\/\/en.wikipedia.org\/wiki\/Bluehost\"],\"description\":\"Bluehost is a leading web hosting provider empowering millions of websites worldwide. \\u2028Discover how Bluehost's expertise, reliability, and innovation can help you achieve your online goals.\",\"telephone\":\"+1-888-401-4678\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/32e4048dbcc97eec9162061eff9371bd\",\"name\":\"Sanjana Benny\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/image\/57e593cf72b9c759700b382763652a32\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fcfa47347d2011cc733d3560ea439b474a39a1ef175949bd4e1d7b3d860215d7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fcfa47347d2011cc733d3560ea439b474a39a1ef175949bd4e1d7b3d860215d7?s=96&d=mm&r=g\",\"caption\":\"Sanjana Benny\"},\"description\":\"I write and curate content for Bluehost. I hope this blog post is helpful. Are you looking at creating a blog, website or an online store? Bluehost has something for everyone. Get started today.\",\"url\":\"https:\/\/www.bluehost.com\/blog\/author\/sanjana-benny\/\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863860\",\"position\":1,\"url\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863860\",\"name\":\"Is Paperclip deprecated in favor of&nbsp;ActiveStorage?&nbsp;\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes, Paperclip is officially deprecated. Many developers now use&nbsp;ActiveStorage, which is built directly into modern versions of&nbsp;Ruby&nbsp;on Rails. However, legacy applications still rely on Paperclip. This makes configuration knowledge valuable for&nbsp;maintaining&nbsp;older projects.&nbsp;\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863861\",\"position\":2,\"url\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863861\",\"name\":\"Can I use Paperclip with a shared hosting plan?&nbsp;\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It is highly unlikely. Paperclip requires&nbsp;ImageMagick&nbsp;to process files. Shared&nbsp;<a href=\\\"https:\/\/www.bluehost.com\/vps-hosting\\\">scalable VPS hosting plans<\/a>&nbsp;do not provide the root access needed to install system-level packages. A VPS gives you the freedom to install exactly what your application requires.&nbsp;\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863862\",\"position\":3,\"url\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863862\",\"name\":\"How much RAM does&nbsp;ImageMagick&nbsp;need on a VPS?&nbsp;\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Image processing can be&nbsp;resource-intensive. Small images might process fine on 2 GB of RAM. Handling large uploads or concurrent tasks often requires 4 GB to 8 GB of RAM to prevent server crashes.&nbsp;\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863863\",\"position\":4,\"url\":\"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863863\",\"name\":\"Where does Paperclip store images by default?&nbsp;\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"By default, Paperclip stores uploaded images&nbsp;in&nbsp;the local filesystem. It places them inside the public system directory of your Rails application. This allows your web server to serve them directly to visitors.\",\"inLanguage\":\"en-US\"},\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Host Paperclip on a VPS: Step-by-Step Rails Setup Guide","description":"How to Host Paperclip on VPS: follow this step-by-step Rails setup guide to configure storage, install the gem & deploy file uploads without errors.","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:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/270584\/","og_locale":"en_US","og_type":"article","og_title":"How to Host Paperclip on a VPS: Step-by-Step Rails Setup Guide","og_description":"How to Host Paperclip on VPS: follow this step-by-step Rails setup guide to configure storage, install the gem & deploy file uploads without errors.","og_url":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/","og_site_name":"Bluehost Blog","article_publisher":"https:\/\/www.facebook.com\/bluehost\/","article_published_time":"2026-05-27T12:15:42+00:00","article_modified_time":"2026-05-27T12:15:54+00:00","og_image":[{"width":1024,"height":538,"url":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/05\/How-to-Host-Paperclip-on-a-VPS-1024x538.png","type":"image\/png"}],"author":"Sanjana Benny","twitter_card":"summary_large_image","twitter_creator":"@bluehost","twitter_site":"@bluehost","twitter_misc":{"Written by":"Sanjana Benny","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#article","isPartOf":{"@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/"},"author":{"name":"Sanjana Benny","@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/32e4048dbcc97eec9162061eff9371bd"},"headline":"How to Host Paperclip on a VPS: Step-by-Step Rails Setup Guide","datePublished":"2026-05-27T12:15:42+00:00","dateModified":"2026-05-27T12:15:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/"},"wordCount":1206,"commentCount":0,"publisher":{"@id":"https:\/\/www.bluehost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/05\/How-to-Host-Paperclip-on-a-VPS.png","keywords":["How-To Guides"],"articleSection":["Hosting","VPS hosting"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#respond"]}]},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/","url":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/","name":"How to Host Paperclip on a VPS: Step-by-Step Rails Setup Guide","isPartOf":{"@id":"https:\/\/www.bluehost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#primaryimage"},"image":{"@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#primaryimage"},"thumbnailUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/05\/How-to-Host-Paperclip-on-a-VPS.png","datePublished":"2026-05-27T12:15:42+00:00","dateModified":"2026-05-27T12:15:54+00:00","description":"How to Host Paperclip on VPS: follow this step-by-step Rails setup guide to configure storage, install the gem & deploy file uploads without errors.","breadcrumb":{"@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863860"},{"@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863861"},{"@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863862"},{"@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863863"}],"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#primaryimage","url":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/05\/How-to-Host-Paperclip-on-a-VPS.png","contentUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2026\/05\/How-to-Host-Paperclip-on-a-VPS.png","width":1731,"height":909,"caption":"How to Host Paperclip on a VPS"},{"@type":"BreadcrumbList","@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/www.bluehost.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Hosting","item":"https:\/\/www.bluehost.com\/blog\/category\/hosting\/"},{"@type":"ListItem","position":3,"name":"How to Host Paperclip on a VPS: Step-by-Step Rails Setup Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.bluehost.com\/blog\/#website","url":"https:\/\/www.bluehost.com\/blog\/","name":"Bluehost","description":"","publisher":{"@id":"https:\/\/www.bluehost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.bluehost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.bluehost.com\/blog\/#organization","name":"Bluehost","url":"https:\/\/www.bluehost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2023\/08\/bluehost-logo.svg","contentUrl":"https:\/\/www.bluehost.com\/blog\/wp-content\/uploads\/2023\/08\/bluehost-logo.svg","width":136,"height":24,"caption":"Bluehost"},"image":{"@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/bluehost\/","https:\/\/x.com\/bluehost","https:\/\/www.linkedin.com\/company\/bluehost-com\/","https:\/\/www.youtube.com\/user\/bluehost","https:\/\/en.wikipedia.org\/wiki\/Bluehost"],"description":"Bluehost is a leading web hosting provider empowering millions of websites worldwide. \u2028Discover how Bluehost's expertise, reliability, and innovation can help you achieve your online goals.","telephone":"+1-888-401-4678"},{"@type":"Person","@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/32e4048dbcc97eec9162061eff9371bd","name":"Sanjana Benny","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.bluehost.com\/blog\/#\/schema\/person\/image\/57e593cf72b9c759700b382763652a32","url":"https:\/\/secure.gravatar.com\/avatar\/fcfa47347d2011cc733d3560ea439b474a39a1ef175949bd4e1d7b3d860215d7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fcfa47347d2011cc733d3560ea439b474a39a1ef175949bd4e1d7b3d860215d7?s=96&d=mm&r=g","caption":"Sanjana Benny"},"description":"I write and curate content for Bluehost. I hope this blog post is helpful. Are you looking at creating a blog, website or an online store? Bluehost has something for everyone. Get started today.","url":"https:\/\/www.bluehost.com\/blog\/author\/sanjana-benny\/"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863860","position":1,"url":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863860","name":"Is Paperclip deprecated in favor of&nbsp;ActiveStorage?&nbsp;","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Yes, Paperclip is officially deprecated. Many developers now use&nbsp;ActiveStorage, which is built directly into modern versions of&nbsp;Ruby&nbsp;on Rails. However, legacy applications still rely on Paperclip. This makes configuration knowledge valuable for&nbsp;maintaining&nbsp;older projects.&nbsp;","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863861","position":2,"url":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863861","name":"Can I use Paperclip with a shared hosting plan?&nbsp;","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"It is highly unlikely. Paperclip requires&nbsp;ImageMagick&nbsp;to process files. Shared&nbsp;<a href=\"https:\/\/www.bluehost.com\/vps-hosting\">scalable VPS hosting plans<\/a>&nbsp;do not provide the root access needed to install system-level packages. A VPS gives you the freedom to install exactly what your application requires.&nbsp;","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863862","position":3,"url":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863862","name":"How much RAM does&nbsp;ImageMagick&nbsp;need on a VPS?&nbsp;","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Image processing can be&nbsp;resource-intensive. Small images might process fine on 2 GB of RAM. Handling large uploads or concurrent tasks often requires 4 GB to 8 GB of RAM to prevent server crashes.&nbsp;","inLanguage":"en-US"},"inLanguage":"en-US"},{"@type":"Question","@id":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863863","position":4,"url":"https:\/\/www.bluehost.com\/blog\/how-to-host-paperclip-on-vps\/#faq-question-17798793863863","name":"Where does Paperclip store images by default?&nbsp;","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"By default, Paperclip stores uploaded images&nbsp;in&nbsp;the local filesystem. It places them inside the public system directory of your Rails application. This allows your web server to serve them directly to visitors.","inLanguage":"en-US"},"inLanguage":"en-US"}]}},"authors":[{"term_id":838,"user_id":135,"is_guest":0,"slug":"sanjana-benny","display_name":"Sanjana Benny","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/fcfa47347d2011cc733d3560ea439b474a39a1ef175949bd4e1d7b3d860215d7?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","9":"","10":"","11":"","12":"","13":"","14":"","15":""}],"_links":{"self":[{"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/270584","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/users\/135"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/comments?post=270584"}],"version-history":[{"count":2,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/270584\/revisions"}],"predecessor-version":[{"id":270588,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/posts\/270584\/revisions\/270588"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/media\/270586"}],"wp:attachment":[{"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/media?parent=270584"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/categories?post=270584"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/tags?post=270584"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.bluehost.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=270584"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}