1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

INTER-Mediatorをレンタルサーバに組み込む(さくらのレンタルサーバ)

Posted at

はじめに

INTER-Mediatorをハンズオンが終わると、いよいよ、独自アプリを開発したくなってくる。INTER-Mediatorフレークワークを使う為には、Webサーバとデータベースが必要。オンプレミスサーバで構築しても良いが、ここでは、てっとり早く安価にはじめる為、レンタルサーバを使ったINTER-Mediator運用環境を設定する。

さくらのレンタルサーバ

レンタルサーバは、さくらインターネットのレンタルサーバで行います。レンタルサーバのグレードは、『スタンダード』を使用します。
さくらのレンタルサーバ: https://www.sakura.ne.jp

さくらのレンタルサーバの特徴(2018/01/28現在)

  • 2週間のお試し期間がある
  • MySQLが使える(スタンダード: 5OOMB)
  • Shellアクセスできる
  • 安価(515円/月〜)

前提条件

INTER-Mediatorの理解

もし、INTER-Mediatorがわからない方は、ぜひとも、『INTER-Mediatorをはじめよう』について学習してください。学習しやすいようにバーチャルマシンやビデオチュートリアルも用意してあります。

さくらのレンタルサーバ

さくらのレンタルサーバ、スタンダード以上の契約があること。とりあえず試したい方は、2週間のお試しを利用するのも手です。

セットアップ方針

INTER-Mediatorのインストール

GitHubのリポジトリの最新版をインストールします。(リリース版にする場合は、INTER-Meidator本家の『ダウンロードとインストール』を参考にしてください。)

MySQL

さくらのレンタルサーバ(スタンダード)のMySQLには、次の条件があります。

  • 文字コードをutf8するのに少々問題がある
  • MySQLのデータベースサイズはそんなに大きくない(スタンダード500MB)
  • MySQLのサンプルデータを読み込んで、サンプルプログラムでセットアップ確認します。

セキュリティについて

INTER-Mediatorのパッケージには、サンプルプログラムも含まれています。また、動作確認の為にも一旦サンプルが動作するようデータベースも設定します。不用意に第三者にアクセスされないようにパスワードによるアクセス制限することにします。

おおまかな流れ

  1. さくらのレンタルサーバを契約する
  2. INTER-Mediatorのディレクトリにアクセス制限をかける
  3. INTER-Mediatorをダウンロードして展開する
  4. データベース(MySQL)を準備する
  5. データベースのデータをMySQLに読み込む
  6. INTER-Mediatorのデータベース接続設定を変更する
  7. サンプルの動作確認をする
  8. さくら特有の問題を解決する

手順

さくらのレンタルサーバを契約する

スタンダード以上のさくらのレンタルサーバ契約をする。契約が初めての方は、次のオフィシャルの情報を参考にしてください。
さくらのサポート情報: レンタルサーバを借りてみよう

次の情報を基準に話を進めます。
名前は、契約時の名前と読み替えてください。

項目 名前
初期ドメイン 名前.sakura.ne.jp
展開ディレクトリ /home/名前/www/im/
MySQL DB名 名前_test_db
MySQL DB文字コード UTF8mb4

INTER-Mediatorのディレクトリにアクセス制限をかける

  • sshでさくらのレンタルサーバのディレクリにアクセス
$ ssh 名前@名前.sakura.ne.jp
  • 展開するディレクトリを作成
    ログイン直後のカレントディレクトリは、『/home/名前』なので、cdでwwwに移動して、imディレクトリを作成
% cd www
% mkdir im
  • ファイルマネージャーでアクセス制限
    ファイルマネジャーにログインして、『/home/名前/www/im』ディレクトリにアクセス制限を設定します。

オフィシャルヘルプ: 『【レンタルサーバ】ファイルマネージャーでアクセス制限をする

GitHubからINTER-Mediatorをダウンロードする

  • カレントディレクトリをimにして、GitHubからINTER-Mediatorをダウンロード。
% cd im
% git clone https://github.com/INTER-Mediator/INTER-Mediator.git

MySQLデータベースを作成する

  • さくらインターネットサーバコントロールパネルで、『データベース』の設定をクリックして、『データベースの新規作成』をする。

オフィシャルヘルプ: 『【レンタルサーバ】データベースの作成・追加・削除

項目 名前
データベース バージョン MySQL 5.7
データベース 名前
データベース名 名前_test_db
接続用パスワード *******
データベース 文字コード UTF-8(utf8mb4)

作成後、データベースサーバが決定する。

項目 名前 備考
データベース サーバ mysqlNNN.db.sakura.ne.jp NNNは番号

データベースのデータをMySQLに読み込む

展開したINTER-Mediatorの中『sample_schema_mysql.txt』というファイルがあり、Sampleアプリのデータが入っている。さくらのMySQL用に変更して読み込む

  • 『sample_schema_mysql.txt』をコピーする
cd ./INTER-Mediator/dist-docs
cp sample_schema_mysql.txt sample_schema_mysql_for_sakura.txt
  • 『sample_schema_mysql_for_sakura.txt』のL19からL30までコメントアウトする
/*
# DROP USER 'web'@'localhost';
CREATE USER 'web'@'localhost' IDENTIFIED BY 'password';
# GRANT USAGE ON *.* TO 'web'@'localhost' IDENTIFIED BY 'password';

# Grant to All operations for all objects with web account
GRANT SELECT, INSERT, DELETE, UPDATE ON TABLE test_db.* TO 'web'@'localhost';

DROP DATABASE IF EXISTS test_db;
CREATE DATABASE test_db
        CHARACTER SET utf8mb4
        COLLATE utf8mb4_unicode_ci;
USE test_db;
*/
  • データベースに読み込む(カレントディレクトが『im』とする)
% mysql -u 名前 -p -h mysqlNNN.db.sakura.ne.jp -D hatena_test_db --default-character-set=utf8mb4 < INTER-Mediator/dist-docs/sample_schema_mysql_for_sakura.txt

INTER-Mediatorのデータベース接続設定を変更する

展開したINTER-Mediatorの中『params.php』というファイルがあり、設定を次の通り変更する。

変数名 既存値 設定値
$dbUser web アカウントの名前
$dbPassword password データベースパスワード
$dbDSN mysql:unix_socket=/tmp/mysql.sock;dbname=test_db;charset=utf8 mysql:host=mysqlNNN.db.sakura.ne.jp;dbname=名前_test_db;charset=utf8mb4

サンプルの動作確認をする

『Any Kinds of Samples』の『Search Page』にアクセスして動作を確認する。

さくら特有の問題を解決する

文字コードに問題がある場合は、次のコードを追加する。

例:『Any Kinds of Samples』の『Search Page』の場合
Samples/Sample_search/include_MySQL.phpのファイルのL25以下に次のコードを追加する

'script' => array(
                array(
                    "db-operation"=>"load",
                    "situation"=>"pre",
                    "definition"=>"SET NAMES utf8mb4"
                ),
            ),
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?