# What we need to run a Rails application

**URL:** <https://www.ruby-forum.com/t/what-we-need-to-run-a-rails-application/191581>\
**Category:** Rails\
**Created:** [July 14, 2010, 8:17pm UTC](https://www.ruby-forum.com/t/what-we-need-to-run-a-rails-application/191581 "2010-07-14T20:17:02Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![swengineer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/97f17d/32.png) [@swengineer](https://www.ruby-forum.com/u/swengineer)\
**Post date:** [July 14, 2010, 8:17pm UTC](https://www.ruby-forum.com/t/what-we-need-to-run-a-rails-application/191581/1 "2010-07-14T20:17:02Z")

</div>

In the Head First Rails, it mentions that we need the following in order  
to run an application on a server:

1- Application framework.  
2- Database system.  
3- Web server.  
4- Object relational mapping library.

The point that I couldn’t understand well is “Application framework”.  
Can you describe what is meant by this point?

Regarding the web server, which is where our application is run, can we  
say that if we deploy the application to the local machine the local  
machine is a web server. And, if we deploy the application to  
[www.xyz.com](http://www.xyz.com), the web server is [xyz.com](http://xyz.com)?

Thanks.

---

<div class="post-metadata">

**Author:** ![swengineer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/97f17d/32.png) [@swengineer](https://www.ruby-forum.com/u/swengineer)\
**Post date:** [July 14, 2010, 8:44pm UTC](https://www.ruby-forum.com/t/what-we-need-to-run-a-rails-application/191581/2 "2010-07-14T20:44:03Z")

</div>

Abder-Rahman A. wrote:

> In the Head First Rails, it mentions that we need the following in order  
> to run an application on a server:
> 
> 1- Application framework.  
> 2- Database system.  
> 3- Web server.  
> 4- Object relational mapping library.

Wow, that’s absolutely wrong. I’ve done without 4 quite nicely, and  
some people do without 1. Even 2 isn’t necessary for certain types of  
applications. Only 3 is essential.

> The point that I couldn’t understand well is “Application framework”.  
> Can you describe what is meant by this point?

Basically, an application framework is a set of libraries – such as  
Rails – which takes care of the infrastructure of the application  
(setting up an architecture, talking to the Web server, etc.).

> Regarding the web server, which is where our application is run, can we  
> say that if we deploy the application to the local machine the local  
> machine is a web server. And, if we deploy the application to  
> [www.xyz.com](http://www.xyz.com), the web server is [xyz.com](http://xyz.com)?

Yes on both counts. A Web server is just a computer that can respond to  
HTTP requests.

> Thanks.

## Best,

Marnen Laibow-Koser  
[http://www.marnen.org](http://www.marnen.org)  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![swengineer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/97f17d/32.png) [@swengineer](https://www.ruby-forum.com/u/swengineer)\
**Post date:** [July 14, 2010, 10:32pm UTC](https://www.ruby-forum.com/t/what-we-need-to-run-a-rails-application/191581/3 "2010-07-14T22:32:01Z")

</div>

Thanks a lot Marnen.

---

<div class="post-metadata">

**Author:** ![swengineer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/97f17d/32.png) [@swengineer](https://www.ruby-forum.com/u/swengineer)\
**Post date:** [July 15, 2010, 12:55am UTC](https://www.ruby-forum.com/t/what-we-need-to-run-a-rails-application/191581/4 "2010-07-15T00:55:02Z")

</div>

“Application framework” relates to the framework itself which in this  
case is Rails. Others in the ruby realm include Sinatra and Merb.

> Regarding the web server, which is where our application is run, can we  
> say that if we deploy the application to the local machine the local  
> machine is a web server. And, if we deploy the application to  
> [www.xyz.com](http://www.xyz.com), the web server is [xyz.com](http://xyz.com)?

Rails has 3 environments: development, test and production. It does  
not matter which machine is used. What matters is which environment  
you’re running your application on (ie. development, test or  
production).

Gordon Y…
