Jump to content

The right needle in a haystack !


Go to solution Solved by Jacques1,

Recommended Posts

Hi all, 

 

In the last topic i started, Guru Jacques suggested (a great idea ) that I install VM VirtualBox on my machine. After , a number of hit and trials I finally managed to install xubuntu 12.04 on my machine. My machine has the following configuration : Pentium P4 2.2 GHz running Windows 7 and 4Gigs of RAM. I have allotted 1 Gig to the xubuntu and it seems a bit tardy even when the guest additions have yet to be installed. Still it's workable.

 

Given my configuration, I would like to ask if I have chosen the correct linux flavour and the right version. There is a plethora of flavors and versions over there and I am not sure if i have picked the right one. 

 

I tried lubuntu which is said to have a smaller footprint and is supposed to be the fastest version there but it failed to start on my machine. 

 

I was about to install the XAMPP stack on top of xubuntu when I came across an article which said that the XAMPP STACK should not be installed in the production environment. This has triggered a few more questions. 

 

1. Do specific servers have an advantage over another on a given OS ?

 

2. Which server should then be installed for production and development environments? I have little experience with any servers and the Apache I installed as my localhost was installed via the stack. 

 

3. Would I have to install 2 servers or would I just need two configurations of the same server for production and development modes?

(Benanamen provided a link of vagarant and I think that has something to do with this. I have not had time to check that out yet)

 

4. If the configurations solve the issue,  then is it easy to switch between these 2 modes and how? 

 

Well that's it for the time being. I am sure there will be more as I go along this path.  

 

Thanks all !

Link to post
Share on other sites

If you had gone the Vagrant route first you would have saved yourself a lot of time and trouble.

 

Install Xammp locally for development. If you want to develop or test on the exact server setup that you use in production, use Vagrant with your virtual box. The particular OS doesn't make a lot of difference as far as a LAMP stack. Apache is Apache is Apache. Php is Php is Php. Mysql is Mysql, is Mysql.

 

My personal Linux choice for production is Debian. Ubuntu and many others are derivatives based off Debian.

Edited by benanamen
Link to post
Share on other sites
  • Solution

Just to make sure we agree on the terminology and concepts (because some parts of the original post sound strange to me).

 

With “production server” I mean the public webserver which you have rented (or will rent) to host your website on the Internet. You would never install XAMPP on a production server, because a) XAMPP is meant for developer PCs, and b) it's just not necessary. When you rent a webserver, it usually has Apache, PHP, MySQL etc. already preinstalled, or you can easily install this software with a package manager.

 

The OS on a public webserver must obviously be stable and secure, so common choices are Debian, CentOS, OpenBSD, ...

 

When I suggested a VM, I meant a local test environment to replace your current XAMPP setup. A test environment should match the public webserver as closely as possible. So if your public server uses Debian, Apache, MySQL etc., then you would install Debian, Apache, MySQL etc. in the VM.

 

The VM doesn't need a desktop GUI, because you just use it to run your application. The actual programming still happens on your Windows PC (or whatever it is you're using). If you want a Linux desktop for programming, that's another story.

  • Like 1
Link to post
Share on other sites

Hi, 

 

Thanks for the reply Beneneman and Guru Jacques, Sorry for the late response but i realized a bit late that the question had been shifted to another, more appropriate, forum !!  :)

 

@Guru Jacques :  

 

 

 

When I suggested a VM, I meant a local test environment to replace your current XAMPP setup. A test environment should match the public webserver as closely as possible.

 

 

 

With “production server” I mean the public webserver which ...

 

Assuming that I don't have a public webserver at present, How should my present setup be different from the xampp stack setup that i currently have on my local machine? I mean what do I have to do to setup a "production" like environment on my local machine?  is my present xampp setup appropriate for the development environment ? It's still unclear to me what's the difference between the two environments? Is it basically security ?

 

I was thinking that I should setup a "production" like environment on the VirtualBox VM, even if just to see what a production like environment really is. Maybe I can then try and replicate it on the public webserver as closely as possible. Amazon aws, for eg, provides a large variety of VMs to choose from if I finally decided to set it up there.

 

If my questions sound quixotic, its simply because I have had very little experience with servers and their setups. Thanks for  bearing with them - me ! :happy-04:

 

 

@Beneneman : I have been reading vagrant. Will use it for sure. Yes it would have made life easier had i read it before and used it.

 

 

 

If you want to develop or test on the exact server setup that you use in production, use Vagrant with your virtual box

 

This is what I would like to do !!!

 

I'll read up more, try out some and revert. 

 

Thank you both very much.

Edited by ajoo
Link to post
Share on other sites

XAMPP on a Windows desktop PC has nothing to do with an actual webserver running a server-oriented Linux or BSD variant.

 

This is fine as long as you're just using simple features that work everywhere. But when you want to customize the environment by, for example, installing the sendfile module, there are huge differences. On Linux/BSD, you simply install the module through a package manager or compile it with a single shell command. Apache modules are made for webservers, so installing them on a webserver OS is usually painless. It's very different on Windows: Maybe there isn't even a Windows-specific version. Maybe you have to install a C compiler. Maybe you have to go through a lot of extra steps to get the module to work. Maybe it doesn't work at all. Worse yet, those steps are often poorly documented, because developers don't necessarily expect you to run their server software on a Windows PC.

 

Even if you do manage to make your application work on your PC, there's no guarentee that it will work on an actual webserver. When you upload the application for the first time, it may just crash, and then you have to invest a lot of extra time to convert back and forth between your Windows version and the Linux/BSD version.

 

Yes, I recommend you install a typical server distribution (e. g. Debian without a GUI) in a VM and simply try it out to get a basic understanding of webserver administration.

Edited by Jacques1
  • Like 1
Link to post
Share on other sites
This thread is more than a year old.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.