兵どもが、夢のあとさき

JavaScript 系の言語に興味を惹かれ、まったりと更新しております

MySQL Install

1. インストール

① C:\MySQL フォルダを作成

 ・XAMPP を使用する場合この処理は不要。

 

② ファイルのダウンロード、インストール

 

 ・ZIP版の場合

 

http://www-jp.mysql.com/downloads/

=> 『Download MySQL Community Server』(http://www-jp.mysql.com/downloads/mysql/)

=> 『Windows(x86, 64bit),ZIP Archive』 を選択

=> Sign in の画面になるが、無視して下の方にある「No thanks, just start my download.」をクリック

=> ダウンロード

=> 展開

 

作成されたフォルダ『mysql-5.6.10-winx64』を、C:\MySQL フォルダへ移動

 

 

閑話休題

http://www.slideshare.net/h141/windowsmysql-14841563 に拠ると、ZIPアーカイブ版は

・インストールは展開してフォルダを置くのみなので超簡単

・データフォルダが作成済み
mysql_install_dbでの初期化不要

レジストリ汚さない

・サービスを作らない

・起動、停止も簡単

・複数サーバの起動もできる (MSI版でできないかは不明

・アンインストールも、サーバを停止してフォルダを消すだけ)

のメリットがあるので、テスト用や、複数のサーバを立てる場合などに便利。とのこと

 

閑話休題 終わり

 

 

MSI版の場合

 

http://www-jp.mysql.com/downloads/ へ移動。

 

mysql-installer-community-5.6.10.1.msi をクリック。ダウンロード

 

ダウンロードファイルを起動

 

Install MySQL Product を選択

 

Choosing a Setup Type 画面で

 

Developer Default を選択(Server Product に加え、管理ツールなど便利な機能が使用できる)

 

installation Path:

Data Path:

を適切に設定。サーバを複数インストールしない場合は、デフォルトでOK

 

Configuration 画面で

 

Enable TCP/IP Networking

Port 3306

Open Firewall port for network access=> チェックを外すとインストールエラーとなる。なぜ???

 

Root Account Password で、root のパスワードを設定

 

Windows service Details

 

 

・XAMPPの場合

 

XAMPPをダウンロードし、C:\XAMPPフォルダに展開する

 

2. 設定ファイルの設定

・設定ファイルの場所

 

ZIP版

 

インストール先の、ベースフォルダ内の「my.ini」ファイル。上記の場合、C:\MySQL\mysql-5.6.10-winx64\my.ini (XAMPPの場合、???)

まだ存在しないので、my-default.ini を my.ini に複写して適切に変更。# はコメント

まず行うデフォルトからの修正点は、以下の通り。

 

basedir = c:/MySQL/mysql-5.6.10-winx64

datadir = c:/MySQL/mysql-5.6.10-winx64/data

port = 3306

 

MSI

 

サービスが下記で起動している。ので、「"C:\ProgramData\MySQL\MySQL Server 5.6\my.ini"」の様だ。

 

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld" --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.6\my.ini" MySQL56

 

 

他にも多々あり。これから追記 *****

 

 

・設定ファイルの注意点

 

1. 設定項目(ディレクティブ)の単語の区切りの -(ハイフン)と _(アンダースコア)は等価

log-bin と log_bin は同じこと

 

2. 設定項目名は、大文字小文字を区別する

  

3. サーバ起動

C:\MySQL\mysql-5.6.10-winx64\bin\mysqld.exe --console

 

エラー時(11)エラー 参照

 

・XAMPPの場合

 

C:\xampp\xampp-control.exe を起動し、GUI画面から起動する

  

4. クライアント起動

C:\MySQL\mysql-5.6.10-winx64\bin\mysql.exe -u root(デフォルトでは root にパスワードは無い)

 

5. root ユーザのパスワードの設定

(4. クライアント起動)でログインし、下記コマンドを実行

 

mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');# new_password をパスワードにする

 

これで、mysql.exe -u root -pnew_password でログインできる

 

6. サービスへの登録

MySQLが実行されていれば停止する

 

管理者権限で、

 

c:\mysql\mysql-5.6.10-winx64\bin\mysqladmin -u root shutdownを実行

 

MySQLが実行されていなければエラーとなる。

 

 

 ② サービスとして登録

 

②-1 失敗

 

sc create "MySQL 5.6" binPath= "c:\mysql\mysql-5.6.10-winx64\bin\mysqld.exe" (sc create 『サービス名』 binPath= "実行ファイルパス")

(binPath= の後ろに半角スペースを入れること)

 

『[SC] CreateService SUCCESS』と表示されればOK

 

=> サービスは登録されるが、起動できない。

 

②-2 成功?

 

 C:\mysql\mysql-5.6.10-winx64\bin\mysqld.exe --install "MySQL 5.6" --defaults-file="C:\mysql\mysql-5.6.10-winx64\my.ini"

 

6-1. サービスの削除

sc delete 『サービス名』(『必ず』管理者権限で、コマンドラインプロンプトを起動すること)

 

エラーの場合

 

[SC] DeleteService FAILED 1072:

 

指定されたサービスは削除の対象としてマークされています。

 

=> サービスの削除はできているが、再起動が必要 (by Miscrosoft FQA)

 

7. ログ設定

・XAMPPの場合

 

- エラーログ (デフォルトで設定済み)

「datadir」パス/mysql_error.log (パスは、『my.ini』ファイルの[mysqld] =>「datadir」ディレクティブ参照(デフォルト "/xampp/mysql/data")

- クエリログ

デフォルトでは出力しない。下記の要領でmy.iniの[mysqld]項目に追加

 

# /13/04/08 追加 クエリログ (デフォルトでは「datadir」/配下に出力される)。絶対パスの場合 \ ではなく / を使用する

log = c:/temp/myquery.log

 

# /13/04/08 追加 スロークエリログ

slow_query_log = ON

slow_query_log_file = mysql-slow.log

#SQL実行時間が指定された秒数を超えた場合にスローログに書き込む時間。下記の場合 0.1秒

long_query_time = 0.1

#インデックスが使われていないSQLをスローログに書き込む

log-queries-not-using-indexes

# スロークエリログ関連ここまで

 

 

 

『my.ini』ファイルの[mysqld]に、「log=myquery.log」を追加。出力パスは「datadir」

- スロークエリログ

 

 

・ZIPの場合

- エラーログ

デフォルトでは出力しない。my.iniファイルの、[mysqld] に、「log_error = "mysql_error.log"」を記載。出力パスは、XAMPPと同様

- クエリログ

デフォルトでは出力しない。『my.ini』ファイルの[mysqld]に、「log=myquery.log」を追加。出力パスは「datadir」

 

8. 欠番 (すいません番号ふり間違えた)

9. 欠番

10. アンインストール

 

MSI版の場合

geek 等のツールを使い、レジストリなどの痕跡も削除する。

サービスも自動的に削除される

 

ZIP版の場合

 

フォルダをまとめて削除。上記の場合『MySQL

 

*** アンインストールしてもサービスが残ってしまった場合には、当該サービスを停止し、以下のコマンドを実行

 

(1) 『サービス』が消えない場合

 

sc.exe delete "サービス名"

 

error 1702 が発生する場合には、

 

http://stackoverflow.com/questions/305037/sc-deleteservice-failed-1072 を参照

 

regedt32 を使用して、HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/ 配下のMySQL関連のフォルダを削除

reboot

 

 

[SC] OpenService FAILED 5:

アクセスが拒否されました。の場合

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services 配下の MySQL関連のサービス削除

 

その他 アンインストールに苦労した (http://d.hatena.ne.jp/yasuhallabo/20111106/1320562901) によると

1)アプリのアンインストール

[コントロールパネル]→[プログラムと機能]→MySQLと名の付くものを全て削除

2)All UsersのMySQLを削除

 C:\Users\All Users\MySQLが残っていたら削除する。この中にmy.iniが入っていることもある。

3)Windows/PrefetchのMySQL関連を削除

 C:\Windows\PrefetchにあるMYSQLと名の付くファイルを全て削除。

4)WindowsサービスのMySQLを削除

・[コントロールパネル]→[管理ツール]→[サービス]→[MySQL]を右クリック→プロパティ→Pathを確認

 【参考】やすはるラボ削除時のパス(既に存在しないファイルを参照していたので問題なし)

  "C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqld" --defaults-file="C:\Program Files (x86)\MySQL\MySQL Server 5.1\my.ini" MySQL

・[コマンドプロンプト]を「管理者権限で実行」←★★★重要!!!→「sc delete MySQL」とコマンド入力。

 成功すると”[SC] DeleteService SUCCESS”

 ※管理者権限で実行しないと”[SC] OpenService FAILED 5”と表示され、削除に失敗します。

 

これでなんとかアンインストールできました!

 

とのこと。

 

いずれにせよ、再起動は必要。

 

 

(2) ソフトウェアの残骸を削除

 

C:\Program Files (or Program Files(x86))\MySQL をフォルダごと削除(管理者権限要)

 

(3) データの残骸を削除

 

C:\ProgramData\MySQL をフォルダごと削除(管理者権限要)

 

 

* (2),(3)でフォルダが見えない場合には、以下で表示可

 

「コンピューター」→「ドライブ」選択→「整理」→「フォルダーと検索のオプション」→「表示」タブ→「隠しファイル、隠しフォルダー、または隠しドライブを表示する」をチェック

 

11. エラー対応

error: 1

 

2013-03-27 18:17:41 6900 [ERROR] InnoDB: read can't be opened in .\ibdata1 mode

 

上記の場合、MySQLが正常にシャットダウンされていない可能性があるので、以下の要領で強制シャットダウンする。

 

① pid (プロセス ID) を検索

 

datadir内の、「OWNER-PC.pid」ファイルに記載されている。例 6535

 

② 強制シャットダウン

 

> taskkill /PID 6535 /F

 

 

2013-03-27 18:17:41 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).

2013-03-27 18:17:41 6900 [Note] Plugin 'FEDERATED' is disabled.

2013-03-27 18:17:41 6900 [Note] InnoDB: The InnoDB memory heap is disabled

2013-03-27 18:17:41 6900 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions

2013-03-27 18:17:41 6900 [Note] InnoDB: Compressed tables use zlib 1.2.3

2013-03-27 18:17:41 6900 [Note] InnoDB: CPU does not support crc32 instructions

2013-03-27 18:17:41 6900 [Note] InnoDB: Initializing buffer pool, size = 128.0M

2013-03-27 18:17:41 6900 [Note] InnoDB: Completed initialization of buffer pool

2013-03-27 18:17:41 6900 [ERROR] InnoDB: read can't be opened in .\ibdata1 mode

2013-03-27 18:17:41 6900 [ERROR] InnoDB: The system tablespace must be writable!

2013-03-27 18:17:41 6900 [ERROR] Plugin 'InnoDB' init function returned error.

2013-03-27 18:17:41 6900 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

2013-03-27 18:17:41 6900 [ERROR] Unknown/unsupported storage engine: InnoDB

2013-03-27 18:17:41 6900 [ERROR] Aborting

 

2013-03-27 18:17:41 6900 [Note] Binlog end

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'partition'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_SYS_TABLES'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_CONFIG'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_DELETED'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_INSERTED'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_METRICS'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_CMPMEM'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_CMP_RESET'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_CMP'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_LOCKS'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'INNODB_TRX'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'BLACKHOLE'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'ARCHIVE'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'MRG_MYISAM'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'MyISAM'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'MEMORY'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'CSV'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'sha256_password'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'mysql_old_password'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'mysql_native_password'

2013-03-27 18:17:41 6900 [Note] Shutting down plugin 'binlog'

2013-03-27 18:17:41 6900 [Note] c:\mysql\mysql-5.6.10-winx64\bin\mysqld.exe: Shutdown complete

 

 

error 2

 

InnoDB 版で MySQLが起動しない

 

エラーメッセージは以下

 

[ERROR] Plugin 'InnoDB' init function returned error.

[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

[ERROR] Unknown/unsupported storage engine: InnoDB

[ERROR] Aborting

 

 

my.ini の設定を変更した場合には、\xampp\mysql\data\ib_logfile~ ファイルを削除して起動する

 

12. セキュリティ

①フォルダに対するアクセス権

上記の設定でインストールした場合、デフォルトで Authenticated Users, Users に、「変更」「読み取りと実行」「フォルダーの内容の一覧表示」「読み取り」「書き込み」が許可される。(users は「変更」「書き込み」が許可されない)

したがって、デフォルトの設定で、サーバ、クライアントの実行が各ユーザが可能となる。

 

なお、Authenticated Users と Users の違いについては、(From Microsoft QA)

 

結局 Users と Authenticated Users の違いとしては、

‐  Guest など、Users のメンバーのうち、Authenticated Users には含まれないものがある。Windows のバージョンによって多少の違いがあるかも。

‐  Users は、ビルトイングループなので≪その気になれば≫管理者がメンバーを自由に変更できる。

そのほか AD の場合に違いがあるという事ですが、通常は、あまり区別する必要はないようですね。

 

とのこと。(http://social.technet.microsoft.com/Forums/ja-JP/windowsserver2003ja/thread/65298a28-c0ce-44f8-8fe6-341cc34227fa/)

 

Netbeans + GlassFish

0. JDK のインストール

http://java.com/ja/download/manual.jsp から、『Windows オフライン(64ビット)』をダウンロード。実行(管理者権限が必要)

 

'14/02/09現在、デフォルトインストール先は、「C:\Program Files\Java\jdk1.7.0_51」となる。

 

JSKをインストールすることで、同時にJREもインストールされる。

 

環境変数JAVA_HOME』に、「C:\Program Files\Java\jdk1.7.0_51」を指定。(パスは適宜変更)

環境変数『PATH』に、「%JAVA_HOME%\bin」を設定

(*)上記、環境変数は、『管理者環境変数』ではなく『ユーザ環境変数』で良い。

 

1. Netbeans 

Webページ https://ja.netbeans.org/ (本家 https://netbeans.org/)

(1)インストール

 

https://netbeans.org/downloads/

 

先だって、JDK 及び JRE が必要。(JDKをインストールすれば、JREのインストールは不要)

 

NetbeansWindowsインストール(exe)版をダウンロードし、実行。パスは、デフォルトではなく c:\IDE 等の様にすると一般ユーザでもインストール可能。

 

*『OSに依存しないZIP』版を選択すると、なぜかCRCエラーが発生する。(MD5ハッシュは正しいにもかかわらず)

 

"C:\IDE\NetBeans 7.4\bin\netbeans64.exe" を起動

 

(2)日本語設定

 

http://1000g.5qk.jp/2011/01/22/netbeans%E3%81%AE%E6%97%A5%E6%9C%AC%E8%AA%9E%E5%87%BA%E5%8A%9B%E3%81%8C%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D/

http://yoshi-taka.info/wordpress/blog/2012/08/17/netbeans%E3%81%AE%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92utf-%EF%BC%98%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B/

 

等が勉強になります。

 

 

(3)Webアプリケーション開発入門(日本語版)

 

https://netbeans.org/kb/docs/web/quickstart-webapps_ja.html

 

入力した日本語文字が化ける。

 

以下のように、プロジェクト「毎の」構成ファイルのフォルダーにある glassfish-web.xml に parameter-encoding を追加する。

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">

<glassfish-web-app error-url="">

 <context-root>/HelloWeb</context-root>

 <class-loader delegate="true"/>

 <jsp-config>

   <property name="keepgenerated" value="true">

     <description>Keep a copy of the generated servlet class' java code.</description>

   </property>

 </jsp-config>

 <parameter-encoding default-charset="UTF-8" />

</glassfish-web-app>

 

 

*追記

glassfish のインストールおよび起動、停止はNetbeans上で行わず、「4. glassfish 起動/停止/再起動」のコマンドラインを使用すること。Netbeans上では、うまく起動できない場合がある。(というかうまくいった試しが無い)

 

 

2. 補完

Ctrl + SPACE (基本形)

ALT + Insert (メソッド getter(), setter() 等)

Ctrl + 8 (FORM部品などのパレット)

 

3. (欠番)

4. glassfish 起動/停止/再起動

(0)インストール

 

https://glassfish.java.net/download.html から、マルチリンガル版『glassfish-4.0-ml.zip』をダウンロード。解凍。

glassfish4 というフォルダができるので、c:\ の配下に移動。

 

cd c:\glassfish\bin

asadmin create-domain domain1 で「ドメイン」が作成される。

 

 

 

(1)glassfish 起動

 

C:\glassfish4\bin>asadmin start-domain

 

デフォルトの「インスタント名」『domain1』、port 8080 で起動。

port 8009 で、apache と連携する。

port 4848 は管理サーバ

 

 

(2)glassfish 停止

 

C:\glassfish4\bin>asadmin stop-domain

 

 

(3)glassfish 再起動

 

C:\glassfish4\bin>asadmin restart-domain

 

 

(4)glassfishドメイン(インスタンス)の追加

 

C:\glassfish4\bin>asadmin create-domain 『ドメイン名』

(ポートは自動的に割り当てられる)

 

C:\glassfish4\bin>asadmin create-domain domain1

Enter admin user name [Enter to accept default "admin" / no password]>

Using default port 4848 for Admin.

Using default port 8080 for HTTP Instance.

Using default port 7676 for JMS.

Using default port 3700 for IIOP.

Using default port 8181 for HTTP_SSL.(← オレオレ証明書)

Using default port 3820 for IIOP_SSL.

Using default port 3920 for IIOP_MUTUALAUTH.

Using default port 8686 for JMX_ADMIN.

Using default port 6666 for OSGI_SHELL.

Using default port 9009 for JAVA_DEBUGGER.

Distinguished Name of the self-signed X.509 Server Certificate is:

[CN=OWNER-PC,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US]

 

Distinguished Name of the self-signed X.509 Server Certificate is:

[CN=OWNER-PC-instance,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US]

Domain domain1 created.

Domain domain1 admin port is 4848.

Domain domain1 allows admin login as user "admin" with no password.

Command create-domain executed successfully.

 

 

* 自動で、オレオレ証明書も発行される。ブラウザへのインポートの方法は下記

 

 

(5)glassfish のルートドキュメント

 

C:\glassfish4\glassfish\domains\『ドメイン名』\docroot\index.html

 

 

(6)https連携

 

 

 

5. Apache との連携

httpd.conf を修正

 

(1)モジュールを読み込むあたりに、下記を追記

 

#

# 2013/12/15 glassfish 連携用モジュール。mod_jk.so は元から存在していた。

#

LoadModule jk_module modules/mod_jk.so

 

 

(2) httpd.conf の最後に、下記を追記

 

#

# GlassFish の設定を行う

#

 

<IfModule mod_jk.c>

 

   JkWorkersFile conf/extra/workers.properties

    

   # Where to put jk logs

JkLogFile /xampp/apache/logs/mod_jk.log

# Set the jk log level [debug/error/info]

JkLogLevel debug

# Select the log format

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# JkOptions indicate to send SSL KEY SIZE,

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format

JkRequestLogFormat "%w %V %T"

 

# Send all jsp requests to GlassFish

# すべての *.jsp ファイルは、glassfish の『ドメイン』/docroot/*.jsp に転送する

JkMount /*.jsp worker1

 

# /glassfish-test/* ファイルは、すべて、glassfish の 『ドメイン』/docroot/glassfish-test/* に転送する

# Apache 側に、glassfish-test フォルダがある必要はない

JkMount /glassfish-test/* worker1

 

</IfModule>

 

 

(3) conf/extra/workers.properties を新規作成。下記を記載

 

#

# glassfish 連携設定。address:port

# 2013/12/15 作成

#

worker.list=worker1

worker.worker1.type=ajp13

worker.worker1.host=127.0.0.1

worker.worker1.port=8009

 

 

apacheglassfish を再起動。

 

 

(4) glassfishのサーバインスタンスが複数ある場合(port52475)

 

わからん

 

 

7. HTTPS/SSL

正当なサーバ証明書が登録されていなため、https://~:8080/ へアクセスすると、『このサイトのセキュリティ証明書は信頼できません』と「警告」が表示される。

 

そこで、以下の手順で自己サーバ証明書をインストールする(以下、Chromeの場合)。Apache(80)、glassfish(8080)双方が立ち上がっている場合には、別々に証明書のインポートが必要(連携した場合の手順は調査中)

 

まず、現在の自己サーバ証明書をエクスポートする

 

1. 「警告」の表示された画面の左上鍵に×印がマークをクリック。

2.『証明書情報』をクリック

3.『詳細』タブをクリック

4. 「ファイルにコピー」→「次へ」

5.3番目の「Cryptographic Message Syntax Standard PKCS #7 証明書 (.P7B)(C)」を選択、「次へ」

6.「ファイル名」を『ssl』として、適当なフォルダにエクスポートする。

7.「次へ」「完了」で『正しくエキスポートされました。』と表示されれば、エキスポートは完了

8. 「OK」で終了

 

次に、インポート処理

 

1.Chrome の「設定」から『証明書』で検索。HTTPS/SSL 『証明書の管理』ボタンが表示される。『証明書の管理』をクリック

2. 「インポート」「次へ」

3. 『信頼された証明機関』タブを選択 (*** 重要 ***)

4. エクスポート時(6)で指定したファイルを選択。その際、『PKCS #7 証明書(*.spc;*.p7b)』を選択すること

5. 「次へ」(証明書を次のストアへ配置する(P) [信頼されたルート証明書])

6. 「完了」「はい」「OK」

 

Chromeを再起動

 

 

発行者はOracleのままなので、ここを変更したければ OpenSSL で自己署名証明書を作成するか、http://vertex.air-nifty.com/blog/2009/07/glassfishssl-3b.html を参照のこと。

 

8. データベース連携(JPA)

「ソースパッケージ」を右クリック → 「新規」「データベースからのエンティティクラス」

 次に、ファイル・ウィザードで「持続性」カテゴリを選択し、「データベースからのエンティティ・クラス」を選択

 

「新しいデータソース」

→「JNDI」(何でも良い。例 jdbc/mysql_bk)

→「データベース接続」→『データベース新規接続』(既に存在する場合には、『jdbc:mysql://localhost:3306/bk』を選択)

→「ドライバ」を『MySQL (Connector/J driver)』を選択

→「ドライバ・ファイル」を『c:\IDE\NetBeans 7.4\ide\modules\ext\mysql-connector-java-5.1.23.jar』

「次へ」

「データベース」名を変更『mysql』→『bk』

「パスワード」を設定し、「接続をテスト」を実施

 

 

 

 

下記の2つの設定ファイルが生成される。

 

JPA (Java Persistence API)

既存のRDBMSから、EJBのO/Rマッパーを自動生成する。

 

「プロジェクト」を選択し、「構成ファイル」「persistence.xml」で確認。

(位置 c:\「ユーザ」/『ユーザ名』/「マイドキュメント」/「NetbeansProjects」/『プロジェクト名』/src/)

 

一例

 

<?xml version="1.0" encoding="UTF-8"?>

<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">

 <persistence-unit name="HelloJavaEE6PU" transaction-type="JTA">/* <= 接続性ユニット名 */

   <jta-data-source>q</jta-data-source>

   <exclude-unlisted-classes>false</exclude-unlisted-classes>

   <properties/>

 </persistence-unit>

</persistence>

 

 

<persistence-unit name="***" transaction-type="JTA"> の『***』が「接続性ユニット名」

<jta-data-source>***</jta-data-source> の『***』がデータベース接続の「データソース」名?

 

 

 

 

glassfish リソース情報

 

glassfish4 から、RDBへアクセスする際の情報を格納する。

 

(2)「サーバ・リソース」→「glassfish-resource.xml

(位置 c:\「ユーザ」/『ユーザ名』/「マイドキュメント」/「NetbeansProjects」/『プロジェクト名』/)

 

一例

 

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">

<resources>

   <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="table" datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="connectionPool" non-transactional-connections="false" ping="false" pool-resize-quantity="2" pooling="true" res-type="javax.sql.DataSource" statement-cache-size="0" statement-leak-reclaim="false" statement-leak-timeout-in-seconds="0" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="true">

       <property name="URL" value="jdbc:mysql://localhost:3306/bk"/>

       <property name="User" value="root"/>

       <property name="Password" value="***************"/>

   </jdbc-connection-pool>

   <jdbc-resource enabled="true" jndi-name="library" object-type="user" pool-name="connectionPool"/>

</resources>

 

9. ビルド失敗

C:\Users\『ユーザ名』\Documents\NetBeansProjects\TEST\build\webにインプレース・デプロイメント

GlassFish Server, deploy, Connection refused: connect, false

C:\Users\『ユーザ名』\Documents\NetBeansProjects\TEST\nbproject\build-impl.xml:1045: モジュールはデプロイされませんでした。

詳細は、サーバーのログ・ファイルを参照してください。

ビルド失敗(合計時間: 3秒)

 

(1) glassfish が停止している

 

c:\glassfish4\bin\asadmin start-domain domain1

 

(2) glassfishデバッグモードで実行してみる(詳細なログを吐き出すので、Warning 等に注意!)

 

C:\glassfish4\bin>asadmin start-domain --debug domain1

 

というか、動的Warningも吐き出すので、運用時にもデバッグモードで起動した方が良くないか?これ。

 

 

(3) persistence.xml のチェック

 

特に、「データ・ソース」が正しいかを確認。データソースが異なっていてもコンパイル時にエラーとならない!

 

(4) プロジェクトを選択して、右クリック。『消去してビルド』でビルドし直す。これでうまくいく場合もある。

 

10. デプロイ失敗

デプロイに成功すると、通常『サーバルート』/domains/『ドメイン名』/applications/『コンテキスト名』/ 配下に関連ファイルが展開される。しかし、ライブラリの不足などの場合エラーが発生する。下記に従いチェックをすること。

 

 

 

(1)『デプロイメント中にエラーが発生しました: Exception while preparing the app : Invalid resource : jdbc/mysql_library_ppp__pm。詳細はserver.logを参照してください。』

 

新しいサーバ側の、「JDBC接続プール」に、『jdbc/mysql_library_ppp』(__pm を抜いた表記)がない。

管理サーバから、新規の「JDBC接続プール」を登録する。

 

 

(2)『デプロイメント中にエラーが発生しました: アプリケーション[TEST]のデプロイ中に例外が発生しました : Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: 接続の割当でエラーが発生しました。原因: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource Error Code: 0。詳細はserver.logを参照してください。』

 

データベースドライバ(上記の場合 connector/J)が認識できない。

『サーバルート』/domains/『ドメイン名』/lib/ 配下に、『mysql-connector-java-5.1.23-bin.jar』を配備し、

glassfishサーバの「再起動」を行った後、再デプロイする。

 

11. キャッシュの位置

一度IDEを停止し、『ユーザ』/『ユーザ名』/AppData/Local/NetBeans/Cache/7.4/ 配下のすべてのファイル、フォルダを削除。その後、IDEを再起動。

どうしてもうまくいかない場合の裏ワザ。

 

12. glassfish と データベースの接続

データ・ソースとコネクションプール(https://netbeans.org/kb/docs/javaee/ecommerce/connect-db_ja.html?print=yes#createConnPoolDataSource)

 

方法1

glassfishの管理サーバから、以下の2つを登録する。

 

(1)JDBCコネクションプール

データベースと接続済みのコネクション群。いちいち接続、切断を行っていてはリソースの無駄なので、glassfish等の

アプリケーションサーバは、プールから適時取得してそれを使用する。

 

(1)STEP.1

リソースタイプjava.sql.DataSource

データソース・クラス名com.mysql.jdbc2.optional.MysqlDataSource

データベースドライバベンダMySQL

 

(2)STEP.2

USERMySQLユーザ

PASSWORDMySQLユーザのパスワード

SERVERNAME『localhost

PORT3306

DATABASENAME『bk』

URLjdbc:mysql://ホスト:ポート/データベース名

 

 

(2)JDBCリソース

javaアプリケーションが、ORACLE, MySQL等のリレーショナルデータベースと接続するリソースを表す。

アプリケーション(JPA)で指定(persistence.xmlファイルの<jta-data-source>)した「リソース名」と名称を一致させること

 

方法2

NetBeansからアプリケーション作成画面から設定

 

(1)データソース

『パッケージ名』→「新規」→「データベースからのエンティティクラス」→「データ・ソース」の選択。(新規登録)

データベースの必要な「表」を選択。「次」→「終了」で、新規に「データ・ソース」が作成される。

 

「プロジェクト」タブに、『構成ファイル』『persistence.xml』が生成されるので、「データ・ソース」を上記と合わせる。

キャッシュも不要?。<= RDBMSの静的データと動的データで区別できないか?

 

 

ビルドすると、「サーバ・リソース」「glassfish-resources.xml」が生成される。サーバ名、ポート番号、ユーザ名、パスワード、

上記で指定した、「データ・ソース」「プールネーム(自動生成?)」が記載されている。はず。

 

 

設定は、glassfishの管理画面(http://localhost:4848/)の、『JDBC』→『JDBC Resource』,『JDBC ConnectionPool』で確認可能。

この画面からも設定の変更も可能だが、日本語は使用しないこと。

 

13. 文字化け

GlassFishのデフォルトではユーザーがWeb画面に入力した日本語(HTTPリクエストに含まれる日本語)が文字化けするため、

NetBeansからGlassFish文字コードの設定を変更する。

 

ファイル→新規ファイルからGlassFishの設定ファイルを作成する。

プロジェクトに-warの名前のプロジェクトを選び、カテゴリ:GlassFishのファイル・タイプ:GlassFishディスクリプタを選択し、次へ。

 

XMLタブを開き、<parameter-encoding default-charset="UTF-8"/>を下記の位置に入力し、保存する。

 

http://dotstyle.net/csr/?GlassFish%A4%CE%C0%DF%C4%EA

 

14. JSON

JSONICライブラリを使用する。ダウンロードして、解凍。『jsonic-1.3.0.jar』を「CLASS_PATH」に放り込む。

 

使い方は、

 

 

package jsonicsample;

import net.arnx.jsonic.JSON;

 

/**

 *

 * @author shogorobe

 */

public class JsonicSample {

 

    private static final int MAX = 5;

 

    // Just POJO

    private static class User {

 

        public String aaa;

        public int bbb;

        public String ccc;

    }

 

    public static void main(String args) {

 

        User jsonObject = new User[MAX];  // 宣言するだけではNG

        for (int i = 0; i < MAX; i++) {

            jsonObject[i] = new User();     // jsonObject をひとつひとつ new しないと NullPointerError となる

        }

 

        User jsonObject2 = new User[MAX];

        for (int i = 0; i < MAX; i++) {

            jsonObject2[i] = new User();

        }

 

        try {

            

            jsonObject[0].aaa = "山縣有朋";

            jsonObject[0].bbb = 83;

            jsonObject[0].ccc = "<---\"'--->";

 

            jsonObject[1].aaa = "乃木希典";

            jsonObject[1].bbb = 62;

            jsonObject[1].ccc = "<&>\"'/";

 

            jsonObject[6].aaa = "東郷平八郎";

 

        } catch (ArrayIndexOutOfBoundsException e) {

            System.err.println("配列オーバー");

        }

 

        // エンコード(classの配列を渡す。配列でない場合も同様)

        String jsonText = JSON.encode(jsonObject);

        System.out.println(jsonText);

 

        // デコード (class が単数の場合は、『User.class』、配列の場合には『User.class』を渡す)

        jsonObject2 = JSON.decode(jsonText, User.class); // String を POJO へ変換する(『User.class』が重要)

        // ... = JSON.decode(jsonText, User.class); class が配列でない場合には、User.class を

        System.out.println(jsonObject2[1].ccc);

    }

 

}

 

こんな感じ。

 

Apache のインストール

 

Apache のインストール

1. ダウンロード

Thread Safe は、ApacheIIS のタイプに合わせること。

Apache 2.x Thread Safe には、PHP も Thread Safe タイプを使用する。

 

http://www.apachelounge.com/ から正しい Apache を取得すること。(http://www.apache.com/ からはダウンロードしないこと)

 

『Downloads』をクリック。『Apache 2.4 VC11 Binaries and Modules Win32 and Win64』が表示される。ついこの間までVC9だったのに、いつのまにかVC11になっている)。

  

Apache 2.4 VC11 Binaries and Modules Win32 and Win64』を訳してみた () 内

 

Apache Lounge has provided up-to-date Windows binaries and popular third-party modules for more than 10 years. We have hundreds of thousands of satisfied users: small and big companies as well as personal users. Always build with up to date dependencies and latest compilers, and tested thorough. The binaries are referenced by the ASF, Microsoft, PHP etc. and more and more commercial software is packaged with our binaries and modules.(Apache Lounge は、以下略...)

 

The Windows 32 and 64 bits 2.4 binaries below, are build with the sources from ASF at httpd.apache.org, contains the latest patches and latest dependencies like zlib, openssl etc. which makes the downloads here mostly more actual for example then downloads from the ASF and other places. (Windows 32 及び 64ビット版があります。これは最新のパッチやzlip, openssl 等のライブラリが含まれます)

 

Build with the latest Visual StudioR 2012 aka VC11. VC11 has improvements, fixes and optimizations over VC10 in areas like Performance, MemoryManagement and Stability. For example code quality tuning and improvements done across different code generation areas for "speed". And makes more use of modern processors and win7, win8, 2008 and Server 2012 internal features.(これらは、最新の Visual StudioR 2012 aka VC11. VC11で作成され、VC10と比べパフォーマンスや安定性に優れています。そして、Win7, Win8, 2008 及び 2012サーバに最適化されています)

 

A VC11 binary loads VC11, VC10 and VC9 modules. Minimum system required: Windows 7 SP1, Windows 8 / 8.1, Windows Vista SP2, Windows Server 2008 R2 SP1, Windows Server 2012 / R2, it does not run on XP and 2003. (VC11は、VC11, VC10 と VC9のモジュールをロードしています。最低限のシステムに必要なOSは、Windows 7 SP1, Windows 8/8.1, Windows Vista SP2, Windows Server 2008 R2 SP1, Windows Server 2012 / R2 です。XP and 2003 は使っちゃダメです)

 

After you have downloaded and before you attempt to install it, you should make sure that it is intact and has not been tampered with. Use the PGP Signature and/or the SHA Checksums to verify the integrity.(ダウンロードしたら、インストールする前に PGP署名やハッシュ(SHAなど)で整合性を確認してください)

 

Be sure that you have installed Visual C++ Redistributable for Visual Studio 2012 : VC11 vcredist_x64/86.exe(「Visual C++ Redistributable for Visual Studio 2012 : VC11 vcredist_x64/86.exe」もインストールされているかチェックして下さいね。インストールされていなければ、http://www.microsoft.com/ja-jp/download/details.aspx?id=30679 からダウンロード ⇒ インストール!)

 

 

下記のいずれかをダウンロード (Apache 2.4 binaries VC11 with IPv6 Crypto apr-1.5.0 apr-util-1.5.3 apr-iconv-1.2.1 openssl-1.0.1e zlib-1.2.8 pcre-8.33 libxml2-2.9.1 lua-5.1.5 expat-2.1.0)

 

Apache 2.4.7 Win64 [Apache VC11 Binary] httpd-2.4.7-win64-VC11.zip 22 Nov '13 12.492K 

 

Apache 2.4.7 Win32 [Apache VC11 Binary] httpd-2.4.7-win32-VC11.zip 22 Nov '13 11.901K 

 

(いつの間にか、opensslは同梱されるようになったのね)

  

2. インストール

 apache24 フォルダを c:\ へ移動(複写)する。httpd.conf の ServerRoot は、デフォルトで "c:/Apache24" になっているので修正が不要。

別のフォルダにインストールした場合には、上記ディレクティブを適宜変更する。

 

httpd.conf は、デフォルトで下記の様になっているので、これも適宜修正。

 

DocumentRoot "c:/Apache24/htdocs"

<Directory "c:/Apache24/htdocs">

 

他、使用しないが CGI関連など。

  

3. 実行

  1. 実行

     c:\apache24\bin\httpd -d c:\apache24

    httpd.exe - システム エラー

     コンピューターに MSVCR110.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。

     

    上記のエラーが発生した場合(『してみてください』という表現も少し情けないですけど)、「Visual Studio 2012 更新プログラム 4 の Visual C++ 再頒布可能パッケージ」がインストールされていないようです。http://www.microsoft.com/ja-jp/download/details.aspx?id=30679 から、当該ライブラリをダウンロードし、インストールしてください。その際、CPUによってファイルが異なるので、適宜選択してください。(『VSU4\vcredist_arm.exe』or『VSU4\vcredist_x64.exe』or『VSU4\vcredist_x86.exe』)

  2. サービスとして登録

    管理者権限でログインし、下記を実行

    c:\apache24\bin\httpd.exe -k install (-n サービス名)

    自動で起動はしないので、『サービス』から起動する。
    起動権限がないユーザの場合には、サービスの設定、起動はあきらめ、c:\apache2.4\bin\httpd -d c:\apache2.4 で起動。CTRL + c で停止

  

4. PHP を使用する

 『apacheサーバでPHPを使用する.txt』を参照(作成中)

 

 

 

* その他

 

起動しない場合には、たいがい別のプロセスで apache が起動済み。

または、簡単な httpd.conf の設定ミス。パスの間違いや、クォーテーション忘れ等

 

きっちりパラメータを指定し、コマンドで実行

 

c:\apache24\bin\httpd -d c:\apache24 -f c:\apache24\conf\httpd.conf 又は、

c:/xampp/apache/bin/httpd -d c:/xampp/apache -f c:/xampp/apache/conf/httpd.conf

等など

 

 

エラーをチェック

 

下記のエラーで Apache が起動しない場合には、タスクマネージャのプロセス 『httpd.exe *32』 を強制終了させる

なお、この場合 Netstat -a でも使用ポートに表示されない様だ...

 

(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。  : AH00072: make_sock: could not bind to address [::]:8080

(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。  : AH00072: make_sock: could not bind to address 0.0.0.0:8080

AH00451: no listening sockets available, shutting down

AH00015: Unable to open logs

 

 

 

5.セキュリティ

 以下をチェック

  1. アクセス権限の設定は的確か?
  2. フォルダを指定した際、ファイル群が表示されないようになっているか?
  3. PHPファイルを指定した場合、きちんとパースされているか? (他の拡張子も同様)
  4. 40x、50x系のエラーの場合、デフォルト(サーバ情報、スクリプトのバージョン等が表示される)の設定のままになっていないか?
  5. デバッグ画面(phpinfo()等)が表示されないか?
  6. favicon は適切か? 何らかの無用な情報を提供していないか?
  7. ...

 

 

Apache のインストール(HTTPS版)

HTTPS サーバ構築の手順

1. SSL対応のApacheをインストール
2. mod_sslの有効化
3. 鍵ペアの作成とデジタル証明書の作成
4. Apache設定ファイルの設定
5. SSL設定ファイルの設定
6. SSLの接続確認

 * 以下の 『apache24』は適宜適切な名称に置き換えること

 

 1. SSL対応のApacheをインストール

 適当な、Apache + OpenSSL でインストール。起動はしない。(2013/02/14 現在 httpd-2.4.3-win32-ssl_0.9.8.zip)

  

2. mod_sslの有効化

 httpd.conf を開き、下記行のコメント外す

 

#LoadModule ssl_module modules/mod_ssl.so => LoadModule ssl_module modules/mod_ssl.so

  

3. 鍵ペアの作成とデジタル証明書の作成

(1) server.key(秘密鍵)

(2) server.csr(CSRファイル: 公開鍵+証明書申請情報)

(3) server.crt(デジタル証明書)

(4) Apache起動時のパスフレーズ入力抑止

 

作成ファイルは、すべて %apache_home%\conf 配下に生成される。適宜置き換えのこと

 

 

以上3つのファイルを生成する((4)は別)。以下、%apache_home% は適宜置き換えること。

 

(1) 『秘密鍵 server.key』の生成

 

httpdサーバの通信暗号化に使用される秘密鍵を生成。server.key は、httpd 以外がアクセスできないフォルダに格納すべき(今回は、%apache_home%conf\ 配下)。

 

%apache_home%\bin\openssl.exe genrsa -des3 2048 > %apache_home%\conf\server.key

 

パスフレーズを聞かれるので、Verify を含め2回入力

 

* genrsa ... RSA形式の秘密鍵の生成

* -des3  ... DES3(Triple DES)方式でファイルを暗号化

* 2048   ... 2,048ビットの鍵を生成 (1,024bit は、RSAも2012/09/28が非推奨にしている)

 

(2) 『CSRファイル: 公開鍵+証明書申請情報 server.csr』の生成

 

(1)で生成した、『秘密鍵』と対応した、『公開鍵』と『証明書申請情報』を生成

 

%apache_home%\bin\openssl.exe req -new -config %apache_home%\conf\openssl.cnf -key %apache_home%\conf\server.key > %apache_home%\conf\server.csr

 

(1)のパスフレーズを入力。証明書申請情報は適切に。Common Name は ホスト名をきちんと入力する(wwwは不要)

 

(3) 『デジタル証明書 server.crt』を生成

 

(2)で生成した、『証明書申請情報』に対応した、『デジタル証明書』を生成

本来は、CAが発行した正式な『デジタル証明書』が必要だが、費用、手間を考慮し自分で生成する。

『server.key』『server.csr』は、それぞれ(1)(2)で生成されたファイルを指定する。

 

%apache_home%\bin\openssl x509 -in server.csr -days 365 -req -signkey %apache_home%\conf\server.key > %apache_home%\conf\server.crt

 

(1)のパスフレーズを入力。

 

* x509  ... 証明書の形式。x509形式は、Base64で視認可能。

* -days ... 証明書の有効期限の日数。この場合1年となる。

 

(4) Apache起動時のパスフレーズ入力抑止

 

セキュリティ上あまり良くないが、サーバ再起動時等の Apache 起動時の『秘密鍵パスフレーズ入力を抑止する。

 

Ⅰ. server.key をバックアップ

copy %apache_home%\conf\server.key %apache_home%\conf\server.key.bak

 

Ⅱ. server.key のパスフレーズを解除

%apache_home%\bin\openssl rsa -in %apache_home%\conf\server.key.bak > %apache_home%\conf\server.key

 

(1)のパスフレーズを入力して解除

 

 

4. Apache設定ファイルの設定

 %apache_home%conf\httpd.conf を修正

 

以下の行を追加。またはコメントアウト

 

Include conf/extra/httpd-ssl.conf

  

5. SSL設定ファイルの設定

 %apache_home%conf\extra\httpd-ssl.conf

 

以下の行を追加。またはコメントアウト

 

SSLCertificateFile "C:/Apache24/conf/server.crt"

SSLCertificateKeyFile "C:/Apache24/conf/server.key"

 

*

SSLCertificateFileは、3-(3)で生成した、『デジタル証明書』ファイル

SSLCertificateKeyFileは、3-(1)、3-(4)で生成した『秘密鍵』ファイルを指定する。

ファイルの位置(%apache_home%など)を変えた場合には、この記載も変えること

 

 

6. SSLの接続確認

 apache を起動

 

* 起動できない場合、%apache_home%\logs\error.log に何も出力されない!!!!!!!

 その場合、コマンドラインで、%apache_home%bin\httpd.exe を起動すると、エラーが表示される(かも知れない)ので、対応する。

 

https://localhost/ で接続可? => 証明書のルートが手繰れないと Warning 画面が表示される。無視してアクセス。

この Warning は、上記で作成した証明書をブラウザで取り込めば消える。手順は調べて。

 

7.リンク

>認証局を立ててぼろもうけしたいんですが>無理な理由を理解しよう http://qiita.com/kawaz/items/f90810b9ea823b6556a8