ページ「APR-util 1.6.1(RPM)」と「Apache 2.4.39(RPM)」の間の差分

提供:あべたけの覚書
(ページ間の差分)
ナビゲーションに移動 検索に移動
(ページの作成:「 APR-util 1.6.1(RPM)のソースを表示 ← APR-util 1.6.1(RPM) ナビゲーションに移動検索に移動 あなたには「このページの編集」を行う権限がありません。理由は以下の通りです: この操作は、以下のグループに属する利用者のみが実行できます: 登録利用者。 このページのソースの閲覧やコピーができます。 ==準備== APR 1.7.0(RPM) のインストール ==インスト…」)
 
(ページの作成:「==準備== *インストール済みのパッケージを削除 <syntaxhighlight lang="bash"> [root@XXXXX ~]# yum remove httpd </syntaxhighlight > *APR 1.7.0(RPM) のインストール *APR-util 1.6.1(RPM) のインストール ==インストール== <ol> <li>'''ソースの取得''' <syntaxhighlight lang="bash"> [root@XXXXX ~]# su - rpmdevel [rpmdevel@XXXXX ~]$ cd /home/rpmdevel/src [rpmdevel@XXXXX ~]$ wget http://ftp.riken.jp/net/apache/httpd/httpd-…」)
 
1行目: 1行目:
==準備==
*インストール済みのパッケージを削除
<syntaxhighlight lang="bash">
[root@XXXXX ~]# yum remove httpd
</syntaxhighlight >


APR-util 1.6.1(RPM)のソースを表示
*[[APR 1.7.0(RPM)]] のインストール
← APR-util 1.6.1(RPM)
ナビゲーションに移動検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
 
この操作は、以下のグループに属する利用者のみが実行できます: 登録利用者。


このページのソースの閲覧やコピーができます。
*[[APR-util 1.6.1(RPM)]] のインストール
 
==準備==
[[APR 1.7.0(RPM)]] のインストール


==インストール==
==インストール==
17行目: 14行目:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
  [root@XXXXX ~]# su - rpmdevel
  [root@XXXXX ~]# su - rpmdevel
  [rpmdevel@XXXXX ~]$ cd src/
  [rpmdevel@XXXXX ~]$ cd /home/rpmdevel/src
  [rpmdevel@XXXXX ~]$ wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/apr/apr-util-1.6.1.tar.bz2
  [rpmdevel@XXXXX ~]$ wget http://ftp.riken.jp/net/apache/httpd/httpd-2.4.39.tar.bz2
</syntaxhighlight >
</syntaxhighlight >
<br>
<br>
</li>
</li>
<li>'''RPMの作成(1回目:失敗)'''
<li>'''RPMの作成'''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
  [rpmdevel@XXXXX ~]$ rpmbuild -tb --clean apr-util-1.6.1.tar.bz2
  [rpmdevel@XXXXX ~]$ rpmbuild -tb --clean httpd-2.4.39.tar.bz2
</syntaxhighlight >
</syntaxhighlight >
<br>
依存性についてエラーが表示される。
依存性についてエラーが表示される。
<br>
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
エラー: ビルド依存性の失敗:
エラー: ビルド依存性の失敗:
        expat-devel は apr-util-1.6.1-1.i686 に必要とされています
        pcre-devel >= 5.0 は httpd-2.4.39-1.i686 に必要とされています
        db4-devel は apr-util-1.6.1-1.i686 に必要とされています
        lua-devel は httpd-2.4.39-1.i686 に必要とされています
        postgresql-devel は apr-util-1.6.1-1.i686 に必要とされています
        libxml2-devel は httpd-2.4.39-1.i686 に必要とされています
        mysql-devel は apr-util-1.6.1-1.i686 に必要とされています
        sqlite-devel >= 3.0.0 は apr-util-1.6.1-1.i686 に必要とされています
        unixODBC-devel は apr-util-1.6.1-1.i686 に必要とされています
        openldap-devel は apr-util-1.6.1-1.i686 に必要とされています
        nss-devel は apr-util-1.6.1-1.i686 に必要とされています
</syntaxhighlight >
</syntaxhighlight >
<br>
yumで足りないものをインストール
</li>
<li>'''yumで足りないものをインストールする'''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
  [rpmdevel@XXXXX ~]$ exit
  [rpmdevel@XXXXX ~]$ exit
  [root@XXXXX ~]# yum -y install \
  [root@XXXXX ~]# yum pcre-devel lua-devel libxml2-devel
> expat-devel \
</syntaxhighlight >
> libuuid-devel \
再度RPMをビルド
> db4-devel \
<syntaxhighlight lang="bash">
> mysql-devel \
  [root@XXXXX ~]# su - rpmdevel
  > sqlite-devel \
  [rpmdevel@XXXXX ~]$ cd /home/rpmdevel/src
  > freetds-devel \
  [rpmdevel@XXXXX ~]$ rpmbuild -tb --clean httpd-2.4.39.tar.bz2
  > unixODBC-devel \
</syntaxhighlight >
> openldap-devel \
今度はビルドエラーが出る
> nss-devel
<syntaxhighlight lang="bash">
RPM ビルドエラー:
    インストール済み(ただし未伸張)ファイルが見つかりました:
  /usr/lib/httpd/modules/mod_socache_redis.so
</syntaxhighlight >
</syntaxhighlight >
<br>
specファイルを編集
</li>
<syntaxhighlight lang="bash">
[rpmdevel@XXXXX ~]$ tar jxvf httpd-2.4.39.tar.bz2
[rpmdevel@XXXXX ~]$ vi httpd-2.4.39/httpd.spec


'''デフォルトのリポジトリに freetds-devel が無いので EPELのリポジトリからインストールする。'''<br>
~(略)~
(※EPELのリポジトリ設定については[[http://www.abetake.com/index.php?yum#l7bff16f yumリポジトリにEPELを追加する]]を参照。)
%files
~(略)~
%{_libdir}/httpd/modules/mod_watchdog.so
%{_libdir}/httpd/modules/mod_socache_redis.so  ←追加
</syntaxhighlight >
再圧縮
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
  [root@XXXXX ~]# yum --enablerepo=epel install freetds-devel
  [rpmdevel@XXXXX ~]$ tar jcvf httpd-2.4.39.tar.bz2 httpd-2.4.39/
</syntaxhighlight >
</syntaxhighlight >
<br>
再度RPMをビルド
PostgreSQL本家のPRMからPostgreSQLをデフォルトでインストールした場合、
バージョンが9以降ではパスが「/usr/pgsql」ではなく「/usr/pgsql-9.X」になっているのでspecファイルを環境に合わせ修正。
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
[root@XXXXX ~]# su - rpmdevel
  [rpmdevel@XXXXX ~]$ rpmbuild -tb --clean httpd-2.4.39.tar.bz2
  [rpmdevel@XXXXX ~]$ cd src/
</syntaxhighlight >
[rpmdevel@XXXXX ~]$ tar jxvf apr-util-1.6.1.tar.bz2
[rpmdevel@XXXXX ~]$ vi apr-util-1.6.1/apr-util.spec
~(略)~
%build
%configure --with-apr=%{_prefix} \
        --includedir=%{_includedir}/apr-%{apuver} \
        --with-ldap --without-gdbm \
        --with-sqlite3 --with-pgsql --with-mysql --with-freetds --with-odbc \  ← ここを
        --with-sqlite3 --with-mysql --with-freetds --with-odbc \                  ← こうする
        --with-pgsql=/usr/pgsql-9.3                            \                  ← こうする


</syntaxhighlight >
<br>
<br>
</li>
</li>
<li>'''再圧縮'''
<li>'''インストール'''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
  [rpmdevel@XXXXX ~]$ tar jcvf apr-util-1.6.1.tar.bz2 apr-util-1.6.1/
  [rpmdevel@XXXXX ~]$ cd /home/rpmdevel/rpm/RPMS/i686
[rpmdevel@XXXXX ~]$ sudo rpm -Uvh httpd-2.4.39-1.i686.rpm
[rpmdevel@XXXXX ~]$ sudo rpm -Uvh httpd-devel-2.4.39-1.i686.rpm
[rpmdevel@XXXXX ~]$ sudo rpm -Uvh mod_ssl-2.4.39-1.i686.rpm
</syntaxhighlight >
</syntaxhighlight >
<br>
<br>
</li>
</li>
 
</ol>
<li>'''RPMの作成(2回目:成功)'''
==初期設定==
<ol>
<li>'''httpd.confの設定'''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
  [rpmdevel@XXXXX ~]$ rpmbuild -tb --clean apr-util-1.6.1.tar.bz2
  [root@XXXXX ~]# vi /etc/httpd/conf/httpd.conf
</syntaxhighlight >
<br>
ユーザーとグループの変更
<syntaxhighlight lang="vim">
User daemon
Group daemon
User apache
Group apache
</syntaxhighlight >
<br>
サーバー名の設定
<syntaxhighlight lang="vim">
ServerName www.example.com:80
ServerName XXXXXXXXXXX:80
</syntaxhighlight >
</syntaxhighlight >
<br>
<br>
</li>
</li>
 
<li>'''SSL対応設定'''
<li>'''インストール'''
<ol>
<li>'''認証局(CA)の構築'''
* 秘密鍵と証明書の作成
CA.shという用意されたスクリプトを使用
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
  [rpmdevel@XXXXX ~]$ sudo rpm -Uvh /home/rpmdevel/rpm/RPMS/i686/apr-util-1.6.1-1.i686.rpm
  [root@XXXXX ~]# cd /etc/pki/tls
  [rpmdevel@XXXXX ~]$ sudo rpm -Uvh /home/rpmdevel/rpm/RPMS/i686/apr-util-devel-1.6.1-1.i686.rpm
[root@XXXXX ~]# cp misc/CA .
</syntaxhighlight >
  [root@XXXXX ~]# ./CA -newca
CA certificate filename (or enter to create)              ← 空Enter
Making CA certificate ...
Generating a 1024 bit RSA private key
.....++++++
................++++++
writing new private key to '/etc/pki/CA/private/./cakey.pem'
Enter PEM pass phrase:                                    ← 秘密鍵のパスフレーズを入力
Verifying password - Enter PEM pass phrase:                ← もう一度入力
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:                        ← JP
State or Province Name (full name) [Some-State]:          ← 県名
Locality Name (eg, city) []:                              ← 市町村
Organization Name (eg, company) [Internet Widgits Pty Ltd]:← 社名
Organizational Unit Name (eg, section) []:                ← 部署
Common Name (eg, YOUR name) []:                            ← (※)
Email Address []:                                          ← メルアド
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:                                  ← 空Enter
An optional company name []:                              ← 空Enter
Enter pass phrase for /etc/pki/CA/private/./cakey.pem:    ← 秘密鍵のパスフレーズを入力
</syntaxhighlight >
<br>
<br>
</li>
(※)サーバのURL(またはサーバ名?)にしないとApacheLogに警告が出力されてた。
以上の処理により、~
~
/etc/pki/CA/cacert.pem        ← 自己署名型CA証明書~
/etc/pki/CA/private/cakey.pem  ← 秘密鍵~
~
が作成される。~
秘密鍵は他人に見られないように
# chmod 600 /etc/pki/CA/private/cakey.pem
# chmod 700 /etc/pki/CA/private
とパーミッションを設定しておく。~
証明書を確認するには以下のようにする。
# openssl x509 -in /etc/pki/CA/cacert.pem -text
 
**SSLサーバ構築 [#p4db68bc]
-サーバ秘密鍵の作成
# openssl genrsa -out server.key 1024
Generating RSA private key, 1024 bit long modules
.............++++++
....++++++
e is 65537 (0x10001)
確認
# ls
server.key
-証明書署名要求(CSR)の作成
# openssl req -new -key server.key -out server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:                        ← JP
State or Province Name (full name) [Some-State]:          ← 県名
Locality Name (eg, city) []:                              ← 市町村
Organization Name (eg, company) [Internet Widgits Pty Ltd]:← 社名
Organizational Unit Name (eg, section) []:                ← 部署
Common Name (eg, YOUR name) []:                            ← (※)
Email Address []:                                          ← メルアド
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:                                  ← 空Enter
An optional company name []:                              ← 空Enter
(※)サーバのURL(またはサーバ名?)にしないとApacheLogに警告が出力されてた。
確認
# ls
server.key server.csr
-証明書への自己署名
# echo 01 > ca-cert.srl
# openssl x509 -CA ../CA/cacert.pem -CAkey ../CA/private/cakey.pem -CAserial ca-cert.srl -req -days 3650 -in server.csr -out server.crt
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem: ← 秘密鍵のパスフレーズを入力
確認
# ls
server.key server.csr server.crt
秘密鍵と証明書を移動する。
# mkdir /etc/httpd/conf/ssl
# mv server.key /etc/httpd/conf/ssl
# mv server.crt /etc/httpd/conf/ssl


APR-util 1.6.1(RPM) に戻る。
**Apacheへの埋め込み [#fb362adc]
-''httpd-ssl.confの設定''
# vi /etc/httpd/conf/extra/httpd-ssl.conf
サーバー名
<VirtualHost _default_:443>
ServerName www.example.com:443
ServerName XXXXXXXXXXXXXXX:443
サーバー証明書のパス 
SSLCertificateFile "/etc/httpd/conf/server.crt"
SSLCertificateFile "/etc/httpd/conf/ssl/server.crt"
秘密鍵のパス
SSLCertificateKeyFile "/etc/httpd/conf/server.key"
SSLCertificateKeyFile "/etc/httpd/conf/ssl/server.key"
-''httpd.confの設定''
SSL用設定ファイルの有効化
# vi /etc/httpd/conf/httpd.conf
SSL設定ファイルのリンク
# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf
Include conf/extra/httpd-ssl.conf    ← コメント外す
確認
# /usr/sbin/apachectl configtest
Syntax OK
*起動 [#l58249df]
下記のコマンドで起動、停止、再起動を行う
# /usr/sbin/apachectl start    ← 起動
# /usr/sbin/apachectl stop    ← 停止
# /usr/sbin/apachectl restart  ← 再起動


案内メニュー
*動作確認 [#z82ab4b3]
ログインページ議論閲覧ソースを表示履歴表示検索
http,httpsでそれぞれアクセスし「It works!」が表示されればOK。~
あべたけの覚え書き内を検索
~
メインページ
*自動起動設定 [#l37381a1]
最近の更新
# chkconfig httpd on
ヘルプ
~
Linux
*有効にしているモジュール [#ye1b3c2d]
コマンドとか
大層な数のモジュールが動作しているので、下記に限定して他は無効化。~
CentOS
(とりあえず)~
Howto
LoadModule authz_host_module /usr/lib/httpd/modules/mod_authz_host.so
RPM
→[[authz_host_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_authz_host.html]] のドキュメント~
yum
~
vim
LoadModule log_config_module /usr/lib/httpd/modules/mod_log_config.so
6.5
→[[log_config_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_log_config.html]] のドキュメント~
6.10
~
メモ
LoadModule setenvif_module /usr/lib/httpd/modules/mod_setenvif.so
ntp
→[[setenvif_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_setenvif.html]] のドキュメント~
Howto
~
OpenSSL
LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so
Howto
→[[ssl_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_ssl.html]] のドキュメント~
1.0.1e
~
OpenSSH
LoadModule mime_module /usr/lib/httpd/modules/mod_mime.so
6.1p1
→[[mime_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_mime.html]] のドキュメント~
OpenSSH (by RPM)
~
6.5p1 (RPM)
LoadModule dav_module /usr/lib/httpd/modules/mod_dav.so
8.0p1 (RPM)
→[[dav_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_dav.html]] のドキュメント~
PostgreSQL (by RPM)
~
11.2 (RPM)
LoadModule dav_fs_module /usr/lib/httpd/modules/mod_dav_fs.so
APR (by RPM)
→[[dav_fs_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_dav_fs.html]] のドキュメント~
1.7.0 (RPM)
~
APR-util (by RPM)
LoadModule rewrite_module /usr/lib/httpd/modules/mod_rewrite.so
1.6.1 (RPM)
→[[rewrite_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_rewrite.html]] のドキュメント~
Apache (by RPM)
~
2.4.39 (RPM)
LoadModule dav_svn_module /usr/lib/httpd/modules/mod_dav_svn.so
Subversion
→[[dav_svn_module>http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.ref.mod_dav_svn.conf.html]] のドキュメント~
1.12.0
~
Apache
Howto
2.2.21
Ruby
1.9.3
Ruby (by RPM)
2.0.0 (RPM)
Python
2.6.2
Subversion (by RPM)
1.8.8 (RPM)
Git
1.7.7.4
expat
2.1.0
neon
0.29.6
PostgreSQL
9.2.2
readline
5.2
psycopg2
2.0.11
PHP4
4.4.8
ncurses
5.5
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
このページは 3,020 回アクセスされました。
プライバシー・ポリシーあべたけの覚え書きについて免責事項Powered by MediaWiki

2023年5月11日 (木) 09:21時点における版

準備

  • インストール済みのパッケージを削除
 [root@XXXXX ~]# yum remove httpd

インストール

  1. ソースの取得
     [root@XXXXX ~]# su - rpmdevel
     [rpmdevel@XXXXX ~]$ cd /home/rpmdevel/src
     [rpmdevel@XXXXX ~]$ wget http://ftp.riken.jp/net/apache/httpd/httpd-2.4.39.tar.bz2


  2. RPMの作成
     [rpmdevel@XXXXX ~]$ rpmbuild -tb --clean httpd-2.4.39.tar.bz2

    依存性についてエラーが表示される。

     エラー: ビルド依存性の失敗:
             pcre-devel >= 5.0 は httpd-2.4.39-1.i686 に必要とされています
             lua-devel は httpd-2.4.39-1.i686 に必要とされています
             libxml2-devel は httpd-2.4.39-1.i686 に必要とされています

    yumで足りないものをインストール

     [rpmdevel@XXXXX ~]$ exit
     [root@XXXXX ~]# yum pcre-devel lua-devel libxml2-devel

    再度RPMをビルド

     [root@XXXXX ~]# su - rpmdevel
     [rpmdevel@XXXXX ~]$ cd /home/rpmdevel/src
     [rpmdevel@XXXXX ~]$ rpmbuild -tb --clean httpd-2.4.39.tar.bz2

    今度はビルドエラーが出る

    RPM ビルドエラー:
        インストール済み(ただし未伸張)ファイルが見つかりました:
       /usr/lib/httpd/modules/mod_socache_redis.so

    specファイルを編集

     [rpmdevel@XXXXX ~]$ tar jxvf httpd-2.4.39.tar.bz2
     [rpmdevel@XXXXX ~]$ vi httpd-2.4.39/httpd.spec
    
     ~(略)~
     %files
     ~(略)~
     %{_libdir}/httpd/modules/mod_watchdog.so
     %{_libdir}/httpd/modules/mod_socache_redis.so  ←追加

    再圧縮

     [rpmdevel@XXXXX ~]$ tar jcvf httpd-2.4.39.tar.bz2 httpd-2.4.39/

    再度RPMをビルド

     [rpmdevel@XXXXX ~]$ rpmbuild -tb --clean httpd-2.4.39.tar.bz2


  3. インストール
     [rpmdevel@XXXXX ~]$ cd /home/rpmdevel/rpm/RPMS/i686
     [rpmdevel@XXXXX ~]$ sudo rpm -Uvh httpd-2.4.39-1.i686.rpm
     [rpmdevel@XXXXX ~]$ sudo rpm -Uvh httpd-devel-2.4.39-1.i686.rpm
     [rpmdevel@XXXXX ~]$ sudo rpm -Uvh mod_ssl-2.4.39-1.i686.rpm


初期設定

  1. httpd.confの設定
     [root@XXXXX ~]# vi /etc/httpd/conf/httpd.conf


    ユーザーとグループの変更

     User daemon
     Group daemon
     ↓
     User apache
     Group apache


    サーバー名の設定

     ServerName www.example.com:80
     ↓
     ServerName XXXXXXXXXXX:80


  2. SSL対応設定
    1. 認証局(CA)の構築
      • 秘密鍵と証明書の作成
      CA.shという用意されたスクリプトを使用
       [root@XXXXX ~]# cd /etc/pki/tls
       [root@XXXXX ~]# cp misc/CA .
       [root@XXXXX ~]# ./CA -newca
       
       CA certificate filename (or enter to create)               ← 空Enter
       Making CA certificate ...
       Generating a 1024 bit RSA private key
       .....++++++
       ................++++++
       writing new private key to '/etc/pki/CA/private/./cakey.pem'
       Enter PEM pass phrase:                                     ← 秘密鍵のパスフレーズを入力
       Verifying password - Enter PEM pass phrase:                ← もう一度入力
       -----
       You are about to be asked to enter information that will be incorporated
       into your certificate request.
       What you are about to enter is what is called a Distinguished Name or a DN.
       There are quite a few fields but you can leave some blank
       For some fields there will be a default value,
       If you enter '.', the field will be left blank.
       -----
       Country Name (2 letter code) [AU]:                         ← JP
       State or Province Name (full name) [Some-State]:           ← 県名
       Locality Name (eg, city) []:                               ← 市町村
       Organization Name (eg, company) [Internet Widgits Pty Ltd]:← 社名
       Organizational Unit Name (eg, section) []:                 ← 部署
       Common Name (eg, YOUR name) []:                            ← (※)
       Email Address []:                                          ← メルアド
       Please enter the following 'extra' attributes
       to be sent with your certificate request
       A challenge password []:                                   ← 空Enter
       An optional company name []:                               ← 空Enter
       Enter pass phrase for /etc/pki/CA/private/./cakey.pem:     ← 秘密鍵のパスフレーズを入力


      (※)サーバのURL(またはサーバ名?)にしないとApacheLogに警告が出力されてた。
      

      以上の処理により、~ ~ /etc/pki/CA/cacert.pem ← 自己署名型CA証明書~ /etc/pki/CA/private/cakey.pem ← 秘密鍵~ ~ が作成される。~ 秘密鍵は他人に見られないように

      # chmod 600 /etc/pki/CA/private/cakey.pem
      # chmod 700 /etc/pki/CA/private
      

      とパーミッションを設定しておく。~ 証明書を確認するには以下のようにする。

      # openssl x509 -in /etc/pki/CA/cacert.pem -text
      
        • SSLサーバ構築 [#p4db68bc]

      -サーバ秘密鍵の作成

      # openssl genrsa -out server.key 1024
      Generating RSA private key, 1024 bit long modules
      .............++++++
      ....++++++
      e is 65537 (0x10001)
      

      確認

      # ls
      server.key
      

      -証明書署名要求(CSR)の作成

      # openssl req -new -key server.key -out server.csr
      You are about to be asked to enter information that will be incorporated
      into your certificate request.
      What you are about to enter is what is called a Distinguished Name or a DN.
      There are quite a few fields but you can leave some blank
      For some fields there will be a default value,
      If you enter '.', the field will be left blank.
      -----
      Country Name (2 letter code) [AU]:                         ← JP
      State or Province Name (full name) [Some-State]:           ← 県名
      Locality Name (eg, city) []:                               ← 市町村
      Organization Name (eg, company) [Internet Widgits Pty Ltd]:← 社名
      Organizational Unit Name (eg, section) []:                 ← 部署
      Common Name (eg, YOUR name) []:                            ← (※)
      Email Address []:                                          ← メルアド
      Please enter the following 'extra' attributes
      to be sent with your certificate request
      A challenge password []:                                   ← 空Enter
      An optional company name []:                               ← 空Enter
      
      (※)サーバのURL(またはサーバ名?)にしないとApacheLogに警告が出力されてた。
      

      確認

      # ls
      server.key server.csr
      

      -証明書への自己署名

      # echo 01 > ca-cert.srl
      # openssl x509 -CA ../CA/cacert.pem -CAkey ../CA/private/cakey.pem -CAserial ca-cert.srl -req -days 3650 -in server.csr -out server.crt
      Using configuration from /etc/pki/tls/openssl.cnf
      Enter pass phrase for /etc/pki/CA/private/cakey.pem: ← 秘密鍵のパスフレーズを入力
      

      確認

      # ls
      server.key server.csr server.crt
      

      秘密鍵と証明書を移動する。

      # mkdir /etc/httpd/conf/ssl
      # mv server.key /etc/httpd/conf/ssl
      # mv server.crt /etc/httpd/conf/ssl
      
        • Apacheへの埋め込み [#fb362adc]

      -httpd-ssl.confの設定

      # vi /etc/httpd/conf/extra/httpd-ssl.conf
      

      サーバー名

      <VirtualHost _default_:443>
      ServerName www.example.com:443
      ↓
      ServerName XXXXXXXXXXXXXXX:443
      

      サーバー証明書のパス 

      SSLCertificateFile "/etc/httpd/conf/server.crt"
      ↓
      SSLCertificateFile "/etc/httpd/conf/ssl/server.crt"
      

      秘密鍵のパス

      SSLCertificateKeyFile "/etc/httpd/conf/server.key"
      ↓
      SSLCertificateKeyFile "/etc/httpd/conf/ssl/server.key"
      

      -httpd.confの設定 SSL用設定ファイルの有効化

      # vi /etc/httpd/conf/httpd.conf
      

      SSL設定ファイルのリンク

      # Secure (SSL/TLS) connections
      #Include conf/extra/httpd-ssl.conf
      ↓
      Include conf/extra/httpd-ssl.conf    ← コメント外す
      

      確認

      # /usr/sbin/apachectl configtest
      Syntax OK
      
      
      • 起動 [#l58249df]

      下記のコマンドで起動、停止、再起動を行う

      # /usr/sbin/apachectl start    ← 起動
      # /usr/sbin/apachectl stop     ← 停止
      # /usr/sbin/apachectl restart  ← 再起動
      
      • 動作確認 [#z82ab4b3]

      http,httpsでそれぞれアクセスし「It works!」が表示されればOK。~ ~

      • 自動起動設定 [#l37381a1]
      # chkconfig httpd on
      

      ~

      • 有効にしているモジュール [#ye1b3c2d]

      大層な数のモジュールが動作しているので、下記に限定して他は無効化。~ (とりあえず)~

      LoadModule authz_host_module /usr/lib/httpd/modules/mod_authz_host.so
      

      →[[authz_host_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_authz_host.html]] のドキュメント~ ~

      LoadModule log_config_module /usr/lib/httpd/modules/mod_log_config.so
      

      →[[log_config_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_log_config.html]] のドキュメント~ ~

      LoadModule setenvif_module /usr/lib/httpd/modules/mod_setenvif.so
      

      →[[setenvif_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_setenvif.html]] のドキュメント~ ~

      LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so
      

      →[[ssl_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_ssl.html]] のドキュメント~ ~

      LoadModule mime_module /usr/lib/httpd/modules/mod_mime.so
      

      →[[mime_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_mime.html]] のドキュメント~ ~

      LoadModule dav_module /usr/lib/httpd/modules/mod_dav.so
      

      →[[dav_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_dav.html]] のドキュメント~ ~

      LoadModule dav_fs_module /usr/lib/httpd/modules/mod_dav_fs.so
      

      →[[dav_fs_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_dav_fs.html]] のドキュメント~ ~

      LoadModule rewrite_module /usr/lib/httpd/modules/mod_rewrite.so
      

      →[[rewrite_module>http://httpd.apache.org/docs/2.2/ja/mod/mod_rewrite.html]] のドキュメント~ ~

      LoadModule dav_svn_module /usr/lib/httpd/modules/mod_dav_svn.so
      

      →[[dav_svn_module>http://www.caldron.jp/~nabetaro/svn/svnbook-1.5-final/html-chunk/svn.ref.mod_dav_svn.conf.html]] のドキュメント~ ~