DigiLoog

PC関係の事なら何でもいけるそんな処

Archive for 2017年09月

自鯖Webサイトを常時SSL化した

2017年09月30日(土) - 23:55 | カテゴリ: Network

ずっとやろうと思って放置し続けていたのだが、
コミケ冊子、今年やる事の一覧などに「常時SSL化対応」と書いていた筆者。
GoogleがSSLサイトの検索結果を優先すると公表したり、
世間一般の検索エンジン自体も常時SSL化してきているので、
『流石にそろそろ実装するか~』と重い腰を上げてやってみた。


今まではオレオレ証明書だったが、ちゃんと証明書を切り替えた



MariaDB v10.2とPHP v7.1の組み合わせでエラー

2017年09月23日(土) - 23:22 | カテゴリ: Linux

自鯖のWEBサーバ基板をバージョンアップする為に検証していたのだが、
MariaDB-10.2.8とPHP-7.1.9でmysqliのビルドエラーが発生した。

自鯖環境の本番機はパッケージ管理と自作プラグインを噛ませる都合で、
ソースコードからビルドしているのだが、上記のエラーが発生して敢無く撃沈したので備忘録。
最終的には、MariaDB-10.1.26とPHP-7.1.9の組み合わせにした。


  • 根本原因

直接の原因かわからないが、MariaDB v10.1とv10.2では、
ソースビルド時に必要となるheaderを格納しているディレクトリの構成が変わってた。
今まではinclude直下にファイルが置かれていたのだが、
include/server配下に変更となり、PHPビルド時に参照出来なかった模様。
もちろん、PHP側はwith-mysqli、with-pdo-mysql辺りをちゃんと指定しているが駄目だった (´・ω:;.:…

 

  • デフォルト状態でのエラー
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:34 から include されたファイル中:
/usr/local/src/php-7.1.9/ext/mysqli/php_mysqli_structs.h:63:23: error: my_global.h: そのようなファイルやディレクトリはありません
/usr/local/src/php-7.1.9/ext/mysqli/php_mysqli_structs.h:79:20: error: my_sys.h:    そのようなファイルやディレクトリはありません
/usr/local/src/php-7.1.9/ext/mysqli/php_mysqli_structs.h:82:21: error: my_list.h:   そのようなファイルやディレクトリはありません
/usr/local/src/php-7.1.9/ext/mysqli/php_mysqli_structs.h:83:22: error: m_string.h:  そのようなファイルやディレクトリはありません
/usr/local/src/php-7.1.9/ext/mysqli/php_mysqli_structs.h:86:21: error: m_ctype.h:   そのようなファイルやディレクトリはありません
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c: In function ‘zm_info_mysqli’:
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:985: error: ‘MYSQL_SERVER_VERSION’ undeclared (first use in this function)
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:985: error: (Each undeclared identifier is reported only once
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:985: error: for each function it appears in.)

 

  • PHPのconfigure時に「CPPFLAGS=”-I/usr/local/mysql/include/mysql/server/”」を追加
/usr/local/src/php-7.1.9/include/../main/php_config.h:2193:1: 警告: ここが以前の宣言がある位置です
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c: In function ‘zm_info_mysqli’:
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:985: error: ‘MYSQL_SERVER_VERSION’ undeclared (first use in this function)
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:985: error: (Each undeclared identifier is reported only once
/usr/local/src/php-7.1.9/ext/mysqli/mysqli.c:985: error: for each function it appears in.)

 

  • デフォルトでconfigure実行、MakefileのINCLUDESに「-I/usr/local/mysql/include/mysql/server」を追加

MariaDB、PHPのビルドは正常に完了し、ApacheとのPHP連携も出来たのだが、
PHP経由でMariaDBに接続しようとするとエラーになった。
少なくとも、DigiLoogが稼働しているWordPress環境では真っ白エラーになったり、
真っ白エラーを全て解決しても画面描写出来なかった。

 

  • PHP自体のソースコードにあるheader-includeを全て書き換え

Makefile改造時と同じく、PHPからMariaDBに接続する箇所でエラーになった。
結構頑張ってみたが、mysqliの知見が無く断念。

………

という事で結果は「諦めた」のだが、何時かはMariaDBのバージョンを上げる必要があるので、
時間ある時に再チャレンジしてみたい所。
ただ、現在開発しているMariaDB v10.3とPHP v7.2で直る可能性もあるので、
ひとまず経過観察しようと思う。



『Lump of Sugar』WebサイトがHTTP/503になったのでパケットキャプチャ

2017年09月17日(日) - 23:57 | カテゴリ: Network

発端は9月頭---

Lump of Sugarの新作『縁りて此の葉は紅に』のWebサイト公開辺りから、
オフィシャルサイトへの接続が悪くなっていて、新作確認が出来ていなかった筆者。
新作サイト公開直後のサーバダウンは良くある事(本当はあっちゃ駄目だが)なので、
毎度の如く夜中・早朝の人が少ない時間帯にアクセスして少しずつチェックしていたのだが、
ここの所、自鯖Proxy経由の場合のみ閲覧出来ない事に気付いた。

今まで普通にアクセス出来ていた中、不審に思いつつ自宅環境の調査をしていたのだが、
一向に解決出来なかったので、最後の手段・パケットキャプチャを実施してみた。


以前は「Lump of Suga」「QUINCE SOFT」で分割されていたのだが、一昨日辺りに統合された模様
ちなみに、筆者はQUINCE SOFTの新作『もののあはれは彩の頃。』は予約購入。

念押しではあるが、パケットキャプチャはグレーな側面もあるので悪用厳禁で。
今回は自分しか使わないテスト用自鯖Proxyを使ったので問題無かろう。



  • 応援中

    はじめるセカイの理想論 -goodbye world index-