INTER-Mediatorをレンタルサーバに組み込む(さくらのレンタルサーバ)
はじめに
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のパッケージには、サンプルプログラムも含まれています。また、動作確認の為にも一旦サンプルが動作するようデータベースも設定します。不用意に第三者にアクセスされないようにパスワードによるアクセス制限することにします。
おおまかな流れ
- さくらのレンタルサーバを契約する
- INTER-Mediatorのディレクトリにアクセス制限をかける
- INTER-Mediatorをダウンロードして展開する
- データベース(MySQL)を準備する
- データベースのデータをMySQLに読み込む
- INTER-Mediatorのデータベース接続設定を変更する
- サンプルの動作確認をする
- さくら特有の問題を解決する
手順
さくらのレンタルサーバを契約する
さくらのレンタルサーバを契約する
スタンダード以上のさくらのレンタルサーバ契約をする。契約が初めての方は、次のオフィシャルの情報を参考にしてください。
さくらのサポート情報: レンタルサーバを借りてみよう
次の情報を基準に話を進めます。
名前は、契約時の名前と読み替えてください。
項目 | 名前 |
---|---|
初期ドメイン | 名前.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"
),
),
Author And Source
この問題について(INTER-Mediatorをレンタルサーバに組み込む(さくらのレンタルサーバ)), 我々は、より多くの情報をここで見つけました https://qiita.com/motofumi/items/edc95ebe1e6a623a1f51著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .