zuntan02のはてなブログ

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

【メモ】リンク時にリファラを切る

【先に結論】

rel=noreferrer

a 要素や area 要素に rel=noreferrer を指定すると、そのリンクは Referer: を送信しなくなります。

<a href="http://www.example.com/" rel=noreferrer>リンク</a>

アクセスログ

rel=noreferrerなし(普通のリンクタグ)
xxx.xxx.xxx.xxx - - [10/Oct/2017:16:21:43 +0900] "GET /hogefuga.php?s=xxxxx HTTP/1.1" 200 6694 "-" "http://hoge.jp/fuga.html" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"

リファラhttp://hoge.jp/fuga.html が記録されている

rel=noreferrerあり
xxx.xxx.xxx.xxx - - [10/Oct/2017:16:22:15 +0900] "GET /hogefuga.php?s=xxxxx HTTP/1.1" 200 6694 "-" "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"

リファラは"-"

【参照】

こちらがたいへん詳しい
https://qiita.com/wakaba@github/items/707d72f97f2862cd8000


# see.HTML Standard
https://html.spec.whatwg.org/#link-type-noreferrer
「4.6.6.12 Link type "noreferrer"」

【メモ】Wordpressの引っ越し/開発環境作成など:all-in-one-wp-migrationが完璧すぎた

ロリポWordpressのサイトの開発環境を作ろうと思ってちょっとググったら以下のプラグインが推奨されていたので使ってみた。
All-in-One WP Migration — WordPress プラグイン
結果としてはもうこれでいい、これでパーフェクト!という感じ。

手順はいろんなところにあるので適当にググってもらうとして
(この辺とか)
webboy.jp


今までファイルとDBを個別にDLしたりアップロードしたりしていたのがウソのような楽ちんさ。
今後の自分のためにメモっておく

【DNS/MXレコード】twitterの承認メールが届かなかった(MXレコードにはIPアドレスではなくFQDNを)

【状況】

自前でqmail+vpopmailサーバを動かしていて、twitterからの承認メールが届かない。
大抵のメールサーバからはメールが届いているのだけど、twitterの承認メールは失われている。

【原因と解決】

smtpdのログにも足跡が無いのでDNSの設定を疑ったところ、DNS(Route53)の設定で
MXレコードがIP直打ちになってた(誰だこれやったの>俺だ)。
RFCでMXレコードには、ホスト名を記述することになっている。
detail.chiebukuro.yahoo.co.jp

→そのように変更したところ、twitterからのメールが届いた。

【Route53でMXレコード修正】

【参照】
blog.apar.jp

1)メールサーバのAレコード追加

 Nameにサブドメイン「mail」
 ValueにサーバのIPアドレスを入力して作成

2)MXレコードを登録

 Nameは空欄
 Valueに「<プライオリティ> <メールサーバのFQDN>」を入力して作成
 ex. 10 mail.hoge.com.
※メールサーバのFQDNの mail.hoge.com. 最後のピリオドを忘れないように!

dig hoge.com mx
;; ANSWER SECTION:
hoge.com.                300     IN      MX      10 mail.hoge.com.

【AWS】EC2のディスク(EBS)拡張_ext4の場合

【参考】
docs.aws.amazon.com

Amazon EBS Elastic Volumes - Amazon Elastic Compute Cloud
★LVMの場合は以下を参照のこと。
KUSANAGI AWSでLVMディスクを拡張 | 合同会社ジョートー

■マネジメントコンソールよりディスクボリューム拡張

[EC2ダッシュボード]-[ボリューム]
→対象のボリューム: vol-hogehogeを選択

[アクション]-[ボリュームの変更]
「ボリュームの変更」ウィンドウに、ボリューム ID とボリュームの現在の設定
(タイプ、サイズ、IOPS など) が表示されます。
これらの設定のいずれかまたはすべてを 1 回のアクションで変更できます。

f:id:zuntan02:20170929113135p:plain

■ボリュームサイズ変更後の Linux ファイルシステムの拡張

ファイルシステムを確認のうえ、EBS ボリュームのファイルシステムを拡張します

ファイルシステムの確認
sudo file -s /dev/xvd*
/dev/xvda:  GPT partition table, version 1.0(省略)
/dev/xvda1: Linux rev 1.0 ext4 filesystem data(省略)

ext4なのでresize2fsで拡張することになる。
ファイルシステムがXFSの場合は
【AWS】EC2のディスク(EBS)拡張_xfsの場合 - zuntan02のはてなブログ
をご参照ください。

現在の容量確認
df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        991M   56K  991M   1% /dev
tmpfs          1002M     0 1002M   0% /dev/shm
/dev/xvda1      7.8G  7.1G  589M  93% /
list block devices確認
lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  100G  0 disk
 - xvda1 202:1    0    8G  0 part /

→ルートボリュームであるdev/xvdaは100GiBに拡張されているが、パーティションxcda1はまだ8GiBのまま

growpartコマンド(※)でEBSのルートボリュームサイズにあわせて、ボリュームを拡張

※デバイス名とパーティション番号の間にスペースがある点に注意してください。

sudo growpart /dev/xvda 1
CHANGED: disk=/dev/xvda partition=1: start=4096 old: size=16773086,end=16777182 new: size=209711070,end=209715166

※AmazonLinuxは最初から入ってるけどCentOS6のAMIだと入ってない模様。growpartが入ってない時は以下で。あとCentOS6の場合はgrowpartの後再起動が必要です。

yum install epel-release
yum install parted cloud-utils cloud-utils-growpart
list block devices再度確認
lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  100G  0 disk
 - xvda1 202:1    0  100G  0 part /
各ボリュームでファイルシステムを拡張

拡張実行:ext4なのでresize2fs

sudo resize2fs /dev/xvda1
確認
df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        991M   56K  991M   1% /dev
tmpfs          1002M     0 1002M   0% /dev/shm
/dev/xvda1       99G  7.1G   92G   8% /

→拡張された

■コマンドについて

lsblkコマンド
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-sysinfo-filesystems.html

growpartコマンド
[AWS] EC2 HVMタイプを使う時のファイルシステム周りの作業1(容量拡張、growpart利用) – harumaki.net

マウントされたストレージサイズが上がるだけでOSから認識されたファイルシステムの容量は変更されない。
この部分はcloud-utils-growpartに含まれるgrowpartコマンドを用いて、手作業でファイルシステムの容量を増やす必要がある。

■その他参考
dev.classmethod.jp

MacBookProRetinaのディスプレイに縦線が出てたけどコーティング剥がれ対策プログラムで無償修理になったメモ

【修理前の状態】

こんな感じで縦線が出てた。
f:id:zuntan02:20170902115007j:plain

画面の端っこだからまぁ何とか使えてはいたんだけど、だんだん線が増えていく感じだったので修理だそうかなー、と思ってAppleに電話してみたら、5-6万円くらい、との回答。じゃあいいです、と思ってそのまま我慢して使っていたところ、以下のような情報(非公式の無償交換プログラム)を知った。

【ディスプレイ交換プログラム(無償)について】

www.milejournal.com


上記コーティング剥がれも派手に起きていたので、ダメ元で
「コーティング剥がれだけ対応をお願いします。画面に線が出る件については(費用がかかるなら)そのままでもいいです。」
といった内容で伝えたところ、特に何の回答もないままに無償修理で画面の線は消えていた。
(ディスプレイごと交換しているようなので、期待はしていた……)

参考になれば。。

【PHP】エラーログの出力を確認する

【目的】

phpインストール時にエラーログの設定ができておらず、エラーが記録されないという問題を回避したい。
意図的にエラーを出力してログが記録されることを確認する。

【方法】

PHPログの出力先チェック

php -r 'phpinfo();' | grep log

error_log => /var/log/php/php_errors.log => /var/log/php/php_errors.log
意図的にerrorログを出力させる

例)

echo '<?php
new mysqli($host,$user,$pass,$date);
?>' > /home/hogehoge/test.php

# 実行 
/usr/bin/php -f /home/hogehoge/test.php

# エラーログ確認
tail -f /var/log/php/php_errors.log
→エラーが記録されていればよい

# 消しとく
rm -rf /home/hogehoge/test.php