アフィリエイト広告を利用しています

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

sshでvi・lessが文字化け。さくらレンタルサーバーならこれで直ります。

さくらインターネットのレンタルサーバー(スタンダード)契約しています。sshでログインし、作業することがあります。扱っているソースコード(UTF-8)やログ(UTF-8)の中には全角文字列が含まれることがあります。
この全角文字はcatでは表示できるけど、less、viでは文字化けを起こします。
  • cat ログファイル
  • less ログファイル →全角文字列が化ける
  • vi ログファイル →全角文字列が化ける


扱っている文字コードはUTF-8・・・・
posted by scripts at 15:54 | Comment(0) | TrackBack(0) | さくら

WordPressのルートフォルダにHTMLファイルは置かない方がいいかも(REQUEST_FILENAMEの謎)

この記事はさくらインターネットでスタンダードプランを契約中のサーバーでの話です(2022年8月4日時点)。
カテゴリー的には旧サーバーの部類になります。WebサーバーはApache/2.4.54。

ご存じのようにWordPress導入で、.htaccessファイルに以下のような記述が追加されます。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress


  1. RewriteRule ^index\.php$ - [L]

    /index.phpの場合、この行で終了する命令です


  2. REQUEST_FILENAMEは、apacheサーバー側で認識したフルパスのファイルです。
    The full local filesystem path to the file or script matching the request, if this has already been determined by the server at the time REQUEST_FILENAME is referenced.
    mod_rewrite

  3. RewriteCond %{REQUEST_FILENAME} !-f

    REQUEST_FILENAMEがファイルだった場合、ここで終了します。


  4. RewriteCond %{REQUEST_FILENAME} !-d

    REQUEST_FILENAMEがディレクトリだった場合、ここで終了します。


  5. RewriteRule . /index.php [L]

    実際のファイルがない、ディレクトリがない、この条件を満たした場合、index.php(WordPress本体)を呼び出し、終了します


  6. WordPressで追加された.htaccessの記述の意味、なんとなくわかった感じですよね。


apacheが判断して格納するREQUEST_FILENAMEはそういう処理だったんですね


WordPressをインストールした/直下には、index.phpのほか、readme.htmlがあるかと思います。
  • /index.php
  • /readme.html


https://あなたのドメイン/readme/
でアクセスしてみてください。readme.htmlが表示されます。

a.htmlやb.txtを配置しても同様です。
https://あなたのドメイン/a/→a.htmlが表示される。
https://あなたのドメイン/b/→b.txtが表示される。

c.phpは「要求された URL はこのサーバーで見つかりませんでした。」とエラーになります。
https://あなたのドメイン/c/


https://あなたのドメイン/a/→a.htmlが表示される


REQUEST_URIはaのはずですよね。REQUEST_FILENAMEはaでファイルなしかと思いきやa.htmlが見つかるってことです。

つまり、/a/は、a.html、a.txtを探し、ファイルが存在した場合、REQUEST_FILENAMEに設定されてしまうってことです。

apacheの挙動なので、ユーザーサイドで何かするのは難しいと思います。

まとめ:多分バグかも、見方を変えると何か裏技的な方法に?


nginxを利用したサーバーでは、https://あなたのドメイン/readme/にアクセスしても、wordpressの404ページに遷移してくれます。さくら側の挙動はapacheの不具合だと思われます。

WordPress内で設定するアーカイブやタグ、カテゴリと一致してしまうファイルを置いてしまうと誤動作するってことになると思います(試していません)。要注意ですね。

見方を変えると、これは.htmlを隠してアクセスするちょっとイケてる?公開方法に活用できるかもしれませんね。(不具合が修正された場合、404ページに遷移してしまうリスクあり)




posted by scripts at 17:13 | Comment(0) | TrackBack(0) | さくら

お名前コムで取得したドメインをさくらサーバーで使う、戻す方法

ここでは、お名前コムで取得したドメインをさくらサーバーのスタンダードに設定して使う方法、設定したドメインをさくらサーバーからお名前コムに戻す方法をご紹介しています。
さくらサーバーのスタンダードは、初期ドメイン(sakura.ne.jpのサブドメイン)の他に2つまで無料のサブドメインを取得して使うことができます。独自ドメインも契約できます。GMO系列に比べると価格が少しお高めなのでお名前コム、バリュードメインなどで取得することが多いです。

ドメインは移管するの?


お名前コムで取得したドメインを他社レンタルサーバーで利用したい用途なら移管する必要はないです。
レジストラーが提供するWebの機能に不満がある、そういった方は気に入ったレジストラーへ移管することで幸せになれますね。


ここでは、ドメインを移管しない方法をご紹介しています。移管したい方はこのページで悩みを解決できません。

お名前コムで取得したドメインをさくらサーバーで使う流れ


すでにお名前コムを使ってドメインを取得した、これからドメインを取得する方どちらの方もこの流れで対応できます。

お名前コムで取得したドメインは、ドメインNaviを使います。


ドメインNavi(https://www.onamae.com/domain/navi/domain)にログインすると取得済みドメインの一覧が表示されます。表は、ドメイン名、更新期限日、契約更新、サーバー申込み、Whois情報公開代行、ネームサーバーなどが表示されています。

この表にある、ネームサーバー、これが今回使う機能になります。

ネームサーバー列の「変更する」ボタンをクリックすると「ネームサーバーの変更」画面に表示が切り替わります。「ご登録情報に変更・相違はありませんか?」というメッセージが表示される方もいるかもしれません。変更がないようでしたら「情報は正しいので、手続きを進める」ボタンをクリックします。


お名前.com各サービスを利用、他のネームサーバーを利用、2つのタブが表示されていますよね。
さくらレンタルサーバーで取得したドメインを使うためには、「他のネームサーバーを利用」をクリックします。

ネームサーバー情報を入力で1プライマリーネームサーバー(必須)、2セカンダリーネームサーバー(必須)、3、4、5の入力項目が表示されていることを確認してください。

まだ確認画面へ進むボタンは押しません。ここまでで1つ目の変更の準備が整いました。

さくらレンタルサーバーの管理画面から新しいドメインを追加します


さくらレンタルサーバーの管理画面から新しいドメインを追加する方法は、さくらサポート情報【ドメイン設定】他社で取得・管理中のドメインを利用を参照してください。
スクリーンショット付きで詳しく書いていあります。

「STEP4 ネームサーバの変更」でネームサーバー1 ns1.dns.ne.jp、ネームサーバー2 ns2.dns.ne.jpを指定します。ここで先ほどログインしたドメインNaviを利用します。

1プライマリーネームサーバーへ「ns1.dns.ne.jp」、2セカンダリーネームサーバー「ns2.dns.ne.jp」を入力し、確認画面へ進むボタンを押して、確認後確定します。


しばらく待つと切り替わってさくらインターネットで設定したサイトにアクセスできるようになります。

インターネットの環境によっては、反映完了まで24時間から72時間程度かかる場合があります。本当?


「インターネットの環境によっては、反映完了まで24時間から72時間程度かかる場合があります」を目にしたことがあります。さくらインターネットのコントロールパネルでドメインを追加、お名前コムでネームサーバーを切り替える、たったこれしかしていないのに、24時間から72時間程度かかるって本当でしょうか?って疑問ですよね。

ある意味本当です。

注目したいのは「インターネットの環境によっては、」という箇所です。

ネームサーバーとは


ネームサーバーは、ドメイン名とIPアドレスの対応を管理してくれるサーバーです。このサーバーではドメインネームサービス(DNS)が動作しています。これが本当に管理してくれる実態です。

ネームサーバーは全世界に至るところに存在します。メインとなるネームサーバーもあります。ルートネームサーバとも呼ばれます。

DNSと聞くと、ドメイン名で問い合わせるとIPアドレスがわかったり、IPアドレスで問い合わせるとドメイン名がわかるものというイメージかもしれません。これ以外にDNSはドメイン名、IPアドレスのデータを動的、静的に管理する仕組みがあります。

DNSサーバーに未登録のドメインは、DNSサーバーがより上位のDNSサーバーに問い合わせて解決しようとします。ここで得た情報は、ある一定期間DNSサーバー内にキャッシュされ活用されます。

このキャッシュされる時間は、DNSサーバーの設定に依存します。古くからの慣例で1日としているサーバーが多いです。

=>キャッシュが短いDNSサーバーは素早く反映されます。


会社からインターネットにアクセスする際は、会社で立ち上げているDNSサーバーを経由してアドレスを特定しています。家庭からインターネットにアクセスする場合は、プロバイダーが提供しているDNSサーバーを経由してアドレスを特定しています。DNSサーバーはいたるところで立ち上がっています。同じようにキャッシュされる仕組みです。キャッシュする設定はサーバーに依存します。
=>インターネット環境とは、どちらかというと自身がアクセスするインターネット環境という意味合いが強いです。

さくらサーバーからお名前コムに戻す


さくらインターネットのスタンダードプランで使っているドメインをお名前コムに戻して、さくらサーバー以外で利用したい場合がありました。ここではその時行った手順をまとめています。元に戻すドメインはサブドメイン利用していないドメインです。

お名前コムで取得したドメインをさくらインターネットで使う場合、さくらインターネットのコントロールパネルでドメインを新規追加、お名前コムでネームサーバーをdns.ne.jpに切り替える流れでしたね。

この逆順が正解だと思っています。さくらインターネットから削除する際、そのサイトを削除する操作になります。バックアップが必要な方は事前に実施しておく必要があります。また、「共有SSL」 「SNI SSL」 「Webアプリケーションファイアウォール」の設定をしたまま削除はできません。解除方法はこちらでわかります。


1 ドメインNaviへアクセスし、ネームサーバーを初期設定します


「お名前.com各サービスを利用」タブにある初期設定に戻す「設定する」ボタンをクリックします。
「ネームサーバーの変更 確認」画面で対象ドメインが戻したいドメインになっていることを確認します。ネームサーバー情報には、お名前コムのドメインが表示されています。よければ「設定する」ボタンをクリックします。

ドメインがお名前コムに移るまで待ちます。


待ちます。
ブラウザからアクセスし、このドメインはお名前コムで管理されていますと表示されるまで待ちます。

3 さくらインターネットのコントロールパネルからサイト(ドメイン)を削除します


ドメイン設定 ドメイン/SSL設定を開いて、削除ボタンをクリックします。ドメインの削除 確認画面に移ります。削除ドメイン名がお名前コムで初期化したドメインであることをしっかり確認し、「送信」ボタンをクリックします。
間違って削除すると2時間は戻すことができません。

ワードプレスのデータベースなどもがっつり削除されるので間違えないようにしてくださいね。


3、1の順番でもうまくいくかもしれません。初期設定した逆順が安心ですよ。

まとめ


お名前コムで取得したドメインをさくらサーバーで使う、戻す方法をご紹介してきました。使う方法はよく目にします、戻す方法を目にする機会がないので記事にしてみました。

お使いのDNSサーバーのキャッシュ設定を確認したい場合、digというコマンドを利用するのが一般的です。
Windowsではnslookupコマンドを使います。
コマンドプロンプト> nslookup
> set debug
> 確認したいドメイン
----
権限のない回答
----
ここにttlまたは default TTLがキャッシュ設定になります。

TTLは秒で示されることが多いです。2774と表示されていたら46分14秒という意味になります。





posted by scripts at 15:28 | Comment(0) | TrackBack(0) | さくら
最新記事
最新コメント
タグクラウド
カテゴリアーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。