A Microsoft Guy Does Linux and Drupal – Part 1
High Level Goals For This Post
Purpose | To defy conventional belief that MS doesn’t do Linux.To demonstrate standing up Linux VMs running Drupal
|
||||
Key Lessons |
|
Table of Contents
Exercise 1: Getting Started
Exercise 2: Selecting a flavor of Linux
Exercise 3: Configuration Details for your Linux VM
Exercise 4: Opening Ports, Connecting with Putty
Exercise 5: Putty – Working with your Linux VM at the command line
Exercise 1: Getting Started
Part 1: Using the Portal
Part 2: Creating the Virtual Machine
Part 3: Working with the Gallery
- This post is about install Linux in Windows Azure
- You can choose from various Linux installations
- Be sure to choose openSUSE for these posts
- Download, install, and run Putty to help you administer Linux
Creating a virtual machine
- Open Internet Explorer and browse https://manage.windowsazure.com to enter the Windows Azure portal. Then, log in with your credentials.
- In the menu located at the bottom, select New | Virtual Machine | From Gallery to start creating a new virtual machine.
Working with the gallery
- Select "From Gallery" to start creating a new virtual machine.
- Gallery will provide a list of available operating systems.
Exercise 2: Selecting a flavor of Linux
Part 1: The available flavors of Linux
Part 2: Naming the Linux VM
Part 3: Specifying VM Details
Selecting a flavor of Linux
- Not including your own, you can choose your VM to run the following Systems:
- Microsoft SQL Server 2012
- This image contains the full version of SQL Server, including all components except Distributed Replay, Always On, and Clustering capabilities.
- Windows Server 2008 R2 SP1
- Windows Server 2008 R2 is a multi-purpose server designed to increase the reliability and flexibility of your server or private cloud infrastructure.
- Windows Server 2012 RC
- Windows Server 2012 incorporates Microsoft's experience building and operating public clouds, resulting in a dynamic, highly available server platform. It offers a scalable, dynamic and multi-tenant-aware infrastructure that helps securely connect across premises.
- CentOS 6.2
- This distribution of CentOS version 6.2 is provided by OpenLogic and contains an installation of the Basic Server packages
- OpenSUSE64-12.1-Beta
- OpenSUSE Linux 64 Bits (IAAS M1 Preview)
- This is the distribution with Yast2
- Suse Linux Enterprise Server
- SUSE Linux Enterprise Server is a highly reliable, scalable, and secure server operating system, built to power mission-critical workloads in both physical and virtual environments. It is an affordable, interoperable, and manageable open source foundation
- Ubuntu Server 12.04
- Ubuntu Server 12.04 amd64 20120528.1
- Ubuntu Server 12.04 (Precise Pangolin) amd64 20120528.1 Cloud Image
- Microsoft SQL Server 2012
Naming the Virtual Machine (Linux)
- You will need to provide:
- Virtual Machine Name
- User Name
- Password
- Size (larger VMs allow up to 14GB of memory)
- Some guidelines regarding Administrator account
- Rename the Default Administrator Account
- When you rename the default Administrator account, it removes the obvious indication that this account has elevated privileges.
- Although an attacker still needs the password to use the default Administrator account, a renamed default Administrator account adds an additional layer of protection against elevation of privilege attacks.
- Note: Renaming the default administrator account hinders only certain types of attack.
- Additionally, tools are available that enumerate group members, and these always list the original administrator account first.
- For the best protection against attacks on your built-in administrator account, create a new administration account and then disable the built-in account.
Specifying Linux VM Details
- The DNS name is the name of your Linux OS in the cloud
- Specify a storage account or automatically generate one
- This is so you can store tables, blobs, and queues
- Specify region or affinity
- Affinity is a useful concept.
- It allows you to group dependant Windows Azure services, and deploy those in one place if possible
- If your services are dependant on each other it is good if those are co-located, so that transactions between them are executed faster.
- The best option is if the network hops between your hosted services are minimized as much as possible
- Lowering your bill - For the most part bandwidth within the data center is free of charge
- If your services are dependant on each other it is good if those are co-located, so that transactions between them are executed faster.
- It allows you to group dependant Windows Azure services, and deploy those in one place if possible
- Affinity is a useful concept.
Exercise 3: Configuration Details for your Linux VM
Part 1: Understanding Availability Set
Part 2: Fault tolerance for the Virtual Machine
Part 3: Dashboard, Endpoints, and Configuration
Understanding Availability Set
- Availability sets means that your VMs will be distributed across different fault domains in the data center.
- This means if an entire rack goes down, you will have a running instance available
Your Virtual Machine Running (Portal)
- The Linux OS is up and running after just a few minutes.
- We now need to test connectivity
- We will use the Putty tool(s)
Understanding the Dashboard, Endpoints, and Configuration
- You have a few choices here:
- Dashboard
- Usage Overview
- Status
- URL
- HostName
- Public Virtual IP Address
- SSH Details
- Size
- Disks
- Location
- Deployment ID
- Subscription Name
- Subscription ID
- Endpoints
- Name
- Protocol (UDP or TCP)
- Public Port
- Private Port
- Load Balanced
- Configure
- Virtual Machine Size
- Availability Set
- Dashboard
Exercise 4: Opening Ports, Connecting with Putty
Part 1: How to open endpoints to your Linux VM
Part 2: Opening a TCP port
Part 3: Working With Putty
How to open endpoints to your Linux VM
- Each VM can have attached a number of disks for storing data, and communicates with other VMs through endpoints
- Endpoints are simply TCP or UDP ports that can be configured individually
Opening a TCP port
- Note the:
- Name
- Protocol
- TCP or UDP
- Public Port (access from outside the data center)
- Private Port (from within the data center)
Working with Putty
- Now that you have provisioned and configured a Linux Virtual Machine, you will connect by using an SSH client.
- Note: You can download Putty, a free SSH client for Windows, here:
- Putty offers the following:
- PuTTY (the Telnet and SSH client itself)
- PSCP (an SCP client, i.e. command-line secure file copy)
- PSFTP (an SFTP client, i.e. general file transfer sessions much like FTP)
- PuTTYtel (a Telnet-only client)
- Plink (a command-line interface to the PuTTY back ends)
- Pageant (an SSH authentication agent for PuTTY, PSCP, PSFTP, and Plink)
- PuTTYgen (an RSA and DSA key generation utility).
Exercise 5: Putty – Working with your Linux VM at the command line
Part 1: Starting Putty
Part 2: Working in a Linux Terminal Session
Starting Putty
- Login with your credentials
- User Name and Password (you provided this previously)
- You can get the SSH details from the portal
Your terminal screen to your Linux VM – Your are In!
- You will need to login with your previous password.
- Once you do that, you are in!
Conclusion - Final Thoughts
Using the portal to configure a Linux distribution is remarkably simple. What isn’t addressed is adding additional software, like Apache, MySQL, etc. But the wizard like approach makes working with Linux and Azure simple and straightforward. Future posts will take the Linux VM one step further.
Comments
Anonymous
June 20, 2012
I would rather not name my account Administrator...Anonymous
June 20, 2012
Thanks, Gert. I added some best practices around account naming. Your point is well taken.Anonymous
December 11, 2013
Can you connect to your open port from another VM on same virtual network? Say if both have port 80 open in endpoints. I couldn't for 3306. telnet localhost 80