Get a free Linux server from Amazon Web Services

AWS free cloud server

I always have doubts when I see a claim that something is free but I needed to set up a server for a short period of time and have it publicly available for a few months. It will host three small demo applications and the number of users will be very low and their activity non-intensive. I really didn’t want to purchase anything as it’s for a non-profit or go through the trouble of setting up a more permanent solution as it has no reuse after this exercise. I knew AWS had a “free” tier and so I wondered if that would suit my purposes and it did. However, unless

Setting up a secure website certificate on an Ubuntu server

HTTPS Traffic

This article goes through the steps required to create and install a secure certificate on a website which will allow web traffic to be encrypted over https. The article uses the default website on an Apache 2 Ubuntu web server. It also mentions what to do for multiple websites each with their own secure certificate. It is part of my other articles on setting up an Ubuntu Linux server hosted using Amazon Web Services, but the same principals can be applied to any website on any server as the steps are the same. The starting point for this article is a server that has been setup following the examples in

Setting up a MySQL database on a Linux server

Setting up a MySQL database on a Linux server

This article goes through the steps required to create a MySQL database, a database user and give database permissions to that user. It also covered importing structure and data from a script together with a bit of information about creating tables and adding data. It is part of my other articles on setting up a “Ubuntu Linux” server hosted using Amazon Web Services, but the same principals can be applied to any Linux server as this article is just about using MySQL commands. If you do not already have MySQL installed then check out my previous article on “Setting up a LAMP Server“. There are not many steps involved as

Setting up scheduled tasks known as Cron Jobs on a Ubuntu server

Cron Jobs

In this short article, I will set up scheduled tasks known as Cron Jobs on a Ubuntu server. This will allow me to automatically run PHP scripts on the server at various points in time without any interaction. Any user account on the Ubuntu server can set up their own Cron Jobs which will run under their own account. If you want to make sure the scheduled task has full access to everything then it will need to run under a privileged account such as the “root” user and you can do that from a user account that has sudo permission. In my case, I want to run server-wide jobs

Hosting multiple websites on a single Apache server

Multiple Websites

In this article I will run through the setup of multiple websites on Apache on a single Ubuntu LAMP server. LAMP is a common acronym for a typical setup and stands for Linux, Apache, MySQL and PHP. I will go through step by step using FileZilla (for transferring files) and PuTTY (command line interface for configuring the server). There are example screens walking through each step showing both enabling or disabling the default Apache website and adding/enabling other websites. The process is the same for each additional domain so after the section on the default website, it is repeatable for all additional domains so I only go through the setup

Steps to securing your Apache web server on Ubuntu

Apache Security

This article goes through some of the things you can do to protect your web server from certain types of attacks and to keep the disclosure of information down to a minimum. It will show you how to help prevent clickjacking, SSL cipher or mime-based attacks. It will show you how to avoid error messages and other methods giving away more information than is needed. These can mostly be prevented at a server level so that they apply to all websites that you publish on the server. A brief description of what is being prevented and the resolution is included with each of the step by step examples. The examples

Fixing GD by replacing the version in the bundled PHP package

PHP GD Library

The GD Library in PHP allows developers to output images from code in various formats rather than output HTML mark-up for displaying web pages or snippets. It is a very popular method of creating images used on web forms where the validity of a human user needs to be attained (this method is commonly known as Captcha). However, a bundled PHP distribution might not come with GD enabled and fully functioning such as those used by the “apt-get install php5” command on Ubuntu. Even after “apt-get install php5-gd” is run to fetch and installed the GD Library, PHP might not still produce the Captcha images for your web forms. This

Setting up Apache, MYSQL and PHP on Ubuntu Linux (LAMP)

Ubuntu LAMP

This article shows you the commands required to set up an Apache web server on a fresh Ubuntu Linux installation from a Command Line Interface. It goes through the steps to setup PHP and MySQL and link both to the Apache web server. It doesn’t just finish there though. I also cover installing OpenSSL for managing secure certificates, VSFTP for file transfer protocol accounts and the GD PHP image library. These are popular things to do for say running WordPress but not essential to a LAMP (Linux, Apache, MySQL and PHP) setup. The examples use Ubuntu 14.04.4 LTS (Long Term Support) but could easily be performed on any recent Ubuntu

Upgrading packages on Ubuntu from the command line

PuTTY Ubuntu Login

This short article goes through the commands required to upgrade to the latest trusted distribution of Ubuntu 14.04 Long Term Support (LTS) but the same commands can be used for any Ubuntu upgrade. The following example shows the commands and actions for upgrading all of the packages on Ubuntu to their latest distributed versions rather than just applying updates to currently installed packages. The first thing to do is login using your Command Line Interface (CLI). You will probably login with an account that does not have upgrade privileges. You can either run the command “sudo -i” to switch to a privileged account or you can prefix the commands with

Secure Ubuntu connection via AWS authentication token using CLI and FTP

PuTTY and FileZilla

This is a bit of a specialist article that shows how to do something in specific circumstances rather than try to cover all eventualities but hopefully it will be useful outside of the narrow example for those that need help. In this article I set up a secure connection to a Linux server running Ubuntu 14.04.4 LTS on Amazon Web Services (AWS) with authentication through a token. The connection to the server examples is shown from both a Command Line Interface (CLI) and a File Transfer Protocol (FTP) client. I’m using PuTTY for a CLI and FileZilla for my FTP client running on Windows 10 64-bit operating system. Authentication Token