Ellinikonblue.com Weblog

夢は夢のまま終わらせない…

Posted on Mar 18, 2020 at 15:57

PA-API v5 に Perl で対応するに当たって躓いたこと

 Ellinikonblue.com Weblog で、PA-API v5 に対応するに当たって、 最初、WSL 上の Ubuntu (18.04 LTS) で、 テスト用のサブルーチンを作り込んだのですが、 なんとか Ubuntu で、応答がもらえるプログラムができて、 今度は同じそれを CentOS 7 で動かしてみたところ、 エラーしか返ってこない状況に悩まされ続けました。

 モジュールに不足があるわけでもなく、最後は Perl のバージョンまで疑ったのですが、 結論、LWP::Protocol::https のバージョンアップを行っただけで、 Ubuntu で通ったプログラムがそのまま、 CentOS でも動きました。

 LWP::Protocol::https のバージョンの差(このバージョンアップに紐付いていくつかのモジュールも 自動的にバージョンアップされますが…)で、何が起こっていたのかまでは正確に言及はできませんが、
perl -MIO::Socket::SSL=debug3 test.pl
として、実行したときの応答が明らかに違うので、原因はこのモジュールで間違いないと思います。

 CentOS は yum でインストールできる 標準リポジトリから perl 本体もモジュールも拾ってきていました。
 いざ、モジュールのバージョンアップとなった際、昨今は cpanm と言う便利なコマンドがあって、 これを使って LWP::Protocol::https をインストールすると、 依存関係も含めて必要なモジュールはすべて拾ってきてくれて、 かつ CentOS の 標準リポジトリからインストールしたモジュールより優先して使用してくれるので、 実質、モジュールのアップデートを行えば perl のバージョンアップなどせずともすべて解決しました。

 このあたりの perl の環境整備や cpanm については、別途、 今後のことを含めてもう少し詳しめにまとめておこうと思います。

Posted on Mar 03, 2020 at 10:57

甘茶蔓 (amachazl)

 PA-API v5 移行というちゃぶ台返しのために、 必死になって、なんとか Perl での対応は終わらせ、死に体のここについては 対応が済んで入るのですが、PHP での対応に四苦八苦しており、 どうも v4 停止の期限までに間に合いそうにありません。

 ひとまず amazlet で…と思っていたら 3 月 9 にこれも停止… orz

 万事休す…と思っていたら、甘茶蔓 (amachazl) と言う救世主が現れました!
 amazlet 互換 PA-API v5 対応のスーパーツールで、 これで急場は凌いでもらえるのではないかと…

 問題は PHP に関する自分の勘がいつ戻ってくるか… なんせ 5 年ぶりくらいに、コードを書くハメになっているので… (_ _;A 甘茶蔓 (amachazl) - amazon associate link generator
いきなりはじめるPHP~ワクワク・ドキドキの入門教室
谷藤 賢一 著
( リックテレコム )
¥1,980
Posted on Aug 27, 2019 at 22:02

WordPress 5.2 への道 (2) : MariaDB を 5.5 から 10.4 へアップデート

 Wordpress は 5.2 から、 MariaDB の動作要件も 10.1 以上とされていますので、 ついでに MariaDB も 10.4.6 で Stable Release となった最新版に、 CentOS 7 標準リポジトリの 5.5 から アップグレードします。

 万が一に備えて、必ずデータベースのバックアップをしてから実施して下さい。

 バックアップが終わったら、まずは
curl -sS http://douwnloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
として、MariaDB の 最新 Stable 版へのリポジトリを登録します。
 この登録が無事終われば、
sudo systemctl stop mariadb
sudo yum update
とすれば、最新版の 10.4 系がアップデート候補に挙がってくるようになるので、 実行すれば、MariaDB 5.5 から一気に 10.4 でも、 データも引き継がれ、アップグレードされるはずです。

 ただし、アップグレード直後は、MariaDB が起動していませんし、 システム起動時にも起動しない設定に戻るので、以下のように起動してください。
sudo systemctl enable mariadb
sudo systemctl restart mariadb
データを引き継いでうまくアップデートできなかった場合は、一度、 MariaDB を 初期化してバックアップから復元して下さい。

 以上、の処理が終われば、Wordpress も アップグレードできるようになっているはずで、それが終了すれば(手順は端折ります)、 無事、Wordpress 5.2 へのアップグレードは完了です。
Posted on Jul 10, 2019 at 14:15

WordPress 5.2 への道 (1) : PHP を 5.4 から 7.2 へアップデート

 Wordpress を 5.2.x へアップデートするために、 PHP を CentOS 7 標準の 5.4 から 7.2 へアップデートします。

 PHP の最新は 7.3 系ですが、7 系であれば、 Wordpress の動作要件は満たしますし、 セキュリティーサポートは来年末まであリ、 また Ubuntu の最新 LTS 18.04 でも 標準で採用されていることもあり、 さらに自分でも構築したことのある PHP 7.2 をターゲットにしますが、 やり方は基本、PHP 7.3 でも同じはずです。

 PHP は Remi リポジトリから導入します。まずは EPEL/Remi リポジトリを導入します。
sudo yum install epel-release -y
sudo rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm
 次に現状インストールされている PHP 5.4 のパッケージを確認します。
rpm -qa | grep php
 PHP 本体他、Wordpress の動作に必要な パッケージもあるはずなので、これらをまとめて同等のパッケージをインストールするため、 メモっておいてください。
 また PHP の設定ファイル (/etc/php.ini) もバックアップをとっておき、 バージョンアップ後に設定を反映させるなり、 7.2 インストール後にバックアップと置き換えるなりの 作業が必要になります。

 その上で、PHP 5.4 をアンインストールし、以下のように PHP 7.2 を導入します。
sudo yum remove php* -y
sudo yum --enablerepo=remi,remi-php72 install php php-mysqlnd php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-fpm php-opcache php-apcu -y
 上記の例では、PHP 本体の他に php-fpm や OPcache/APCu も合わせてインストールしています。 ここは先ほどメモしたパッケージで、足りないものは適宜足してください。
 これで PHP 7.2 へのアップデートは終了です。

Ellinikonblue.com Weblog 「 WordPress 5.2 から PHP 5.6 が必須になった件」

「WordPress"1000倍"高速化」チューニング 第一弾──「PHP 5.6」「OPCache」「APCu」を導入する (1/2) 「WordPress"1000倍"高速化」チューニング 第二弾──「PHP 7」を導入する (1/2)
Posted on Jun 25, 2019 at 15:22

WordPress 5.2 から PHP 5.6 が必須になった件

 Wordpress の 2019 年 6 月時点の最新版 5.2 から、動作に必要な PHP のバージョンが 5.6 以上でないと、 アップグレードできなくなってしまいました。

 一方で CentOS 7 では、 標準リポジトリからインストールできる PHP が 5.4 という状況で、お気軽にレンタルサーバーで Wordpress していた人は、 容易にアップグレードできなくなってしまい、 PHP の古いバージョンによる脆弱性云々より、これによって放置される Wordpress サイトが増える方がちょっと心配。

…なんですが、人のことを心配する前に、個人的には面倒見ている Wordpress は なんとかせざるえず、ちょっと前に、 クリーンインストールで PHP 7.2 + MariaDB 10.2 で 1 サーバ立てたのですが、やろう、やろうと思って、結局、 この作業工程をドキュメントまとめておらず、 これから何台、この作業をやらなくてはならなくなるか見えないので、 今のうちにまとめておくことしました。

 やることは…
  1. PHP のアップデート
  2. MariaDB のアップデート
  3. Wordpress のアップデート
となります。

 MariaDBCentOS 7 の 標準リポジトリでは 5.5 になり、Wordpress の 動作用件では、10.1 以上とされているので、おそらくこちらは必須ではないように思いますが、 まとめて一度ですませておくことにします。

 では各項目ごとにまとめていきます。
Posted on Jan 22, 2019 at 15:38

いつもサーバを立てるときに参考にする情報

 この正月、久々に長い休みが取れたと思ったら、サーバーの移行を手伝わされることになって、 久々にインストールしたての CentOS 7 から 設定し、LAMP (死語?w )の準備、初チャレンジとして WordPress の データ移行まで経験させてもらったのですが、こういう作業をする際、 OS から LAMP までは、いつも同じサイトの情報を参照させてもらっているのに、 毎度、Google 検索から入るので、 やっとその効率の悪さに気がついて、メモっておくことにしました。

サーバーの基本的な設定 さくらインターネットのVPS(仮想専用サーバー)構築・設定マニュアル サーバーの設定から WordPress のインストールまで 入門ガイド|VPS(仮想専用サーバー)はさくらインターネット  今回は人んちだと思って、CentOS 7 の上に、 Apache 2.4 は そのままパッケージインストールしたのですが、 PHP は 7.2 、 データベースは MariaDB も 10.2 を入れ込んでやりました (^^)v

 その際、WordPress の動作環境のチューニングは、以下の記事を参考にしました。 ちなみに、以下の記事も WordPress サイトを 構築するたびに、これまでよく拝見させていただいてました。 とにかく速いWordPress  ご参考になれば…m(_ _)m
Posted on Aug 26, 2018 at 23:07

Microsoft ストアの Ubuntu の使い方まとめ

 最近、Microsoft ストアで配布されている Ubuntu ( Windows Subsystem for Linux (WSL) で動作する Ubuntu )の話しかしていないように思いますが、 大分書き散らしたので、まとめておきます。

 まずインストールは、「 Ubuntu 」として配されているものをインストールすれば OK 。 バージョン番号付きのものも配布されていますが、バージョン番号なしのものが今一番安定しているバージョンで、 かつバージョンアップも
sudo do-release-upgrade
とすれば OK 。

ストアにある3つの「Ubuntu」の違いは? ~WLSの「Ubuntu」をアップグレードする方法/「Ubuntu」のリリース形態を理解して、適切なものを選択しよう【やじうまの杜】

 またインストール後の日本語化については、下記の記事が今一番きれいにまとまっています。

WSLのUbuntu環境を日本語化する

 WSL で動く UbuntuDocker まで動いてしまうらしいので、 ディストリビューションが増えたり、今後ともさらに便利になっていきそう。
 しっかり身につけて活用していこうと思います。

Windows Subsystem for Linux(Hyper-Vなし)でDockerを動かす - nuits.jp blog
Posted on Jul 31, 2018 at 19:14

Microsoft ストアの Ubuntu

ストアにある3つの「Ubuntu」の違いは? ~WLSの「Ubuntu」をアップグレードする方法/「Ubuntu」のリリース形態を理解して、適切なものを選択しよう【やじうまの杜】
 そういうことは早く言ってよ!…と言う話。
 Microsoft ストアで配布されている Ubuntu は、 今、ただの「Ubuntu」、「Ubuntu 16.04」、「Ubuntu 18.04」と三つあり、 それぞれが LTS(Long Term Support) 版がベースになっており、 入れ直し以外で、アップグレード(例えば 16.04 → 18.04 へ)はできないものだと思い込んでたのですが、 なんてことはない、「Ubuntu」を入れておくのが正解で、頃合いのタイミングで、 なうな(死語 w)LTS になってくれるので、今は Ubuntu = Ubuntu 16.04 ですが、 そのうち、Ubuntu 18.04 になって、そうなった頃に
sudo do-release-upgrade
とすれば、16.04 時代にインストールした「Ubuntu」も 18.04 にアップグレードが可能だとのこと。

「Ubuntu 18.04」で普通に環境再構築しちゃったよ…orz
 今度、さらっぴんの Windows の環境構築するか、Ubuntu 20.04 がでる頃には忘れていそうなので、 メモっておきます (._.)φ
Image:Computer/20180523WSLUbuntu18_04.jpg
Posted on Jun 20, 2018 at 15:43

Windows 10 の WSL で Ubuntu 18.04 LTS を使い始めたところ…

 Ubuntu 16.04 を 使っていたときにやれていた、やりたいことは 18.04 でできているので、 不具合というわけではないですが、ちょっと気になる症状が出て、それをなんとか解消できたので、 メモっておきます。

1. ebtables のアップデートがエラーになる
 最初からそうだったかは、記憶が定かではないのですが、 apt を使ってアップデート行うと、ebtables のアップデートの際、エラーが出るのようになりました。
 下記の記事を参考におまじないを唱えると、解消しました。 Ubuntu 18.04 on WSL で ebtable のアップデートがエラーになる備忘録  そもそもにして ebtables が何をしているのか、このおまじないは何をやっているのかまで、 見きれてないのですが、その後大きな問題もなくアップでとできているので、由としています。

2. gem update で openssl がエラーになる
 18.04 で ruby をインストールするとくっついてくるネイティブエクステンションに openssl があるのですが、これがアップデートしようとすると、コンパイルできずにアップデート出来ません。
 これは
# sudo apt install libssl-dev
 として libssl-dev パッケージをインストールすると解消します。 以前、ffi でもエラーが出たときがあって、そのときは同様に
# sudo apt install libffi-dev
 として libffi-dev をインストールしてやればエラーはでなくなりました。 付属でくっついてくるなら、コンパイルで必要ならライブラリも依存パッケージとして、 インストールしといて欲しい…と思わなくはないです (_ _;A
Image:Computer/20180523WSLUbuntu18_04.jpg
Posted on May 29, 2018 at 21:27

Ubuntu 18.04 が Microsoft Store に登場!…してしまった orz

「Ubuntu 18.04」が"Microsoft Store"に登場 ~従来の「Ubuntu」とも共存可能/2018年4月にリリースされた新しい長期サポートリリース  4 月 26 日(米国時間)に Ubuntu 18.04 LTS が リリースされました。

 以前はほぼ自己研鑽 w のために使っているだけでしたが、 Windows 10 の WSL(Windows Subsystem for Linux) が とても便利で、cmder と組み合わせて、 コマンドベースの作業はほぼこれ一つで最近は行っているので、 さぁ Micorosft Store で配布されている Ubuntu は どうなるんだろうと思っていました。

 WSL の環境は、ストアアプリである Ubuntu を アンインストールすると、作成した環境ごと消えてしまうので、 この環境の中で 18.04 LTS へ都合のいいときに、自分のタイミングでアップデート出来たら… いいなぁと思っていました。

 当然、世の中そんな甘いはずはなく (^^;A 、 Ubuntu 18.04 LTS は、 これまでの Ubuntu とは別アプリとして、 Micorsoft Store で配布が開始されてしまいました orz

 ま、そんなたいそうな設定はありませんし、アップデートやパッケージの追加も含めて、 1 ~ 2 時間かけて、18.04 でも今自分がやっている作業はできる環境が整備できました。
 2 年に 1 度のことだから…といいたい所なんですが、 2 年経つと前回やったことを確実に忘れていそう w で、 Ellinikonblue.com Reloaded の方の コンテンツの充実のためにも、ドキュメントをまとめていきたいと思います。
Image:Computer/20180523WSLUbuntu18_04.jpg