windows7内にansibleを使ってWebサーバ、DBサーバを構築する ~provision用shell編~

windows7内にansibleを使ってWebサーバ、DBサーバを構築する ~Vagrantfile編~の続きです。

  1. vagrant_dataに各種設定ファイルを設置しておきます。

    ansible.cfg
    hosts
    httpd.conf
    MariaDB.repo
    my.cnf
    php.ini
    lamp.yml
    php.yml
    mariadb.yml
    repo.yml
    

    apacheやMariaDB、phpの設定ファイルについてはこちらでは説明しません。
    各種ymlファイルはansibleのplaybookになっているので、次回説明します。
    ansible.cfg

    [defaults]
    host_key_checking = False
    inventory = /etc/ansible/hosts
    

    ここではsshに初めてアクセスする際の確認をスキップする設定とインベントリファイルの指定を行っています。
    hosts

    [web-servers]
    192.168.33.12 ansible_ssh_private_key_file=/etc/ansible/private_key_web ansible_ssh_user=vagrant
    [db-servers]
    192.168.33.13 ansible_ssh_private_key_file=/etc/ansible/private_key_db ansible_ssh_user=vagrant
    

  2. ctrl_setup.shにシェルで実行するコマンドをまとめて記述しておきます。

    #!/bin/bash
    #epelリポジトリのimport
    sudo rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
    #epel,sshpass,pythonのインストール
    sudo yum install -y epel-release sshpass python-devel
    #pipのインストール
    sudo easy_install pip
    #ansible,paramiko,PyYAML,Jinja2,httplib2のインストール
    sudo pip install ansible paramiko PyYAML Jinja2 httplib2
    #ansible設定ファイル設置ディレクトリの作成
    if [ ! -e '/etc/ansible/' ]; then
        sudo mkdir /etc/ansible/
    fi
    #webのssh用private_keyを権限が変更出来るディレクトリにコピー
    sudo cp -f /vagrant/.vagrant/machines/web/virtualbox/private_key /etc/ansible/private_key_web
    #dbのssh用private_keyを権限が変更出来るディレクトリにコピー
    sudo cp -f /vagrant/.vagrant/machines/db/virtualbox/private_key /etc/ansible/private_key_db
    #webのssh用private_key権限を700に変更
    sudo chmod 700 /etc/ansible/private_key_web
    #dbのssh用private_key権限を700に変更
    sudo chmod 700 /etc/ansible/private_key_db
    #ansbileのインベントリファイルをコピー
    sudo cp -f /vagrant_data/hosts /etc/ansible/
    #ansbileインベントリファイルの実行権限を削除
    sudo chmod -x /etc/ansible/hosts
    #ansible設定ファイルをコピー
    sudo cp -f /vagrant_data/ansible.cfg /etc/ansible/
    #ansibleのplaybookの実行
    sudo ansible-playbook /vagrant_data/lamp.yml
    

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA