zuntan02のはてなブログ

備忘録的なものです。時々職場の技術者ブログにも転記してますが、メインはこちらで。

【AWS】Route53にてワイルドカードドメインを使用したときの優先順位を確認

Route53のRecord Set

Name Type Value
*.hogehoge.com A ALIAS(ELBへのエイリアス
fuga.hogehoge.com A xxx.xxx.xxx.1

このとき、fuga.hogehoge.comはワイルドカードドメイン(ELBへのエイリアス)に食われないで設定値をちゃんと返すか不安だったので確認した。

テスト結果

nslookup hogehoge.com
→Address: ELBのIPが返る

nslookup fuga.hogehoge.com
→Address: xxx.xxx.xxx.1:設定されたIPが返る。ワイルドカードドメインには食われていない

nslookup aaa.hogehoge.com
→Address: ELBのIPが返る:ワイルドカードドメインが効いている

→他のネームサーバ同様、ワイルドカードドメインサブドメインに設定されていない「その他」が来たときのみキャッチする模様。

【AWS】EC2からのメール送信には、上限緩和申請とDNSの逆引きの登録申請が必要

【概要】

初期状態の EC2 インスタンスでは Eメールを送信する際に利用する SMTP ポート 25番の通信に制限が設けられています。
EC2からのメール送信には、上限緩和申請とDNSの逆引きの登録申請が必要。
サーバ構築当初はmailコマンドでメールが遅れていたのに、気が付くと送れなくなってた、みたいのはこれ。
緩和申請しないと、25番ポートが閉じられてメールが送れなくなる→メール送信しようとするとSMTPタイムアウトエラーとなる。
詳細は以下
EC2 インスタンスのポート 25 の抑制を解除する

【参考URL】

blog.ybbo.net
例によって上記まんまです。

【作業メモ】

※Root Account Required なので、IAMではなくルートアカウントでAWSにログインします
サービスの上限緩和を申請 »
から開始。

[ケースの作成]

  • 内容:サービス制限の増加
  • 制限タイプ:EC2 Email

→日本語対応画面が無いので表示されるリンクから英語の画面に遷移

  • Email Address*:ログインしていれば自動で記入されています。
  • Use Case Description*:Entry confirmation email of campaign site.など、ある程度正確な内容を書かないとハネられるようになってきました(前はテキトーでも通ってた……)
  • Elastic IP Address 1
  • Elastic IP Address 2

→メール送信元となるEC2につけている、 EIP(グローバルIP)を記入。事前に正引き設定(mail.hoge.comなど後述する逆引きと呼応できれば良い)がされていること。

  • Reverse DNS Record for EIP 1
  • Reverse DNS Record for EIP 2

→先ほどのEIPの逆引きレコードの指定(mail.hoge.comなど)

これでSubmitすれば完了です。

■翌日以下の様なメールが届いた

Your AWS Inquiry
====
We've reviewed and approved your request for the removal of the EC2 e-mail sending limitations on your Amazon Web Services account. There are no longer limitations on your account for any IPs and instances under your account. If you requested removal of e-mail sending limits on Amazon Elastic IPs, they've also been removed.
====

OK

WordPress(Nginx+php-fpm)でのマルチドメイン運用

複数ドメイン:hogehoge.jp fugafuga.jp hogefuga.com を一つのWordPressで運用する場合のメモ。

【サマリ】

Wordpressのマルチサイト機能を利用し、かつ
- サブディレクトリ型
- サブドメイン
- 複数ドメイン
のうち、複数ドメイン型を作成する。

【参考サイト】

www.templateking.jp
基本的には上記情報に従います。
上記との違いとして、主にnginxのconfの書き方について以下にメモしておきます

1)WordPressのインストール

普通に管理画面にアクセスできるところまで。
※ドキュメントルート直下にインストールしてください

2)wp-config.phpの編集

以下を追記します

/** マルチサイト機能 */
define('WP_ALLOW_MULTISITE', true);
3)ネットワークの設定

WP管理画面-[ダッシュボード]-[ツール]-[ネットワークの設置]-[WordPress サイトのネットワークの作成]で、「サブドメイン」を選択し、「インストール
→"サイトネットワーク作成機能を有効化するには、次の手順を実行します。"として、wp-configの修正ファイルおよびapache用の設定が表示されます。

4)ネットワークの有効化作業

上記画面の作業を実行します。

  • wp-config.phpへの追記
/srv/www/hogehoge/ にある wp-config.php ファイルの
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
という行の上に、次の内容を追加
==========
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'hogehoge.jp');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
==========

※この際、先に設定していた
> define('WP_ALLOW_MULTISITE', true);
は削除する。重複しないように。

  • nginxのconfへの追記

ドメイン型の場合は不要。
※nginxについてはhttps://wpdocs.osdn.jp/Nginx にサブディレクトリ型マルチサイト向けの記述がある。
/hogehoge/wp-admin/hoge.phpなどへのアクセスがあった場合に、/hogehoge/を消してアクセスしてるような。
今回はドメインベースなので以下はいらないですが、念のためメモしておきます。

  # Rewrite multisite '.../wp-.*' and '.../*.php'.
  if (!-e $request_filename) {
    rewrite ^/[_0-9a-zA-Z-]+(/wp-.*) $1 last;
    rewrite ^/[_0-9a-zA-Z-]+.*(/wp-admin/.*\.php)$ $1 last;
    rewrite ^/[_0-9a-zA-Z-]+(/.*\.php)$ $1 last;
5)サイトネットワーク管理者での設定

「サイトネットワーク管理者」メニューが追加されていることを確認。
言語など初期設定をしておく

6)サイトの追加

サイトの新規追加で各ドメイン用のサイトを追加する。
※サイトのアドレスは後で変更するので適当に。

7)プラグインのインストール

マルチドメイン対応プラグインを追加します
WordPress MU Domain Mapping:インストール

8)プラグインの設定

プラグインが正常にインストールされると、「サイトネットワーク管理者」の「設定」メニューに「Domain Mapping」と「Domains」という項目が追加されます。初期画面で表示されるメッセージに従って作業を行います。

Please copy sunrise.php to /srv/www/hogehoge/wp-content/sunrise.php and ensure the SUNRISE definition is in /srv/www/hogehoge/wp-config.php
# →上記をコピーする
cp /srv/www/hogehoge/wp-content/plugins/wordpress-mu-domain-mapping/sunrise.php /srv/www/hogehoge/wp-content/sunrise.php


→再読み込みすると次は以下のメッセージ

Please uncomment the line define( 'SUNRISE', 'on' ); or add it to your /srv/www/hogehoge/wp-config.php

# wp-config.phpに以下を追記
-----
/** WordPress MU Domain Mapping */
define( 'SUNRISE', 'on' );
-----
9)ドメインマッピング

[サイト]-[すべてのサイト]でURLを選択するとid=xxとサイトIDが表示されるので、こちらをメモ、
[設定]-[Domains]で上記でメモしたSiteIDとドメインマッピングします。

10)リンクの設定

[サイトネットワーク管理]-[サイト]で各サイトを編集し、サイトアドレス (URL)をそれぞれの期待するドメインに変更して保存します。

11)各ドメインをnginxで受けるようにしておく

nginxのserver_nameにエイリアスを追加して流入できるようにしておくのを忘れずに

ex.

  server_name hogehoge.jp fugafuga.jp hogefuga.com;

以上。

HPのノートPC:dv2805(AMD Sempron)にWindows10を入れたら画面のちらつきが酷かったのでドライバ入れたら治ったメモ

HPのノートPC:dv2805にWindows10を入れたところ、edge(Win10の標準ブラウザ)のちらつきが酷くて(Chromeは全然大丈夫だった)、nvidiaの該当ドライバ入れたら治ったのでメモしときます。

Windows10への道のり

もともとはVistaマシンだったものを、Windows7で使っていた。
Windows10に上げて、HPのサイトから各種ドライバ

HPのプリンター、ラップトップ、デスクトップのソフトウェアおよびドライバのダウンロード | HP®カスタマーサポート

を入れてみたのだけど、edgeのちらつきが酷くてとても使えなかった。スタートメニューのチラつきもひどくて、いかにもドライバが足りていない感じ。
→グラフィックは NVIDIA® GeForce® 7150M + nForce 630M (チップセットに内蔵)

解決

nvidiaの該当ドライバを上から被せたところ、ちらつきはおさまった。
Windows7-32bit版はこちら
NVIDIA DRIVERS GeForce Release 179 for Notebooks
http://www.nvidia.co.jp/download/driverResults.aspx/9008/jp

2017年02月現在、Windows10への無償アップグレードがまだできてる

倉庫の奥からWindows7PCがゴロゴロ出てきて、Windows10へ無償Upgradeし損ねた……と凹んでいたら
www.ikt-s.com
上記のような記事が。え、そうなの、と思って試してみたら、2017年2月現在、まだアップグレードできる模様。
アップグレードする際にプロダクトキー入力欄がでるけど、下端にある”再インストール”を選べばそのまま通る。
※Windows10のクリーンインストールではなく、Windows7/8からアップグレードする必要があります。
→検証記事
www.ikt-s.com

ざっくりメモ

1.以下からMediaCreationToolをDLして実行
Windows 10 のダウンロード

2.[他のPC用にインストールメディアを作る]
で該当PC用のエディションを選択、USBメモリ等にインストールメディアを展開する

3.作成したインストールメディア入りUSBメモリを該当のWindows7/8のPCに挿してsetup.exeを実行、アップグレードを実施する

4.プロダクトキー入力欄にて、プロダクトキーはブランクのまま、下端の
「このPCにWindows10を再インストールしています」
を選択。
f:id:zuntan02:20170210130553p:plain

5.ライセンス認証状況を確認
Windows10にアップグレード後、インターネットに接続した状態で
[設定]→[更新とセキュリティ]→[ライセンス認証]で
Windows10のデジタルライセンスが付与されて認証済みとなっていることを確認。
f:id:zuntan02:20170313184145p:plain
以上。

mailコマンドで日本語件名(Subject)のメールを送りたい

【背景】

nkfで変換するのが良いとのことだったがうまくいかず。

【解決】

メールのSubjectをISO-2022-JPBase64エンコードすればよい
www.bungu-do.jp

例)「日本語です」→「=?ISO-2022-JP?B?GyRCRnxLXDhsJEckORsoQg==?=」

mail -s '=?ISO-2022-JP?B?GyRCRnxLXDhsJEckORsoQg==?=' hogehoge@fuga.jp <メール本文ファイルなど

おまけ

複数行あるファイル(デイリーで記録されるログ)を降順で

cat ranking.log | sort -r |  mail -s '=?ISO-2022-JP?B?GyRCRnxLXDhsJEckORsoQg==?=' hogehoge@fuga.jp

ESET Endpoint Protection Advancedを中規模事務所に導入したときのメモ

100人規模の企業に
・集中監視可能なアンチウィルスソフト
を導入するにあたり、比較的お安い
ESET Endpoint Protection Advanced
https://eset-info.canon-its.jp/business/endpoint_protection_adv/
を導入した。

ドキュメントはよく日本語化されており、丁寧に読めば作業は進められると思われたが、実際にはかなり難航したためここに作業メモを残しておく。

ハマりポイント

・集中監視サーバ「ERA(ESET Remote Administrator)」サーバの構築

https://eset-info.canon-its.jp/business/remote_administrator/
動作環境によればRH系Linux/WindowsServerとなっていたので、当初はCetnOS7+MySQL5.7で立て始めたのだけど、自分の能力不足故、激しく難航した。
結局WindowsServerマシンを空けてもらい、そこにインストールした。こっちはオールインワンインストーラ実行一発で済む。
この温度差……!

Windows版オールインワンインストーラ

【用意するもの】

OS:WindowsServer2012
ハードウェア:
Intel, AMD 32bit, 64bitプロセッサ デュアルコア、2.0 GHz以上
メモリ 4GB以上
ハードディスク 20GB 以上の空き容量
→上記条件をギリギリクリアするノートPCを用意

【インストールするコンポーネント
  • ERAサーバー:クライアントからの情報収集及びリクエスト送信を行う
  • ERAWebコンソール:ESET製品を管理するWebベースのコンソール
  • ERAエージェント:クライアントにインストールし、ERAサーバーと通信する


マニュアル:users_manual_era.pdf

Chap3.インストール より

Windows版オールインワンインストール(Windowes版のみ)を参考に進める。

Setup_x64.zipを解凍し、Setup.exeを実行
ESET Remote Administratorのセットアップ
- Remote Administratorサーバーのインストール
- 不足しているシステム要件が表示されるので、それを満たす


# .Net v3.5がインストールされていません
# [サーバーマネージャー]-[役割と機能の追加]-[機能]
# →.NET Framework 3.5 Features
# を追加、インストール


# 互換性のあるバージョンのJava Runtime Environmentがインストールされていません。
# https://www.java.com/ja/download/manual.jsp から手動ダウンロード
# jre-8u131-windows-x64.exe
# を該当サーバ上で実行

→必須モジュールが満たされるとインストールが開始される

ESET Remote Administratorのアクティベーション
製品認証キー:ESET Endpoint Protection シリーズ ユーザーズサイトより取得する

[Remote Administrator サーバー]
Webコンソールユーザー: Administrator
パスワード: 任意


証明書情報:マニュアルに従い、必須項目のみ設定
-----
組織単位:ブランク
組織:ブランク
ローカル:ブランク
州/国:ブランク/JP
権限共通名:サーバー認証局
権限パスワード:ブランク
-----

[Remote Administrator エージェント]
設定なし

[Apache Tomcat]
設定なし

[Webコンソール]
設定なし

[Rogue Detection Sensor]
WinPcapのインストールウィザードは初期値のまま完了させる

[Apache HTTP プロキシ]
設定なし

→インストーラが終了すればOK

https://サーバIP/eraにアクセスし、上記で設定したアカウントでログインできることを確認。
Chap4.

サーバのファイアウォールで内部ネットワークからの443接続を許可しておく
ERAにhttps://ホストIP/era/webconsole/ で接続できることを確認。
(オレオレ証明なのでChromeとかで開く)

ERA用エージェントのサイレントインストー

全員にESETおよびERA用のインストールを依頼する必要があったが、ERAについては証明書やら対象サーバやらをインストーラの途中で入力してもらう必要があったため、ライブインストーラを用意した。

ERAの[管理]-[エージェントライブインストーラ]より
==========
インストーラ証明書
 サーバーホスト名(またはサーバーのIPアドレス):<IPで指定>

ピア証明書
 ERA証明書 を選択

ERA証明書
 サーバー証明書 を選択(サーバー支援インストールの…は選択しないこと)

証明書パスフレーズ
 ブランク
==========
で[インストーラの取得]→各OS用のパッケージが表示される



ライブインストーラを実行すると、エージェントアプリケーションをネットから取得してくるため、回線が細い環境では厳しい。Windowsマシン用の場合、ライブインストーラの以下を修正することでバッチと同じフォルダのmsiを使ってインストールしてくれる。

before

set url=http://repository.eset.com/v1/com/eset/apps/business/era/agent/v6/6.3.177.0/Agent_x64.msi
if defined IsArch_x86 (
  set url=http://repository.eset.com/v1/com/eset/apps/business/era/agent/v6/6.3.177.0/Agent_x86.msi
(中略)
echo.Dim params: params = "/qr /i " ^& packageLocation ^& " /l*v %temp%\ra-agent-install.log" ^&_

after

set url=%~dp0Agent_x64.msi
if defined IsArch_x86 (
  set url=%~dp0Agent_x86.msi
(中略)
echo.Dim params: params = "/qr /i " ^&"""!url!"""^& " /l*v %temp%\ra-agent-install.log" ^&_

以上、メモまででした。