AWSのCloudFormationでドラフト検出で少し混乱した
概要
- CloudFormationでIAMポリシーを更新する機会があったが、ドリフトを検出
- ドリフト検出内容は、更新するスタックで作成したIAMポリシーをアタッチしているロールが手動で追加されていたため(と思われる)
- スタックを更新したが当該ロールからIAMポリシーは強制デタッチされることはなかった
背景
会社でIAMポリシーの新規作成の機会があり、自分のチームではCFnテンプレートを作成してスタックの更新で作成する方針となっている。
そのため既存のテンプレートに追記してスタックの更新をしようとしたが、ドリフトの検出があったので確認したが、どうも既存のテンプレート内容と実際のリソース内容で違う場所が見つけられない。
違いがポリシーがアタッチされているロールぐらいしか違いがなかったので、おそらくそこが原因と判断。CFnテンプレートのIAMポリシーの部分でアタッチ先も設定できるしね。そこの違いがドラフト検出されたんだと思う。
本当はもう少しちゃんと細かく確認したかったが業務時間が足らず、スタックの更新を実行(テスト環境)。
スタック更新後、問題と思われるロールからポリシーデタッチはされてなかった。
なんかいい感じに残しておいてくれるのね、とちょっとびっくり。
所感
- 昔業務で対応した時も同じような躓きをした気がするが久しぶりの対応で忘れてた
- てかそもそも自分はこの業務から離れているはずなのに、ここまで対応してるのおかしい。まぁ色々訳ありだが。。
- なるべくブログ更新したいがネタが思いつかず、iPadからの急遽更新。ちゃんと投稿できるかな? →タグの付け方がわからない、、、後でPCからタグ付けか? →アプリからじゃなくて結局ブラウザで更新
wordpressで必要な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サイトでも使えるやつがインストールされるようになってるのね。
所感
テレワークを快適にするためディスプレイ購入(届き待ち)
1年近く在宅勤務を続けており、一応デュアルディスプレイ環境はすでにある状態です。
ただ使用しているディスプレイが下記のASUSのモバイルディスプレイで、接続がType-Cで配線が1本で大変楽かつすっきりしているのですが、業務で使用するには少し心もとないサイズ。
しかも地面直置きなので視線が少し低く、気持ち疲れる。
あと業務以外で使用使用したいときがあるのですが、自分の古いノートPCに接続(付属の変換器でType-A※USB3.0)して使用しているのですが、モニタへの電源供給で充電が間に合わず、普段使いで充電しながらのノートPCが電源不足でシャットダウンする事象も発生。
これは正直ノートPCが少し古いやつでバッテリーがへたり気味なのでそのせいだと思うのですが、地味にストレスでした。
ただ今日部屋の模様替えをして、少し大きいディスプレイを置く余裕も出てきたのでいよいよ購入を決意。
サイズ的に24インチくらいのディスプレイを探したところ、価格ドットコムで1.5万円以下でそこそこ上位の下記ディスプレイを見つけ、Amazonでとうとう購入。
他のサイトだとAmazonより安いんだけど購入サイトのアカウント増えるのが嫌だったので断念。
ついでにモニターアームも購入。がっつり机に設置するタイプだと場所がなく、支柱に取り付けるタイプ。
来週の火曜ー水曜あたりで届くのでとても楽しみ。業務中に開けちゃいそうだな。。。
WordPressの事を調べようとしたら変な記事が乱立していてわかりずらい
今日はただの愚痴。 WordPressのサイト立ててみよう今いろいろ検索していたが、検索して出てくる記事見づらくない?
WordPressでWordPressの使い方のブログのようなのを作成しているんだろうけど、無駄に目次を開かせる仕組みにしてたり、対話方式にしてたり、でかい画像貼り付けてブログ全体の視認性下げてたり。
WordPressの講師とかがそういうの推奨してるのか・・・?
そうだとしたらわざと分かりにくいサイトを教えて、講師の価値を上げようとしているようにしか思えん。。。
と、愚痴でした。
記事検索してたらなんかWordPressに悪印象を持ってきたので別の検証に浮気しようかな。。。
メールサーバやDNSサーバ構築をやってみたいと思ってる。
会社の業務的にAWSの資格勉強をした方がいいんだろうけど今いろいろとモチベーションがない。
脳死のyumインストールはundoでやり直せたのか
概要
- WordPressにphpが必要だったので脳死で
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 php
でphpをインストールした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 # 設定の反映
これで再度ブラウザからアクセスしてちゃんとテストページが表示されることを確認。
所感
ふと思いついたので書き出す
結局ほとんど記事書かず放置になってたけど、最近なんとなくWordPressを構築しようと思い色々試してた際、躓いたことがちらほらったのをどこにもアウトプットしないのはもったいないと思いここを思い出した。 せっかくだしここに色々躓いたことを書こうと。 もともとそういう躓きを書こうと思って始めたのに全然更新してなかった。。。 AWX構築とか他にも色々ネタあったのにな。。。
なので久しぶりに書こうと思いまーす。 明日から。とりあえず宣誓だけ。