Quantcast
Channel: レンタルサーバーのCPIスタッフブログ - SmartRelease
Viewing all 27 articles
Browse latest View live

MdNデザイン様にサーバの選び方コラムが掲載されました


週間アクセスランキング1位になりました@MdNデザイン

$
0
0

MdNデザイン様に掲載頂いた「今さら聞けない! レンタルサーバの選定と便利な使い方 第1回」が週間アクセスランキング1位となりました^^
http://www.mdn.co.jp/di/newstopics/25126/

皆様ありがとーございます。ありがとーございます。
 

Tags: 

週間アクセスランキング2週連続で1位になりました^^

$
0
0

MdNデザイン様に掲載頂いた「今さら聞けない! レンタルサーバの選定と便利な使い方」が週間アクセスランキング2週連続1位となりました^^
http://www.mdn.co.jp/di/newstopics/25347/?rm=1

ありがとうございます。ありがとうございます。
 

Tags: 

MdNデザイン様に「テスト環境を構築しよう」が公開されました

$
0
0

MdNデザイン様に「テスト環境を構築しよう」が公開されました。

内容は共用サーバーのマルチドメインを利用してテストサイトを構築した時のメリットと注意点を取り上げました。
http://www.mdn.co.jp/di/newstopics/25645/?rm=1

ACE01をご利用のお客様は、標準でテスト環境が用意されていますので、「テストサイト利用準備」の手順でテスト環境が利用出来ます。

皆さま、どうぞよろしくお願いします。
 

テストサイトにインストールしたDrupalを公開サイトへリリースする

$
0
0

テストサイトにDrupalを構築した後に、Webコンテンツを確認し、公開サイトへリリースする手順を紹介します。
※Drupalのインストールが済んでいない方は「テストサイトへDrupalをインストールする準備」から参照頂き、Drupalをテストサイトへ構築して下さい。

使用バージョン:Drupal7
サーバー:ACE01

なお当サイトはDrupalで構築されています。ブログの記事はテストサイトに一旦アップロードを行い、社内関係者のチェック後、公開サイトへとリリースされます。

 

テストサイトと公開サイトで、ブログの記事を分ける場合は、データベースの参照先をを分ける必要があります。

 

※下図では「記事データ、cms設定データ」と書かれているものがデータベースとなります。

1.公開用のデータベースを作成する
Webコントールパネルを開き、「テスト用サイト設定 > データベース > MySQLデータベースの追加・削除」をクリックし、データベースの追加画面を開く。
「データベース新規作成」ボタンをクリックし、UTF-8でデータベースを作成する。今回本番用のデータベースは「userid_drupal」とした。

2.データベースのコピー準備を行う
SmartReleaseにログインを行い、「バックアップ > データベース」データベースの手動バックアップを行い、現状のデータベースをバックアップする。

3.テストで利用していたデータベースから、公開用に新規追加したデータベースへコピーする
「aa115zaox6.sql」テストで利用していたバックアップファイルを選択し、公開サイトで利用するデータベース「aa115zaox6_drupal」を選択し、「リストア」をクリックする。これで、テストで作成したデータベースが公開サイト用のデータベースにコピーされました。
※aa115zax6はUserIDとなるので、ユーザーによって異なります。

4.Webファイルをリリースする
「リリース > すべてリリース」をクリックし、 確認画面で「リリース」をクリックする。
これでWebファイルが全て公開サイトへリリースされました。

5.公開サイトのデータベース参照先を変更する
公開サイトへFTP接続を行い、次のファイルを編集する「/html/drupal_install_dir/sites/default/settings.php」

208行目、      'database' => 'aa115zaox6', //テストで使用していたデータベース名
 ↓↓↓↓↓↓↓↓↓↓
208行目、      'database' => 'aa115zaox6_drupal', //公開サイトで使用するデータベース名に変更する

これで公開サイトにDrupalが設置されました。

6.「settings.php」を除外リストに追加する
今後テストサイトで記事を書いたり、設定を変えたりした場合などに「すべてリリース」を行うと、settings.phpも上書きされてしまうので、リリースの除外リストに追加する。
「リリース > 除外リストに追加」をクリックする。除外リスト追加画面が表示されるので、「/html/drupal_install_dir/sites/default/settings.php」を追加する。

7.フォルダのパーミッションを変更する
これは本当に申し訳ないのだが、リリース時における不具合が存在している関係で、フォルダに実行権限をつけないとリリースが出来ない。
※現在調査中で、対応を検討中です。

テストサイトの次のフォルダ「/html/drupal_install_dir/sites/default」のパーミッションを「555」→「755」に変更して下さい。
この不具合ですが、修正しましたので、現在はパーミッションに関係なくリリースすることが可能となりました。
 

以上の手順で、テストサイトで構築したDrupalを公開サイトへリリース出来ます。

関連タグ: 

Drupal + SmartRelease活用事例(CPIスタッフブログ)

$
0
0

CMSなどを導入すると公開サイトを直接編集し、Webを更新しているユーザーも多いのではないでしょうか。公開サイトを直接修正する事で記事をアップロードするスピードは増しますが、クオリティーについてはどうでしょうか。公開サイトを直接編集する事により、画像が表示されないや、ファイルのリンク切れ、誤字脱字などが更新後に確認され、あわてて修正を行う事などは無いでしょか。

これらの問題を防ぐために、当サイト(CPIスタッフブログ)では、一旦テストサイトに記事をアップロードし、記事の確認後、公開サイトへ記事をアップロードする。というスキームを必ず取っています。

[サイト公開までのスキーム
1.テスト環境でブログの記事を書きます。

2.関係各部署に記事のチェック依頼をメールします。
  ※弊社の場合、法務、デザイン部、プロモーション部にチェック依頼を出しています。

3.関係各部署の確認後、公開環境へ記事をアップロードする。

使用しているシステム]

サーバー:Shared Plan ACE01
CMS:Drupal7
テストサイト
 URL:http://aa115zaox6.smartrelease.jp
 データベース:aa115zaox6

公開サイト
 URL:http://shared-blog.kddi-web.com
 データベース:aa115zaox6_drupal

※テストサイトと公開サイトとでデータベースを分けて運用しています。

[利用方法

[メリット]

  • 最大のメリットはテストサイトで確認した記事やデザインがそのまま公開環境へアップロードされる
  • 確認作業がテスト環境のみで全て完結出来る
  • CMSの追加開発があった場合でも、テスト環境で開発出来るので、公開環境がダウンするなどの事が無い
  • CMSのセキュリティーアップデートなどがテストサイトに一旦適用後、公開サイトへ適用出来る

[デメリット]

  • テスト環境のデータを、公開環境へすべて転送するので、ユーザーコメントなどを公開用のデータベースに蓄積出来ない
    ※当サイトはFacebookコメントを利用しているのでテスト環境のコメントが上書きされる事はありません
  • 一旦テスト環境に記事を上げてから公開を行うので、ひと手間増える
  • CMS独自に蓄積されるアクセスログやシステムログなどが、全てテスト環境のデータに上書きされる
    ※当サイトのアクセスログはGoogleアナリティクスを利用しているので上書きはされない。
    ※システムログ(Drupalで言うとWatchdog)がテスト環境のものに上書きされる。一工夫する事で回避も出来る

テストサイトで書いた記事を公開サイトへリリースする(Drupal編)

$
0
0

テストサイトで書いた記事を公開サイトへアップロードする方法を紹介します。2つの作業でテストから公開へ記事をアップロードする事が出来ます。使用しているCMSはDrupal7です。
※テスト環境へのDrupalの設置は、「テストサイトへDrupalをインストールする準備」を参照下さい。

1.「Webコンテンツ」を公開サイトへアップロード
SmartReleaseにログインし、「リリース > すべてリリース」をクリックし、 確認画面で「リリース」をクリックする。
Webファイルが全て公開サイトへリリースされました。

 

2.「データベース」をテストから公開へコピー
まずは現状のデータベースのバックアップを取得します。
「バックアップ > データベース > バックアップ」をクリックします。
バックアップ処理を開始し、暫くすると現状の「手動」バックアップが生成されます。

バックアップが生成されたら、テストサイトのデータベースを公開サイトのデータベースへコピーします。
テストサイトのデータベース:aa115zaox6
公開サイトのデータベース:aa115zaox6_drupal
※当サイトでは、上記のデータベース名を利用しています。データベースは予め用意下さい。

先ほど取得した手動バックアップ欄の「リストア」をクリックします。

上段の選択より、テスト用のデータベースバックアップ(aa115zaox6.sql)を選択し、下段で、公開用のデータベースを選択する(aa115zaox6_drupal)、リストアをクリックします。

以上で、テスト環境で書いた記事を、公開環境へアップロードする事が出来ます。
SmartReleaseをご利用頂くと、簡単にテストサイトから公開サイトへ記事をアップロードする事が出来きます。またリリースを行うたびに、自動でバックアップが取得されますので、万が一のときなど、サイトを元の状態に戻す事も可能です。

関連タグ: 

SmartReleaseのテストサイトにWordPressをインストールする

$
0
0

SmartReleaseの「テストサイト利用準備」でテストサイトが利用出来るようになったので、そこにWordPress3をインストールします。
2012年9月現在、弊社のCMSインストーラーを使用すると、WordPress3.3.1がインストールされるので、インストール後はアップデート作業を行って下さい。

[CMSインストーラーでWordPressプログラムファイルをサーバーに設置する]

  1. ユーザーポータルから、Webコントロールパネルにログインし、「テストサイト用設定 > ソフトライブラリ > CMSインストーラー」の順にクリックします。
  2. CMS選択画面より、「WordPress」をクリックします
    responsive-img
  3. WordPressをインストールするディレクトリを選択し、「同意の上インストールする」をクリックします。今回は「wp」というフォルダにインストールを行います。
  4. WordPressのインストールプログラムの設置が完了すると、以下の画面に遷移するので、[上級者向け]欄に表示されたURLより、WordPressのインストールページへと進みます。「データベース名」欄に表示されたデータベース名は後ほど使用するので、メモを取って下さい。

【WordPressをテストサイトへインストールする】
テストサイトに設置したプログラムにアクセスするとWordPressのインストールウイザードが表示されるので設定を行います。

  1. 「設定ファイルを作成する」をクリックします。
  2. 「次に進みましょう!」をクリックします。
  3. データベースの設定情報を以下の通り入力し、「作成する」をクリックします。
    データベース名:前項の手順4で表示された名前を入力します。
    ユーザー名:サーバーの設定完了通知に記載されています。
    パスワード:サーバーの設定完了通知に記載されています。
    データベースのホスト名:「127.0.0.1」を入力します。
  4. 「インストール実行」をクッリクします。
  5. 必要情報を入力し、「WordPressをインストール」をクリックします。
  6. 「ログイン」をクリックし、WordPressの管理画面にログインをして下さい。

以上でテストサイトへのWordPressインストールは完了です。次回はWordPressを公開サイトへリリースする方法をご紹介します。

 

関連タグ: 

テストサイトに構築したWordPressを公開サイトにリリースする

$
0
0

SmartReleaseのテストサイトにWordPressをインストールする」でWordPressをテストサイトへ構築しましたが、そのWordPressを公開サイトへリリースする方法を紹介させて頂きます。

CMS:WordPress 3.4.2
サーバー:ACE01

テストサイト情報

URL:http://aa115zaox6.smartrelease.jp/wp/
データベース名:aa115zaox6_wordpress

公開サイト情報

URL:http://shared-blog.kddi-web.com/wp/
データベース名:aa115zaox6_wpproduc
 

公開サイトで使用するデータベースの準備

  1. ウェブコントロールパネルにログインし、「ホーム > テストサイト用設定 > データベース >MySQLデータベースの追加・削除」の順に遷移します。
  2. 以下の通りデータ入力を行い、「新規追加」をクリックします。
    文字コード:UTF-8
    新規データベース名:公開サイトで使用するデータベースの名前
  3. 現状のデータベースをコピーする。
    SmartReleaseにログインし、「バックアップ > データベース」をクリックし、「バックアップ」ボタンをクリックします。

     
  4. 「自動」バックアップが一覧に表示されるので、「リストア」をクリックします。
    ※表示されない場合は画面更新を行って下さい。
  5. 上段にテストサイトで使用しているデータベースを選択、下段に公開サイトで使用するデータベースを選択し、「リストア」をクリックします。

    データベースのコピーが完了しました。
  6. Webコントロールパネルに戻り、「ホーム > テストサイト用設定 > データベース」を開き、「MySQL5.5管理画面」をクリックします。
  7. phpMyAdminが起動するので、サーバー設定完了通知のデータベース欄のIDとパスワードを入力しログインします。
  8. phpMyAdminの左メニューより、公開サイトで使用するデータベース名をクリックします。

     
  9. 「検索タブ」をクリックし、テストサイト用のURLで検索を行います。テスト用ブログサイトで合計27件ありました。
    こちらを全て公開用のURLに変更します。

     
  10. wp_optionsテーブルの変更
    「SQL」タブをクリックし以下のSQLを入力し、「実行する」をクリックします。
    UPDATE `wp_options` set `option_name`=replace(option_name,'http://UserID.smartrelease.jp/','http://Site-URL/');
    
    	UPDATE `wp_options` set `option_value`=replace(option_value,'http://UserID.smartrelease.jp/','http://Site-URL/');
  11. wp_postsテーブルの変更
    「SQL」タブをクリックし、以下のSQLを入力し、「実行する」をクリックします。
    UPDATE `wp_posts` set `post_content`=replace(post_content,'http://UserID.smartrelease.jp/','http://Site-URL/');
    
    	UPDATE `wp_posts` set `guid`=replace(guid,'http://UserID.smartrelease.jp/','http://Site-URL/');
  12. 「検索」タブをクリックし、再度テスト用URLで検索を行います。合計0件になれば成功です。他にもテスト用URLが存在する場合は上記と同じ手順で値を変更して下さい。

 

 

公開サイトへリリース

 

公開サイト用のデータベースの準備が出来ました。
続いてWordPressのプログラムファイルを公開サイトへリリースし、サイトを公開します。

  1. SmartReleaseにログインし、「リリース > すべてリリース」よりウェブコンテンツファイルを全て公開サイトへ置き換えます。
  2. ウェブデータ転送後、WordPressの設定ファイルを編集します。
    公開サイトにFTP接続を行い以下のファイルを編集し、アップロードを行います。
    /wpインストールディレクトリ/wp-config.php

    define('DB_NAME', 'aa115zaox6_wordpress');  //テストで使用しているデータベース
        ↓↓
    define('DB_NAME', 'aa115zaox6_wpproduc');  //公開で使用するデータベース
     

  3. 次回「すべてリリース」をした時にwp-config.phpファイルが上書きされないように、除外リストへ追加します。
    SmartReleaseの「すべてリリース」画面の「除外リストに追加」ボタンをクリックします。
    除外リスト追加画面で、「/wpインストールディレクトリ/wp-config.php」を選択し、「除外リストに追加」をクリックします。

 

以上でWordPressが公開サイトに、リリースされました。

WordPressをテストサイトで構築し、公開サイトにリリースを行うスキームを取る事で、思わぬサイトダウンなどを防ぐことができます。また、デザインテンプレートの変更や、プログラムの改修などにもテストサイトを利用することで、公開サイトの停止や、レイアウト崩れなどを防ぐことができます。

 

Shared Plan ACE01のSmartReleaseは、WordPressのテストサイトを簡単に構築することができます。

[使用したシステム情報]

CMS:WordPress 3.4.2
サーバー:ACE01
テストサイト情報
 URL:http://aa115zaox6.smartrelease.jp/wp/
 データベース名:aa115zaox6_wordpress

公開サイト情報
 URL:http://shared-blog.kddi-web.com/wp/
 データベース名:aa115zaox6_wpproduc
※テストサイトと公開サイトとでデータベースを分けて運用をしています。


WordPressって標準のテーマが既にレスポンシブウェブなんですね。恐れ入りました。

[利用方法

メリット

  • テストサイトで確認した内容をそのまま、公開サイトにリリースできる
  • デザインテンプレートの変更、プログラムの改修などに便利
  • CMSのセキュリティーアップデートなどがテストサイトに一旦適用後、公開サイトへ適用できる

[デメリット

  • ユーザーコメントをWordPressのデータベースに蓄積できない
    ※Facebookコメント等を利用する事で回避できる
  • WordPressは画像のパス、各ページのパスなどにドメイン付きの絶対パスを使用するので、毎回書き換える必要がある。

 

関連タグ: 

Google Analytics API(V3)のPHPバージョンを使って、CMSの人気記事一覧を作ろう

$
0
0

テストサイトで記事を書いて、公開サイトへのリリース時に、Webデータとデータベースを公開サイトへアップロードしている場合。アクセス履歴やユーザーコメントなどもテストのデータに上書きされてしまいます。ユーザーコメントはFacebookコメントを使用したり、アクセス履歴はGoogle Analyticsを使用したりする事で回避する事ができます。当ブログのコメントもFacebookコメントを採用し、外部サーバーから情報を取得し各ページへ出力を行っています。
今回は、Google Analyticsでページのアクセス数を集計し、そのデータを元に各CMSと連携を行い、人気記事一覧を作成します。この記事を書き終える頃には左のエリアに人気記事一覧が出力されていると思います^^

 

Google Analytics API(V3) PHPを使用してアクセス数情報を取得する

 

[情報ソース]

今回の記事を書こうと思い、調べていたら多くの日本語ドキュメンを見つける事が出来ました。(本当に皆様助かりました。ありがとうございました)
で、今回の記事のほとんどのソースが「unlinked log」様のページを参考にさせて頂いております。ありがとう御座いました。

Google API V3
Google APIs Client Library for PHP
Hello Analytics API

[手順]

  1. Google APIs Consoleにアクセスし、API利用登録を行う

    Google Analyticsのログイン情報を入力し、ログイン

    初回の場合、下記画面が表示されるので「Create Project」をクリックし、プロジェクトを作成します。

    ログイン後、左のメニューより「Services」をクリックし、Analytics APIを「ON」にして下さい。

    「Click Create an OAuth 2.0 client ID....」をクリックし、client IDを作成して下さい。

    作成すると「Client ID」、「Client secret」などが発行されます。この値は後ほど使用します。

     

  2. あとは「anlinks log」様にのっているソースを拝借しましてw(ちゃんと許可はとっております^^;)一部ソースを書き換えるだけです。Libraryのサンプルを参照しつつ、Reference Guideなどを見ると違うプログラムにも対応出来きますね。
     
    <?php
    // ライブラリ読み込み
    require('./google-api-php-client/src/apiClient.php');
    
    // Analytics なのでこれを
    require('./google-api-php-client/src/contrib/apiAnalyticsService.php');
    
    // セッションスタート
    session_start();
    
    
    $client = new apiClient();
    
    // クライアントID
    $client->setClientId('***********************************');
    // クライアントSecret
    $client->setClientSecret('***********************************');
    // リダイレクトURL
    $client->setRedirectUri('***********************************');
    
    $service = new apiAnalyticsService($client);
    
    // 許可されてリダイレクトされると URL に code が付加されている
    // code があったら受け取って、認証する
    if (isset($_GET['code'])) {
    
      // 認証(トークン、リフレッシュトークンを取得)
      $client->authenticate();
    
      // 取得したトークンをセッションにセット
      $_SESSION['token'] = $client->getAccessToken();
    
      // リダイレクト(ここらへんは任意に)
      header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
    
      exit;
    }
    
    if (isset($_SESSION['token'])) {
      // トークンセット
      $client->setAccessToken($_SESSION['token']);
    }
    
    // トークンがセットされていたら
    if ($client->getAccessToken()) {
    
      // ~all で全てのプロファイルを取得します
      // 第一引数にはアカウントIDを指定することで指定したアカウントのプロファイルのみ取得出来ます
      // 第二引数にはWebプロパティID(UA-なんたらのやつ)を指定することで、指定したプロファイルだけを取得出来ます(アカウントIDも指定が必要)
      // ※図5で説明
    
      $profiles = $service->management_profiles->listManagementProfiles("12345678","UA-12345678-99");
    
      try {
      // プロファイルID
      // ※図6で説明
      $ids = 'ga:12345678';
    
      // 期間(スタート)
      $start_date = '2012-09-11';
    
      // 期間(エンド)
      $end_date = '2012-09-27';
    
      // メトリクス,複数の場合は , で区切る
      $metrics = 'ga:pageviews';
    
      // ディメンション,複数の場合は , で区切る
      $dimensions = 'ga:pageTitle,ga:pagePath';
    
      // ソートする項目, - をつけると降順になります
      $sort = '-ga:pageviews';
    
      // 最大取得数
      $max_results = 10;
    
      // ディメンションやソートなどの必須でないものは、オプションとして一つの配列としてまとめます
      $optParams = array('dimensions' => $dimensions, 'sort' => $sort, 'max-results' => $max_results);
      $data = $service->data_ga->get($ids, $start_date, $end_date, $metrics, $optParams);
    
      // 返ってきたデータは表示する時ちょっと分かりづらいので、ちょっと形を整えます
      $results = array();
    
      foreach ($data['rows'] as $row => $value) {
        foreach ($data['columnHeaders'] as $key => $header) {
          $results[$row][$header['name']] = $value[$key];
        }
      }
    
      $site_url = 'http://example.com';
      echo '<table><tbody>';
      foreach ($results as $result) {
        echo "<tr><td><a href=\"{$site_url}{$result['ga:pagePath']}\">{$result['ga:pageTitle']}</a></td>
    <td>{$result['ga:pageviews']}</td></tr>";
      }
    
      echo '</tbody></table>';
    
    // エラーの時は例外を投げます
    } catch (apiServiceException $e) {
      echo $e->getMessage();
    }
    
    // トークンがセットされてなかったら
    } else {
    
      // 認証用URL取得
      $auth_url = $client->createAuthUrl();
      echo '<a href="'.$auth_url.'">アプリケーションのアクセスを許可してください。</a>';
    }
    (図5)プロファイル選択とプロファイルIDについて
    Googleアナリティクスにログインし、「アナリティクス設定 > プロファイル選択 > プロファイル設定」と進み、以下の画面を確認します。
    プロパティID欄の真ん中の数値を第一関数に指定、UA-入りの全てを第二関数に指定します。
    (例)listManagementProfiles("12345678","UA-12345678-99");

    プロファイルIDは画面中程の数字となります。

  3. 作成したプログラムとライブラリをWebサーバーに設置し、アクセスするとアクセスの高い順よりタイトルとページビューを閲覧する事ができます。

Google Analytics API(V3) PHPを使用してCMSの読み込みようファイルを作成する

 

作ったプログラムを改修します。
変更内容①、初回アクセス時のTokenをファイルに保存し、次回以降(cron)はファイルからTokenを読み込む
変更内容②、アナリティクスの結果をファイルへ保存する
※Google Analytics APIのOauth認証が毎回認証を問われるので、このような仕様でプログラムを作成しました。もしかしたら他に方法があるのかもしれません。もしありましたら、教えて頂けると幸いです。

<?php
require('./google-api-php-client/src/apiClient.php');
require('./google-api-php-client/src/contrib/apiAnalyticsService.php');

// セッションスタート
session_start();
$client = new apiClient();

/**************************
// Google Analytics設定
*************/
// クライアントID
$client->setClientId('*********************************');
// クライアントSecret
$client->setClientSecret('******************************');
// リダイレクトURL
$client->setRedirectUri('http://shared-blog.kddi-web.com/google_ana.php');
// Google Tokenを保存するファイル名(適宜DBに保存するなど変更下さい)
//Web上から読みとれない場所を指定してください。
// e.g) /home/UserID/gtoken.txt
$tokenpath = "../gtoken.txt";
// Google Analyticsの結果を保存するファイル名(適宜DBに保存するなど変更下さい)
$filepath = "../gana.txt";
// プロファイルID
$ids = 'ga:***********';
// 期間(スタート)現在の日付からマイナス2ヶ月より計測
$start_date = date("Y-m-d",strtotime("-2 month"));
// 期間(エンド)現在の日付
$end_date = date("Y-m-d");

$service = new apiAnalyticsService($client);

// 許可されてリダイレクトされると URL に code が付加されている
// code があったら受け取って、認証する
if (isset($_GET['code'])) {
  // 認証(トークン、リフレッシュトークンを取得)
  $client->authenticate();
  // 取得したトークンをセッションにセット
  $_SESSION['token'] = $client->getAccessToken();
  // リダイレクト(ここらへんは任意に)
  header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
  exit;
}

if (isset($_SESSION['token'])) {

  //tokenを保存する。適宜DBに保存するなど変更して下さい。
  $string = $_SESSION['token'];
  //ページ出力
  $fp = fopen($tokenpath, "w");
  @fwrite( $fp, $string, strlen($string) );
  fclose($fp);
  unset($string);

  // トークンセット
  $client->setAccessToken($_SESSION['token']);

}elseif ( file_exists( $tokenpath )) {
  $token = @file($tokenpath);
  $client->setAccessToken($token[0]);
}

// トークンがセットされていたら
if ($client->getAccessToken()) {
  //プロファイルを指定する"AcountID","webPropertyId"
  $profiles = $service->management_profiles->listManagementProfiles("AcountID","webPropertyId");

try {
  // メトリクス,複数の場合は , で区切る
  $metrics = 'ga:pageviews';
  // ディメンション,複数の場合は , で区切る
  $dimensions = 'ga:pageTitle,ga:pagePath';
  // ソートする項目, - をつけると降順になります
  $sort = '-ga:pageviews';
  // 最大取得数
  $max_results = 20;
  // ディメンションやソートなどの必須でないものは、オプションとして一つの配列としてまとめます
  $optParams = array('dimensions' => $dimensions, 'sort' => $sort, 'max-results' => $max_results);
  $data = $service->data_ga->get($ids, $start_date, $end_date, $metrics, $optParams);
 
  // 返ってきたデータは表示する時ちょっと分かりづらいので、ちょっと形を整えます
  $results = array();
  foreach ($data['rows'] as $row => $value) {
   foreach ($data['columnHeaders'] as $key => $header) {
    $results[$row][$header['name']] = $value[$key];
   }
  }

  //ファイル出力(適宜DBなどに変更下さい)
  foreach ($results as $result) {
   $string .= "{$result['ga:pagePath']},{$result['ga:pageTitle']},{$result['ga:pageviews']}\n";
  }

  $fp = fopen($filepath, "w");
  @fwrite( $fp, $string, strlen($string) );
  fclose($fp);

  echo $string;

// エラーの時は例外を投げます
} catch (apiServiceException $e) {
  echo $e->getMessage();
}

// トークンがセットされてなかったら
} else {
  // 認証用URL取得
  $auth_url = $client->createAuthUrl();
  echo '<a href="'.$auth_url.'">アプリケーションのアクセスを許可してください。。</a>';
}

修正したプログラムをサーバーへアップロードしブラウザからアクセスして下さい。出力結果がファイルに保存されると思います。この作成したプログラムをcron登録して下さい。SmartReleaseを利用しているユーザーはテストサイトでこのプログラムを作成し、今回作ったファイルをリリースの除外リストへ追加することで、より一層セキュリティーレベルが増します。
 

Google Analyticsのデータを元に人気コンテンツ一覧を作成する(Drupal編)

前回作ったプログラムを改修します。
変更内容①、初回アクセス時のTokenをファイルに保存し、次回以降(cron)はファイルからTokenを読み込む
変更内容②、アナリティクスの結果をファイルへ保存する
※Google Analytics APIのOauth認証が毎回認証を問われるので、このような仕様でプログラムを作成しました。もしかしたら他に方法があるのかもしれません。もしありましたら、教えて頂けると幸いです。

 

<?php
require('./google-api-php-client/src/apiClient.php');
require('./google-api-php-client/src/contrib/apiAnalyticsService.php');

// セッションスタート
session_start();
$client = new apiClient();

/**************************
// Google Analytics設定
*************/
// クライアントID
$client->setClientId('*********************************');
// クライアントSecret
$client->setClientSecret('******************************');
// リダイレクトURL
$client->setRedirectUri('http://shared-blog.kddi-web.com/google_ana.php');
// Google Tokenを保存するファイル名(適宜DBに保存するなど変更下さい)
//Web上から読みとれない場所を指定してください。
// e.g) /home/UserID/gtoken.txt
$tokenpath = "../gtoken.txt";
// Google Analyticsの結果を保存するファイル名(適宜DBに保存するなど変更下さい)
$filepath = "../gana.txt";
// プロファイルID
$ids = 'ga:***********';
// 期間(スタート)現在の日付からマイナス2ヶ月より計測
$start_date = date("Y-m-d",strtotime("-2 month"));
// 期間(エンド)現在の日付
$end_date = date("Y-m-d");

$service = new apiAnalyticsService($client);

// 許可されてリダイレクトされると URL に code が付加されている
// code があったら受け取って、認証する
if (isset($_GET['code'])) {
  // 認証(トークン、リフレッシュトークンを取得)
  $client->authenticate();
  // 取得したトークンをセッションにセット
  $_SESSION['token'] = $client->getAccessToken();
  // リダイレクト(ここらへんは任意に)
  header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
  exit;
}

if (isset($_SESSION['token'])) {

  //tokenを保存する。適宜DBに保存するなど変更して下さい。
  $string = $_SESSION['token'];
  //ページ出力
  $fp = fopen($tokenpath, "w");
  @fwrite( $fp, $string, strlen($string) );
  fclose($fp);
  unset($string);

  // トークンセット
  $client->setAccessToken($_SESSION['token']);

}elseif ( file_exists( $tokenpath )) {
  $token = @file($tokenpath);
  $client->setAccessToken($token[0]);
}

// トークンがセットされていたら
if ($client->getAccessToken()) {
  //プロファイルを指定する"AcountID","webPropertyId"
  $profiles = $service->management_profiles->listManagementProfiles("AcountID","webPropertyId");

try {
  // メトリクス,複数の場合は , で区切る
  $metrics = 'ga:pageviews';
  // ディメンション,複数の場合は , で区切る
  $dimensions = 'ga:pageTitle,ga:pagePath';
  // ソートする項目, - をつけると降順になります
  $sort = '-ga:pageviews';
  // 最大取得数
  $max_results = 20;
  // ディメンションやソートなどの必須でないものは、オプションとして一つの配列としてまとめます
  $optParams = array('dimensions' => $dimensions, 'sort' => $sort, 'max-results' => $max_results);
  $data = $service->data_ga->get($ids, $start_date, $end_date, $metrics, $optParams);
 
  // 返ってきたデータは表示する時ちょっと分かりづらいので、ちょっと形を整えます
  $results = array();
  foreach ($data['rows'] as $row => $value) {
   foreach ($data['columnHeaders'] as $key => $header) {
    $results[$row][$header['name']] = $value[$key];
   }
  }

  //ファイル出力(適宜DBなどに変更下さい)
  foreach ($results as $result) {
   $string .= "{$result['ga:pagePath']},{$result['ga:pageTitle']},{$result['ga:pageviews']}\n";
  }

  $fp = fopen($filepath, "w");
  @fwrite( $fp, $string, strlen($string) );
  fclose($fp);

  echo $string;

// エラーの時は例外を投げます
} catch (apiServiceException $e) {
  echo $e->getMessage();
}

// トークンがセットされてなかったら
} else {
  // 認証用URL取得
  $auth_url = $client->createAuthUrl();
  echo '<a href="'.$auth_url.'">アプリケーションのアクセスを許可してください。。</a>';
}

修正したプログラムをサーバーへアップロードしブラウザからアクセスして下さい。出力結果がファイルに保存されると思います。この作成したプログラムをcron登録して下さい。SmartReleaseを利用しているユーザーはテストサイトでこのプログラムを作成し、今回作ったファイルをリリースの除外リストへ追加することで、より一層セキュリティーレベルが増します。

Google Analyticsのデータを元に人気コンテンツ一覧を作成する(Drupal編)

  1. Drupal CMSの管理画面にログインし、「ホーム » 管理 » サイト構築」を開きます
  2. 「ブロックを追加」をクリックします
  3. 「ブロックのタイトル」、「ブロックの説明 *」を入力します
  4. テキストフォーマットを「PHP code」を選択してください
    ※PHP codeが選択出来ない場合、「PHP filter」モジュールを有効にしてください
  5. 以下のコードを貼り付け、保存してください
    <?php
    
        //ファイル読み込み(ファイルパスを指定)
        $filepath = '/usr/home/UserID/gana.txt';
        $data = @file($filepath);
    
        print_r($data);
    
        echo '<div class="item-listul">';
    
        $cnt = '0';
        foreach ($data as $value) {
           $printdata = preg_split('/,/', $value);
    
           //topページを除外
           if($printdata[0]=='/top'){continue;}
    
          //タイトルを整形する(一例です。適宜変更ください)
          $replaceTitle = str_replace("", "", $printdata[1]);
          $replaceTitle = str_replace("|CPIスタッフブログ", "", $replaceTitle);
          if(!$replaceTitle){$replaceTitle='「No Title」';}
    
           echo '<li class="views-row"><a href="'.$printdata[0].'">'.$replaceTitle.'</a></li>';
    
           $cnt++;
           if( $cnt > '10' ) {break;}
        }
        echo '</ul></div>';

Google Analyticsのデータを元に人気コンテンツ一覧を作成する(WordPress編)

[使用しているバージョン]
WordPress3.4.2
My Custom Widgets2.0.5

  1. WordPress管理画面のプラグイン追加ページより、「My Custom Widgets」をインストールし有効化します。
  2. 外観→ウィジェットより、「MCW 2.0 Addon」を表示したいエリアにドラッグ&ドロップします。
  3. タイトルを入力します、次にPHPのチェックを入れ、下記のコードを挿入し、保存をクリックすると、人気記事一覧が表示されます。
    ※こちらのリンクより完成イメージがご覧になれます。(http://shared-blog.kddi-web.com/wp
    //ファイル読み込み(ファイルパスを指定)
    $filepath = '/usr/home/UserID/gana.txt';
    $data = @file($filepath);
    
    $cnt = '1';
    echo '<ul>';
    foreach ($data as $value) {
       $printdata = preg_split('/,/', $value);
    
       //topページを除外
       if($printdata[0]=='/top'){continue;}
    
       //タイトルを整形する(一例です。適宜変更ください)
       $replaceTitle = str_replace("", "", $printdata[1]);
       $replaceTitle = str_replace("|CPIスタッフブログ", "", $replaceTitle);
       if(!$replaceTitle){$replaceTitle='「No Title」';}
    
        echo '<li class="cat-item cat-item-'.$cnt.'"><a href="'.$printdata[0].'">'.$replaceTitle.'</a></li>';
    
        $cnt++;
        if( $cnt > '10' ) {break;}
    }
    echo '</ul>';

以上でWordPressへの取り込みが完了です。

関連タグ: 

CPIスタッフブログ(Drupal CMS)のアップデート手順

$
0
0

CPIスタッフブログのCMSアップデートを行います。WordPress、Drupal、JoomlaなどのCMSはPHPとMySQLで構成されてお り、頻繁にセキュリティーアップデートがリリースされます。セキュリティーアップデートは悪意のあるユーザーからサイトを守ることが出来るので必ずアップ デートを行う必要があります。
このアップデートを公開サイトで直接行っていると、思わぬサイトダウンや、デザイン崩れなどが起こる場合があるので、必ずバックアップを取得後にテストサイトで動作確認し、公開サイトへ反映を行ってください。

Drupalバージョン:7.14 → 7.15
Tokenモジュール:7.x-1.2 → 7.x-1.4

[手順]

  1. バックアップを取得する
  2. テストサイトにパッチ適用
  3. 公開サイトへリリース

[1.バックアップを取得する]

  1. SmartReleaseにログインし、「テストサイト」、「公開サイト」、「データベース」それぞれのバックアップを取得してください。
    バックアップに成功すると「手動」アイコンがついたバックアップが表示されるので、適当なコメントを付けます。

[2.テストサイトにパッチ適用]

  1. CMSの管理画面にログインし、「管理 » レポート » 利用可能なアップデート」へアクセスします。
  2. 今回はTokenモジュールをアップデートするので、Tokenモジュール欄横のチェックを付け「アップデートをダウンロード」をクリックします。
  3. ダウンロードが成功すると、下記の画面が出力されるので、「メンテナンスモード・・・」のチェックを外し、「継続」をクリックします。
  4. モジュールのアップデートが成功すると、下記の画面が出力されるので、「Run database updates」をクリックします。
  5. 「Continue」をクリックすると、databaseアップデートが実行されます。

    以上で、モジュールのアップデートが完了しました。
  6. 続いてDrupalコアのアップデートを行います。
    http://drupal.org/project/drupal」にアクセスし、最新版のDrupalをダウンロードします。
  7. ダウンロードしたファイルをテストサイトに「sites」フォルダ以外のファイルを全てアップロードします。
    ※.htaccessファイルはCPIの設定値が含まれるので、新しい.htaccessファイルにマージして下さい。
     「AddHandler x-httpd-php536 .php」
    ※コアプログラムをカスタマイズしている方は個別にアップデートを行ってください。

[3.公開サイトへリリース]
テストサイトでサイトの動作を確認し、問題がなければ公開サイトへリリースを行います。なんらかの不具合があればバックアップファイルからリストアを行ってください。

リリースの手順は、「テストサイトで書いた記事を公開サイトへリリースする(Drupal編)」を参照下さい。

関連タグ: 

SmartReleaseの「バックアップ」機能について

$
0
0

SmartReleaseには大きく分けて2つの機能が備わっています。1つは以前に紹介したリリース機能です。もう1つがバックアップ機能です。今回はバックアップ機能についてご紹介します。

SmartReleaseは、「Shared Plan ACE01」に搭載されている機能です。これまでにレンタルサーバーでは無かった、テストサイトと公開サイトを標準使用することができます。

このテストサイトと公開サイトのバックアップと、データベースのバックアップを別領域サーバーに保存しています。

[バックアップの取得タイミング]

  • 毎日深夜帯に自動でバックアップ
  • サイト公開時に自動でバックアップ(公開サイトのバックアップを取得します)
  • 公開サイトからテストサイトへファイル転送時に自動でバックアップ(テストサイトのバックアップを取得します)
  • バックアップファイルリストア時(リストアを行った対象サーバーがバックアップされます)

[バックアップファイルの保存世代数]

  • ウェブ領域(テストサイト、公開サイト):30世代
  • データベース:10世代

[バックアップファイル容量制限]
下記の項目に一つでも該当する場合、 SmartRelease を利用する事が出来ません。

  • ファイルの総数が 70,001 ファイル以上の場合
  • ファイルの総容量が 10 GB 以上の場合
  • ディレクトリ構造が 41 階層以上の場合

ただしご提供開始時から存在する以下のディレクトリは容量制限の対象外となります。
「/log」
「/_smartrelease_except」

[詳細]
SmartReleaseコントロールパネルにログインし、左メニューの「バックアップ」をクリックします。

バックアップ一覧が表示されます。
画面赤枠より、テストサイトのバックアップ、公開サイトのバックアップ、データベースのバックアップを確認することができます。

バックアップ一覧は、「鉛筆アイコン」をクリックし、バックアップに対してコメントを付けることができます。
30世代よりも古いバックアップは自動で削除されますが、「プロテクト機能」をONにすることで保存しておくことも可能です。

万が一の場合、バックアップ一覧の「リストア」より対象の日付のコンテンツに置き換えることが可能です。

SmartReleaseは、これまで面倒だったバックアップを常に取得しています。
うっかりミスなどで公開サイトのファイルを削除してしまったときや、突然サイトが動かなくなってしまったときなどの万が一に備えバックアップをお役立てください。

関連タグ: 

Basic認証、CMSインストーラーなどの設定について

$
0
0

SmartReleaseが搭載されたShared Plan ACE01より、Basic認証、CMSインストーラー、携帯振り分け設定、高機能フォーム作成ウィザードなどの弊社が提供している制作ツールは、コントロールパネルより設定を行うと、一旦テストサイトに設定が反映されます。テストサイトに設定された内容を確認後、公開サイトへリリースする手順に仕様を変更いたしました。

今回は、これらの変更された機能を公開サイトへ反映する手順をご紹介します。

[Basic認証]

  1. Webコントロールパネルにアクセスし、「テストサイト用設定 > 制作ツール > アクセス制御(basic認証) > アクセス制御追加」の順にクリックします。
  2. 設定をしたいディレクトリを選択してください。選択したディレクトリ以下全てにBasic認証が設定されます。
    ユーザー名、パスワードを入力後、「アクセス制御追加」をクリックします。

    テストサイトの「/test」ディレクトリ以下にBasic認証が設定されました。
  3. テストサイトの設定したBasic認証を公開サイトにリリース(適用)します。
    SmartReleaseにアクセスします。
    テストサイトのコンテンツが、全て公開サイトに反映してもよい場合は、「リリース > 全てリリース」より、「すべてリリース」ボタンをクリックします。

    [Basic認証のみをリリースしたい場合]
    SmartReleaseの「リリース > ファイルを選択してリリース」から、
    Basic認証を設定したフォルダを選択し(例は/testを選択)、そのフォルダに保存されている「.htaceesss」、「.htpasswd」ファイル横のチェックボックスにチェックを入れ、「選択したフィアルをリリース」をクリックします。
  4. 以上で公開サイトにBasic認証が設定されました。

[高機能フォーム作成ウィザード]
高機能フォーム作成ウィザードについてもコントロールパネルから設定を行うと、テストサイトに設定が反映されます。確認後、公開サイトにリリースしてください。

  1. Webコントロールパネルにアクセスし、「テストサイト用設定 > ソフトライブラリ > 高機能フォーム作成ウィザード > フォーム新規作成」の順に進み、「作成開始」をクリックします。

    今回は「/test」に設置を行います。
    高機能フォーム作成ウィザードについての詳細情報はオンラインヘルプを参照ください。「http://acesr.document.secure.ne.jp/library/formwiz/

     

    ウィザードを最後まで進めると、テストサイトにフォームが設置されます。

  2. テストサイトのフォームを公開サイトにリリースします。

    SmartReleaseにアクセスします。
    テストサイトのコンテンツが、全て公開サイトに反映してもよい場合は、「リリース > 全てリリース」より、「すべてリリース」ボタンをクリックします。

    [フォームのみリリースした場合]
    SmartReleaseの「リリース > ファイルを選択してリリース」から、
    「/フォームを設置した階層/フォームのファイル名」(今回は、/test/form.html)を選択し、「ファイルを選択してリリース」をクリックします。
    以上で公開サイトでも利用することが出来ます。

  3. 公開したフォームを修正する場合は、「ホーム > テストサイト用設定 >  ソフトライブラリ > 高機能フォーム作成ウィザード > フォーム変更」より、フォームを修正ください。
    フォームを修正すると、テストサイト及び、公開サイトのフォームが同時に変更されます。

 

このようにShared Plan ACE01はテストサイトに設定を行い、確認後に公開サイトへリリースするというスキームをとっています。確認するという作業は1つ増えますが、公開サイトのクオリティーを保持するには必要な作業と考えています。

関連タグ: 

[テンプレを分ける] jQuery MobileデザインデータをDrupalに適用

$
0
0

スマートフォン用にjQuery Mobileを使ってデザインしたデータを、Drupal CMSに適用する手順を何回かに分けてご紹介します。

[手順]

  1. 「/m」(スマートフォンTOP)のURLを有効にする。
  2. デザインをCMSのテンプレートに適用する
  3. PCサイトと、スマートフォンサイトで使用するテンプレートテーマを分ける ←今回はここ
  4. 画像サイズをスマートフォンの画面サイズに合わせ自動リサイズ
  5. PCサイトとスマートフォンサイトとでURLが違うが、同じコンテンツを読み込む
    e.g) PC:/smartrelease/70 SP:/m/70
  6. FacebookのいいねボタンをPCサイトとスマートフォンサイトとで同じにする

今回はPCサイトと、スマートフォンサイトで使用するテンプレートテーマを分けます。巷ではレスポンシブウェブなどが流行っておりますがそんなの完全無視です。
流行りに反ってテーマを分けるには私なりに少し理由がありまして、PCサイトに載っているすべての情報がスマートフォンサイトには必要ないのでは無いかなと言う点と、一つのテンプレートで全ての端末に対応するのは、それはそれで時間がかかると思っているからです。手抜きといえば手抜きなんですが、以上の理由から当サイトではテンプレートを2つ用意しています。

[Drupal CSMテーマの分け方]
Drupal7.X

  1. ThemeKeyモジュールをインストールし、有効化します。
    (http://drupal.org/project/themekey)
  2. 「管理 » 環境設定 » ユーザーインターフェース」よりThemeKeyをクリクします。
  3. New Ruleより「drupal:path」を選択しスマートフォンサイトで使用するURL、「m」を入力し、スマートフォンサイト用に作成したDrupalテンプレートを選択します。
  4. 「設定を保存」をクリックすると、「/m」以下の階層にアクセスすると、スマートフォン用のテンプレートでレンダリングされます。

その他ThemeKeyではユーザー名、時間、タイトルなどの様々な条件でテーマを変更することが出来ます。

関連タグ: 

SmartReleaseのテストサイトへDrupalをインストールする

$
0
0

今回はtar.gzファイルをダウンロード。

これをFTP接続を行い、テストサイトへアップロードする。アップロード先はDrupalをインストールしたい階層に設置する。
※FTPアカウント、SSHアカウントの作成はテストサイト利用準備を参照下さい。

 

次にSSH接続し解凍する。
※ここではTera Termを使用しています。

ホストは「ご契約のサーバー名」
ポートは、テストが10398、公開が10399です。

SSHが接続されたので、圧縮ファイルを解凍する。
アップロードしたフォルダにcdコマンドで移動する。

【解凍コマンド】
% xzfv drupal-7.14.tar.gz

 

続いてdrupal-7.14となっているフォルダ名を「drupal」にリネーム
% mv drupal-7.14 drupal

ここで変更した名前がURLに含まれます。
上記の場合は、以下のURLにアクセスした場合に設置したCMSを閲覧する事が出来ます。
http://ドメイン名/drupal

http://ドメイン名/でアクセスした時にCMSを閲覧したい場合は、drupalフォルダの中身を全て、/html直下に移動する必要があります。
% mv -i /usr/home/userID/html/drupal/* /usr/home/userID/html/

とコマンドを入力すると、drupalフォルダに入っている全てのファイルを/htmlフォルダに移動することが出来ます。

これでDrupalインストールの準備が整いました。

設置したファイルからDrupalのインストーラーを起動し、インストールを行う。

CMS:Drupal7
サーバー:Shared Plan ACE01

【テストサイトへのアクセス】
テストサイトのURLはユーザーポータルのチュートリアルに載っているので、そこからアクセス出来る。

ファイルを設置したURLにアクセスを行うと(http://ユーザーID.smartrelease.jp/drupal/)下記のDrupalインストール画面が表示される。
※表示されない場合以下のファイルを追加!
.htaccessファイルを作成し、「AddHandler x-httpd-php536 .php」を追加する。ファイルはDrupalを設置するフォルダ/drupal/.htaccessに設置を行う

1.「Standard」を選択し、 「Save and continue」をクリック

2.言語選択ページ。英語のままでよければ、「次へ」
日本語版をインストールいたい場合は、http://localize.drupal.org/translate/downloadsにアクセスし、翻訳ファイルをダウンロード。「/profiles/standard/translations/」にアップロードし、画面をリロードして下さい。

3.mbstringsを有効にしろとエラーになる。。。

mbstringsを有効にするには、「php.ini」ファイルを編集し、Drupalのインストールディレクトリに設置する必要がある。
「ユーザーポータル>>ウェブサーバー設定>>お客様情報>>プログラムのパスとサーバー情報」にアクセスを行う。


利用しているPHPバージョンのリンクをクリックし、表示されたテキストをコピーし、php.iniファイルにペーストする。
次に下記設定を変更を行う。
mbstring.language = neutral
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = off
mbstring.func_overload = 0
mbstring.internal_encoding = UTF-8

作成したphp.iniファイルをDrupalのインストールディレクトリーへアップロードしブラウザをリロードする。

4.データベースの接続先を入力し次ぎへ

データベース名:上記作成したDB名を入力する。
データベースのユーザー名:設定完了通知に記載
データベースのパスワード:設定完了通知に記載
データベースサーバーのホスト名:127.0.0.1

※事前にデータベースを作成していない場合は、ユーザーポータルから、「ウェブサーバー設定 > テストサイト用設定 > データベース > MySQLデータベースの追加・削除」UTF-8でデータベースを追加する。

5.サイト情報を入力し、次へ

6.インストール完了

テストサイトにインストールしたDrupalを公開サイトへリリースする」へ続く


テストサイトに構築したWordPressを公開サイトにリリースする

$
0
0

CPI 共用型レンタルサーバーACE01のテスト環境にインストールしたWordPressを、公開環境にリリースする方法の紹介です。

WordPressのインストール方法は「CPIサーバーにWordPressをインストールする手順 4.x 編」を参照ください。

CMS:WordPress 4.7.2
サーバー:ACE01

テストサイト情報

URL:http://aa1886sk0e.smartrelease.jp/wp/
データベース名:aa1886sk0e_wordpress

公開サイト情報

URL:http://shared-blog.kddi-web.com/wp/
データベース名:aa1886sk0e_wpproduc
 

公開サイトで使用するデータベースの準備

  1. ウェブコントロールパネルにログインし、「ホーム > テストサイト用設定 > データベース >MySQLデータベースの追加・削除」の順に遷移します。
     
  2. 以下の通りデータ入力を行い、「新規追加」をクリックします。
    文字コード:UTF-8
    新規データベース名:公開サイトで使用するデータベースの名前


     

  3. 「WP Migrate DB」プラグインを新規追加

    テスト環境のデータベースに含まれるドメイン名を変更するために「WP Migrate DB」プラグインをインストールします。
    WordPressの管理画面にアクセスし、「プラグイン > 新規追加」より、「WP Migrate DB」をインストールし、有効化します。

     

  4. ドメイン名のリプレイス

    管理画面の「ツール > Migrate DB」にアクセスし「Migrate」タブをクリックします。

    「//USER_ID.smartrelease.jp/wp」は、テスト環境のドメイン名です。Replace欄に公開環境で使用するドメインに入力してください。

    「/usr/home/USER_ID/html/wp」は、WordPressのインストールディレクトリを変更したい場合に記載ください。

    情報を入力し「Export」ボタンをクリックするとリプレイスしたデータベースファイルをダウンロードできます。
    (例)aa1886sk0e_wordpress-migrate-20170601025855.sql
     

  5. Webコントロールパネルに戻り、「ホーム > テストサイト用設定 > データベース」を開き、「MySQL5.5管理画面」をクリックします。
     
  6. phpMyAdminが起動するので、サーバー設定完了通知のデータベース欄のIDとパスワードを入力しログインします。
     
  7. phpMyAdminの左メニューより、公開サイトで使用するデータベース名をクリックします。(今回は、wpproduc)
     
  8. データベースをインポート

    「インポート」タブを開き、「ファイルを選択」に手順4でダウンロードした.sqlファイルを選択し「実行する」をクリックします。

    公開環境のデータベースの準備ができました。

 

 

公開サイトへリリース

(注意)
この作業はテスト環境に設置されたファイルやディレクトリを全て置き換えます。

続いてWordPressのプログラムファイルを公開サイトへリリースし、サイトを公開します。

  1. SmartReleaseにログインし、「リリース > すべてリリース」よりウェブコンテンツファイルを全て公開サイトへ置き換えます。

     
  2. ウェブデータ転送後、WordPressの設定ファイルを編集します。

    公開サイトにFTP接続を行い以下のファイルを編集し、アップロードを行います。
    /wpインストールディレクトリ/wp-config.php

    define('DB_NAME', 'aa1886sk0e_wordpress');  //テストで使用しているデータベース
        ↓↓
    define('DB_NAME', 'aa1886sk0e_wpproduc');  //公開で使用するデータベース
     

  3. 次回「すべてリリース」をした時にwp-config.phpファイルが上書きされないように、除外リストへ追加します。
    SmartReleaseの「すべてリリース」画面の「除外リストに追加」ボタンをクリックします。
    除外リスト追加画面で、「/wpインストールディレクトリ/wp-config.php」を選択し、「除外リストに追加」をクリックします。

 

以上でWordPressが公開サイトに、リリースされました。

WordPressをテストサイトで構築し、公開サイトにリリースを行うスキームを取る事で、思わぬサイトダウンなどを防ぐことができます。また、デザインテンプレートの変更や、プログラムの改修などにもテストサイトを利用することで、公開サイトの停止や、レイアウト崩れなどを防ぐことができます。

[メリット

  • テストサイトで確認した内容をそのまま、公開サイトにリリースできる
  • デザインテンプレート、プログラムなどの追加改修に便利
  • セキュリティーアップデートをテストサイトで検証できる

[デメリット

  • ユーザーからのコメントをWordPressのデータベースに蓄積できない
     (※Facebookコメント等を利用する事で回避できる)
  • テストからのリリース時に毎回データベースの書き換える必要がある。

その他関連記事

 

テストサイト利用準備
CPIサーバーにWordPressをインストールする手順 4.x 編
 

 

関連タグ: 

テストサイトにインストールしたDrupalを公開サイトへリリースする

$
0
0

テストサイトにDrupalを構築した後に、Webコンテンツを確認し、公開サイトへリリースする手順を紹介します。
※Drupalのインストールが済んでいない方は「テストサイトへDrupalをインストールする準備」から参照頂き、Drupalをテストサイトへ構築して下さい。

使用バージョン:Drupal7
サーバー:ACE01

なお当サイトはDrupalで構築されています。ブログの記事はテストサイトに一旦アップロードを行い、社内関係者のチェック後、公開サイトへとリリースされます。

 

テストサイトと公開サイトで、ブログの記事を分ける場合は、データベースの参照先をを分ける必要があります。

 

※下図では「記事データ、cms設定データ」と書かれているものがデータベースとなります。

1.公開用のデータベースを作成する
Webコントールパネルを開き、「テスト用サイト設定 > データベース > MySQLデータベースの追加・削除」をクリックし、データベースの追加画面を開く。
「データベース新規作成」ボタンをクリックし、UTF-8でデータベースを作成する。今回本番用のデータベースは「userid_drupal」とした。

2.データベースのコピー準備を行う
SmartReleaseにログインを行い、「バックアップ > データベース」データベースの手動バックアップを行い、現状のデータベースをバックアップする。

3.テストで利用していたデータベースから、公開用に新規追加したデータベースへコピーする
「aa115zaox6.sql」テストで利用していたバックアップファイルを選択し、公開サイトで利用するデータベース「aa115zaox6_drupal」を選択し、「リストア」をクリックする。これで、テストで作成したデータベースが公開サイト用のデータベースにコピーされました。
※aa115zax6はUserIDとなるので、ユーザーによって異なります。

4.Webファイルをリリースする
「リリース > すべてリリース」をクリックし、 確認画面で「リリース」をクリックする。
これでWebファイルが全て公開サイトへリリースされました。

5.公開サイトのデータベース参照先を変更する
公開サイトへFTP接続を行い、次のファイルを編集する「/html/drupal_install_dir/sites/default/settings.php」

208行目、      'database' => 'aa115zaox6', //テストで使用していたデータベース名
 ↓↓↓↓↓↓↓↓↓↓
208行目、      'database' => 'aa115zaox6_drupal', //公開サイトで使用するデータベース名に変更する

これで公開サイトにDrupalが設置されました。

6.「settings.php」を除外リストに追加する
今後テストサイトで記事を書いたり、設定を変えたりした場合などに「すべてリリース」を行うと、settings.phpも上書きされてしまうので、リリースの除外リストに追加する。
「リリース > 除外リストに追加」をクリックする。除外リスト追加画面が表示されるので、「/html/drupal_install_dir/sites/default/settings.php」を追加する。

7.フォルダのパーミッションを変更する
これは本当に申し訳ないのだが、リリース時における不具合が存在している関係で、フォルダに実行権限をつけないとリリースが出来ない。
※現在調査中で、対応を検討中です。

テストサイトの次のフォルダ「/html/drupal_install_dir/sites/default」のパーミッションを「555」→「755」に変更して下さい。
この不具合ですが、修正しましたので、現在はパーミッションに関係なくリリースすることが可能となりました。
 

以上の手順で、テストサイトで構築したDrupalを公開サイトへリリース出来ます。

関連タグ: 

Drupal + SmartRelease活用事例(CPIスタッフブログ)

$
0
0

CMSなどを導入すると公開サイトを直接編集し、Webを更新しているユーザーも多いのではないでしょうか。公開サイトを直接修正する事で記事をアップロードするスピードは増しますが、クオリティーについてはどうでしょうか。公開サイトを直接編集する事により、画像が表示されないや、ファイルのリンク切れ、誤字脱字などが更新後に確認され、あわてて修正を行う事などは無いでしょか。

これらの問題を防ぐために、当サイト(CPIスタッフブログ)では、一旦テストサイトに記事をアップロードし、記事の確認後、公開サイトへ記事をアップロードする。というスキームを必ず取っています。

[サイト公開までのスキーム
1.テスト環境でブログの記事を書きます。

2.関係各部署に記事のチェック依頼をメールします。
  ※弊社の場合、法務、デザイン部、プロモーション部にチェック依頼を出しています。

3.関係各部署の確認後、公開環境へ記事をアップロードする。

使用しているシステム]

サーバー:Shared Plan ACE01
CMS:Drupal7
テストサイト
 URL:http://aa115zaox6.smartrelease.jp
 データベース:aa115zaox6

公開サイト
 URL:http://shared-blog.kddi-web.com
 データベース:aa115zaox6_drupal

※テストサイトと公開サイトとでデータベースを分けて運用しています。

[利用方法

[メリット]

  • 最大のメリットはテストサイトで確認した記事やデザインがそのまま公開環境へアップロードされる
  • 確認作業がテスト環境のみで全て完結出来る
  • CMSの追加開発があった場合でも、テスト環境で開発出来るので、公開環境がダウンするなどの事が無い
  • CMSのセキュリティーアップデートなどがテストサイトに一旦適用後、公開サイトへ適用出来る

[デメリット]

  • テスト環境のデータを、公開環境へすべて転送するので、ユーザーコメントなどを公開用のデータベースに蓄積出来ない
    ※当サイトはFacebookコメントを利用しているのでテスト環境のコメントが上書きされる事はありません
  • 一旦テスト環境に記事を上げてから公開を行うので、ひと手間増える
  • CMS独自に蓄積されるアクセスログやシステムログなどが、全てテスト環境のデータに上書きされる
    ※当サイトのアクセスログはGoogleアナリティクスを利用しているので上書きはされない。
    ※システムログ(Drupalで言うとWatchdog)がテスト環境のものに上書きされる。一工夫する事で回避も出来る

テストサイトで書いた記事を公開サイトへリリースする(Drupal編)

$
0
0

テストサイトで書いた記事を公開サイトへアップロードする方法を紹介します。2つの作業でテストから公開へ記事をアップロードする事が出来ます。使用しているCMSはDrupal7です。
※テスト環境へのDrupalの設置は、「テストサイトへDrupalをインストールする準備」を参照下さい。

1.「Webコンテンツ」を公開サイトへアップロード
SmartReleaseにログインし、「リリース > すべてリリース」をクリックし、 確認画面で「リリース」をクリックする。
Webファイルが全て公開サイトへリリースされました。

 

2.「データベース」をテストから公開へコピー
まずは現状のデータベースのバックアップを取得します。
「バックアップ > データベース > バックアップ」をクリックします。
バックアップ処理を開始し、暫くすると現状の「手動」バックアップが生成されます。

バックアップが生成されたら、テストサイトのデータベースを公開サイトのデータベースへコピーします。
テストサイトのデータベース:aa115zaox6
公開サイトのデータベース:aa115zaox6_drupal
※当サイトでは、上記のデータベース名を利用しています。データベースは予め用意下さい。

先ほど取得した手動バックアップ欄の「リストア」をクリックします。

上段の選択より、テスト用のデータベースバックアップ(aa115zaox6.sql)を選択し、下段で、公開用のデータベースを選択する(aa115zaox6_drupal)、リストアをクリックします。

以上で、テスト環境で書いた記事を、公開環境へアップロードする事が出来ます。
SmartReleaseをご利用頂くと、簡単にテストサイトから公開サイトへ記事をアップロードする事が出来きます。またリリースを行うたびに、自動でバックアップが取得されますので、万が一のときなど、サイトを元の状態に戻す事も可能です。

関連タグ: 

SmartReleaseのテストサイトにWordPressをインストールする

Viewing all 27 articles
Browse latest View live