[Amazon DynamoDB] PHPから使えるようにする

Amazon Web Services にサインアップしてアクセスキーを作成

Amazon Web Services (AWS) – Cloud Computing Services
https://aws.amazon.com/

AWS credentials fileをローカルの ~/.aws/credentials に配置。

AWS SDK for PHPのインストール

PHPチュートリアル

PHP および DynamoDB – Amazon DynamoDB
http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/gettingstartedguide/GettingStarted.PHP.html

ステップ 1: テーブルを作成する – Amazon DynamoDB
http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/gettingstartedguide/GettingStarted.PHP.01.html

ステップ 2: サンプルデータをロードする – Amazon DynamoDB
http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/gettingstartedguide/GettingStarted.PHP.02.html

ステップ 3: 項目を作成、読み込み、更新、削除する – Amazon DynamoDB
http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/gettingstartedguide/GettingStarted.PHP.03.html

ステップ 4: データをクエリおよびスキャンする – Amazon DynamoDB
http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/gettingstartedguide/GettingStarted.PHP.04.html

ステップ 5: (オプション) テーブルを削除する – Amazon DynamoDB
http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/gettingstartedguide/GettingStarted.PHP.05.html

概要 – Amazon DynamoDB
http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/gettingstartedguide/GettingStarted.PHP.Summary.html

Amazon DynamoDB とは – Amazon DynamoDB
http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Introduction.html

参考サイト

Amazon DynamoDB の使用開始 – Amazon DynamoDB
http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/gettingstartedguide/Welcome.html

[Amazon DynamoDB] CentOS 7にインストールする (ダウンロード可能バージョン)

ローカルにVM環境を作ってインストールしてみる。PHPからアクセスするのが最終ゴール。

ホストOSからブラウザでアクセスできるようにプライベートネットワークを有効にしておく。

Vagrantfile

JREのインストール

PHP 7.1のインストール

Gitのインストール

Amazon DynamoDBのインストール

とりあえず動いている模様。

参考サイト

Amazon DynamoDB の使用開始 – Amazon DynamoDB
http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/gettingstartedguide/Welcome.html

[MongoDB] PHPから使えるようにする

PHP用mongoモジュールのインストール

まずは下準備。Pearをインストール。

コンパイラなど開発環境をインストール。

OpenSSLの開発環境をインストール。

PHP用mongoモジュールをインストール。

ビルドできた。

ちゃんと組み込まれたかphpinfo() で確認。

PHPからアクセスしてみる

動いた。

参考サイト

MongoDBインストール ~ PHPで使うまで – Qiita
http://qiita.com/yasumodev/items/3cd36c9c1c58d3b66955

mongodbをインストールして、phpでアクセス – m_shige1979のささやかな抵抗と欲望の日々
http://m-shige1979.hatenablog.com/entry/2013/09/16/233024

[MongoDB] MongoDB Shell チュートリアル

公式サイトのチュートリアルをなぞる。

The MongoDB 3.4 Manual — MongoDB Manual 3.4
https://docs.mongodb.com/manual/

サンプルデータセットのインポート

MongoDB Shell起動

コマンド一覧

データベース選択

ドキュメント追加

全ドキュメント取得

条件指定

ソート (1: ascending, -1: descending)

更新

ドキュメントの置換 – update()の第二引数に新しいドキュメントを指定する

ドキュメントの削除 (1件)

ドキュメントの削除 (全件)

コレクションの削除

グルーピング

絞り込み結果をグルーピング

インデックス作成 (シングルフィールド)

インデックス作成 (複合)

[MongoDB] CentOS 7にインストールする

ローカルにVM環境を作ってインストールしてみる。PHPからアクセスするのが最終ゴール。

ホストOSからブラウザでアクセスできるようにプライベートネットワークを有効にしておく。

Vagrantfile

Apacheのインストール

PHP 5.6のインストール

デフォルトのリポジトリだとPHP 5.4が最新だったので、epel、remiのリポジトリから入れる。

MongoDBのインストール

ログで確認

停止するには

再起動するには

MongoDB Shellを実行。

動いた。

参考サイト

The MongoDB 3.4 Manual — MongoDB Manual 3.4
https://docs.mongodb.com/manual/

[Laravel] 受信メールを取り込む

方針はシンプルで、標準入力に与えられたメールをパースするcommandを作成しておき、メールが着信するたびにそのcommandを呼び出すようにPostfixを設定する。Postfixの設定に関しては前回記事を参照

メールのパースにはphp-mine-mail-parserを使う。内部でmailparseを呼んでいるようなので、mailparseを予めインストールしておくこと。mailparseのインストールに関しては過去記事を参照

以下、Laravelのcommand実装サンプル。

参考サイト

受信したメールをLaravelで受け取る | Sukohi’s tech blog!!
http://sukohi.blogspot.com/2016/06/laravel.html

Setting up Postfix and pipe incoming emails to Laravel
https://sboersma.nl/blog/setting-up-postfix-and-pipe-incoming-emails-to-laravel

[Postfix] 有効なMTAを確認&切り替える

sendmailとpostfixが両方インストールされている場合など。

[Postfix] 受信したメールをPHPスクリプトで処理する

Postfixがすでに動作している前提。

これで設定完了。info@example.comにメールが着信すれば/tmp/readmail.phpが実行されればOK。

必要に応じてログを確認。

参考サイト

Postfixで受信したメールを別メールに転送する(エイリアス) | 本日も乙
http://blog.jicoman.info/2014/03/postfix_aliases/

ヴァーチャルドメイン(VirtualDomain)を利用して、複数ドメインの設定を行う | 本日も乙
http://blog.jicoman.info/2014/04/postfix_virtualdomain/

[Postfix] 受信したメールを別アドレスに転送する

受信したメールを別アドレスに転送するだけのメールサーバーをPostfixで立ててみる、

DNS設定

確認

Postfixのセットアップ

確認

これで設定完了。info@example.comにメールを送るとinfo@yourcompany.comに転送されればOK。

ファイヤーウォールでsmtpは通過するように設定しておくこと。

必要に応じてログを確認。

参考サイト

さくらVPSのバーチャルドメインでメール送受信
http://plusblog.jp/8842/

Postfixで受信したメールを別メールに転送する(エイリアス) | 本日も乙
http://blog.jicoman.info/2014/03/postfix_aliases/

ヴァーチャルドメイン(VirtualDomain)を利用して、複数ドメインの設定を行う | 本日も乙
http://blog.jicoman.info/2014/04/postfix_virtualdomain/

[PHP] mailparseをインストールする

mailparseはメールをパースするPHPエクステンション。

PECL :: Package :: mailparse
https://pecl.php.net/package/mailparse

PHP: Mailparse – Manual
http://php.net/manual/ja/book.mailparse.php

インストールに手間取ったので手順覚書。

PHP 5.6

PHP 7.1

普通にビルドしたら以下のエラーに直面。

参考サイトの手順を倣ってインストール成功。

参考サイト

php extension – Installing mailparse php7 mbstring error – Stack Overflow
http://stackoverflow.com/questions/35793216/installing-mailparse-php7-mbstring-error

how to instal mailparse on php7 · GitHub
https://gist.github.com/thelbouffi/118107b77f52f5a07eb840c3f2993509