zuntan02のはてなブログ

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

ひかり電話解約でPR-400MIのルーター機能停止からのipv6によるインターネット接続復旧メモ(フレッツ光ネクスト+@nifty)

【起きたこと】

ひかり電話解約したらインターネットがつながらなくなった。

【状況】

フレッツ光ネクストを利用しており、ルータはNTTから貸与されたホームゲートウェイ(うちではPR-400MIだった)でPPPoEしていた。

→ホームゲートウェイ(HGW、黒いやつ)はONUルーターWi-Fiひかり電話などの機能が一体となった機器であり、このうちひかり電話を解約すると同時にルーター機能がオフになるとのこと。なぜ……

ちなみにプロバイダは@niftyで、はるか昔にv6プラスも有効にはしていたが、よくわかってなかった。速くなるから有効にしますか?って言われたから有効にしたくらいの認識。

【対応履歴】

1)WiFiのためにブリッジモードにしていたWiFiルータ(DecoM5)でPPPoE接続した →下り1Mbpsとか遅い。いままで知らず知らずのうちにv6プラスの恩恵を受けていたことを知る。

2)定番のRTX830を購入して「v6プラス」設定→接続できない。 →MAP-E(IPv4 over IPv6)しないで単純にIPoEなら接続状態になるがIPv4のサイトが見えないので使えない。

@niftyについて調べると、@nifty v6サービスが「v6プラス」の場合はHGWがある前提になっているみたいで、ひかり電話解約にあたってはv6サービスを一度解約して再度有効にする必要がある模様。

@niftyの会員画面から@nifty v6サービスを一度解約の後、再度有効化してみたところ、接続事業者は「v6プラス」ではなく「NTTコミュニケーションズ株式会社(OCNバーチャルコネクト)」というものになっていた。

3)RTX830に再度設定

これで繋がった!

【おまけ:MAP-EにしたらVPNつながらなくなる?】

「IPv4overIPv6にするとVPNがつながらなくなる」みたいな話をたくさん見たのでちょっと確認。自分の使い方(自宅から会社のVPNサーバ経由で出ていく)は特に問題なかった。

・1)外部のOpenVPNサーバに接続する:〇

仕組み上問題ないとは思ったが念のため。問題なく接続できた。

・2)自分自身(RTX830)をVPNサーバとして外部から接続する:×

ipv6のみだとこれができないっぽい。@niftyipv4ipv6の併用ができるので、RTX830にPPPoE設定を追加してマルチセッションにしてやればいけそうな気はする。 宿題:下記を参照にIKEv2の設定を投入してみたけど、コマンドの詳細が分かってなくて、そのままだとipv4になってしまうみたいなので戻した。 www.rtpro.yamaha.co.jp

いったんんここまで。

shokz OpenRunを壊したけど無償で交換してもらえたメモ

【まとめ】

Amazonで買った骨伝導イヤホン Shokz OpenRun を壊してしまったのだけど、2年保証が効いて無料で新品と交換してもらえた。

【経緯】

昼食に出たうどん屋の駐車場でOpenRunを落としたのに気付かず、戻ってきたら車に踏まれてポッキリと。

哀れなOpenRun

買ってからこの1年で最早生活になくてはならないものになっていたので、ついでに前から気になっていた Shokz OpenRun Proを購入、うーん、音の違いわからんな……というところで、なんか2年保証があることに気づく。ダメ元でサポートサイトから問い合わせてみたら以下の回答が。マジか!

【交換品の手続きについて】
1.製品の故障状況、動作の不具合をメールで確認します。
2.お客様の保証期間、保証書を確認します。
3.お客様には、不良品をご返送ください。
4.配送業者の追跡番号をShokz JPまでお送りください。
5.ご返送品がShokz JPに到着次第、不良品の状況を確認し、Shokz JP内にて発送手配します。
6.倉庫より交換品(未開封品)を出荷します。
7.交換品の出荷状況をお知らせします。
8.交換品は出荷後、配送業者より5営業日以内の到着が予定されています
(休日、祝日の場合、休暇明け以降順次発送となります)。

後日上記の通りやり取りして発払いで返送したところ速攻で新品が送られてきた…… PRO買っちゃったしなぁと思って奥さんに譲ったのだった。

【まとめ】

自分の瑕疵で壊しちゃったのでダメかなぁと思ってる向きには、問い合わせてみることをお勧めします。

さくらのレンタルサーバにむけていたネームサーバをお名前に戻した

【経緯】

  • 1)お名前で取得したexample.comををさくらのレンタルサーバに持ち込み、サイトとメールを運用していた。 ※この際ネームサーバはさくらのものを指定

  • 2)このexample.comにTXTレコードを追加する必要が出てきた。さくらのレンタルサーバのみの契約の場合、ゾーンファイルの編集は出来ない。 ※「ネームサーバー(オプションサービス)」を申し込めば変更可能となる模様(月額1100円…)

  • 3)ネームサーバをお名前に戻して解決

【さくらに聞いたこと】

  • 1)現在契約しているさくらのレンタルサーバIPアドレスは変動しないか? →変動しない(ただし、今後、大規模なメンテナンス等で変更される場合もあるので案内を見てねとのこと)

  • 2)ネームサーバを外部で管理する場合の設定内容について

    ウェブサーバ・メールサーバを引き続き弊社サーバで運用される場合、[A/MX/およびwww.のCNAME]とTXTレコードの設定を推奨しております。 恐れ入りますが、それ以外の項目については、お客様のメールソフトやFTPソフトの設定内容によりますため、弊社では判断いたしかねます。 なお、MXレコードは下記のとおり、初期ドメインで設定していただけますでしょうか。

参照:

help.sakura.ad.jp

【ハマりポイント】

さくらはメールクライアントに設定するメールサーバを「example.sakura.ne.jp」のような初期ドメインにしてねと言っているが、 メールサーバー名としてmail.example.comが利用されている可能性があるため、mail.のCNAMEを忘れないようにする。

あとなにげにお名前のメンテナンスが1日あったりして作業がができなかった。

【やったこと】

1)現在のさくらのNSで設定されているものをdigで拾う

example.com.           3600    IN      TXT     "v=spf1 a:wwwxxxx.sakura.ne.jp mx ~all"
example.com.           3600    IN      A       xx.xx.xx.xx
example.com.           3600    IN      MX      10 example.sakura.ne.jp.
www.example.com.       3600    IN      CNAME   example.com.
mail.example.com.      3600    IN      CNAME   example.com.

2)お名前のゾーンファイルに転記したうえでネームサーバをお名前のものに戻す

以上

エックスサーバー構築中のメール送信について

別のレンサバで動作中のサイトをエックスサーバに移管しようとした場合に、構築中の新環境からのメールが届かないということがありエックスサーバーのサポートに問い合わせた回答をメモ

【問い合わせ内容】

別サイトで運用中のドメイン example.com を移管しようと、エックスサーバ上に環境を作成しております。 ドメイン設定でドメインexample.com」を追加した状態で、まだNSは向けておりません。

このサーバから username@example.comにメールを送ると、現在利用中(非エックスサーバ) のメールサーバにはメールは届かず、エックスサーバ上のメールボックス(username@example.com) にメールが届いているようですが、これは仕様でしょうか? (該当サーバ内から送るとlocalhostあてに届く?)

【サポートより回答】

サーバーパネル上に対象ドメインのメールアドレスが 作成されておりますと、同じエックスサーバーのサーバーから 送信されたメールが、DNS情報に関わらず、エックスサーバーの サーバーへと【内部配送】されます。

仕様っぽい

エックスサーバーのアカウント間でのサイト移管での注意点

エックスサーバー上で動作中のサイトを、別アカウントのエックスサーバーに移管した際の注意点

【ハマったパターン】

入力されたドメイン「example.com」は既に設定されています。

となり作成できない……

【結論】

引っ越しが完了するまではDNSの向き先を変えずに、hosts書き換えで確認しようと思ったけど、上記問題があってできなかった。 旧エックスサーバーアカウントでexample.comを削除すると即座に新エックスサーバーでexample.comが作成できるようになるが、切り替え時はサイト断を避けられなかった。

エックスサーバーにWordpress+Laravel環境構築

ゴールイメージ

【参照】

https://reffect.co.jp/laravel/xserver-laravel8#i https://www.xserver.ne.jp/manual/man_program_soft.php https://kinokomarket.com/web/deploy-webservice-to-xserver/ https://miya-system-works.com/blog/detail/server-xserver-laravel/

【WPとLaravel相乗りの構造】

/home/userdir
│  
├──ドメイン用ディレクトリ
│        ├──laravel
│        │      └──app(Laravelプロジェクト) 
│        │
│        └──public_html(Wordpress)
│                └──app(上記Laravelプロジェクトへのシンボリックリンク) 

【上記構成の理由】

当初/home/userdir直下にlaravelアプリを配置し、ドメインディレクトリよりシンボリックリンクで参照させたがLaravel側の.htaccessが解釈されなかった。 Xserverで用意された”ドメイン”(ドキュメントルートを含むディレクトリ)以下でないと.htaccessが正常に動作しないものと思われた (間違ってたらご指摘ください。。。)

事前準備

1)SSHの設定 [SSH有効化]

  • SSH設定:ONにする

  • 公開鍵認証用鍵ペアの生成:パスフレーズなしで作成、取得

ssh hogehoge@hogehoge.xsrv.jp -p 10022 -i hogehoge.key

で接続して以下の作業ができるようにする

2)Wordpressが利用しているPHPのバージョン変更 WPの利用バージョンがLaravelで利用する予定のPHPとズレてる場合はあわせとく

例)[PHP ver.切替]-[hogehoge.xsrv.jp]-[選択する] PHP7.4.33(推奨)→ PHP8.1.12 で[変更]

Laravelのインストール

STEP. 1 CLI版のPHPバージョンを切り替える

# シンボリックリンクを作成する
cd ~
mkdir bin
ln -s /usr/bin/php8.1 $HOME/bin/php
ls -la $HOME/bin/
# lrwxrwxrwx 1 hogehoge members  15 May  8 21:27 php -> /usr/bin/php8.1


# .bash_profileを編集する
vi .bash_profile
=============
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

#PATH=$PATH:$HOME/bin ←1.コメントアウト
PATH=$HOME/bin:$PATH ←2.新たに記述します

export PATH
=============

# 再読み込み
source .bash_profile

# バージョン確認
php -v
# PHP 8.1.12 (cli) (built: Oct 31 2022 09:40:07) (NTS)
# Copyright (c) The PHP Group
# Zend Engine v4.1.12, Copyright (c) Zend Technologies

STEP.2 Composerをインストールする

# composer -V
# Composer version 1.10.22 2021-04-27 13:10:45
# 初期状態でもV1.10が入っていた
# 最新化するため以下の手順を実施
# 

# Composer公式手順:https://getcomposer.org/download/
#=========
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
# =========
# composer.phar がダウンロードされるので、composer のコマンドで実行できるように、PATHが通っている場所へ移動させます。
# →composer.pharをcomposerという名前にして.config/composer/vendor/bin/の下に保存します。
cd ~
mkdir -p .config/composer/vendor/bin/
mv composer.phar .config/composer/vendor/bin/composer

# .bash_profileに新たなパスの追加
vi .bash_profile
=============
#PATH=$HOME/bin:$PATH  ←1.コメントアウト
PATH=$HOME/.config/composer/vendor/bin:$HOME/bin:$PATH ←2.新たに記述します
=============

# 再読み込み
source .bash_profile

# 確認
composer -V
# Composer version 2.5.5 2023-03-21 11:50:05

STEP.3 Laravelをインストールする

# composerコマンドでLaravelインストーラをグローバルインストールします
composer global require laravel/installer

STEP.4 Laravelプロジェクトを構築する

cd ~/hogehoge.xsrv.jp
mkdir laravel

cd ~/hogehoge.xsrv.jp/laravel
composer create-project --prefer-dist laravel/laravel app

# 確認
cd ~/hogehoge.xsrv.jp/laravel/app/
php artisan -V
# Laravel Framework 10.9.0

STEP.5 Laravelのプロジェクトを公開する

#シンボリックリンクを作成する
ln -s ~/hogehoge.xsrv.jp/laravel/app/public ~/hogehoge.xsrv.jp/public_html/app

# .htaccess修正
vi /home/hogehoge/hogehoge.xsrv.jp/public_html/.htaccess
==========
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# rewrite to laravel app
RewriteRule ^app/(.*)$ app/$1 [QSA,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
==========
> RewriteRule ^app/(.*)$ app/$1 [QSA,L]
を追記

以上