はてな村定点観測所

運動、瞑想、睡眠、野菜350g

オープンソースでマッチングサイトが構築できるOsclassを導入してみた

   

マッチングサイト構築OSS・Osclass

オープンソースでマッチングサイトが構築できるOsclassを最近導入する機会があったのでご紹介いたします。

Osclassではクラシファイド(目的や地域によって分類された募集告知や広告を一覧形式で掲載)形式のマッチングサイト構築アプリです。クラシファイドは売ります・買います・あげます・教えて・教える・仲間募集・出会いなどの個人間の自由な取引に使われています。フリーペーパーやメルカリ アッテのようなサービスもクラシファイドに含まれます。

OsclassはPHP + MySQL構成で開発されており、有償のホスティングプランもありますが、ソースコードはApacheライセンス2.0で公開されています。日本語化にも対応しています。最近も頻繁にソースコードがアップデートされています。

Osclass本家サイト

f:id:netcraft3:20170808153745p:plain

osclass.org

クラシファイド事例メルカリ アッテ

f:id:netcraft3:20170808155848p:plain

www.mercariatte.com

(メルカリ アッテ)

Osclass導入事例

Osclassの日本語での導入事例には、ジモティーやアロハストリートなどがあります。

ジモティー

f:id:netcraft3:20170808153607p:plain

jmty.jp

アロハストリート

f:id:netcraft3:20170808160938p:plain

www.aloha-street.com

私が導入検証で立ち上げたOsclassサイト

まず導入検証でAWSのMicroインスタンスにOsclassをインストールしました。大体20分くらいの作業で導入できました。以下がOsclass導入してテーマを適用させた画面です。

f:id:netcraft3:20170808025210p:plain

Osclass導入方法

ソースコードのダウンロード

Osclass本家サイトにユーザー登録するとZIP形式でPHPのソースコードをダウンロードできますが、このソースコードはGitHubで公開されているものと同じです。Gitを使ってソースコードを配置しました。

$ git clone https://github.com/osclass/Osclass

黒い画面が苦手な方はZIPをダウンロードしてからSFTPなどでアップロードすると良いと思います。ソースコードは約20MBほどあます。

Osclassのディレクトリ構成

Osclassのディレクトリ構成はWordPressと非常によく似ています。ルートディレクトリ直下には以下の3つのディレクトリがあります。

  • oc-admin…管理画面系
  • oc-content…テーマ・プラグイン・メディアファイル系
  • oc-includes…コアファイル

初期インストール

千里の道もエラーから。ドキュメントルートにソースコードを配置してブラウザでアクセスすると、以下の画面になります。

f:id:netcraft3:20170808025422p:plain

ここでInstallボタンをクリックします。config-sample.phpからconfig.phpを生成するためのウィザード画面になります。この時にドキュメントルートはWebサーバー実行ユーザーで書き込み可能でなければなりません。

f:id:netcraft3:20170808025501p:plain

Welcomeで導入要件の検証画面が開きます。OsclassはPHP5.6以降でなければいけません(PHP7推奨)。PHPのMySQLiエクステンションとGDエクステンションも必要です。またこの画面には表示されていないですがphp-mbstringも必要でした。AmazonLinuxの場合は以下で入るかと思います。

$ sudo yum -y install php70 php70-mysqlnd php70-gd php70-mbstring mysql-server 

そしてoc-content/uploads、oc-content/downloads、oc-content/languages、ルートディレクトリをWebサーバー実行ユーザーが書き込み可能なように所有権を変更する必要があります。これでオールグリーン化されました。

f:id:netcraft3:20170808025617p:plain

続いてデータベースの設定です。ホスト名、ユーザー名、パスワード、テーブル名のプレフィックスを入力します。

f:id:netcraft3:20170808025636p:plain

続いてOsclassの管理ユーザーのユーザー名とパスワード、サイトアドレスとメールアドレスを入力して、ロケーションを設定します。日本 + 都道府県で設定することが可能です。

f:id:netcraft3:20170808025656p:plain

これで初期インストールは完了しました。

管理ユーザーでログイン

/oc-adminを開き管理ユーザーとしてログインします。

f:id:netcraft3:20170808025711p:plain

ダッシュボードが表示されます。WordPressのダッシュボードと構成はかなり似ています。

f:id:netcraft3:20170808025729p:plain

まだ日本語化の言語ファイルが入っていないので、「マーケット」メニューを開いて日本語の言語ファイルを選択します。日本語化ファイルは無償で手に入ります。

f:id:netcraft3:20170808025749p:plain

OKを押すとインストールが始まります。

f:id:netcraft3:20170808025808p:plain

設定メニューからJapaneseをEnableにします。

f:id:netcraft3:20170808025829p:plain

これで画面を開きなおしたら日本語化されました。

f:id:netcraft3:20170808025850p:plain

ダッシュボードも日本語で表示されています。

f:id:netcraft3:20170808025906p:plain

Osclassテーマ適用

Osclassのトップページを開くと日本語化されていますが標準テーマにかなり難があります。これもマーケットからテーマを入手可能です。有料テーマが多いですが無料のテーマもあります。マーケットからテーマをダウンロードするにはOsclassのユーザー登録が必要です。

f:id:netcraft3:20170808025922p:plain

無料のテーマを適用して体裁を整えてみたらだいぶ良くなりました。

f:id:netcraft3:20170808164840p:plain

その他の画面

新規ユーザー登録画面です。

f:id:netcraft3:20170808025948p:plain

募集告知閲覧画面。

f:id:netcraft3:20170808030007p:plain

プロフィールの詳細設定画面。

f:id:netcraft3:20170808030027p:plain

Osclassなら簡単にクラシファイドのマッチングサイトが作れる

ここまで掛かった時間は20分。Osclassなら簡単にクラシファイドのマッチングサービスを構築することができました。

ただ、機械学習を使っているわけではないので、カテゴリ(ジャンル)ベースの比較的中小規模なマッチング用かなと思います。大規模サイトになるとマッチングの精度向上が死活問題になるので、カスタマイズが必要になるかと。それでもここまでの機能が標準で備わっているのは助かりますね。

あと、Osclassはかなりマシンリソースを消費します。AWSのMicroインスタンスでは表示が大幅にもたつきました。ミニマムスタートでスターンドアローン時でも、もう少しスペックの良いサーバーにして運用する必要がありそう。

また色々使ってみて詳細をレポしようと思います。