ネット上のアクセスボリュームをUPさせ効率の良い集客をご提案します。

カテゴリー「トピックス」の記事

Caddy 高速WEB サーバ(http2 quic対応) on CentOS7

 / Linux Tips, Wordpress, テクニカル, トピックス, ノウハウ


http2対応の高速サーバを今回扱ってみる。このサーバはGo言語で開発されたWEBサーバです。導入にはコンパイルから行う場合はGo言語開発環境が必要ですが
バイナリーから入れるのであれば、特にGo言語開発環境は必要ありません。導入方法は幾つかやり方があります。一番簡なのはCentOS7の場合ならepelレポジトリー
から導入するのが簡単です。今回はこのサーバを理解するため少し手間がかかるバイナリーダウンロードから導入する方法を紹介します。
尚、今回は既存のサイトをcaddyで設置するやり方ですが、新規サイトであればSSL接続の鍵の取得などを無償のLet’s Encryptから自動取得してくれます。

バイナリーパッケージのダウンロード

バイナリーパッケージを配置し実行環境を作る。

caddy起動をsystemdに登録する

caddyサーバの15,16行目の実行ユーザとグループを指定します。
22行目を編集します。-quic追加とcaddyプロセスログファイルの出力先を変更します。

caddy設定ファイルを作成する

www.testserv.netでhttps接続のListenや設定情報は以下のように行います。
予め、selinuxはOFFにしておきましょう。caddyは比較的デバッグ情報が寡黙の傾向にあるのでくだらないことで悩まず最初は「setenforce 0」で無効。 きちんとWEBサーバとして動いたら、「setenforce 1」で影響がないか確認すると良いと思います。 尚、この設定でQualisのSSLテスト評価で「A+」取得できました。

php-fpmの設定

caddyを起動する

トラブルシューティング

うまくcaddyが起動できていない場合は、おおよそlogのディレクトリパーミッション、SSL鍵のディレクトリパーミッションが原因のケースが多い。 「journalctl -xe」を実行して調べてみると良い。また、firewalldやiptablesでportが開放されているかチェックし、開放されてなければ該当portをオープンにしましょう。

DockerでWORDPRESSを導入する際のDataBaseバージョン(MySQL or Mariadb)要注意。

 / Linux Tips, Wordpress, wordpressテクニカル, トピックス, ノウハウ


昨今、大人気のDockerですが、システムはもちろんのこと中でも教育用に使われる機会は多いのではないかと感じます。WORDPRESSやLinux、各種言語の環境を素早く整えるために便利だと感じます。

初心者だけではなく、ITの専門家でも幅広くやっている方と一つに特化してやっている方で別れると思います。特に言語系技術とサーバ系技術は一緒で考えがちですがスケールが大きくなってくるとサーバ技術をきちんと持っているかどうかの違いが生じてきます。

そんなとき言語系でやられている専門家の方はDockerを使うことでハードルがぐんと下がるのではないかと思います。

前フリは長くなってしまいましたが、インターネットの世界ではWORDPRESSやPHPといった環境は圧倒的にWEBアプリケーションの中では使用頻度が高いためDockerで使用する人も多いと思います。

ということで、実際にDockerでWORDPRESSを使って見ようと思いました。
※今回はMariadbでWORDPRESSを使用したため問題なくあっさりWORDPRESSのインストールができましたが、Mariadb/MySQLを使う場合はバージョンをLatestバージョンにしてしまうと間違いなくハマります。環境による違いもあるのでDBエラーコネクションが表示される場合は以下のMySQL5.7.xをオススメします。

この原因はMySQLのバージョンがLatestだとVersion 8になってしまいWORDPRESSとのインターフェイスが取れなくなってしまうからですネットでもかなりVersion 8を無意識にインストールして接続できない問題で苦しんでいる方が多いようでした。

WORDPRESSで使う場合はMySQLのバージョンを5.7.xがよろしいと思います。下記のような感じで バージョン指定します。

【MySQLで接続する場合】

もし、様々な問題が生じたらやはりアプリ環境へログインして分析することが大切!

【デバッグは環境にログインしてアプリの設定を確認しよう】

Windows Hack(よく使うツールをコマンドで起動)

 / Windows Hack, トピックス


Windows10でよく使いそうな設定をホット起動する方法を紹介。基本は「Windowsキー+R」でコマンドを実行する窓を起動します。 その後に下記の目的別のコマンドを入力すると起動が行なえます。



コマンド起動のショートカット

  • 【ネットワーク共有センター(アダプター詳細)】 ncpa.cpl
  • 【ネットワークセットアップウィザード】 netsetup.cpl
  • 【ディスクの管理】 diskmgmt.msc
  • 【証明書管理】 certmgr.msc
  • 【Windowsファイアウォール】 firewall.cpl
  • 【タスクマネージャ】 taskmgr
  • 【システム構成ユーティリティ】 msconfig
  • 【サービスマネージャー】 services.msc
  • 【コントロールパネル】control
  • 【ディスククリーンアップ】 cleanmgr
  • 【コンピュータの管理】 compmgmt.msc
  • 【システム構成ユーティリティ】 msconfig
  • 【システムのプロパティ】 sysdm.cpl
  • 【デバイスマネージャー】 devmgmt.msc
  • 【プログラムと機能】 appwiz.cpl
  • 【管理者権限コマンドプロンプト】 cmd入力後にCtrl + Shift + Enterを押すと管理者権限になる。

CentOS6 Apache2.4へアップグレードかつHTTP2対応 SSL&phpも考慮

 / Linux Tips, テクニカル, トピックス, ノウハウ


CentOSはバージョン6,7ともレポジトリーISUを追加してhttp2対応が必要。CentOS7はApache2.4ではあるがマイナーバージョンがhttp2に対応していない。
尚更、CentOS6は対応できていない。Ubuntu/Debian系のLinuxなら比較的簡単に入れられるのでそこがCentOSの場合面倒なところ。

まず最初に現在使っているhttpd2.2.xのWEBサーバとphpを外す必要があるだろう。標準のものを使っている場合はremiの進んだバージョンのphpを使っている
場合もあるだろうが概ね下記のような感じで依存関係もチェックしながら外してゆく。その後にISUのレポジトリーを追加してhttp2対応のhttpd2.4を導入する。
このバージョンではmod_phpが古いhttpdでなければ動かないようなのでphpはfastCGIを使った方法に変更する。

現行環境の削除、レポジトリー追加とapache2.4(http2対応バージョン)+fastCGI導入

※httpd2対応のモジュールロード設定は/etc/httpd/conf.modules.d/00-base.confに追加されています。

プロセスをevent型に切り替える

httpd2対応にはhttpdプロセスのprefork型の動作では駄目です。event型に切り替える必要があります。

fastCGIの設定修正

mod_phpが使えないのでfastCGI経由でphpを動作させます。それにあたり基本設定の動作ユーザをapacheに切り替えます。

仮想サーバ設定にhttp2動作のためのデイレクティブ追加

サーバの起動

http2になっているかチェックする。

http2に対応していることがブラウザの検証ツールで確認できます。 またレスポンスヘッダーを見て確認する事もできます。

h2プロトコルの結果検証

DNS CAAレコード設置(サイト証明書を発行するSSL発行局の定義)でSSLの出処の信憑性を高める

 / Linux Tips, トピックス, ノウハウ


ドメインに対して、DNSレコードで「CAA」を指定することはサーバー証明書の発行する認証局(CA)を認識させる手段となります。現状ではDNSの定義が無いから駄目というものではありませんが将来的にはあったほうが良いと思います。グーグルのアナウンスでは明確にビジョンを打ち出しているわけではありませんが、SSLの設定レベルを検知して評価する話もちらほら出ているのでSSL設定の良すぎることに越したことはないです。
下記に自分でDNSを設定しているなら簡単にレコードを作ってくれるサイトがあるので試してみてはいかがかな。

DNSのCAAレコード作成

DNS CAAのレコードを作成するサイトへ行き次のように設定してください。最初に対象のドメインを入力し次に認証局のキーワードを
入れると候補が出てくるのでそこから単体のドメインライセンスかワイルドカードライセンスかを選択すると下方にDNSレコードの定義が出てきます。
Enter Your Domain name Select Authorized Certificate

DNSのCAAレコードフォーマット

通常DNS CAAレコードは下記のような書式で定義を行います。

文法:www.example-test.net.      CAA    flag   tag   value
例:www.example-test.net.   CAA 0 issue   ”globalsign.com”

tag各カラムの説明value
issueサーバー証明書を発行許可する認証局の指定“letsencrypt.org”などの認証局が指定している値
issuewildワイルドカード証明書を発行する認証局を指定“letsencrypt.org”などの認証局が指定している値
iodefCAA レコードの登録チェック後、証明書発行にトラブルがあった際に申請した事を通知する連絡先mailto:example@example-test.net

TOPへ戻る