カテゴリー
Mail Postfix SELinux サーバー

SELinuxを設定した後、PHPからメールが送れない → postfix fatal: setrlimit: Permission denied

SELinuxを設定した後、PHPからメールが送れない。

/var/log/maillogを確認すると、以下のようなエラーが出ているはず。

Mar 3 18:11:59 php postfix/sendmail[2237]: fatal: setrlimit: Permission denied

以下のコマンドでSELinuxの設定を確認できます。
sudo getsebool httpd_can_sendmail

httpd_can_sendmail –> off

いかのコマンドで、offからonに変更します。

sudo setsebool -P httpd_can_sendmail on

 

 

カテゴリー
FTP SELinux サーバー

FTPのエラー → 500 OOPS: cannot change directory

SELinuxを有効にすると、

500 OOPS: cannot change directory: /home/developers

というようなエラーが出る。

これは、SELinuxがhomeディレクトリへのアクセスを禁止しているため。

次のコマンドで設定を変更する。

sudo setsebool -P ftp_home_dir 1

ただし、デフォルトではSELinuxは全てのFTPの設定を許可していません。

次のコマンドを入力すると、次のように出力されます。

sudo getsebool -a | grep ftp

allow_ftpd_anon_write –> off
allow_ftpd_full_access –> off
allow_ftpd_use_cifs –> off
allow_ftpd_use_nfs –> off
ftp_home_dir –> off
ftpd_connect_db –> off
httpd_enable_ftp_server –> off
sftpd_anon_write –> off
sftpd_enable_homedirs –> off
sftpd_full_access –> off
sftpd_write_ssh_home –> off
tftp_anon_write –> off

原則的には、意味を確認しながら一つずつ許可していくのですが、一般的には次のコマンドで全てを許可します。

sudo setsebool allow_ftpd_full_access on

個別に許可が必要な場合は、意味を調べて、必要な権限だけ許可して下さい。

カテゴリー
ビットコイン プログラム 暗号通貨 暗号通貨

Macでビットコイン(bitcoind)をビルド(コンパイル)する方法

ビットコインとは

言わずと知れた仮想通貨(本当は暗号通貨と呼ぶのが正しい)です。ビットコインとは、ブロックチェーンという出納台帳により、所有が保証されている資産です。(永遠不滅の資産です)

現在は、少額決済(コイン)として使うものではなく、長期保有による資産の保全となっています。(資産が増えるのは結果論ですが、需要と供給のバランスから高騰するのは当然といえるでしょう)

プログラムとしてのビットコイン

PHPからビットコインを操作したいというニーズは多いと思います。例えば、あなたが新規サービスを作成し、そのサービスへの対価としてビットコインを受け取りたいなどです。

結論から先に書けば、bitcoind というデーモン(常駐プログラム)を、あなたのサーバーで起動すれば、いわゆる支払いができるようになります。

bitcoind とは?

bitcoind とは、あなたのサーバー(サービス)に関わる売買記録をブロックチェーンに記録してくれるサービスです。

Macにビットコインをインストールするだけであれば、Homebrew や MacPorts に bitcoind のパッケージがあります。

それをインストールすれば、bitcoind の起動に必要な依存ライブラリも全てインストールされます。

Bitcoin Core について

ビットコインは、オープンソースソフトウェアです。ソースコードは github にあります。

これは、Satoshi Nakamoto のコミット履歴もある、ビットコインのリファレンス(公式実装)です。Bitcoin Core と呼ばれています。

リファレンスということは、bitcoind (bitcoin core)以外のビットコイン・プログラムもあるということです。

ビットコインとは、ブロックチェーンを読み書きするためのツールだといえます。これはC++で書かれた実装ですが、C# や Java や Go で書かれたライブラリもあります。もちろんPHPで書かれたライブラリもあります。

しかしながら、安定してビットコイン・ネットワークに参加するには、やはり bitcoind となるでしょう。

Bitcoin Core のダウンロード

それでは実際の作業を始めましょう。

まずは、bitcoin core をダウンロードします。

git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
ls -l

bitcoind のコンパイル(ビルド)

autogen.shconfigure は初期設定です。

make でコンパイル(ビルド)を行います。

make check でビルドをチェックします。

./autogen.sh
./configure --without-gui
make -j4
make check

--without-guiは、QTで作成されたウォレットアプリの作成をしないオプションです。

-j4は、ジョブ数を4つに増やすオプションです。この数字は、一般的にCPUのコア数に対して2倍が良いと言われています。

問題なければ src ディレクトリに bitcoind が作成されています。

src/bitcoind --version

バージョン情報が表示されましたか?

具体的な bitcoind の操作については、また次回。