質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

Q&A

解決済

1回答

2481閲覧

Ansibleでnginxをインストールした時の問題

Masaya_Murakami

総合スコア25

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

VirtualBox

VirtualBoxは、現在米オラクル社が開発している、 x86仮想化ソフトウェア・パッケージの一つです。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

0グッド

1クリップ

投稿2016/11/30 03:11

『初めてのAnsible』という本でansibleを勉強しています。この本ではUbuntuを使っているのですが、自分の仮想マシンではCentOSを使っています。そこでplaybookを作成し、実行した際にエラーが起きたのですが、その詳細な部分についての質問です。

PLAY [Configure webserver with nginx] ****************************************** TASK [setup] ******************************************************************* ok: [testserver] TASK [install nginx] *********************************************************** ok: [testserver] TASK [copy nginx config file] ************************************************** fatal: [testserver]: FAILED! => {"changed": false, "checksum": "dd6813103d16f1f28c8072592556864678818856", "failed": true, "msg": "Destination directory /etc/nginx/sites-available does not exist"} to retry, use: --limit @/Users/murakamimasaya/MyVagrant/playbooks/web-notls.retry PLAY RECAP ********************************************************************* testserver : ok=2 changed=0 unreachable=0 failed=1

エラーは上記のようにでます。

また、playbookはこのように作成しました。

- name: Configure webserver with nginx hosts: webservers become: True tasks: - name: install nginx yum: name=nginx update_cache=yes - name: copy nginx config file copy: src=files/nginx.conf dest=/etc/nginx/sites-available/default - name: enable configuration file: > dest=/etc/nginx/sites-enabled/default src=/etc/nginx/sites-available/default state=link - name: copy index.html template: src=templates/index.html.j2 dest=/usr/share/nginx/html/index.html mode=0644 - name: restart nginx service: name=nginx state=restarted

エラーを見て、調べたところCentOSでは
/etc/nginx/sites-available/default
/etc/nginx/sites-enabled/default
/etc/nginx/sites-available/default
が作成されないのではないかと思いました。

このエラーの解決方法としては上記のファイルを自分で作成するのが適切でしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

同じnginxでも、OSの種別によってパッケージ管理の仕組みが様々なように、そのパッケージ内で展開するファイルの構成も(概ね同じではありますが)様々です。
とくに、パッケージ管理の仕組みが違うubuntuとCentOSではフォルダの構成もだいぶ違ってきています。

そのため、AnsibleのPlaybookを作成する場合は、「どこに何があるのか」を確認していく必要があります。
(例えば、nginxだとサイトごとの設定は/etc/nginx/conf.d内に置くことが多いです)

もしCentOSでそれぞれインストールするパッケージのフォルダ構造を知らないのであれば、
一気にPlaybookを作成するのではなく、

  1. インストールされた状態にするところまでPlaybookを書く
  2. 中にログインして、フォルダ構成などを確認する
  3. 設定ファイルなどを、動く場所に置くようにPlaybookに書く

という手順を踏んでいった方が良いです

※もし、「Ansibleの学習」自体に主眼を置いて進めていて本を読んでいるのであれば、サーバをUbuntuに変えることをお勧めします

投稿2016/11/30 04:00

attakei

総合スコア2738

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Masaya_Murakami

2016/11/30 04:08

度々、ご回答有難うございます。 では、Ubuntuに変えるとしたら、再度一からVirtualBox上で仮想マシンを立ち上げることになるのでしょうか?
attakei

2016/11/30 05:35

もし仮想マシンのOSを変えるのであれば、仮想マシンはどうしても作り直しになります。
Masaya_Murakami

2016/11/30 06:25

わかりました! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問