How can I use/install "make" on the Amazon Linux AMI for EC2? - amazon-ec2

I'm a new user of Amazon EC2.
I want to compile the pptpd package on EC2, but receive the following error:
[root#ip-10-112-xxx-xxx /]# /var/tmp/rpm-tmp.2eILT0: line 58: /usr/bin/make: No such file or directory
I searched the entire root directory tree, but make isn't available:
[root#ip-10-112-59-187 /]# find . -name "make"
./etc/mail/make
I'm wondering whether make is actually installed on the Amazon Linux AMI initially? If not, how do I install it?

Preface
The Amazon Linux AMI is (loosely) based on CentOS and a perfectly decent OS for EC2, in fact it has been tailored by Amazon for EC2 specifically:
The Amazon Linux AMI is a supported and maintained Linux image
provided by Amazon Web Services for use on Amazon Elastic Compute
Cloud (Amazon EC2). It is designed to provide a stable, secure, and
high performance execution environment for applications running on
Amazon EC2. It also includes packages that enable easy integration
with AWS, [...]. Amazon Web Services provides ongoing security and
maintenance updates to all instances running the Amazon Linux AMI. [...] [emphasis mine]
However, it is indeed not as widely used yet as some other distributions, with the most popular likely being Ubuntu due to its popularity in general and its dedicated long time tailored support of EC2 in particular (see e.g. the EC2StartersGuide, the Ubuntu Cloud Images or the convenient listing of the Ubuntu AMIs for Amazon EC2 on alestic). This yields two drawbacks:
You'll find much more examples/tutorials/etc. for EC2 based on Ubuntu, making things easier eventually.
You'll find slightly less precompiled packages available for CentOS, requiring compiling your own eventually (but see below).
Solution
That said, CentOS (and the Amazon Linux AMI in turn) uses the Yum package manager to install and update packages from CentOS (and 3rd party) Repositories (Debian/Ubuntu use the APT package manager instead - the inherent concepts are very similar though), see e.g. section Adding Packages in Amazon Linux AMI Basics:
In addition to the packages included in the Amazon Linux AMI, Amazon
provides a yum repository consisting of common Linux applications for
use inside of Amazon EC2. The Amazon Linux AMI is configured to point
to this repository by default for all yum actions. The packages can be
installed by issuing yum commands. For example:
# sudo yum install httpd
Accordingly, you can install make via yum install make (you can get a listing of all readily available packages via yum list all).
Be advised though, that you might actually not need to do that, insofar the Amazon Linux AMI has been built to be binary-compatible with the CentOS series of releases, and therefore packages built to run on CentOS should also run on the Amazon Linux AMI. [emphasis mine]
The desired package pptpd is not part of the standard repositories on CentOS either though, but it is available in the 3rd party Extra Packages for Enterprise Linux (EPEL) repository (see Letter P) - I can't comment on the viability of using this one vs. compiling your own though.
Good luck!

Make is not installed by default on Amazon Linux AMIs. However, you can install it quite easily with yum. If you choose to only install make, you might get some errors later for other packages in the compilation process. If you are going to compile software, you might want to just install all of the development tools at once.
sudo yum groupinstall "Development Tools"

sudo yum groupinstall "Development Tools"
According to the documentation: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/compile-software.html

Related

How do I install fusionpbx on my Amazon server(aws)?

I installed centos7 on aws. And I installed aws with the usual Fusionpbx installation method. However, after I installed Fusionpbx, ERR_CONNECTION_TIMED_OUT error occurred when I connected to https: // in window10.
Even if you disable HTTP and HTTPS inbound on the firewall, the error still exists.
How do I install fusionpbx on aws?
The install instructions for CentOS and other Operating Systems are located here. The preferred and most polished operating systems for FusionPBX are Debian (preferred by FreeSWITCH Developers), FreeBSD, CentOS in that order.
https://github.com/fusionpbx/fusionpbx-install.sh
Instructions here may also help for Amazon AWS
https://freeswitch.org/confluence/display/FREESWITCH/Amazon+EC2

chef workstation setup softwares required

I am trying to execute chef commands and build the server for that I did below setup on MacOS but observed that I need to have vagrant and virtualbox but I am not sure if I need to install it on host macOS machine or Virtual machine. Could you please suggest on this.
Setup which I did so far is as below:
On Mac OS I have installed VirtualBox and created a base ubuntu Virtual Machine
Then Inside virtual machine having ubuntu as OS installed ChefDk, Hosted chef server setup, knife and git
created chef-repo repository
In order to complete setup, Do I need to install vagrant and one more instance of Virtualbox inside virtual machine on ubuntu OS and do I need any additional installation?
Install ChefDK and Vagrant as well as VirtualBox on your workstation. This allows you to use any editor/IDE to edit cookbooks and then provision a VM using Vagrant and Virtualbox (or other supported hypervisors).
In general, I would recommend to follow Learn Chef.
Honestly, the question is a little confusion on your objective. But from a high level, i can assume that you are trying to get started with chef using the hosted chef server. First i agree with #StephenKing pointing you to the learn chef site. That's a good starting point. But here are some things that should clear up your question:
Typically there will be a development workstation. In your case its the MacBook. This is where you will install chefDK and write your fancy cookbooks. It should have the chef-repo, knife.rb etc to talk with the chef server.
Once your initial cookbook writting is over, you upload the cookbook and other params like environment, data_bags, roles etc to the chef server (in the chef-org)
Its here you need a node to apply your cookbook. As a starter, use some nodes from a VPS that's far more easier rather then trying to use vagrant nodes or something. As the saying goes "one step at a time". Do not try to learn chef and vagrant or even more (which is what you will encounter with chef) at the same time.
Once you have the node, bootstrap the node to your chef-org where the cookbooks were uploaded. Then run chef-client on the node.
And you are on your way to the chef world.

Installing openstack on mac

I am unable to find how to install openstack on my macbook.
I tried googling but every where i am getting for ubuntu and not for mac
Kindly help me to install as i am a noob in openstack
Late reply but just in case:
You can install VirtualBox and get ubuntu running on it. Directly installing OpenStack on your macbook is usually a bad thing to do since it can mess up your system.
Very late answer but this is to install the openstack command line clients.
first, you have to have python installed on your machine. Open the terminal and type python --version. If you see something like Python 2.7.9, go to next step.
So now, you have to install pip. Pip is a python package manager. You do this by typing easy_install pip. Should work.
Then you have to install every clients one by one.
(taken straight from http://docs.openstack.org/user-guide/common/cli_install_openstack_command_line_clients.html)
ceilometer - Telemetry API
cinder - Block Storage API and extensions
glance - Image service API
heat - Orchestration API
neutron - Networking API
nova - Compute API and extensions
sahara - Database Processing API
swift - Object Storage API
trove - Database service API
openstack - Common OpenStack client supporting multiple services
And the way to install those, one by one, is by calling:
pip install python-PROJECTclient.
So, for instance, you go pip install python-openstackclient. Or pip install python-novaclient. You do that for every client that you need.
Don't forget, before you be able to use those APIs, you have to set up particular environment variables in your shell by sourcing an "openrc" file: http://docs.openstack.org/user-guide/common/cli_set_environment_variables_using_openstack_rc.html
Once this is done, you may use the clients API.
You can install Openstack's python-client which is tools for sending command via http.
But there is no official option to install Openstack services on mac, yet. You can use Hypervisor like Virtualbox and Vmware to install Linux and launch Openstack Services, or docker.
It looks like progress has been made since these last posts. The easiest answer for just testing out OpenStack on your local machine is to use devstack.
Tutorial:
http://anteaya.info/blog/2013/09/01/installing-devstack-with-vagrant/
NOTE: The tutorial mentions to mv samples/localrc . but the file name has been updated to local.conf. Also, I copied the file over instead of moving it.
DevStack Homepage:
http://docs.openstack.org/developer/devstack/

How do I install SSSD on Amazon Linux

I want to do LDAP authentication on my Amazon Linux server.
The CentOS howtos say to
yum install sssd
But that gives:
No package sssd available.
Amazon Linux is not Centos, it doesn't use the same repositories. Generally, Amazon Linux is mostly compatible with Redhat/Centos repositories. But you may run into dependency issues.

Is there a good EC2 image for a microinstance that includes just ruby but not rails,mysql, etc

I just want to spool up some micro-instances and install a few gems.
I recommend you just start an instance of a clean base AMI running the Linux distro of your preference from a trusted source. Then run the standard commands (e.g., apt-get, yum) to install the standard Ruby provided by the distro and go from there.
You don't need to find an AMI that has exactly the set of packages you want to run. Modern Linux makes it easy to install these cleanly.
With AMIs like the official Ubuntu or Amazon Linux you can even pass in a script as user-data and it will run it on first boot. You can use this to make sure that your desired packages and gems are installed when the instance runs.

Resources