In the age of cloud computing, it's supposed to be easier and faster than ever to get a website up and running. But that's not always the case. When you are starting from scratch with a Linux virtual machine, there is a lot of work required to prepare the operating system for hosting web traffic.
Fortunately, software development stacks exist to help make the whole process a little less painful. Since the early days of the internet, one of the most common packages has been referred to as AMP. That's because the collection of web tools includes Apache as a web server, MySQL as a database, and PHP or Python as an application language.
This popular web stack has evolved over the years. WAMP was a special version designed to run on a Windows server, while LAMP was an equivalent built for Linux instances. A current popular iteration is known as AMPPS and is great for new developers looking to get a website running on the Ubuntu platform. The current version of AMPPS is 3.8, offered and used by nearly all popular web hosting providers today. Read on to learn how to get started with AMPPS and configure it for your web hosting needs.
Elements of AMPPS
The first tool in the AMPPS software suite is Apache, the most popular open-source web server framework in use by many organizations and companies worldwide. Popular platforms like WordPress run on Apache behind the scenes. For the most part it requires little maintenance. A web server is responsible for receiving all incoming HTTP requests from browsers and then responding with the appropriate HTML content.
Next, the AMPPS stack includes a MySQL instance as a back-end database. To build any sort of dynamic website, you need a database layer to house core information related to users, products, or services. MySQL is an open-source relational database manager that can support various scaling scenarios. Some people choose to install AMPPS with MongoDB instead. It is considered to be a NoSQL database that operates on key-value pair associations.
The two P's in AMPPS stand for the application languages supported by the stack: PHP and Python. With these, you can write scripts that operate on the back-end while interfacing with the database and web server layers.
PHP is typically considered to be the easier language to get started with, while Python is a solid general-purpose language for longer projects. The great part about AMPPS is that is does not matter which you choose.
Lastly, Softaculous is the part of AMPPS that brings all of the other elements together. It is a script library that automates the installation of web frameworks, making it easier to launch a new website with minimal time or effort.
Common Use Cases
So what types of projects would benefit from using AMPPS as a development stack? In reality, any website, no matter the size, can be well maintained using the elements of AMPPS on one cohesive platform. Best of all, AMPPS is fully compatible with Ubuntu so that you can avoid paying to run a Windows-based server.
AMPPS is designed for individuals or teams who want to host their web content in the cloud but still maintain ownership over the processes running on the back-end. This makes it a good solution for online stores, communication applications, or blogs. In fact, you can install the WordPress platform directly on top of an existing AMPPS instance.
Requirements for Installation
Before jumping into a full installation of AMPPS, it's important for you and your team to know what lies ahead. First of all, make sure you are comfortable with the Ubuntu operating system and running Linux operations through a command prompt utility. Also make sure that you have expertise in each of the three key areas of AMPPS: web server, database, and application language.
In terms of your actual Linux server, it's critical to have administrative rights on the Ubuntu operating system. Otherwise, the installation will quickly hit a roadblock. Your server can be hosted locally or through a cloud provider, but make sure it is connected to an adequate network as it will be responsible for handling all bandwidth for your website.
- Run "sudo apt-get update" to automatically update all existing software packages installed on Ubuntu.
- Run "sudo apt-get install libfontconfig1 libxrender1" to add the necessary dependencies that are required for the AMPPS to proceed.
- Run "wget http://s4.softaculous.com/a/ampps/files/Ampps-3.8-x86_64.run" to download and launch the AMPPS installer package directly from the Softaculous host. This may take a few minutes depending on your network speed.
- Run "sudo chmod 0755 Ampps-3.8-x86_64.run" to allow your Ubuntu account to execute the installation steps.
- Run "sudo ./Ampps-3.8-x86_64.run" to proceed through the setup wizard.
- Run "/usr/local/ampps" to navigate to the root of the new AMPPS directory.
- Run "sudo ./Ampps" to enable all AMPPS elements.
Once installation is complete, the individual AMPPS elements will be located in separate directories. Apache will be under "www", MySQL will be under "var", and PHP will be under "php-5".
Linking to a Domain
The actual AMPPS application will run on your Ubuntu server in a graphical user interface (GUI) window. After installation, this window will tell you at a glance whether each element is running or is reporting errors. You can quickly toggle the On/Off buttons for individual elements at any time.
The full AMPPS control panel is available through the Softaculous web interface. To access this, open a web browser, type in your local server's IP address, and add "/ampps" to the end of the URL. The tool that appears will let you configure and customize every facet of your web server package.
Of course, code and databases are not very useful unless you can connect them to the world wide web. To do that, you'll need to obtain ownership over a domain name (like a .com or .net). Then you can use AMPPS to link your server to your domain and launch a full website to the public.
To do this in the AMPPS control panel, click the "Add Domain" button in the "Configure" area. Then enter your new URL and match it to the local path of your AMPPS installation. Make sure you check the box next to "Add an entry to Host File" before clicking the "Add Domain" button.
If you plan to store any sort of user data in your database or handle credit card transactions through your website, then cloud cybersecurity needs to be at the top of your priority list when configuring AMPPS. If not, your project or company will be vulnerable to attack or costly data breaches.
As with most software applications today, AMPPS will occasionally issue updates for one or more elements. As the Linux administrator, you should run these updates as soon as possible through the AMPPS control panel.
During the domain linking action we described above, administrators have the option to enable secure socket layer (SSL) encryption for their website. This is highly recommended, as it will ensure that all user sessions are encrypted between browsers and your Ubuntu server. Otherwise there is a risk that hackers could eavesdrop on networks and steal data while in transmission.
Given the current hackathon nature of the internet, it's important to consider your own security situation when working on a cloud-based Ubuntu server or configuring the AMPPS elements. You should always connect through a virtual private network (VPN), especially when working remotely, and even MORE especially if you use a public wi-fi network.
Installing and using a VPN service which uses the OpenVPN protocol adds anonymity and a layer of data encryption that more than one-quarter of those who go online have already embraced. If you aren’t using this technology yet, you might not truly understand the threat.
A VPN works in conjunction with your ISP and will set you back about $5 per month or less if you sign up for annual billing. The main thing to keep in mind is that this is not superfluous software you install just to say you have a cool new service. This should be mandatory for anyone who cares about privacy and keeping their personal data locked down from spying eyes.
Launching a new website can be a daunting task. Not only do you need an overall vision for the site, but you have to have all of the technical elements lined up to work together as one. With the AMPPS stack, a lot of the hard work is done for you so that you can begin building the content that actually matters.
AMPPS integrates your web server, database, and programming language into one environment that can be easily installed on the Ubuntu operating system. It's used by many companies and organizations worldwide but can be the right fit for small web projects too.