{"id":196,"date":"2024-09-16T03:00:43","date_gmt":"2025-01-07T02:31:03","guid":{"rendered":""},"modified":"2025-02-02T00:46:15","modified_gmt":"2025-02-01T23:46:15","slug":"how-to-install-rails-apache-and-mysql-on-ubuntu-with-passenger","status":"publish","type":"post","link":"https:\/\/netcloud24.com\/knowledgebase\/how-to-install-rails-apache-and-mysql-on-ubuntu-with-passenger\/","title":{"rendered":"How To Install Rails, Apache, and MySQL on Ubuntu with Passenger"},"content":{"rendered":"<p>\u00a0<\/p>\n<\/p>\n<h1>How to Install Rails, Apache, and MySQL on Ubuntu with Passenger<\/h1>\n<p>This guide will walk you through the installation of Rails, Apache, and MySQL on Ubuntu, using Passenger as the application server.<\/p>\n<h2>1. Update Your Package Index<\/h2>\n<p>Start by updating your package index:<\/p>\n<pre><code>sudo apt update<\/code><\/pre>\n<h2>2. Install Dependencies<\/h2>\n<p>Install necessary packages and dependencies:<\/p>\n<pre><code>sudo apt install -y curl gnupg2 ca-certificates lsb-release<\/code><\/pre>\n<h2>3. Install MySQL<\/h2>\n<p>Install MySQL server with the following command:<\/p>\n<pre><code>sudo apt install -y mysql-server<\/code><\/pre>\n<p>Secure your MySQL installation by running:<\/p>\n<pre><code>sudo mysql_secure_installation<\/code><\/pre>\n<p>Follow the prompts to set up your root password and remove insecure default settings.<\/p>\n<h2>4. Install Ruby and Rails<\/h2>\n<p>Install RVM (Ruby Version Manager) to manage Ruby versions:<\/p>\n<pre><code>curl -sSL https:\/\/get.rvm.io | bash -s stable<\/code><\/pre>\n<p>Load RVM into your shell session:<\/p>\n<pre><code>source ~\/.rvm\/scripts\/rvm<\/code><\/pre>\n<p>Install Ruby (replace <strong>3.1.0<\/strong> with the latest version if needed):<\/p>\n<pre><code>rvm install 3.1.0\r\nrvm use 3.1.0 --default<\/code><\/pre>\n<p>Install Rails (replace <strong>7.0.0<\/strong> with the latest version if needed):<\/p>\n<pre><code>gem install rails -v 7.0.0<\/code><\/pre>\n<h2>5. Install Apache and Passenger<\/h2>\n<p>Add the Passenger PPA and install Apache with Passenger:<\/p>\n<pre><code>\r\nsudo apt install -y dirmngr\r\nsudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7\r\nsudo apt-add-repository \"deb https:\/\/oss-binaries.phusionpassenger.com\/apt\/passenger $(lsb_release -cs) main\"\r\nsudo apt update\r\nsudo apt install -y apache2 libapache2-mod-passenger\r\n    <\/code><\/pre>\n<p>Enable the Passenger module and restart Apache:<\/p>\n<pre><code>sudo a2enmod passenger\r\nsudo systemctl restart apache2<\/code><\/pre>\n<h2>6. Configure Apache for Rails<\/h2>\n<p>Create a new Apache configuration file for your Rails application:<\/p>\n<pre><code>sudo nano \/etc\/apache2\/sites-available\/yourapp.conf<\/code><\/pre>\n<p>Replace <strong>yourapp<\/strong> with your application&#8217;s name, and add the following configuration:<\/p>\n<pre><code>\r\n\r\n    ServerName yourdomain.com\r\n    DocumentRoot \/path\/to\/yourapp\/public\r\n\r\n    \r\n        Allow from all\r\n        Options -MultiViews\r\n        AllowOverride all\r\n        Require all granted\r\n    \r\n\r\n    PassengerRuby \/usr\/local\/rvm\/gems\/ruby-3.1.0\/wrappers\/ruby\r\n\r\n    <\/code><\/pre>\n<p>Enable the site and reload Apache:<\/p>\n<pre><code>sudo a2ensite yourapp\r\nsudo systemctl reload apache2<\/code><\/pre>\n<h2>7. Create and Migrate Your Rails Application<\/h2>\n<p>Create a new Rails application:<\/p>\n<pre><code>rails new yourapp -d mysql<\/code><\/pre>\n<p>Configure your database in <code>config\/database.yml<\/code> with the MySQL credentials, then create and migrate your database:<\/p>\n<pre><code>cd yourapp\r\nrails db:create\r\nrails db:migrate<\/code><\/pre>\n<h2>8. Deploy Your Rails Application<\/h2>\n<p>Ensure your Rails application is in the correct directory and is ready to be served by Apache. You should now be able to access your Rails application by navigating to <a href=\"http:\/\/yourdomain.com\">http:\/\/yourdomain.com<\/a> in your web browser.<\/p>\n<h2>9. Secure Your Application<\/h2>\n<p>Consider setting up SSL\/TLS certificates for secure connections using tools like <a href=\"https:\/\/certbot.eff.org\/\">Certbot<\/a>. Follow the documentation for Certbot to install and configure SSL certificates for your Apache server.<\/p>\n<h2>10. Keep Everything Updated<\/h2>\n<p>Regularly update your packages and application to ensure security and stability:<\/p>\n<pre><code>sudo apt update\r\nsudo apt upgrade<\/code><\/pre>\n<p><a href=\"https:\/\/de.netcloud24.com\/\" target=\"_blank\">Windows VPS Deutschland<\/a><\/p>\n<p><a href=\"https:\/\/es.netcloud24.com\/\" target=\"_blank\">Windows VPS Espa\u00f1a<\/a><\/p>\n<p><a href=\"https:\/\/nl.netcloud24.com\/\" target=\"_blank\">Windows VPS Nederland<\/a><\/p>\n<p><a href=\"https:\/\/it.netcloud24.com\/\" target=\"_blank\">Windows VPS Italia<\/a><\/p>\n<p><a href=\"https:\/\/pt.netcloud24.com\/\" target=\"_blank\">Windows VPS Portugal<\/a><\/p>\n<p><a href=\"https:\/\/it.netcloud24.com\/\" target=\"_blank\">VPS Windows Italia<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS Sverige<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS Norge<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS T\u00fcrkiye<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows RDS (Remote Desktop Services)<\/a><\/p>\n<p><a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\">Windows VPS<\/a><\/p>\n<div class=\"post-author-box\" style=\"border-top:1px solid #ddd;margin-top:20px;padding-top:15px;\">\n<p><strong>Author:<\/strong> \u0141ukasz Bodziony<\/p>\n<p><strong>Website:<\/strong> <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a><\/p>\n<p><em>\u0141ukasz Bodziony is the CEO and founder of <a href=\"https:\/\/netcloud24.com\" target=\"_blank\" rel=\"dofollow\">NETCLOUD24<\/a>, a global VPS hosting brand proudly originating from Poland. With extensive experience in cloud computing, virtualization, and server management, he delivers high-performance <strong>Windows VPS<\/strong> and <strong>Remote Desktop Services (RDS)<\/strong> solutions to clients across Europe, North America, and beyond.<\/em><\/p>\n<p><em>His expertise covers a wide range of technologies, including <strong>Microsoft Azure<\/strong>, <strong>Proxmox VE<\/strong>, <strong>Amazon Web Services (AWS)<\/strong>, and numerous other virtualization and cloud platforms.<\/em><\/p>\n<p><em>Beyond running his hosting business, \u0141ukasz also provides <strong>professional paid server configuration and optimization services<\/strong> for companies and individuals. Outside of work, he is dedicated to caring for his children and building a secure future for them.<\/em><\/p>\n<p><em>If you are interested in working with him or need expert assistance with your hosting, cloud environment, or server setup, feel free to reach out via <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a>.<\/em><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 How to Install Rails, Apache, and MySQL on Ubuntu with Passenger This guide will walk you through the installation of Rails, Apache, and MySQL on Ubuntu, using\u2026<\/p>\n","protected":false},"author":1,"featured_media":3421,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[],"tags":[14,12,11,23,20,21,22,17,7,8,6,10,18,19,15,24,16,5,13,9],"class_list":["post-196","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-cheapvps","tag-cloudvps","tag-hostingvps","tag-rds","tag-rdscal","tag-remotedesktop","tag-remotedesktopvps","tag-servervps","tag-ukvps","tag-virtualserver","tag-vpshosting","tag-vpsserver","tag-vpssolutions","tag-vpswindows","tag-vpswithwindows","tag-windowsrds","tag-windowsserver","tag-windowsvps","tag-windowsvpshosting","tag-windowsvpsuk"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=196"}],"version-history":[{"count":0,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/196\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media\/3421"}],"wp:attachment":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}