From where my package openvpn getting installed? - amazon-s3

When I write in my recipe:
package "openvpn" do
action :install
end
The package is being installed, but
I want to know where my package is installing from.
I want to do it differently - I want to download the openvpn software and put it in S3 from there I want to get it back.
package "openvpn" do
action :install
end
remote_file "\etc\openvpn" do
source "I want to take it from S3"
action :install
end
Can I do it the second way if yes my package name should be openvpn or something else.

Openvpn is packaged by Ubuntu, so it is coming from the Ubuntu package repository. Chef uses the apt package provider for the package resource. This means while you say package "openvpn" in your recipe, under the covers Chef looks at the node's platform (e.g., ubuntu 12.04) and uses apt-get install to install it. If you were using CentOS, it would use yum instead.
If you want to use S3 to store a config file, you would specify the source as the URI to the actual file with remote file:
Example:
remote_file "/etc/openvpn/openvpn.conf" do
source "https://your-bukket.s3.amazonaws.com/openvpn.conf"
action :create
end
If the bucket is private, you'll need to use an alternative resource such as aws_s3_file from Opscode's "aws" cookbook. See the README for information about how to use that resource - it passes in the AWS credentials to access the item in the bucket.
If you want to provide your own openvpn package and download it from S3, you can do so with this:
remote_file "/tmp/openvpn-VERSION.deb" do
source "https://your-bukket.s3.amazonaws.com/openvpn-VERSION.deb"
action :create_if_missing
end
dpkg_package "openvpn" do
source "/tmp/openvpn-VERSION.deb"
action :install
end
(Replace VERSION with your actual version, or otherwise change the filename to suit your preferences)

Related

How to install PrestaShop 1.7 RC0 from Composer

I've just cloned the RC0 of PrestaShop 1.7.
I've run composer install but... what to do now?
I've tried to start the server with app/console server:start but, going to 127.0.0.1:8000 i receive this error:
Front not yet implemented! Or to delete...
So, this seems not to be right way:
app/console server:stop
and try another way...
Go with the classic localhost:
Link to database cannot be established: SQLSTATE[HY000] [1049] Unknown
database 'dev-prestashop-1_7'
Ok, I've to create the database... Database dev-prestashop-1_7 created... Try again...
Table 'dev-prestashop-1_7.ps_shop_url' doesn't exist
Yes, it's normal that it doesn't exists: I've not yet created it!
But, now comes the question: how I configure PrestaShop?
How can I start the installation procedure using the composer version of PrestaShop 1.7 RC0?
Once you have downloaded the zip of prestashop, you have to unzip it in a specified repo and give it the needed permissions. Then, you acces to this repo in a chosen browser.
For example (if you are under Linux system), let's say that your repo is called prestashop_1.7 and is put in /var/html/www, so you access to localhost/prestashop_1.7.
When accessing to this URL, un install unzipper will start and when finishing unzipping, it will lead you to the installation configuration.
You enter your configuration (you have to create the database manually) and that's it!

Cannot install Kaltura oflaDemo on CentOS7

I'm currently setting up a Kaltura streaming server on CentOS 7 with mariaDB. When I come to the point the installation manual requires me to install oflaDemo via browser, I only get an empty list. No connection errors occour. The debug output states:
Host: vstream-dev.my.domain
Trying to connect
Net status: NetConnection.Connect.Success
Got the application list
Got the application list
Got the application list
So, in theory there shouldn't be a problem.
Firewall is down for testing/devel
SELinux is off (permissive)
The only error that ocoured during the installation process was packet mysql-server is not installed. But the manual states that I should use mariaDB on CentOS 7.
I tried to clone https://github.com/Red5/red5-examples and link the ofla Demo folder to /usr/lib/red5/webapps/ with no success.
Ok, I solved it.
What I did:
I cloned the repo with the red5 examples: https://github.com/Red5/red5-examples and navigated into the subfolder oflaDemo (with pom.xml).
Then I had to install maven with
yum install -y maven
and do a maven build
mvn clean install
After that, I was able to grab the file target/red5-example-oflaDemo-2.0.war. I extracted this file into a folder oflaDemo in /var/lib/red5/webapps and restarted the server. Finally, I did mkdir /usr/lib/red5/webapps/oflaDemo/streams to create a folder for the streams.
After that, I was able to navigate to the demo via
http://my.domain:5080/oflaDemo/

Create local debian repository

My goal is to demonstrate creating a local debian repository with controlled versions of tools used (e.g. compiler versions) to make a build system more predictable.
I've tried to follow this example: http://linuxconfig.org/easy-way-to-create-a-debian-package-and-local-package-repository
but when I get to the apt-get update stage, I always get a 404 not found on the repository I've added.
The apache2 server is running, I can view the default page installed at http://localhost/html/index.html.
I am trying this with the file fortune-mod_1%3a1.99.1-7_amd64.deb installed to /var/www/debs. I create the Packages.gz file as the tutorial suggests:
dpkg-scanpackages debs /dev/null | gzip -9c > debs/Packages.gz
I also add a new file: /etc/apt/sources.list.d/myppa.list with this line:
deb http://localhost debs/
I restart the apache2 service just in case:
sudo service apache2 restart
but running:
sudo apt-get update
still produces this error:
W: Failed to fetch http://localhost/debs/Packages 404 Not Found
Is there something basic I'm missing? Ultimately, I'd like to get this working over a LAN, but first have to get it working on a single machine.
EDIT: I'm doing this on Ubuntu 14.04.
EDIT: Show contents of file /etc/apt/sources.list.d/myppa.list
tldr; use aptly
It's the easiest apt repository management tool I've found and it comes with neat tutorial showing how to create, populate, and publish your own apt repository.
References:
https://www.aptly.info/
https://www.aptly.info/tutorial/repo/
I ended up solving the problem. It was an issue with the default document root being different for the tutorial than on my system. All I did was move my debs folder to html (document root turns out to be /var/www/html, not just /var/www on my install). That did the trick.

How to run scripts automatically after deployment in AWS using EB CLI?

I am trying to make a Django server on AWS. My django app depends on some mathematical python libraries like numpy, scipy, sklearn etc. However there is an issue for which I need to this after every deployment
sudo nano /etc/httpd/conf.d/wsgi.conf
---------------------------------------
add this line in the file
WSGIApplicationGroup %{GLOBAL}
---------------------------------------
sudo /etc/init.d/httpd reload
Basically I need "WSGIApplicationGroup %{GLOBAL}" in my wsgi.conf file otherwise I get 504. I am using a Custom AMI built on top of Amazon Linux 2014 and I am using EB CLI for deployment. However whenever I deploy the wsgi.conf is reset and it does not contain the line that I have added previously and I need to manually SSH into the EC2 instance and do this task myself. It gives a overhead on every deployment and its also not feasible once we scale up (cloning or creating instances also resets it). So is there a way that this will be automatically done after every deployment ?
The content of the wsgi.conf is fixed, so basically I can make a script easily to create it but the issue is how to trigger the script automatically ?
PS:I am new to AWS
You need to use AWS Elastic Beanstalk feature called .ebextensions: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html
In your case you can't use Files or Commands sections, because:
The commands are processed in alphabetical order by name, and they run
before the application and web server are set up and the application
version file is extracted.
You need to use Container_commands section:
They run after the application and web server have been set up and the
application version file has been extracted, but before the
application version is deployed.
Example .ebextensions/01wsgi.config (not tested :-))
container_commands:
apache_reload:
command: |
echo "WSGIApplicationGroup %{GLOBAL}" >> /etc/httpd/conf.d/wsgi.conf
/etc/init.d/httpd reload
Feel free to tweak my example as you want, for example you can copy your temporary wsgi.conf file somewhere and then replace original in Container_commands section.

Unable to use egit to clone a repository with ssh

I try to clone a GIT repository with EGit using SSH. I can log on to the machine, see the available branches and choose where to put everything locally. Then when I proceed to actually do the cloning, I get an Eclipse "Problem Occured" box stating:
"Cloning from ssh://[my user name]#[my address] has encountered a problem. ssh://[my user name]#[my address]: Password:". The details for the problem only list "ssh://[my user name]#[my address]: Password:" twice.
The only possible reason I can think of, might be that on the remote compute only Git 1.6.0.x is installed - and I don't have the rights to update it.
Can you clone the repository using native git? If you can do that, just clone it using native git and then import the project into eclipse using:
File -> Import -> Projects from Git -> Local
If your eclipse runs on Windows, you will need a linux machine (virtual machine will do) and clone the repo into a NTFS or Fat32 formatted storage. Then you will be able to copy the cloned repo into your git folder on the windows machine.