カテゴリー: 導入

  • MySQLの権限レベル

    権限は5つのレベルに分けられる
      グローバル レベル(G)
        全てのデータベースに適用される権限
        mysql.user テーブルに格納される

      データベース レベル(D)
        特定のデータベース内の全てのオブジェクトに適用される権限
        mysql.db と mysql.host テーブル内に格納される

      テーブル レベル(T)
        特定のテーブル内の全てのカラムに適用される権限
        mysql.tables_priv テーブル内に格納される

      カラム レベル(C)
        特定テーブル内の単一カラムに適用される権限
        mysql.columns_priv テーブル内に格納される

  • XAMPP(データ移行)

    データ移行を行う
      ・環境の違いを吸収する
        データについては下記の様な2段階を経てサーバーに移行される
          第一段階:XPからWin7へ
            XPのサポート終了に伴って、開発環境をWin7へ移す
            同じWindowsだが、【an httpd】環境から【XAMPP】環境へ移す
          第二段階:Win7からUnixへアップロードする
            Shift-JISからUTF8の世界へデータを移す

      ・MySQLのテーブルのネーミング問題
        テーブル作成でトラブル
          テーブル名の先頭1文字を大文字にしようとしてエラーとなる

          Unix環境は大文字と小文字を厳密に区別して扱います
            【my.ini】で【lower_case_table_nemes=0】となっています
            大文字と小文字を区別する指定です
          windows環境は大文字も小文字も同じとして扱います
            【my.ini】で【lower_case_table_nemes=1】となっています
            大文字だと小文字に変えてテーブル生成する指定です

          上記の様に【XAMPP】環境では、大文字で入力しても小文字でテーブルを生成しますので
            unix環境だとテーブル名の操作で不整合が生じます、それで登録時にエラーにしている
            windows環境(XAMPP)の【my.ini】で【lower_case_table_nemes=2】と指定する
             これは、入力通りの文字でテーブルを生成する指定です
              全て小文字にすれば解決するのですが、ソースの見た目を重視しました
              MySQLの操作には気を遣い続けていこうと思います

      ・文字コードの問題
        XP環境ではshift-jisで統一していました
          unix環境ではutf8に統一しようと考えています

        ・DBの内容をCSVにして移行する際にコード変換を掛けます
          一度読み込んでから書き出す際に文字コードを指定する

      ・全角文字の問題
        ・ホルダー名とファイル名に全角文字コード(日本語)を使っていた
          unix環境では使用できないと考えて、全件を【change】コマンドで半角文字に変換する
          これはかなりの手作業量になりそう・・・・・・自動では変換不可能だから

  • XAMPP(MySQL)の修正

    MySQLを修正(カスタマイズ)する
      ・【my.ini】の内容を確認する
        【my.ini】の位置を確認する
          (例) C:\xampp\mysql\bin\my.ini

        【my.ini】を修正する
          使用する文字コードを設定する
            (例) [mysqld]
                 …
                 character-set-server = utf8
                 skip-character-set-client-handshake
                 …

      ・セキュリティの設定を強化する
        インストール状態のままだとDB使用に制限を設けていないことになっている
          【http://localhost/xampp/】より【XAMPP for Windows】画面を表示する
          左サイドメニューの【セキュリティ】をクリックする
            MySQLの【root】パスワードを設定する
            XAMPPのディレクトリ制御(.htaccess)のユーザ名とパスワードを設定する

      ・DBを使用するユーザを設定する
        【XAMPP for Windows】画面の左サイドメニューの【PHPMyAdmin】をクリックする
          ユーザ名は【root】、パスワードは上記で設定したモノを入力する

          【ユーザ】タブ → 「ユーザを追加する」をクリックする
          「ユーザーを追加する」画面を確認する
            ユーザ名、ホスト(ローカルを選択する)、パスワードを設定する
            ユーザ専用データベースは「同名の・・・・・与える」を選択する
            「追加」をクリックする

      ・DBの動作を確認する
        MySQLを再起動させてから確認する
          コマンドプロンプトを起動し、【p:¥xampp¥mysql¥bin】を表示させる
          コマンド【mysql -h localhost -u root -p】を入力する
            パスワードを入力してMySQLの動作が確認できればOK
          コマンドプロンプトの【p:¥xampp¥mysql¥bin】で【mysql】コマンドを入力
            【show variables like ‘char%’;】を入力し文字コードを確認できればOK

    *************************************************************************
    以前に構築した際の資料を比較のため掲載しておきます
    リンク先がNotFoundの可能性があります
    *************************************************************************
    MySQLの導入について  更新日:2007年04月03日
    *************************************************************************
    *************************************************************************

  • XAMPP(PHP)の修正

    PHPを修正(カスタマイズ)する
      ・【php.ini】の内容を確認する
        特別な処理を付け加えなくてもここまでの流れでPHPが期待通りに動いている
          【http://localhost/xampp/】より【phpinfo】関数を使って設定内容を確認する

      ・【php.ini】を修正する
        上記【phpinfo】情報より【php.ini】の位置を確認する
          (例) C:\xampp\php\php.ini
        既に設定されているので変更しない
          マルチバイト(日本語)対応
            (例) extension=php_mbstring.dll
          CGIの起動対応
            (例) cgi.force_redirect=1
          入力文字のエスケープ対応
            (例) magic_quotes_gpc = Off
        個別に日本語対応を順次行う
          (例) mbstring.language = Japanese
          (例) mbstring.internal_encoding = UTF-8
          (例) mbstring.http_input = pass
          (例) mbstring.http_output = pass
          (例) mbstring.encoding_translation = Off
          (例) mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
          (例) mbstring.substitute_character = none
          (例) mbstring.func_overload = 0
          (例) mbstring.strict_detection = Off

      ・【php.ini】以外を修正する
        【.htaccess】の【AddType】を修正する
          拡張子がHTMLでもphp文が動くように設定する
          毎回拡張子の判別処理に時間を要することになるが、便利なので対応する
          (例) AddType application/x-httpd-php .htm .html

    *************************************************************************
    以前に構築した際の資料を比較のため掲載しておきます
    リンク先がNotFoundの可能性があります
    *************************************************************************
    PHPの導入について  更新日:2008年06月24日
    *************************************************************************
    *************************************************************************

  • XAMPP(Apache)の修正

    Apacheを修正(カスタマイズ)する
      【/apahce/conf】ホルダー直下に存在する【httpd.cof】ファイルを修正する

      ・【httpd.conf】の内容を確認する
          ・アクセス制限を掛ける
            ルートディレクトリー以下にアクセスさせない
              (例) <Directory />
                   AllowOverride None
                   Require all denied
                  </Directory>
            .htaccessにアクセスさせない
              (例) <Files “.ht*”>
                   Require all denied
                  </Files>

      ・【httpd.conf】の内容を修正する
          ・メールアドレスを設定する
            自分宛て用に問い合わせ等のメールを送る
              (例) ServerAdmin postmaster@gmail.com
          ・アクセス制限を掛ける
            ファイル一覧を表示しない様にする
              (例) <Directory “P:/xampp/htdocs”>
                   Options FollowSymLinks Includes ExecCGI
                   AllowOverride All
                   Require all granted
                  </Directory”>
          ・コンテンンツを一括管理する
            ドキュメントルート【/apache/htdocs】ではない別の場所でコンテンツを管理する
            分かりやすい構造にコンテンツを配置すれば
              相対アドレスを求める際に簡単に求められる
              FTP使用時に転送元と転送先のホルダーが分かりやすくなる

            【Alias】ディレクティブを使用するのだが
            毎回【httpd.conf】を修正するのは非効率的なので別ファイルを参照(include)する
              (例) include “P:/httpd-alias.ini”

            参照される【httpd-alias.ini】ファイルを作成する
              【Alias】ディレクティブを使用してコンテンツの場所とアクセス制限を指定する
              (例) Alias /xxxxx “Q:/xxxxx/”
                 <Directory “Q:/xxxxx”/>
                  Options FollowSymLinks Includes ExecCGI
                  AllowOverride All
                  Require all granted
                </Directory>

    *************************************************************************
    以前に構築した際の資料を比較のため掲載しておきます
    リンク先がNotFoundの可能性があります
    *************************************************************************
    HTTPの導入について 更新日:2006年08月22日
    *************************************************************************
    *************************************************************************

  • XAMPP(Windows)の導入

    XAMPPを導入する
      ・目的
        ローカル環境にWebサーバ環境を構築する
          Webアプリケーションの実行に必要なソフトウェアがパッケージ化されている

      ・パッケージのダウンロード
        XAMPP オープン ソース パッケージをダウンロードする
          Windows版を選択し、ローカル環境に設置する

      ・インストール内容(以下のものを一括でインストール)
        ・Apache 2.4.9
        ・MySQL 5.6.16
        ・PHP 5.5.11
        ・phpMyAdmin 4.1.12
        ・FileZilla FTP Server 0.9.41(導入せず)
        ・Tomcat 7.0.42
        ・SQLite 3.6.20
        ・Perl 7.0.42(導入せず)
        ・Mercury Mail Transport System 4.63(導入せず)

    *************************************************************************
    以前に構築した際の資料を比較のため掲載しておきます
    リンク先がNotFoundの可能性があります
    *************************************************************************
    開発環境の整備  更新日:2006年08月22日
    *************************************************************************
    *************************************************************************

  • phpMySQLAdminのインストール

    データベースの拡張を考えて【phpMySQLAdmin】を導入する
      前提条件としてPHPとMySQLが動く環境が必要です

      (1)最新の【phpMySQLAdmin】をダウンロードする
        URL=”http://www.phpmyadmin.net/home_page/index.php”から最新版をダウンロードする
        ダウンロードしたファイルが【・・・・・・-all-languages.zip】となっていれば、後で日本語化できます
        バージョン情報は適宜読み替えてください

    phpMySQLAdmin_1
    ダウンロード

      (2)解凍してインストールする
        ダウンロードしたファイルを解凍する
        解凍されたホルダーの名前を変更する
          phpMyAdmin-?.?.?.?-all-languages とバージョン情報が入っているので分かりやすい名前にする
          例として【phpMyAdmin】としておくのが簡略され覚えやすくてよい
        ブラウザ経由でアクセスすることができるApacheのドキュメントルート内に配置する
          MySQLをコントロールしブラウザでアクセスし易い位置にアップロードする

      (3)ブラウザから【phpMyAdmin】にアクセスする
        ”http://?ドキュメントルート?/phpMyAdmin/index.php”と入力する
          要はアップロードした【phpMyAdmin】の中にある【index.php】を動かす

    phpMySQLAdmin_2
    トップ画面

        この画面が表示されれば先に進みます
        表示されない場合はMySQLとの接続が許可されていない可能性があります
          【php.ini】ファイルの設定等が不十分だと思われるので対応をお願いします

      (4)言語を変更する
        「Language」と書かれた下にあるドロップダウンメニューで「日本語 – Japanese」を選択する

      (5)【phpMyAdmin】にログインする
        MySQLのインストール時に設定されたユーザー名とパスワードを入力する
        ログインできればインストール完了です

      (6)環境面をカスタマイズする
        最下段に以下のメッセージが出力されたら、設定ファイルにパスフレーズをセットする必要がある
          ”設定ファイルが秘密のパスフレーズ (blowfish_secret) を必要とするようになりました”
          クッキーを使用する際のパスワードを設定する必要がある様です
        【config.inc.php】の修正方法
          【phpMyAdmin】ホルダーに【config.sample.inc.php】」というファイルがある
          このファイルをコピーして【config.inc.php】というファイル名にリネームする
          リネームしたファイルをテキストエディタで開いて以下の箇所を修正する
            /*
             * This is needed for cookie based authentication to encrypt password in
             * cookie
             */
            $cfg[‘blowfish_secret’] = ”; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
          最後の行のパラメータ部分が空(null)なので任意の文字列を設定する
            $cfg[‘blowfish_secret’] = ‘????????‘; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
          指定したパスフレーズは内部で使用されるだけで後で入力画面が出てくるとはない

    レンタルサーバーなので以下の点は何も変更しなかった
      MySQLのサーバがあるホスト名について
        $cfg[‘Servers’][$i][‘host’] = ‘localhost’;
      改良版MySQLを使用する場合について
        $cfg[‘Servers’][$i][‘extension’] = ‘mysqli’;

    さらに下記の様なメッセージが表示されるが非常に細かいし拡張機能なので使い始めるまで放置する
      ”phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。”