How can I migrate a local bitnami stack to digitalocean - stack

I have moved to a country with very slow internet and therefore I can no longer play with cloud based servers easily
I therefore want to work on a locally hosted bitnami stack and when I am happy go to one of the only places in town with reliable internet and upload my completed website to digitalocean.
Can anybody give me some simple guidance on how to do this?
Are there better alternatives?
Many thanks for your support

Related

Tools for monitoring users on L2TP VPN

I'm looking for some help and advice in terms of monitoring network connections to a L2TP / Ipse VPN platform Ubuntu 14.04.
My basic requirement is to get visibility of:
1) Who's logged in (over time).
2) How much data they have consumed.
A nice to have would be some configurable variables to show activity over a period of time (day, week, month).
Previously, I've been using PPTPD, and have used a great little script which is simple, but does the job. https://github.com/boukeversteegh/pptpd-monitor
I'm struggling to find anything for L2TP which has the same functionality. The only thing that comes close that I've found is 'bandwidthd', however, the available docs are pretty thin, and I'm struggling to get it configured and working.
Has anyone else managed to solve this problem in the past ?

Amazon Windows Services for VPS, please advise

I need the VPS services for hosting my ASP.NET project.
However, it's not just asp.net hosting, I also need SQL Server, RabbitMq and either my running conrole app or my windows service.
So I read the suggestions to use Amazon Web Services as they provide first year for free.
However when I registered I found that I don't have a clue of where I am:
I don't see the option of creating a virtual machine with Windows
I don't see the option of setting up SQL Server on such the machine
and so on.
So I was wondering whether I'm in the right place?
Please advise if AWS can provide me with what I need or I came to the wrong place?
AWS can provide all that you listed, but you'll need to do some learning on your end.
Basically you create an EC2 instance, and then use RDP to remote into it, and you can install software and configure it to your hearts content - just like it was any other physical server.
If you want to use SQL Server, you'll have the choice of installing it directly on the instance using your own license, or using their 'hosted' version of SQL Server call RDS. You'll need to read about it and decide which option is better for your project - there is no single right way.
Lastly, I will point out that although the 'free-tier' is nice, except for a really small application (i.e. small db on a low traffic website), you may find out the 'free-tier' does not quite give you all the power you need to run a busy application. I would not base your decision on wether or not you should use AWS on how much 'free' stuff you can get. The free-tier is nice for learning, but plan on spending some money for a truly robust solution.

How to build a server database for my application

I'm new to server side programming with a background in iOS. So I want to know where to start.
Here I tried to list some specific questions:
Can I just create a local database and practice on that?
Do the local databases and databases on remote server work the same?
If no, how can I choose which server I can use? (I went through the webpages of AWS cloud service and found they are really overwhelming.)
Arslan's answer is great, but I would like to add to it a bit. You mentioned a Chatroom, so in that case you should look into socket programming. The reason why I bring this up is, while no one has outright said it, you shouldn't create a chat server by read / writing to a database. It's much better to just keep it in memory and log to the database on an as need basis.
AWS is a fantastic solution and they have a lot of different solutions for different situations. You should look at using EC2, which is their server program. They have a free tier of it so that you can use and / or you can test locally. I suggest testing locally then pushing up to a free tier every now and then to make sure everything is running properly.
Also I would look into using CloudKit for data base storage. If you don't need instantaneous communication, it's far easier to use Apple's built in system rather than setup a server and manage it.
links: CloudKit, AWS EC2 Free Tier
As it happens I'm actually working on a ChatRoom Server program, here's the link to github. It is written in C++ so I recommend using it as a reference unless you want to write your own socket in C++.
Can I just create a local database and practice on that?
Sure. You can install a server locally on your machine ( there are plenty of available ) and through 'localhost:3000' or 'localhost' you can access the root of your server depending upon what you are using at server end. You can then configure your server to respond to a particular message.
Do the local databases and databases on remote server work the same?
Of course, the work they way is almost same. The difference you have stated yourself: remote.
If no, how can I choose which server I can use? (I went through the webpages of AWS cloud service and found they are really overwhelming.)
I would suggest you to start from the local server. But first you have to choose language: PHP, Ruby, Python - it depends upon you and your personal preferences. You can also use something like Parse.com. Parse.com is free up to 30 requests/second, and you can use Objective-C to send and retrieve data from the server with a few very easy steps. And of course, parse.com handles singing up and logging in a user for you , all you have to do is to write a code of few lines in your iOS app.
Download Apple's free Server.app from the Appstore, it wraps one of the best database management systems: PostgreSQL. Start it with this Terminal command:
sudo serveradmin start postgres
More info on these pages:
http://support.apple.com/kb/HT5583
http://www.postgresql.org

How billing is working on Azure for Hosting a Website (asp.net mvc)

I just moved to .Net programming and built a website based on ASP.NET MVC 5 framework.
I come from php programming and I have to admit that MVC has some good advantages.
However , when it comes to deploy website on the internet I'm a bit lost.
I decided to go on Azure, while it seems to much problem to deploy the Microsoft framework on a linux servers ( and it s does not seem optimized)
However I don 't understand at all the pricing policy with this cloud system.
http://azure.microsoft.com/en-us/pricing/details/websites/
What is a Compute instance ?
And what is this hour rate ?
Does it mean that no one access to your website during one hour this won't be charged ?
The memory they mentioned is it RAM memory ?
If yes it's seems to be very few compared to a normal server.
I'm looking for something enough fast.
Moreover I developed my website with a PostgreSQL, but I have the impression that I have to order a separate virtual machine which will host my database.
I'm sorry if my questions are a bit vague, but it's so much different than a simple Apache server.
A compute instance on Azure, is something that has a CPU reserved for you. This can mean, it is not used at all and just waiting for your command.
Examples of compute engines are:
Virtual Machine
Web site
You can run a free Website on Azure. You cannot use your own domain (at least not supported by Azure), and they will stop when not used. This means the first request is slow, the second and later requests are good. When you get too many requests, it will not fit anymore in a free site, but a startup will fit.
If you are outsite the free range, Azure bills per hour (or even minute), that you have the site (or virtual machine) active.
The RAM seems small, but if you have no UI running, you need a lot less RAM.
The advantage of Azure is you can run on a small cheap machine, but you can upgrade very fast, even for a few hours.

Calling a windows .exe (compiler) from Rails app on Heroku

I would like to know if this is even feasible. And if so, what a possible approach would be.
I am thinking that the .exe would have to be made available through a web service running on a windows stack (asp.net or php) and that a direct heroku solution would not be the way to go.
If you do it as a externally, yes. The main trick there would be making the service on the windows box and making sure your service was secure. If you're going for cloud stuff, your best bet is probably to set your service up on a windows server on EC2 or Rackspace or [insert cloud provider here]. They're not as cheap as linux boxes because of the license cost, but shouldn't be too difficult to manage.
Unless Heroku has changed a lot from the last time I looked at it, the underlying OS was linux of some variety, so it's really unlikely that you could get an windows binary to run internally without bundling wine into your application (probably not worth trying to figure out).

Resources