ComposerとSemanticMediaWiki

[su_button url=”https://deus-ex-machina-ism.com/?p=6407″ target=”blank”]ウェブ技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?page_id=3551″ target=”blank”]デジタルトランスフォーメーション技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?page_id=3707″ target=”blank”]人工知能技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?p=283″ target=”blank”]自然言語処理技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?p=26″ target=”blank”]検索技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?p=10″ target=”blank”]セマンティックウェブ技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?p=17486″ target=”blank”]ユーザーインターフェース技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?p=15919″ target=”blank”]知識情報処理技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?p=6852″ target=”blank”]推論技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?page_id=12232″ target=”blank”]本ブログのナビ[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?p=20639″ target=”blank”]チャットボットと質疑応答技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?p=23388″ target=”blank”]PHPとウェブ開発[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?page_id=3553″ target=”blank”]機械学習技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?p=4741&lang=en” target=”blank”]オントロジー技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?p=610″ target=”blank”]データベース技術[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?p=6622″ target=”blank”]アルゴリズム[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?p=18736″ target=”blank”]ワークフロー&サービス[/su_button] [su_button url=”https://deus-ex-machina-ism.com/?page_id=12232″ target=”blank”]本ブログのナビ[/su_button] 

ComposerとSemanticMediaWiki

Composerは、PHPプログラミング言語向けのソフトウェアおよび必要なライブラリの依存関係を管理する標準形式を提供するアプリケーションレベルのパッケージ管理システムとなる。

コマンドライン上で動作し、アプリケーションが依存するライブラリなどをインストールする。 また、利用可能なパッケージを含んでいるメインリポジトリ『Packagist』で利用可能なPHPアプリケーションをインストールすることも可能であるほか、ライブラリ向けにサードパーティーのコードを容易に利用出来るオートロード情報を指定できる機能も提供されている。

また、Laravelを含めた有名なオープンソースのPHPプロジェクトの重要な機能の一部として利用されている

まず、このComposerのインストールについて述べる。Composerの公式ページに行くと以下のページが現れる。

Downloadを選ぶと以下のページが現れる。

ここで上記のページにある以下のコードをコピーしてそれぞれターミナルで実行する。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Composer successfully installed…が最後に表示されたらダウンロードは完了。

(以下macの場合)グローバルでcomposerを動かすためにcomposer.pharを移動させる。(/usr/local/binディレクトリがない場合は作成する。「sudo mkdir -p /usr/local/bin」)

sudo mv composer.phar /usr/local/bin/composer

インストールとパス通しが完了していれば「composer -V」をターミナルで入力するとバージョンが表示される。

Composerを使用するにはcomposer.jsonファイルを作成する必要があります。
composer.jsonは、プロジェクトにインストールしたいライブラリ情報を記述するファイルとなり、プロジェクトごとに作成する。

たとえば以下のようにプロジェクトを作成したとき

mkdir composer_project
cd composer_project

以下の様なcomposer.jsonファイルを作成し、上記のディレクトリ下に配置する。

//composer_project/composer.json

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

“require”の後に、パッケージ名:バージョン番号で、インストールしたいライブラリを指定する。さらに以下の様なインストールを行うと、ディレクトリ内にライブラリが依存関係まで考慮されて配置される。

composer install

次に、Semantic MediaWikiについて述べる。sematic mediawikiについては”Semantic Media Wiki“に詳細を述べている。今回はそれらの立ち上げについて述べる。

まずMediaWikiのディククトリ(本ブログの手順でやっていればではMAMPフォルダ内のhtdocsフォルダ内にある)にローカルのcomposer.pharを生成するため、以下を実施。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

フォルダ内にcomposer.pharが生成されていることを確認する。

次にmwフォルダ内に”composer.local.json-sample”ファイルがあるので、そのファイル名を”composer.local.json”に変更する。

次に以下のPHPのコマンドをmwフォルダのあるディレクトリ上で実行する。

COMPOSER=composer.local.json php composer.phar require --no-update mediawiki/semantic-media-wiki

さらに以下のコマンドを実行する。

composer update --no-dev

次にmwフォルダ内の“LocalSettings.php”ファイルを開き、以下のコードを付け加える。

## SEmantic MediaWikiwfLoadExtension( 'SemanticMediaWiki' ); enableSemantics( 'example.org' );

最後に以下のセットアップとアップデートのコマンドを実行する。

php maintenance/update.php
タイトルとURLをコピーしました