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

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

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

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Ansible

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

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

3995閲覧

EC2をansibleで構築 epel-releaseのバージョンでエラー

TomoKubota

総合スコア53

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Ansible

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

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2017/05/22 01:33

編集2017/05/22 02:02

EC2のサーバーをansibleを使って構築しています。
vagrantの仮想環境ではcakephpが動くところまで持って行けたのですが、
同じplay-bookをEC2で実行すると、epel-releaseのバージョンが合わない、というような
エラーで止まってしまいます。

エラー内容

console

1TASK [yum/repos : Add repository 'remi-repo'] ********************************************************************************************************************************** 2fatal: [****]: FAILED! => {"changed": true, "failed": true, "msg": "Error: Package: remi-release-7.3-1.el7.remi.noarch (/remi-release-7)\n Requires: epel-release = 7\n Installed: epel-release-6-8.9.amzn1.noarch (installed)\n epel-release = 6-8.9.amzn1\n", "rc": 1, "results": ["Loaded plugins: priorities, update-motd, upgrade-helper\nExamining /tmp/tmplV_bMo/remi-release-7.rpm: remi-release-7.3-1.el7.remi.noarch\nMarking /tmp/tmplV_bMo/remi-release-7.rpm to be installed\nResolving Dependencies\n--> Running transaction check\n---> Package remi-release.noarch 0:7.3-1.el7.remi will be installed\n--> Processing Dependency: epel-release = 7 for package: remi-release-7.3-1.el7.remi.noarch\n7 packages excluded due to repository priority protections\n--> Finished Dependency Resolution\n You could try using --skip-broken to work around the problem\n You could try running: rpm -Va --nofiles --nodigest\n"]}

実行時のymlは以下の通りです

yml

1- name: php install 2 yum: name=php state=installed enablerepo=remi-php70 3 become: yes 4 notify: httpd restart 5 6- name: php dependencies 7 yum: name={{ item }} enablerepo=remi-php70 state=installed 8 with_items: 9 - php-mbstring 10 - php-intl 11 - php-pdo 12 - php-mysql 13 become: yes 14 notify: httpd restart 15


こちら
を見たところ、epelの最新版をインストールする方法が書かれていたので、
試しにepel-releaseのinstallを以下のように書き足して実行してみましたが、
結果は変わりませんでした。

yml

1- name: epel install 2 yum: name=epel-release state=installed 3 become: yes 4 notify: httpd restart 5 6- name: php install 7 yum: name=php state=installed enablerepo=remi-php70 8 become: yes 9 notify: httpd restart 10 11- name: php dependencies 12 yum: name={{ item }} enablerepo=remi-php70 state=installed 13 with_items: 14 - php-mbstring 15 - php-intl 16 - php-pdo 17 - php-mysql 18 become: yes 19 notify: httpd restart 20

どなたか解決方法がお分かりになる方、教えていただけないでしょうか。
よろしくお願いします。

追記***
TASK [yum/repos : Add repository 'remi-repo']
となっていたので、調べているymlが間違っていました。

yml

1- name: Stat /etc/yum.repos.d/remi.repo 2 stat: path=/etc/yum.repos.d/remi.repo 3 become: yes 4 register: has_repo 5 6- name: Add repository 'remi-repo' 7 yum: name=http://rpms.famillecollet.com/enterprise/remi-release-7.rpm state=present 8 become: yes 9 when: has_repo.stat.exists == false 10

yumに関するansibleのディレクトリは以下のような構成になっていました。
epel.repoの内容を調べてみます。

└── yum
└── repos
├── files
│   ├── RPM-GPG-KEY-EPEL-6
│   └── epel.repo
└── tasks
└── main.yml

txt

1[epel] 2name=Extra Packages for Enterprise Linux 6 - $basearch 3#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch 4mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch 5failovermethod=priority 6enabled=1 7gpgcheck=1 8gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 9 10[epel-debuginfo] 11name=Extra Packages for Enterprise Linux 6 - $basearch - Debug 12#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch/debug 13mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch 14failovermethod=priority 15enabled=0 16gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 17gpgcheck=1 18 19[epel-source] 20name=Extra Packages for Enterprise Linux 6 - $basearch - Source 21#baseurl=http://download.fedoraproject.org/pub/epel/6/SRPMS 22mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch 23failovermethod=priority 24enabled=0 25gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 26gpgcheck=1

質問を載せておきながら申し訳ないです。
自己解決しましたら、その旨、追記させていただきます。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Vagrant 環境と EC2 で OS が異なるのではないでしょうか。
例えば、Vagrant が CentOS 7、EC2 が Amazon Linux など。
OS を揃えた方がいいと思います。

Amazon Linux で続けるのであれば、すでに epel-release-6-8.9.amzn1 がインストールされていて、これは CentOS 6 相当のバージョンと思われますので、remi-release も CentOS 6 用の remi-release-6.rpm をインストールするようにすれば、うまくいくかもしれません。

投稿2017/05/22 02:24

TaichiYanagiya

総合スコア12141

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

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

TomoKubota

2017/05/22 05:28

ありがとうございます。 AmazonLinuxのepelを7にする方法を一生懸命調べていたのですが、 方向が完全に間違っていたみたいですね(泣) アドバイスいただいた方法で、試してみます。
TomoKubota

2017/05/22 06:07

追記です。 remi-release-6.rpmに書き換えて実行したところ、あっさり通ってしまいました。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問