Deploying Sinatra App on Dreamhost - deployment

I'd like to deploy an app on Dreamhost, but couldn't find any relevant (or recent) guide on how to do so. Most related questions on this topic here are fairly old (+1 year or more), and seem to be from the pre RVM era (remember those days?.. :P).
I have SSH access and all that - anyone here done this (sinatra/rack app) and can provide some guidance? thanks.

If this is on a VPS (I am assuming since you have SSH access) you might want to look into Phusion's Passenger which simplifies deployment of ruby applications that use Rack. http://www.modrails.com/
Passenger includes an automated install script that can install your front facing proxying server (Nginx) and spit out the config used for each of your web apps.
To begin with Passenger just install the gem (gem install passenger) and then run the command it installs for you (passenger-install-nginx-module).
For further info check out https://rvm.beginrescueend.com/integration/passenger/

Related

Email control panel

Most of my small customers started to ask me if I can host the websites I'm building for them. Setting up virtual hosts, configuring mysql, DNS, etc is not really a problem. One thing stops me from hosting their websites is the fact that I've never been able to do configure an email server to accept multiple domains with SPF&DKIM. There must be some sort of an evil spirit which stops me from achieving this.
So, I was wondering if anyone knows a piece of opensource (or not, I'm willing to pay a decent license price ) software ( cpanel like but limited to email ) which would allow me to:
Manage only email related things via a control panel.
The control panel should let me add multiple domains.
The control panel should let customers login and manage their mailbox accounts
The software should offer webmail and SMTP & IMAP/POP3 access.
P.S.: I work mostly with ubuntu but I can handle centos also.
I don't have an answer to your question, but I have an alternative : Google Apps.
You can do the web hosting and tell your customers to get a Google Apps account for their email.
Also since Google Apps is no longer free, you can try Google Domains, they do not offer email hosting but they can redirect up to 100 domain email to gmail accounts.
I think you should go with CentOS Web panel. It is a free and open-source web hosting control panel for CentOS Servers. It provides a powerful web interface through which you can manage your CentOS server and its services. With Centos web panel, you can manage User accounts, Apache virtual hosts, DNS entries, MySQL databases, Email accounts, and much more. Apart from it, CentOS web panel is also used to create and manage shared hosting servers.
Below are the steps on how to install CentOS web panel on CentOS Server.
1. Preparing Server
Let’s install the required packages for CWP installation:
# yum -y groupinstall 'Development Tools'
# yum -y install epel-release
2. Server Update
Now we need to update your server to the latest version
# yum -y update
3) Reboot Server
Reboot your server so that all updates can take effect.
# reboot
4) Download and install CentOS Web panel:
# cd /usr/local/src
# wget http://centos-webpanel.com/cwp-latest
# sh cwp-latest
Note: The installation process may take 30 - 40 minutes because it needs to compile apache and PHP from source.
Once the installation is completed, a list of credentials will be appeared to access the panel. Make sure to copy or write down the MySQL password and press enter to reboot your server.
Please let me know if you face any error. I will happy to help you.

Installer for Software? Paas?

currently I'm looking for an open source project that gives me the opportunity to install software easily. I prefer direct calls or access with a REST interface.
I thought that CloudFoundry would fits my needs but it is'nt so.
AppFog (https://www.appfog.com/product/) comes much closer to my goal. It allows me to install Drupal, Wordpress, PhpMyAdmin, NodeJS Apps and so on.
The conclusion is that I'm looking for an project that...
is open source.
gives that possibility to install, configure and
uninstall software
is extendable when a specific software not
available
is accessible with an interface like REST.
is "hostable" on my own linux server
I would be happy for all kind of hints and tips :)
Cheers Tobias
Docker is seems to be the next big thing in the PaaS world. There are dozens new projects that build on top of docker or supporting it. For example OpenShift and Apache Stratos support docker. So if you look at solutions based on docker you can find a solution for you needs.
Right now I'm using docker for hosting couple of Drupal websites with simple bash scripts to manage them. Nginx is used for web traffic routing
Docker is open source
Gives you ability to prepare and install apps
You can build what you need on top of it
It has REST interface
It is running on nearly all major Linux distros
Its relatively easy to learn and use
Has great community
Tobias,
Suggest you look at Apache Stratos:
100% open source
Easy to Get Up and Running
Highly extensible, flexible, expandable
Uses REST APIs
Runs on Linux (Ubuntu or SUSE)
Mature (version 4)
See:
Intro article -- "Why Apache Stratos is the Preferred Choice in the PaaS Space"
http://wso2.com/library/articles/2014/05/why-apache-stratos-is-the-preferred-choice-in-the-paas-space/
Apache Stratos Project site -- which notes that "Stratos PaaS is easy to get it up and running in quick time. A developer will be able to run and test PaaS framework on a single machine to try out."
http://stratos.apache.org/
Cheers,
Michael
OpenShift is what you looking for :
it is open source and free for 3 gears for ever.
gives that possibility to install, configure and uninstall software in openshift.redhat.com or in rhc client tools.
it is extendable when a specific software not available is accessible throw DIY(Do it yourself)
with an REST interface
is "hostable" on Fedora or CentOS .
It is really easy to setup throw Eclipse.

haproxy and keepalived on ec2

I read about using haproxy and keepalived to avoid spof for haproxy. Is it possible to do this in ec2?
Say I have 2 instances. Each with haproxy and keepalived installed. The VIP shall be aws elastic IP.
In theory this should be possible, there are blog posts dotted around with instructions on how to do it. However I have been trying to test this over the past few days but not had any luck with it.
Amazon blocks multicast on EC2 (Classic) so the primary communication method for Keepalived will not work. You need to install the latest version (at time of writing this is 1.2.13) which has unicast support built in. This should allow you to bypass the multicast restrictions that Amazon puts in place. I think the version of the keepalived package is 1.2.7 in the repos (yum install keepalived) which does not have the unicast patch included..
You should be able to use wget to download the latest TAR, unpackage it and build it from source (./configure prefix=/, make, make install). Make sure you have the GCC package and openssl-devel package installed before trying to configure as it will fail with errors otherwise.
If I get it working in the meantime I will come back and put a link to my blog with the exact steps needed :)

Deploying Meteor App to own server

I have a completed meteor project and is currently deployed on the meteor website. I would like to move it to my own website, which is currently hosted by GoDaddy.
How do I install Node and Mongo on my server (linux) and then run my meteor project? I received ssh access to my server, so I assume I can do this, but I'm just not sure how.
So how exactly do I proceed?
Additional Info:
I'm not exactly sure what of linux it is. On GoDaddy, it simply says linux.
When I ssh, it shows me:
-bash-3.2$:
Also, I having my website simply show the myapp.meteor.com webpage would work too. An explanation on how to do this would work.
Discover Meteor has a chapter on deployment which helps to answer this question. For ubuntu-based servers they recommend meteor-up. I haven't used it, but it's probably worth checking out. Previous versions of the book recommended meteoric.
I wrote my own set of bash scripts using a few ideas from meteoric, but I already had a lot of experience doing deployment scripting. Frankly there's nothing quite like figuring it all out yourself, but doing sysadmin tasks doesn't appeal to everyone and it can be hard to pick up in a hurry.

How to setup a website with CMS on Amazon WS

Hi I was looking for a place to host my bigger projects with a philosophy "pay for what you use". I found Amazon WS. I want to set up a site with CMS (Modx) on Amazon WS. I basically need to setup a database (mysql?) and a webserver. Can someone provide me with some info on that or point to a tutorial or something?
Well, AWS gives you EC2 (CPU) and EBS (Hard Disk). You will need to choose an OS, setup Apache/Nginx and mysql.
In their basic form, the installation procedure is fairly simple.
sudo apt-get install apache2
sudo apt-get install mysql
Look around the web for more complete tutorials for the OS you choose. These are for ubuntu.
As for Modx, their instructions are available.
Good luck.
Also, you can also use a PaaS solution to assist you with the setup. Such as:
https://bitnami.com/stack/modx/cloud/amazon
This will enable you to build a CMS on any Cloud provider: AWS, Azure, etc. and add a layer of support and management on top of it.
I have came across a tutorial available here: http://blog.jelastic.com/2013/06/25/deploy-modx-cms/
The tutorial seems to be more than comprehensive.
Seems you just need to pick up the needed instances, upload the application and configure the database.