ITインフラエンジニアのおつむの整理

ITインフラエンジニア(現ニート)の頭の整理場所。ほぼ日記になる予定。

AWSのCloudFormationでドラフト検出で少し混乱した

概要

  • CloudFormationでIAMポリシーを更新する機会があったが、ドリフトを検出
  • ドリフト検出内容は、更新するスタックで作成したIAMポリシーをアタッチしているロールが手動で追加されていたため(と思われる)
  • スタックを更新したが当該ロールからIAMポリシーは強制デタッチされることはなかった

背景

会社でIAMポリシーの新規作成の機会があり、自分のチームではCFnテンプレートを作成してスタックの更新で作成する方針となっている。
そのため既存のテンプレートに追記してスタックの更新をしようとしたが、ドリフトの検出があったので確認したが、どうも既存のテンプレート内容と実際のリソース内容で違う場所が見つけられない。
違いがポリシーがアタッチされているロールぐらいしか違いがなかったので、おそらくそこが原因と判断。CFnテンプレートのIAMポリシーの部分でアタッチ先も設定できるしね。そこの違いがドラフト検出されたんだと思う。

本当はもう少しちゃんと細かく確認したかったが業務時間が足らず、スタックの更新を実行(テスト環境)。
スタック更新後、問題と思われるロールからポリシーデタッチはされてなかった。
なんかいい感じに残しておいてくれるのね、とちょっとびっくり。

所感

  • 昔業務で対応した時も同じような躓きをした気がするが久しぶりの対応で忘れてた
  • てかそもそも自分はこの業務から離れているはずなのに、ここまで対応してるのおかしい。まぁ色々訳ありだが。。
  • なるべくブログ更新したいがネタが思いつかず、iPadからの急遽更新。ちゃんと投稿できるかな? →タグの付け方がわからない、、、後でPCからタグ付けか? →アプリからじゃなくて結局ブラウザで更新

wordpressで必要なphp関連パッケージ

概要

  • wordpressをインストールするために必要なphp関連のパッケージはphp7.4だけインストールすればいいと思っていたが足りなかった
  • 下記パッケージを追加でインストール
    • phpからmysqlを操作するためにphp74-php-mysqlnd
    • httpdphpを有効化するためにphp74-phpを追加でインストール

背景

前回の続きwordpressをインストールするために、httpdをインストール、phpのインストールが途中。 phpはそのままインストールすると別バージョンとなってしまうのでリポジトリを追加してから、php7.4のバージョンを指定してインストール。

yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum install php74

そこでふとMySQLを使用するのために連携のパッケージが必要なのでは?と思い調べるとやはりちゃんと入れる必要がありそう。
調べてみるとphp-mysql、もしくはphp-mysqlndが必要とのこと。簡単に調査したぐらいなのでまだ確信はないが、php-mysqlの方が古いっぽい?なのでphp-mysqlndをインストール。phpのバージョンもちゃんと7.4を指定。

yum install php74-php-mysqlnd

その後MySQLもインストール。(これも事前にリポジトリをインストール)

yum instal https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum install mysql-server

これでwordpressのサイトも見れるかな?と思い、wordpressの最新版をダウンロードし解凍してhttpdの表示するフォルダはいかに持っていくなりして、じゃあもう見れるのかな?と思いアクセスするが全然見れない。
wordpressの表示する画面がindex.phpなのを確認できたので、「あ、これhttpdの設定ファイルでindex.php読み込む設定になってないな?」と思い、httpd.confに追記するもそれでも見れない。

・・・・・・・・・?

はてなになったのですが、httpd -M | grep phpを実行してみるとどうやらphp関連モジュールが読み込まれてなさそうだった。
phpインストールした時に勝手に設定されると思っていたので、自分でモジュールを指定する必要があるのかな~と思いll /etc/httpd/modules/ | grep phpを実行するもそもそもモジュールが存在していない。
これはさすがにパッケージが足りないんだろうなと思い、yum search php74に表示されるパッケージ説明とか見てみたら気になる点が。

php74.x86_64 : Package that installs PHP 7.4
php74-php.x86_64 : PHP scripting language for creating dynamic web sites

ん?ウェブサイト作成に必要っぽいパッケージがある?もしかしてこれ?と思いインストール。

yum install php74-php

すると/etc/httpd/conf, /etc/httpd/module配下にconfファイルとモジュールが追加されていることを確認。これが必要だったんかーい。
てかconf内容みたらDirectoryIndexにindex.phpがそこで追記もされてた。わざわざhttpd.confを編集しなくてよかったのね。

とこれで無事wordpressにアクセスできるようになりました。 (ちょっと思い出しながらの記載なのでうそが混ざってたらゴメンなさい)

※ちなみに少し気になったのでyum install phpでインストールしたときに入るパッケージを確認したらphp74-phpと同じ説明になっていた。デフォルトではwebサイトでも使えるやつがインストールされるようになってるのね。

所感

  • 色々トラブルシュートしながらの構築だと新しい知見が増えるのが面白い。対応中は少しイライラするが
  • なんとかアクセスできるようになり、サイトを立てられる状況になったので一安心って感じ。でもなんかモジュールがまだ足りてないのか少し不安。
  • httpdのセキュリティ設定とかしないとだよね。したことないからどうすればいいかまだ想定できてないけど、テストページが見れないようにとか、インデックスが表示されないようにとかしないとだよね。httpdのベストプラクティスとかないかしら

テレワークを快適にするためディスプレイ購入(届き待ち)

1年近く在宅勤務を続けており、一応デュアルディスプレイ環境はすでにある状態です。
ただ使用しているディスプレイが下記のASUSのモバイルディスプレイで、接続がType-Cで配線が1本で大変楽かつすっきりしているのですが、業務で使用するには少し心もとないサイズ。

しかも地面直置きなので視線が少し低く、気持ち疲れる。
あと業務以外で使用使用したいときがあるのですが、自分の古いノートPCに接続(付属の変換器でType-A※USB3.0)して使用しているのですが、モニタへの電源供給で充電が間に合わず、普段使いで充電しながらのノートPCが電源不足でシャットダウンする事象も発生。
これは正直ノートPCが少し古いやつでバッテリーがへたり気味なのでそのせいだと思うのですが、地味にストレスでした。
ただ今日部屋の模様替えをして、少し大きいディスプレイを置く余裕も出てきたのでいよいよ購入を決意。

サイズ的に24インチくらいのディスプレイを探したところ、価格ドットコムで1.5万円以下でそこそこ上位の下記ディスプレイを見つけ、Amazonでとうとう購入。 他のサイトだとAmazonより安いんだけど購入サイトのアカウント増えるのが嫌だったので断念。
ついでにモニターアームも購入。がっつり机に設置するタイプだと場所がなく、支柱に取り付けるタイプ。
来週の火曜ー水曜あたりで届くのでとても楽しみ。業務中に開けちゃいそうだな。。。

WordPressの事を調べようとしたら変な記事が乱立していてわかりずらい

今日はただの愚痴。 WordPressのサイト立ててみよう今いろいろ検索していたが、検索して出てくる記事見づらくない?

WordPressWordPressの使い方のブログのようなのを作成しているんだろうけど、無駄に目次を開かせる仕組みにしてたり、対話方式にしてたり、でかい画像貼り付けてブログ全体の視認性下げてたり。
WordPressの講師とかがそういうの推奨してるのか・・・?
そうだとしたらわざと分かりにくいサイトを教えて、講師の価値を上げようとしているようにしか思えん。。。

と、愚痴でした。
記事検索してたらなんかWordPressに悪印象を持ってきたので別の検証に浮気しようかな。。。
メールサーバやDNSサーバ構築をやってみたいと思ってる。
会社の業務的にAWSの資格勉強をした方がいいんだろうけど今いろいろとモチベーションがない。

脳死のyumインストールはundoでやり直せたのか

概要

  • WordPressphpが必要だったので脳死yum install phpを実行したが要件とは違うバージョンだった
  • yum eraseコマンドでアンインストールしたが依存関係とかで一緒にインストールされたパケージを調べていちいち指定するのが凄く面倒
  • yum history undo <id>を使用すれば依存関係含めてアンインストールしてくれることを初めて知った

背景

WordPressの要件でphpが必要とあったので脳死でインストールを実行した。 ただ特にリポジトリの追加とかしていなかったのでインストールしてみると、WordPressの要件ではphp7.4以上が必要だが5.4がインストールされていた。 要件満たしていないし、アンインストールするかと思ったが自分が知っているアンインストール方法がyum erase phpだったので実行しようと思ったがどうやら依存関係も一緒にアンインストールしてくれないらしい。

[root@centos ~]# yum erase php
読み込んだプラグイン:fastestmirror
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php.x86_64 0:5.4.16-48.el7 を 削除
--> 依存性解決を終了しました。

依存性を解決しました

=============================================================================================
 Package          アーキテクチャー    バージョン                    リポジトリー        容量
=============================================================================================
削除中:
 php              x86_64              5.4.16-48.el7                 @base              4.4 M

トランザクションの要約
=============================================================================================
削除  1 パッケージ

インストール容量: 4.4 M
上記の処理を行います。よろしいでしょうか? [y/N]

なので面倒だがyum history package-list phpphpをインストールしたyumのidを確認し、yum info <id>でインストールしたパッケージ名を確認してerase実行の際に面倒だが全部指定してアンインストールした。

[root@centos ~]# yum history package-list php
読み込んだプラグイン:fastestmirror
ID     | 操作           | Package
-------------------------------------------------------------------------------
     2 | インストール   | php-5.4.16-48.el7.x86_64

[root@centos ~]# yum history info 2
読み込んだプラグイン:fastestmirror
トランザクション ID : 2
開始時間            : Wed Jun 23 23:24:23 2021
開始 rpmdb          : 311:5a9b6def48d577ce4831358c73b5a31a376127d0
終了時間            :            23:24:25 2021 (2)
終了 rpmdb          : 320:d9c4f12805f236f194710b521d3834dd4a52744f
ユーザー            : root <root>
終了コード          : 成功
コマンドライン      : install php
トランザクションの実行:
    インストール rpm-4.11.3-25.el7.x86_64                      @anaconda
    インストール yum-3.4.3-154.el7.centos.noarch               @anaconda
    インストール yum-plugin-fastestmirror-1.1.31-42.el7.noarch @anaconda
切り替えたパッケージ:
    依存インストール apr-1.4.8-7.el7.x86_64                 @base
    依存インストール apr-util-1.5.2-6.el7.x86_64            @base
    依存インストール httpd-2.4.6-97.el7.centos.x86_64       @updates
    依存インストール httpd-tools-2.4.6-97.el7.centos.x86_64 @updates
    依存インストール libzip-0.10.1-8.el7.x86_64             @base
    依存インストール mailcap-2.1.41-2.el7.noarch            @base
    インストール php-5.4.16-48.el7.x86_64               @base
    依存インストール php-cli-5.4.16-48.el7.x86_64           @base
    依存インストール php-common-5.4.16-48.el7.x86_64        @base

で、そのままインストールを続けてたのですが、また別のパッケージをアンインストールする必要が出てきて(何度脳死インストールするんだと)、さすがにちゃんと調べたらyumでインストールしたやつ一括でアンインストールするコマンドあるんじゃね?と思い調べた。 ありましたわ。

[root@centos ~]# yum history undo 2
読み込んだプラグイン:fastestmirror
Undoing transaction 2, from Wed Jun 23 23:24:23 2021
    依存インストール apr-1.4.8-7.el7.x86_64                 @base
    依存インストール apr-util-1.5.2-6.el7.x86_64            @base
    依存インストール httpd-2.4.6-97.el7.centos.x86_64       @updates
    依存インストール httpd-tools-2.4.6-97.el7.centos.x86_64 @updates
    依存インストール libzip-0.10.1-8.el7.x86_64             @base
    依存インストール mailcap-2.1.41-2.el7.noarch            @base
    インストール php-5.4.16-48.el7.x86_64               @base
    依存インストール php-cli-5.4.16-48.el7.x86_64           @base
    依存インストール php-common-5.4.16-48.el7.x86_64        @base
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ apr.x86_64 0:1.4.8-7.el7 を 削除
---> パッケージ apr-util.x86_64 0:1.5.2-6.el7 を 削除
---> パッケージ httpd.x86_64 0:2.4.6-97.el7.centos を 削除
---> パッケージ httpd-tools.x86_64 0:2.4.6-97.el7.centos を 削除
---> パッケージ libzip.x86_64 0:0.10.1-8.el7 を 削除
---> パッケージ mailcap.noarch 0:2.1.41-2.el7 を 削除
---> パッケージ php.x86_64 0:5.4.16-48.el7 を 削除
---> パッケージ php-cli.x86_64 0:5.4.16-48.el7 を 削除
---> パッケージ php-common.x86_64 0:5.4.16-48.el7 を 削除
--> 依存性解決を終了しました。

依存性を解決しました

=============================================================================================
 Package              アーキテクチャー
                                      バージョン                     リポジトリー       容量
=============================================================================================
削除中:
 apr                  x86_64          1.4.8-7.el7                    @base             221 k
 apr-util             x86_64          1.5.2-6.el7                    @base             194 k
 httpd                x86_64          2.4.6-97.el7.centos            @updates          9.4 M
 httpd-tools          x86_64          2.4.6-97.el7.centos            @updates          168 k
 libzip               x86_64          0.10.1-8.el7                   @base             104 k
 mailcap              noarch          2.1.41-2.el7                   @base              62 k
 php                  x86_64          5.4.16-48.el7                  @base             4.4 M
 php-cli              x86_64          5.4.16-48.el7                  @base             8.8 M
 php-common           x86_64          5.4.16-48.el7                  @base             3.8 M

トランザクションの要約
=============================================================================================
削除  9 パッケージ

インストール容量: 27 M
上記の処理を行います。よろしいでしょうか? [y/N]

所感

  • undo指定があったの初めて知った。今までeraseやってたのばかみたい。
  • さすがに更新されたパッケージはundo出来ないっぽい
  • 脳死インストールはしないようにと思ったが、undoがあるならもういいかなって気がしてきた。できる幅が良くも悪くも広がった。

httpdインストールでいつもポート開放忘れる

概要

  • CentOS7.4でhttpdインストールして直ぐにブラウザでアクセスできると思ったらアクセスできなかった
  • 原因はサーバ側のポート開放忘れ
  • firewall-cmdコマンドで80番ポート(http)を開けて解決

背景

WordPressを構築しようと思い、下記で要件を確認するとhttpdが必要とあるのでとりあえずインストールしてみた。サービスもちゃんと起動。 https://ja.wordpress.org/about/requirements/

yum -y install httpd
systemctl status httpd
systemctl start httpd

そこで直ぐにapacheのテストページが見れると思ったら見れなかったので原因切り分け。 まずはpingで確認をするか、、、と思ったがそもそもsshでアクセスして操作しているのでIPやネットワークの経路とかは大丈夫そう。 なのでポートが開いているかコマンドプロンプトから確認。(この時点でそういえばポート開放必要だったのをうっすら思い出していたが念のため)

telnet <ip> 80

しかし接続中から画面が進まず、ほぼポートで確定と判断。 そのためサーバで下記コマンド実施。

firewall-cmd --list-all --zone=public --permanent
# services, portsにhttpや80が設定されていないことを確認
firewall-cmd --add-service=http --zone=public --permanent
systemctl restart firewalld
# 設定の反映

これで再度ブラウザからアクセスしてちゃんとテストページが表示されることを確認。

所感

  • 久しぶりにhttpdをインストールするといつも忘れてるのに今回も引っかかった感じ。てかどこかのCentOSバージョンかRHELとかポート開放しなくてもアクセスできなかったっけ・・・?記憶がごちゃごちゃしてる
  • firewall-cmdはサービス指定、ポート指定で設定できる程度の知識。ゾーンとかちゃんと理解しきれていないのでいつかちゃんと勉強したい
  • ブログ投稿のリハビリ。こんくらいのちょっとした躓きでも分割して投稿しようと思ってる

ふと思いついたので書き出す

結局ほとんど記事書かず放置になってたけど、最近なんとなくWordPressを構築しようと思い色々試してた際、躓いたことがちらほらったのをどこにもアウトプットしないのはもったいないと思いここを思い出した。 せっかくだしここに色々躓いたことを書こうと。 もともとそういう躓きを書こうと思って始めたのに全然更新してなかった。。。 AWX構築とか他にも色々ネタあったのにな。。。

なので久しぶりに書こうと思いまーす。 明日から。とりあえず宣誓だけ。