中年プログラマーの息抜き

ブログをはじめました。気の向くままにプログラム関連ネタをメモしていきます。

PHPのマジック定数 __FILE__ でシンボリックリンクのパスを返す

WORDPRESS集中管理に向けての調査をしてます

特定の場所へインストールして、それを雛形にシンボリックリンクで増やせるようにし、管理を楽にしたい!ということでまずはPHPマジック定数の__FILE__で、シンボリックリンクのパスを返してみます。PHP4.0.2以降実ファイルのパスを返却するようになっているようですが、これだとwp-config.php をそれぞれのサイトへ展開できませんので・・
http://php.net/manual/ja/language.constants.predefined.php

環境準備

PHP7で試したのですが特に意味はありません、とりあえずインストール
[root@localhost ~]# wget http://jp2.php.net/get/php-7.0.12.tar.gz/from/this/mirror
[root@localhost ~]# ./configure --prefix=/usr/local/php7 --disable-all --disable-zts --enable-cli --without-sqlite3 --without-cdb --without-iconv --without-pdo-sqlite --without-pear
[root@localhost ~]# make
[root@localhost ~]# make install

php-src/Zend配下のファイルを読んでみる

なんとなく眺めながら、修正箇所の候補を探ったのですが、結構根気がいります。 気晴らしでふらっと、、立ち寄った本屋に面白そうな本を見つけました。
PHPはどのように動くのか ~PHPコアから読み解く仕組みと定石

まとめ

修正+確認を何回か繰り返してうまく動くようにパッチできました。
WORDPRESSがちゃんと動くかの確認はまた今度にします。
エディタでGREPしながら作業して結構時間かかった。( ̄▽ ̄;)!/p>

NAS故障からデータを復旧するまで

NASについて

色々な情報を入れとくのに便利ですよね。 私もBAFFALOのLS-WX2.0TLというのを愛用していたのですが、ついに先日壊れました。

RAID1ミラーリングで故障に備えていたわけですが、今回は電源が燃えたようで、どうしようもありません。5年くらい使ってるので寿命でしょう。

というわけでデータ復旧に挑みます。

復旧までの流れ

NASから取り出したディスクはXFSフォーマットになっていて、WINDOWSMACにUSB経由などでつなげてみてもRAWディスクとなって読むことはできません。

ということでLINUXを準備します。今回はVM環境へubuntuを入れてFTP経由で作業しました。SCPでもよいですが遅いのでFTPを使いました。VMWAREは、vmware.comよりダウンロードできます。Ubuntuは、ubuntu.comよりダウンロードできます。

必要なのは「VSFTPD、mdadm」くらいでしょうか、aptでまとめてインストールしました。

VMWAREUBUNTUを起動したらUSB経由でディスクを接続してRAIDディスクとしてマウント
        sudo mdsdm --stop --scan
        sudo mdsdm --assemble /dev/md0 --run /dev/sdc6
        sudo mount /dev/md0 /mnt
こんな感じで作業を繰り返し、約1TB無事に復旧できました。

まとめ

いくら備えてもダメなときはダメですね、とあきらめてます。今回の故障もNASから外付けUSBへバックアップしておけばこんな作業は必要なかったかもしれませんが、きりがないんですよね。 というわけでまたNASを購入して同じように運用していく予定です。何かあったときはまた同じように作業すればよいわけですし

さくらVPS LAMP+JAVA+WORDPRESS など構築

はじめに

JAVA-APP と WORDPRESS を動作するための環境をさくらVPSで作りました。 

TOMCAT8.5.4 - https://tomcat.apache.org/

JAVA-JRE8u101 - http://www.oracle.com/technetwork/java/javase/downloads/

nginx-1.11.3 - ソースビルド
postgresql-9.5.4 - ソースビルド
mysql-5.7.14 - ソースビルド
apache-2.4.23 - ソースビルド
php-7.0.10 - ソースビルド
ImageMagick-7.0.2-10 - ソースビルド
imagick-3.4.3 - ソースビルド

まとめ

今週末に駆け足で準備したのでいったんまとめました、ちゃんと動くかなど来月から検証します。”PHP make test” ではいくつか失敗が出てます、気になるところですが・・・これは年内めどで。。