初めての VPS-#5 (php.rpm のリビルド)。

 当初の予定では, suEXEC サポートの話を書くはずだったのだが,ちょっと困ったことが。今回,さくらの VPS には, event + suEXEC + FPM のシステムを構築しようとしているのだが, CentOS7 標準の php.rpm はビルド時に ‘--enable-fpm‘ オプションが付与されていないみたいなのだ。 Apache httpd 上での event + suEXEC については,標準で動きそうなんだけどね。 php.rpm のビルドオプションは, ‘php-devel’ パッケージをインストールすると,下記のコマンドで参照できる。 CentOS の rpm においては ‘php -i’ では,ビルドオプションは見えないようだ。
$ php-config --configure-options
 
 そんなわけで, ‘--enable-fpm’ オプション付きの php.rpm をリビルドすることにした。本当に必要なんかね,これ?まっ,いいけど!!
 VPS に開発系のパッケージは入れたくないので,そこでは rpm を作れない。で, NJ2100 上に開発用仮想環境を作ることにした。仮想マシンには, VMware(R) Player 6.0.4 build-2249910 と CentOS7 (「開発およびクリエイティブワークステーション」を選択し,「開発ツール」にチェックを入れた)を使用。やり方は,「CentOS6の練習-#13(仮想マシンとして使う)」と大体一緒。
 
 大体一緒だったんだけどね,今回の仮想マシンは,イーサネットデバイスを認識してくれなかった。これ,困るじゃん。 NJ2100 には SiS Ethernet Controller がついてる。「どうすりゃいいんじゃ」と思ったが,ネット上にたくさん解決方法のページがあった。私としては,その中のこちらのページをおすすめする。
 
 みーんな,同じこと書いてある。曰く「vmnetcfg.exe と vmnetcfglib.dll をお使いなさい。 VMware-workstation-full-10.0.x-xxxxxxx.exe のような VMware Workstation の無償評価版を展開すれば,手に入るよ。」と。ところがさ,ベンダーさんから,評価版を落として調べてみたけど,入ってなかった。評価版は,すでに ‘VMware-workstation-full-11.0.0-2305329.exe’ になっていて, 64 ビット版に変わっており,どうも仕様が違うようだ。ウェーン。
 
 どっかに, VMware Workstation 10 がないかって探した探した。だって,今,公式からバージョン 10 を落とすとなると,製品版を買うしかないわけだが,それは「なんじゃそれっ?」状態しょっ。結局, filehorse.com で見つけて,ダウンロードした。みんなも問題の 2 ファイルほしいかしらん?一応, zip にしてみたよ。これって,グレーゾーンかな?何はともあれ,ネットにつながる開発用仮想マシンが手に入った。
 
 さて,実際のリビルド作業。当然ながら,すべて仮想マシン上で行う。参考ページとしては,公式のここを見た。

  1. リビルド用の非特権ユーザー (rpmbuilder) を作る。 mockbuild という no logon ユーザも作る。 mockbuild って, ‘rpm’ コマンドがつかうようで,どうも IUS に起因してるようだ。
    $ sudo useradd rpmbuilder
    $ sudo passwd rpmbuilder
     
    $ sudo useradd -s /sbin/nologin mockbuild
  2. rpmbuilder のホームディレクトリに, RPM ビルド用のディレクトリを作る。
    $ sudo su - rpmbuilder
    $ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
    $ echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
  3. vault.centos.org から src.rpm をダウンロードする。
    $ wget http://vault.centos.org/7.0.1406/updates/Source/SPackages/ \
    php-5.4.16-23.el7_0.3.src.rpm
  4. インストール。
    $ rpm -ivh php-5.4.16-23.el7_0.3.src.rpm
  5. php.spec の編集
    $ $ cd ~/rpmbuild/SPECS/
    $ vi php.spec
    869 行に ‘--enable-fpm \’ を追加。
  6. $ rpmbuild -ba php.spec
     
    依存関係で,いろいろ足りないよと言われるので,素直に全部インストールののち,再挑戦。
    $ rpmbuild -ba php.spec
     
    ‘--enable-fpm’ オプション付きの php.rpm 入手完了。

 ところで,仮想マシンは, GUI で使っている。ここで, FileZilla を FTP クライアントとして使いたかったんだが,標準のリポジトリにはなかったので, filezilla.rpm も作った。このビルドのときに, wxGTK3-devel を要求されて, epel リポを有効にした。

  1. $ sudo yum install epel-release
  2. $ wget ftp://fr2.rpmfind.net/linux/fedora/linux/development/rawhide/source/ \
    SRPMS/f/filezilla-3.10.0-1.fc22.src.rpm

    $ rpm -ivh filezilla-3.10.0-1.fc22.src.rpm
    $ cd ~/rpmbuild/SPECS/
    $ rpmbuild -ba filezilla.spec

 こんなとこかな。

「初めての VPS-#5 (php.rpm のリビルド)。」への8件のフィードバック

  1. 今晩は
    久々の更新ですね。
    自分はサーバーどころか車が
    死亡5秒前くらいなったんでそっちにかかりきりです。
    それとsrc.rpmって色々カスタマイズできておもしろいですね。

    1. くりくりさん,おはようございます。

      > 久々の更新ですね。
      はい,生存報告です(笑)。 VPS でやろうとしていることがわからないことだらけで,手間取ってた上に,年明けからこっちリアルワールドが波乱含みで,なかなかまとまって触れなくて,更新がお預け状態になっていました。

      src.rpm って Apache のビルド以来です。オプションいじりは,今回初めてですが,前にやったことは,結構,覚えてました。 SPEC をしっかりいじれるようになるともっといろいろやれて面白みもますんでしょうけどね。

      車の件,大変ですね。単純に壊れて止まるだけならまだいいんですが,不良車両は事故が怖いです。気を付けて運転と言っても限度がありますから,ちゃんと手当てができないなら,どこかで代車を借りられるといいですねぇ。

  2. こんにちは
    7月に今のVPSが契約切れますので
    CentOS7,ipv6,4g,費用月2000円以下という条件で
    移転先をさがしてますが
    なかなかいいのがありません。

    DTIのVPSがいいなと思って挑戦しましたが
    iptablesでルールー適用数がきまってるらしく
    断念しました。

    車はもうのってません。
    通勤は家族に送り迎えを頼みました。
    後は納車日が31日ですから、
    群馬県伊勢崎市(車で1時間くらい)
    の所にもっていくだけです。

    追記,javaの脆弱性がでました。
    https://www.jpcert.or.jp/at/2015/at150003.html

    1. くりくりさん,こんばんは。

      > CentOS7,ipv6,4g,費用月2000円以下という条件で
      これ,相当シビアでしょ。 4G + ¥2,000 だけでも厳しい気がしますが。どこかいいところがありましたか。

      > 通勤は家族に送り迎えを頼みました。
      あっ,それがいいですね。しばらくは,面倒でしょうが,後悔先に立たずにならないためには,用心するに越したことないです。

      > 後は納車日が31日ですから
      あと, 10 日の辛抱ですね。

      > 追記,javaの脆弱性がでました。
      ハハハ。「Java SE 7の公式アップデート終了のお知らせ」なんつうのも,ありますね。 5 とか 6 とかもいっぱい残ってるんだろうな,巷には。
      しかし,今年もお腹いっぱいになりそうな,ありがたくない,春の予感。ラララ~。歌っている場合じゃないか(爆)。

      ところで,春も早から,値上げの通知が。 GMO 振って,ドメイン移管してやった私に, StarDomain のつれない仕打ち。この差は,何なんだ(怒)。
      StarDomain:eNom:.com = ¥1,780
      Value-domain:eNom:.com = ¥1,300

  3. こんにちは

    >どこかいいところがありましたか。
    色々調べましたがありません。
    さくらの4gのVPSになってしまいます。

    >私に, StarDomain のつれない仕打ち。の差は,何なんだ(怒)。

    俺も(怒)。
    TODOSにかきましたが、
    バリュードメインの値上げを社長に報告して、
    自分のsuperweibu.comをスタードメインに移管申請したら
    スタードメイン値上げのメールです。
    おそいよあほ!!
    金かえしてくれよ!!とメールしましたが帰ってこないので
    最終的にはsuperweibu.comはバリュードメイン→スタードメイン→みんなのドメインと移管することになるでしょう。
    superweibu.netはスタードメインからみんなのドメインに移管中です。

    https://minnano-domain.com/
    みんなのドメイン。値上げの確認をしていますが、
    今の所返事ありません。どうなることやら・・・。

    同じ県内に郵送したんですが、まだ先方に郵便物が
    届かないという連絡がきました。
    郵便局に電話すると昨日のうちに到着しないのはおかしいそうです。もう一度出さないと駄目かな?

    1. くりくりさん,こんばんは。

      > さくらの4gのVPSになってしまいます。
      あっ,やっぱし。

      > バリュードメイン→スタードメイン→みんなのドメインと
      私の場合は, DDNS の問題がありますので,そのままにしておくかもしれません。 DDNS の運用を自分でするとかすれば,解決策になるんでしょうが,とてもそこまでは。うちは BBIQ なんですが,固定 IP 使用料が高いんですよ。 BBIQ 以外には,光の選択肢がない田舎なので,変更は論外ですし。

      そういえば,丸ごと, VPS 移行って手もありますね。その辺どうなるかな。気分としては,当分,自宅サーバで行きそうです。

      話は違いますが,徳丸さんの初日記が出てました。例の判決に関する「SQLインジェクション対策もれの責任を開発会社に問う判決」です。記事内リンクの町村さんの「privacy:個人情報漏洩で脆弱なシステムの責任をソフトメーカーに問う事例」ともども,いろいろ考えさせられます。

  4. 今晩は
    さくらのVPS2gも考えていますよけど、
    今の4コアの4gですから、さくら4gかなー。
    だけどお高いし・・・。ipv6が魅力的なんですよねー。

    ビビックの固定ipみてみましたが、
    4400円+固定ip使用料が月500円とかやすくないですか?
    http://www.bbiq.jp/hikari/internet/option/ip/
    うちはipqで1900円、フレッツ光ネクストで4800円ですが、
    恐らくさくらの4Gなったら変更するかも。

    >いろいろ考えさせられます
    この手の訴訟は増えていくのでしょうね。
    だけど、どうせ元受も開発とかに無理難題をいってるとか
    そういうのも影響してそうなきがしますが・・・。
    やすかろうわるかろうになってしまってるような・・・。

    1. くりくりさん,おはようございます。

      > ipv6が魅力的なんですよねー。
      そうですね。この間お調べになった状況(4%?)では,まだまだ利用価値が少ないから,対応してくれているところは,少ないでしょうね。それだけに,魅力ですよね。

      > 4400円+固定ip使用料が月500円とかやすくないですか?
      安いんですか?前に借りていたところより,高くなった記憶があって。
      と思いつつ調べたら,前に借りたのは, 2007/08 で ASAHI ネットでした。よく見ると,すごい前の話ですよね。そのころは,安かったんでしょうか。今調べたら, ASAHI ネットは 800 円/月になってて,しかも,「大手プロバイダの中で一番安い!断然安い!」と謳ってありました。ということは, BBIQ ,安いんですね。再認識。 BBIQ さん,ゴメンネ。

      > やすかろうわるかろうになってしまってるような・・・。
      そうですね。現場は,納期納期で追われて,グズグズになっていくということが,よくありますからねぇ。
      しかし,こういう判例が出てくると,受注業者としては,「「安かろう悪かろう」だから,この程度でいいだろう」では済ませられません。顧客には十分説明をして,対処しようとしたが,それでも受け入れてもらえなかったということを,しっかり記録に残しておかないと,とんでもない賠償をさせられる可能性があります。社内の意識を切り替えて,しっかり自衛手段を講じていく体制にしておかないと,いけないと思うんです。

      追記:
      > 顧客には十分説明をして,対処しようとしたが,それでも
      > 受け入れてもらえなかったということを,しっかり記録に残して
      > おかないと,とんでもない賠償をさせられる可能性があります。
      と書いたのですが,判例を思い返してみるとそれだけではだめですね。
      その時点の業界の常識レベルのセキュリティ機能は,言われなくても,ちゃんとクリアさせておくということもいるようです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください