Showing posts with label windows azure. Show all posts
Showing posts with label windows azure. Show all posts

Monday, May 13, 2013

Install XAMPP on a Ubuntu 13.04 virtual machine running on Windows Azure

One of the many great things about Windows Azure is how easy you can create a virtual machine, no matter the OS of your preference. But for good or bad, your virtual machine will be fresh, so you need to work on setting up whatever you need to get to work.

Recently I needed to set up some web applications that I preferred to run on Linux, and for that I prefer to use XAMPP because of the simplicity of the installation process. But this time was not as straightforward as on my previous experiences, so then this is how I did it.

I'll assume that you already have the virtual machine created; I chose an Ubuntu Server 13.04 instance from the gallery. After getting the virtual machine up and running, the first step I did was to download the latest XAMPP version from the Apache friends website.

sudo wget http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.8.1/xampp-linux-1.8.1.tar.gz/download?use_mirror=iweb&download=

After that you need to extract the files from the tar, so we follow the process described for the XAMPP installation guide

sudo tar xvfz xampp-linux-1.8.1.tar.gz -C /opt

So far, so good. But when we try to start our XAMPP server using

sudo /opt/lampp/lampp start

We get the following error

XAMPP is currently only availably as 32 bit application. Please use a 32 bit compatibility library for your system.

To solve this, there are 2 posible solutions, both of them start by doing 


sudo apt-get update

After this, you can install the ia32-lib package

sudo apt-get install ia32-lib 

This solution worked for me on previous Ubuntu versions, but not this time. If this solution doesn't work for you either, then you need to run the following command

sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs

As stated in this askubuntu.com answer,
(...) installing through WUBI did not correctly detect the available foreign architectures. As tumbleweed suggested printing the foreign architectures probably returns nothing. Add i386 as a foreign architecture, update the apt cache, then install the 32 bit libs.
So then now you might be able to start your XAMPP server by

sudo /opt/lampp/lampp start

You should now get something like this

Starting XAMPP 1.8.1...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.

With this you have successfully installed your XAMPP server, the next step is to test your web server. When you create a new virtual machine, by default the only open port is the one designed for SSH. In order to access the server via a different port we need to create a new endpoint. On the Virtual Machine administration page, go to the endpoints tab




There you will see the list of the endpoints that we already have. If it is a new VM you might see only the one corresponding to SSH.

Click on ADD ENDPOINT button at the bottom of the page, and you will see the small window to create a new endpoint.



Click on Next button and you will see the window to specify the endpoint data


You can choose the name you want but it cannot be the same as an existing one; the protocol will be TCP. The public port is the one you will use to access your webserver, so it can be anything you want. The private port is the one your XAMPP server is using to serve the content. It is normally the 80, but you can change that on the XAMPP configuration accordingly to your needs.

After clicking the complete button, you should be able to see your new endpoint listed and now you can access your web server from any part in the world with something like this

http://[youthostname].cloudapp.net:[yourpublicport]

Once the page loads, you will most likely see the following error message

New XAMPP security concept:

Access to the requested object is only available from the local network.

This setting can be configured in the file "httpd-xampp.conf".

If you think this is a server error, please contact the webmaster.

So then what you need to do is modify the specified file. According to our installation, it will be located in /opt/lampp/etc/extra/ directory. We need to find the section with the title "New XAMPP security concept" and comment out the full LocationMatch section or adjust the values of the allowed IP addresses if you don't want to open your site to the public.

Another change we need to make in the same file is on the Directory "/opt/lampp/phpmyadmin" section. We need to add there Requiere all granted to be able to access the phpMyAdmin site. Remember to add some IP filters so it is not open to anybody that has the URL address to access it.

To finish, just restart your XAMPP server

sudo /opt/lampp/lampp restart

And voilĂ , you are now ready to work with your XAMPP server on the cloud.

Tuesday, November 6, 2012

Overcome to Windows Azure free trial cancellation by adding a new plan

I decided to try Windows Azure more than 3 months ago, most likely because of it's free 90-day offer. I can tell that I'm amazed on all the posibilies you have for free (Websites, Virtual machines, Mobile Services, etc.).

So then, I decided I wanted to continue with the service after my trial period ended by "acquiring" a Pay-As-You-Go plan (that as the name says, you pay only what you use only if you use it, so at the time of my purchase my total was $0.00).

Since I was swamped with many things at job, I didn't payed much attention on the warning e-mails saying that my account was about to expire. As it might be expected, my account was cancelled 2 weeks ago. Last week I was trying to upgrade my account, so I signed up on the Pay-As-You-Go plan but after several tries and wating days, I still wasn't able to use it to create new websites with it.



So this is the process that you need to follow in order to be able to use your new plan in your account:


  1. Acquire a new plan (Pay-As-You-Go, 6 or 12 month, etc.)
  2. Go to Preview Features page and select the feature that you want to enable for your new plan, in my case I wanted to be able to create websites again
  3. Click on "Try it now"
  4. Select the plan you want to associate (your new plan). In this case I'm showing an example with Media Services because I already joined to the Websites preview

After completing this, you will see a label on the screen saying that the feature is active



and you will be able to create websites (or any of the preview features that you selected) under your new plan


Sadly, my previous websites remain cancelled and it doesn't seem to be possible to associate them with my new plan, or at least I couldn't find a way to edit them on the manage portal.

So, if possible try to avoid your account cancellation, but if that already happened, this post might help you if your plan is not shown on some items on your account.

Tuesday, August 28, 2012

Tic-Tac-R source code

After some tweaks, I'm releasing the source code of the Tic-Tac-R game. As you may find on the previous post, this game is an experiment on how to make a simple Tic-Tac-Toe game in a real-time web application using SignalR and host it on a cloud environment using Windows Azure.

I hope you find it useful for learning just as I did

Download the source code on Github

Wednesday, August 22, 2012

Updates to Tic-Tac-R. Now it works on Windows Azure =)

This is an update of my previous post
Update: Post with the source code of the game
After spending a lot of time testing and searching on the web, I wasn't able to get the Tic-Tac-R game on my Windows Azure website. I tried a lot of things and can shameless say that I was totally lost, since my application was working fine on a shared hosting environment (GoDaddy) but not on my Windows Azure.

Thanks to an anonymous user that replied my question on StackOverflow I was able to know that this is a weird issue only happening there with some sort of caching by Windows Azure (neither really a bug on my app nor SignalR). The suggestion was changing enforce the transport to be Long Polling and with that the app started to work no the cloud. It is kinda little slow though, and I feel that some times the call that I make from the browser is lost, but is's maybe just my imagination... Time and more testing will give us the answer... In the meanwhile, you play the game can be part of the beta testers of this simple game... It's free!! =P

By the way, I updated SignalR to the just released 0.5.3 version and everything seems to keep working fine..

I hope you can share your opinion regarding Tic-Tac-R. It will be really appreciated it =)

Wednesday, August 15, 2012

HealthyHarry: A healthy version of the traditional snake game over HTML5

As an experiment for learning HTML5 Canvas, I created this small game based on the popular "Snake" that many of us played on our old mobile phones (A Nokia 3320 in my case)

I deployed the game one of my Windows Azure websites and you can access it here. Initially I was thinking of buying a hosting account on a different place, but I think the cloud is a good place for host this kind of pet projects and Windows Azure is a great option, (IMHO) for 2 things: 1) Is extremely easy to use (saying creating websites, databases, deploying, etc) 2) It is free for 90 days, which is great if you are starting on the cloud "wave". Let's see what happen when the cloud bills begin to come.

So then, enjoy the game online for at least the next 60 days (when my free account expires :P)

The source code is hosted on Github. Feel free to do whatever you want with it

 

Copyright @ 2013 A learning journey.