Skip to content

Instantly share code, notes, and snippets.

@a-suenami
Last active August 29, 2015 14:11
Show Gist options
  • Select an option

  • Save a-suenami/3799a4e8149a1f4c4f92 to your computer and use it in GitHub Desktop.

Select an option

Save a-suenami/3799a4e8149a1f4c4f92 to your computer and use it in GitHub Desktop.
PassengerをインストールするためのAnsible Playbook。
- hosts:
- localhost
connection: local
vars:
- rbenv_root: /home/www/.rbenv
- ruby_version: 2.1.5
tasks:
- name: update all packages
yum: name=* state=latest
sudo: yes
- name: install some libraries
yum: name={{ item }} state=installed
with_items:
- git
- httpd
- httpd-devel
- gcc
- gcc-c++
- openssl
- openssl-devel
- libcurl-devel
- apr-devel
- apr-util-devel
sudo: yes
- name: start and enalbe httpd
service: name=httpd state=started enabled=yes
sudo: yes
- name: create www user
user: name=www
sudo: yes
- name: rbenv | clone rbenv repository
sudo: yes
sudo_user: www
git: repo=https://github.com/sstephenson/rbenv.git
dest={{ rbenv_root }}
- name: rbenv | clone ruby-build repository
sudo: yes
sudo_user: www
git: repo=https://github.com/sstephenson/ruby-build.git
dest={{ rbenv_root }}/plugins/ruby-build
- name: rbenv | add rbenv initialization to profile
template: src=templates/www.bash_profile
dest=/home/www/.bash_profile
owner=www
group=www
mode=0644
sudo: yes
sudo_user: www
- name: rbenv | check ruby {{ ruby_version }} installed
shell: sudo -iu www rbenv versions | grep {{ ruby_version }}
register: ruby_installed
failed_when: ruby_installed.rc not in [0, 1]
- name: rbenv | install ruby {{ ruby_version }}
shell: sudo -iu www rbenv install {{ ruby_version }}
when: ruby_installed|failed
- name: rbenv | set global ruby {{ ruby_version }}
shell: sudo -iu www rbenv global {{ ruby_version }}
when: ruby_installed|failed
- name: bundler | check bundler gem installed
shell: sudo -iu www gem list bundler | grep bundler
register: bundler_installed
failed_when: bundler_installed.rc not in [0, 1]
- name: bundler | install bundler
shell: sudo -iu www gem install bundler
when: bundler_installed|failed
- name: passenger | check passenger gem installed
shell: sudo -iu www gem list passenger | grep passenger
register: passenger_installed
failed_when: passenger_installed.rc not in [0, 1]
- name: passenger | install passenger
shell: sudo -iu www gem install passenger
when: passenger_installed|failed
- name: rbenv | rehash
shell: sudo -iu www rbenv rehash
- name: find passenger root
shell: sudo -iu www passenger-config --root
register: passenger_root
- name: find passenger module
stat: path={{ passenger_root.stdout }}/buildout/apache2/mod_passenger.so
register: module
sudo: yes
sudo_user: www
- name: passenger | install apache module
shell: sudo -iu www passenger-install-apache2-module --auto --languages=ruby
when: module.stat.exists != True
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment