Networking for Newbies: How to make LAMP Server
Trends... Microsoft Server Vs. Linux
Well, it's commonly known that Microsoft is battling for the sever market, to offer reliable, secure, and in same time economic servers. Usually, Microsoft Servers are relying on GUI, and less on the CLI based system administration. Command Line Interface is more present at Linux based machines, especially when system administration is done via SSH protocol, which enables you secure, and "fingerprint" leaving, of all I.P's (network resources) logged in. So, everyone of them has it's own "fingerprint" when SSH session is started. In compare with ordinary RDP access, for remote System Administration, systems often have to be the same, Windows-to-Windows, due the "handshake protocol" and whole A.R.P communication concept, while Linux kernel, and Linux Networking concept is more "opened" and it leaves you space for tweaks, changes made on engine, switching engine (for instance you can use Apache 2 or NGINX) while at Microsoft Windows Server platforms NTLDR.DLL won't let you change the engine of server based on, as kernell.dll and other dependencies are- commonly known error even to average users- "the file or resource is currently in use, please close the program using it, retry, or try later".
The main flaw of Microsoft Server (servers) is that they are huge, and most of them are - excluding real knowledge of working under Power Shell v 2.0 and 3.0 and 4.0- tied to using GUI (Graphic Unit Interface) which has it's positive and negative sides.
Positive: GUI is easier to use
Negative: GUI often offers lot less options for modifying and configuring servers
Positive: GUI is offering a huge pattern of GUI monitoring systems
Negative: GUI monitoring systems take a lot of CPU and RAM resources, creating "bottle-necks".Positive: GUI is easier for learning,
Negative: GUI usually relies on several hardware resources that can be used for jeopardizing whole system
Positive: With GUI, managing users, credentials, NLB, Quotas, and rest is easier as it's graphically shown
Negative: GUI doesn't allow you to modify and tweak the engine, it's own, of server, so knowledge of Microsoft(R) Power Shell (TM) is must!
However there is a version of Windows that's based on CLI and that's the "DataCenter" version of it, whereby you can install only Command Line Interface that relies on MS-DOS commands- which, once again, use the snap-ins in order to work. Now all this wouldn't be a problem if Windows Server isn't so much "insecure".
On the other side, some say that Firewall's and various software that is available for Windows-based servers are the "part-missing" from the puzzle to be near perfect. Specialist say that Microsoft is slightly loosing this battle as Ubuntu, Debian, as well as CentOS are free to use, and more and more programs are relying on the Linux based kernel's. (kernel is a "heart" of one system. Like a main chip, or CPU in PC, that is kernel for OS.)
- Now, Linux Ubuntu, or latest Debian Wheezy is totally compatible with both; graphic user interface, and command-line interface.
A lot of cloud-based phone centers, are using Linux and Apache2 engine for running it. Recently more and more popular engine called "NGINX" is present. It's also open source, and free to install and use. Creators of NGINX(R) are claiming that their code for the engine is about 300% faster than "ordinary Apache2 and it's the best engine for web places, web sites, full of multimedia".
It seems that Microsoft should point out on some freeware things, as all products coming from Redmond are shareware and not rarely - very expensive. For instance, some 500 EUR is needed for DataBase Windows Server to be prepared for the role of DNS, DHCP, F'n'P (File and Printer Exchange, M.X (Mail Exchange), ADDS (Acitve Directory Domain System), LDAP
LAMP SERVER BUILDING
But, even though Windows has major wholes in the security system of their, compared to the kernel of system developed by numerous open-source programmers. The contribution, and ideas themselves will come first from that team with more people. Two heads are always smarter than one.
- Anyway, no, LAMP is not a item on your wall, flat, room interior... :) It's not a sign for IDEA, although it's often used "lamp symbol" for the new, or good, idea. LAMP is actually an acronym of Linux kernel OS, Apache2, MySQL, PHP/Python... L A M P.
On the pictured displayed at your right side, I've taken some screenshots of how I've managed to build my Linux Apache MySQL Python or "LAMP" server on my own. Here's what you need in order to do it yourself, and, why not? - Have Linux aside of Windows, without multi-boot option!
So, following things are needed:
1. ORACLE VM VirtualBox
2. Linux .iso image of Linux (Ubuntu, Debian, CentOS... Whatever suits you, and and your AMD/Intel CPU chipset.
Be aware that installations for A.M.D and Intel processors ain't same.
So, start by installing VM Box and start it. Make and .vhd (Virtual Hard Drive) on partition where you have more space left. Make your partition at least 15 GB for smoother work. Now, after you created "virtual machine", as creation is really straight-forward, and so easy that by typing Virtual Machine (VM) name "Linux", settings will automatically adjust for optimized performance.
Now, go to "Settings", and click on the "Storage" section - on the left side, and then you will see the "hard-drive" (.vhd) where your Linux is installed, and below it it will say "None", and one icon similar to CD/ DVD will be displayed right there. Click on it, and on a bit righter part, where arrow appears to "LOAD" virtual image (the .iso image previously downloaded), click on it, and load the .iso image, or images, as sometimes, depending on version of Linux, it can take up to 9 different .iso images of various sizes.
Afterward, click on "START" and you will start your VM (Virtual Machine), with boot CD/ DVD (the .iso image). I would assume that you have now an insight of what I'm speaking here.
YOUR Virtual Machine WILL ACT AS TOTALLY INDEPENDENT MACHINE, USING RESOURCES FROM THE ACTUAL COMPUTER HARDWARE; AND THAT'S ALL.
So, once you start your Virtual Machine called "Linux", and once bootable .iso image is loaded previously, you will be now booting the Installation process of Linux. Whatever the edition is. It is very easy, make sure that you select correct Time Zone, keyboard layout/ input, and other preferences that you can adjust in the installation process.
Once you're done, and see your Linux Desktop, press CTRL+T or CTRL+K (depending on edition) and terminal will open. Very similar to that command-prompt (CMD) in Windows. Commands are similar, like " cd .. ", instead of "ipconfig" in Windows it's "ifconfig" to see your current network settings and IP address/ Internet Gateway.
Type command [ apt-get update ]. Afterwards, install Tasksel (an tool that will enable easier insight in some installations packages with commad: [ apt-get aptitude ]. You can start aptitude now by typing simply: [aptitude]. You might see just LAMP there, select it, and press enter and Linux will install it automatically.
Of course, a bit of Google regarding commands how to install very handful phpMyAdmin, and stuff like that... I will leave it on you.