Skip to content

Instantly share code, notes, and snippets.

@runeleaf
Last active August 28, 2020 10:15
Show Gist options
  • Save runeleaf/6155219 to your computer and use it in GitHub Desktop.
Save runeleaf/6155219 to your computer and use it in GitHub Desktop.
# setup
# export ANSIBLE_HOSTS=~/.ansible/hosts
# https://gist.github.com/runeleaf/5721014
- hosts: develop
user: kawashima
sudo: yes
tasks:
- include: centos/system-setup.yml
- include: centos/install-common-item.yml
- include: centos/install-add-item.yml
- include: centos/install-ruby.yml
- include: centos/install-varnish.yml
- include: centos/install-pagespeed.yml
#- include: centos/install-nginx-default.yml
#- include: centos/install-nginx-enhanced.yml
# add packages
- name: add munin-node
yum: name=munin-node state=installed
# TODO: yum replace creates check
- name: add rpmforge
command: rpm --force -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
- name: add epel
command: rpm --force -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
- name: add ius
command rpm --force -Uvh http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/ius-release-1.0-11.ius.el6.noarch.rpm
- name: add remi
command: rpm --force -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
- name: yum dependencies
yum: name={{ item }} state=installed
with_items:
- vim-enhanced
- git
- gcc-c++
- autoconf
- make
- automake
- wget
- patch
- readline-devel
- zlib-devel
- libffi-devel
- openssl-devel
- make
- bzip2
- autoconf
- automake
- libtool
- bison
- gdbm-devel
- tcl-devel
- tk-devel
- libxslt-devel
- libxml2-devel
- libyaml-devel
- sqlite-devel
- curl
- libcurl-devel
- ncurses-devel
- pcre-devel
- gd-devel
- yum-plugin-replace
- name: replace openssl
command: yum -y replace openssl --replace-with=openssl10
- hosts: develop
user: kawashima
sudo: yes
tasks:
- name: nginx install
yum: name=nginx state=installed
- name: copy nginx.conf
template: src=centos/conf/nginx.conf.j2 dest=/etc/nginx/nginx.conf
notify:
- restart nginx
# Nginx
# source: https://gist.github.com/runeleaf/5684008
# conf: https://gist.github.com/runeleaf/5898426
- hosts: develop
user: kawashima
sudo: yes
vars:
url: http://nginx.org/download/nginx-1.5.0.tar.gz
path: /usr/local/src/nginx-1.5.0
tasks:
- name: state directory
file: state=directory path=/usr/local/src
- name: nginx download
get_url: url=$url dest=/usr/local/src
- name: nginx extracted
command: tar zxf nginx-1.5.0.tar.gz chdir=/usr/local/src creates=$path
- name: configure nginx passenger
command: passenger-install-nginx-module --auto --prefix=/usr/local/nginx --nginx-source-dir=/usr/local/src/nginx-1.5.0 --extra-configure-flags=" --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --http-log-path=/var/log/nginx/access.log --with-http_ssl_module --with-http_spdy_module --add-module=/usr/local/src/ngx_pagespeed "
# pagespeed
- hosts: develop
user: kawashima
sudo: yes
vars:
clone_url: https://github.com/pagespeed/ngx_pagespeed.git
url: https://dl.google.com/dl/page-speed/psol/1.5.27.3.tar.gz
path: /usr/local/src/ngx_pagespeed
tasks:
- name: state directory
file: state=directory path=/usr/local/src
- name: clone pagespeed
command: git clone $clone_url
- name: ngx_pagespeed download
get_url: url=$url dest=$path
- name: ngx_pagespeed extracted
command: tar zxf 1.5.27.3.tar.gz chdir=$path
# ruby
# https://gist.github.com/runeleaf/6155058
- hosts: develop
user: kawashima
sudo: yes
vars:
url: ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz
path: /usr/local/src/ruby-2.0.0-p247
tasks:
- name: ruby state directory
file: state=directory path=/usr/local/src
- name: ruby download
get_url: url=$url dest=/usr/local/src
- name: ruby extracted
command: tar zxf ruby-2.0.0-p247.tar.gz chdir=/usr/local/src creates=$path
- name: ruby configured
command: ./configure chdir=$path creates=$path/Makefile
- name: ruby compiled
command: make chdir=$path creates=$path/ruby
- name: ruby install
command: make install chdir=$path creates=/usr/local/bin/ruby
- name: gem install
command: /usr/local/bin/gem install {{ item }}
with_items:
- bundler
- passenger
- capistrano
# Varnish
- hosts: develop
user: kawashima
sudo: yes
vars:
url: http://repo.varnish-cache.org/source/varnish-3.0.3.tar.gz
path: /usr/local/src/varnish-3.0.3
tasks:
- name: state directory
file: state=directory path=/usr/local/src
- name: varnish download
get_url: url=$url dest=/usr/local/src
- name: varnish extracted
command: tar zxf varnish-3.0.3.tar.gz chdir=/usr/local/src creates=$path
- name: varnish configured
command: ./configure --prefix=/usr/local/varnish chdir=$path
- name: varnish compiled
command: make chdir=$path
- name: varnish install
command: make install chdir=$path
# sshd_config
# port: 22
# PasswordAuthentication no
# /etc/sysconfig/iptables
# service iptables restart
# /etc/sysconfig/network
# /etc/sysconfig/network-script/ifcfg-eth0
# /etc/hosts
# /etc/resolv.conf
# useradd kawashima
# visudo kawashima
# cp /home/kawashima/.ssh/authorized_keys2
# service sshd restart
# - name: selinux setup disabled
# selinux: state=disabled
- name: develop user enabled
user: name=develop system=yes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment