Last active
August 29, 2015 14:11
-
-
Save a-suenami/3799a4e8149a1f4c4f92 to your computer and use it in GitHub Desktop.
PassengerをインストールするためのAnsible Playbook。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| - 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