IT技術に関する情報掲載サイト

プログラミングに関することを掲載します。

Googleが提供する技術関連のサイト

Googleは、各サイトがよくなれば、自然とGoogleもつかわれるだろうという考え方でいろいろな情報を提供しています。IT系の情報サイトから収集するのもいいですが、その場合、やはりワンテンポ遅くなってしまうので、英語サイトもありますが、できれば、Googleから最新の情報を収集するのが一番いいです。

 

Google ウェブマスター(https://webmaster-ja.googleblog.com/

Googleがフレンドリーなサイト制作・運営に関するウェブマスター向け公式情報

基本的なものが掲載されるので、まずは、このサイトを読んどくべきです。

 

・Web.dev(https://web.dev/

サイトの分析や、そのサイトで実行可能なガイダンスによって、開発者がサイトやアプリにウェブの最新機能を習得して適用できるように支援するGoogleのサービスです。英語で書かれているサイトですが、ぜひ閲覧すべきさいとです。

 

まだまだ、あるので随時追加していきます。

Pleskで、メール設定がOFFかどうか調べる方法

WEBサーバとメールサーバが違うサーバにある場合、ローカル配送を防ぐために、WEBサーバ上でメールサーバを止める必要があります。ただ、複数ドメインを設定している場合、たまに設定がもれてしまう。漏れてしまうと、メールフォームなどからのメールが届かない場合が起きてしまい、大問題になってしまうケースもあるので、確認する必要があります。Pleskでは、設定情報をデータベースのpsaの中に保存しているので、その情報を参照するのが一番はやいです。

SQLは、

select domains.name,DomainServices.* from domains,DomainServices where DomainServices.dom_id = domains.id and type= "mail" 

 です。結果が0だとメールサーバがONになっています。64などだと、OFFです。

 

あまり使うケースはすくないかもしれませんが、Pleskをよく使う人にとっては、覚えておくと便利かもしれません。

 

※ローカル配送とは

メールサーバーの特性上、同一サーバーに送信元と送信先のメールアドレスがある場合は、DNSを参照せずにサーバー内でメール配送を完了します。 これをローカル配信(内部配信)といいます。サーバー移転直後に起こりやすいケースです。

 

EC-CUBE3でカートに商品が入らなくなった際の対応方法

EC-CUBEは、現在バージョン4をが最新バージョンですが、まだまだ、バージョン3を使っているかたもいらっしゃるかと思います。

バージョン3を使っていて、エラーとか、プログラム変更とかはしてなくて、急にカートに商品が入らなくなった場合、PHPのバージョンが7.2以上になってしまっていないか確認してみてください。

なってしまっていたら、PHP7.1に戻して動くか確認してみてください。この対応で大体なおります。どうもPHP7.3では、EC-CUBE3は、細かい不具合がでてしまうようなので、使っている方は、気をつけてください。

シェルを使ってcURLでHTTPステータスコードだけを取得する

大量のホームページを管理している場合、ここのホームページの状態を監視するのは、大変な場合がある。全ページを監視するのは、大変なので、すくなくとも、トップページだけでも、監視するには、以下のコマンドをつかうと結構らくにできます。

 

$ curl -LI ドメイン名 -o /dev/null -w '%{http_code}\n' -s
200

 

 -w (write out)で http_code を指定しつつ、他は -o (output)で /dev/null にでも捨てる。 そして -s (silent)を指定して「進捗どうですか?」を表示しないようにしています。

あとは、は、whileなどを使えば、複数サイトを管理することができますので、試してみてください。

.htaccessを使ってhttpからhttpsにリダイレクトする方法

今は、ホームページをSSLにして、https通信をさせるようにして、セキュリティを向上させるのが当たり前になっています。

だが、まだまだ、httpのままのホームページがあり、新たにhttpからhttpsに変更した際、ホームページに訪問した人やGoogleなどの検索エンジンにしらせるために、強制的にリダイレクトをさせる必要があります。

一番簡単な方法は、.htaccessに以下を追加すれば、かんたんにhttpからhttpsにリダイレクトされます。

 

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

SEO対策のために、リダイレクトの際、必ず、HTTPステータスを301にするようにしてください。

※サーバによって使用できない場合があります

EC-CUBEで「ContextErrorException in AbstractToken.php line 164: Notice: unserialize(): Error at offset 」と表示されたとき

EC-CUBEで、MYページにログインしたあと、MYページ内のページを何回移動したら、エラーとなったり、ログアウトしたりという現象がでて困った。

特に修正したわけではないのに、エラーとなるのは、おかしいなと色々調べてみると、どうも、PHP7.3にバージョンアップしたものに伴うsymfonyのバクのようだったので、以下のURLを参考に直してみました。

 

EC-CUBEフォーラム 「PHP7.3にした後、商品購入をすると、購入完了画面でunserializeエラーになる」

xoops.ec-cube.net

 

以下の修正を適用しました。

github.com

LinuxのCentOSでのホスト名の変更方法

 新しくサーバの設定をする際に、デフォルトのホスト名がIPアドレスになっていたので、メールを送信するときに不都合が起こるので、ホスト名を変えてみた。

hostnameでも変更できるようだけど、hostnamectlコマンドを使ってみました。

まず、現在の設定を確認

 

$ hostnamectl

Static hostname: xxx-xxx-xxxx

Icon name: computer-vm

Chassis: vm Machine ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Boot ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Virtualization: kvm

Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-957.1.3.el7.x86_64 Architecture: x86-64

Static hostnameが現在のホスト名となります。

次にホスト名を変更します。

hostnamectl set-hostname 新ホスト名

サンプルで

$hostnamectl set-hostname new-hostname 

 

と実行して、もう一度、hostnamectlで変わっているか確認し、Static hostnameが変わっていたら、変更完了です。

実際変わっているか、hostnamectlで確認してみると、

$ hostnamectl 

Static hostname: new-hostname

Icon name: computer-vm

Chassis: vm Machine ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Boot ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Virtualization: kvm

Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-957.1.3.el7.x86_64 Architecture: x86-64

 

 

となっていれば、反映完了です。

ちなみに、hostnamectl ツールは、システム上で使用中の 3 つのクラスのホスト名を管理するためのものです。