Apache
諸情報
主たるパッケージ名 | SUNWapch22 | |
SMFのFMRI | svc:/network/http:apache22 | |
インストールパス | 設定 | /etc/apache2/2.2/ |
コンテンツ | /var/apache2/2.2/ | |
プログラム | /usr/apache2/2.2/ | |
ログファイル | SMFログ | /var/svc/log/network-http:apache22.log |
Apache出力ログ | /var/apache2/2.2/logs/error_log等 |
インストール
pkg install -v SUNWapch22
Creating Plan / Before evaluation: UNEVALUATED: +pkg:/SUNWapch22@2.2.9,5.11-0.101:20081119T214340Z After evaluation: None -> pkg:/SUNWapch22@2.2.9,5.11-0.101:20081119T214340Z None -> pkg:/SUNWapr13@1.3.3,5.11-0.101:20081119T214506Z None -> pkg:/SUNWapu13@1.3.4,5.11-0.101:20081119T214514Z None -> pkg:/SUNWperl584core@5.8.4,5.11-0.101:20081119T215706Z Actuators: restart_fmri: svc:/system/manifest-import:default None DOWNLOAD PKGS FILES XFER (MB) Completed 4/4 1342/1342 5.85/5.85 PHASE ACTIONS Install Phase 1660/1660 PHASE ITEMS Reading Existing Index 9/9 Indexing Packages 4/4
設定
主に書き換えるファイル
/etc/apache2/2.2/httpd.conf
ロードするモジュール(32ビット版:標準)
/etc/apache2/2.2/conf.d/modules-32.load
- 特殊な設定は、conf.dに*.confと言う名前で保存すると良いでしょう。
- いくつかの標準的な設定を、/etc/apache2/2.2/samples-conf.d/からコピー、もしくはシンボリックリンクなどをします。
- 詳しくは/etc/apache2/2.2/samples-conf.d/のconfファイルを参照ください。
これだけでApacheを動作させることが可能です。
応用的な設定
これらの設定は、お客様にて理解を薦めた上で、設定することをおすすめいたします。下記は参考ドキュメントとしてご利用いただけたら幸いです。
SSL証明書をインストールする
SSL証明書の証明局からSSL証明書を購入することにより、SSLを利用することもできます。
SSLの設定
pfexec cp /etc/apache2/2.2/samples-conf.d/ssl.conf /etc/apache2/2.2/conf.d/
/etc/apache2/2.2/conf.d/ssl.confの必要な箇所を変更する。最低限、ServerName、ServerAdminの編集は必須。
server.keyをつくります。ここで求められるパスワードはすぐに解除してしまうため、適当な物で結構です。
cd /etc/apache2/2.2
以後、/etc/apache2/2.2ディレクトリでの作業となります。
openssl genrsa -out server.key -des3 1024
Generating RSA private key, 1024 bit long modulus ..++++++ .....++++++ e is 65537 (0x10001) Enter pass phrase: Verifying - Enter pass phrase:
server.keyのパスワードを外します。
openssl rsa -in server.key -out server.key
csrを作成します。できあがったserver.csrは、SSLの証明局(CA)への申請に必要となります。
openssl req -new -out server.csr -key server.key
多くの証明局は、ここで入力する情報を追って必要とします。
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) []:(JP等を入力) State or Province Name (full name) []:(県名をアルファベットで入力) Locality Name (eg, city) []:(市名をアルファベットで入力) Organization Name (eg, company) []:(会社名をアルファベットで入力) Organizational Unit Name (eg, section) []:(部署名をアルファベットで入力) Common Name (eg, YOUR name) []:(サーバの名前をアルファベットで入力。この名前がSSLで利用される名前です。もちろんこの名前で、このサーバに対してIPリーチャブルである必要があります) Email Address []:(必要ならば入力) Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:(未入力) An optional company name []:(未入力)
これでserver.csrができあがります。
次のアクションは下記の通りです
- server.csrを証明局に送り、証明書を発効してもらいます。
- 証明局によりルールがことなりますので、証明局の指示を仰いでください。
- 数日後、発効された証明書をserver.crtという名前で保存する。
- ディレクトリは、同じく、/etc/apache2/2.2です。
- apache22をdisable → enableすることで、証明書が反映されます。
- ブラウザでhttps://(あなたが申請した名前:Common Name)/にアクセスし、購入した証明書で正しいか確認してください。
自力で署名する場合
公的な証明局による署名がされていないため、SSLによるセキュリティを担保することはできないことをご注意ください。
openssl x509 -in server.csr -days 365 -req -signkey server.key -out server.crt
VirtualHostの設定
Phase2ServerではIPアドレスの追加契約ができないため、IPベースのVirtualHostはできません。しかしNameベースのVirtualHostの設定により、DNSとあわせて利用することで、1つのサーバで複数のサイトを運用することができます。
NameベースのVirtualHostのサンプル設定は、/etc/apache2/2.2/samples-conf.d/vhost.confにあります。これを参考にすることで、VirtualHostの設定ができます。
pfexec cp /etc/apache2/2.2/samples-conf.d/vhost.conf /etc/apache2/2.2/conf.d/
/etc/apache2/2.2/conf.d/vhost.confの編集を行います。
最低限、<VirtualHost *:80>〜</VirtualHost>で括られた、ServerAdmin、DocumentRoot、ServerName、ErrorLog、CustomLog等、全ての内容を編集する必要があります。
このファイルに記載されたサンプルは、あくまでも例ですので、そのままの状態では動作させることができません。また、ネームベースのVirtualHostはお客様のDNS設定にも依存しますので、下記のApacheのマニュアルを参考にして設定を行ってください。
参考資料
- http://httpd.apache.org/docs/2.2/vhosts/
- http://www.atmarkit.co.jp/flinux/rensai/apache08/apache08a.html
64bitバイナリを利用する場合
設定方法
pfexec svccfg -s svc:/network/http:apache22 setprop httpd/enable_64bit = true pfexec svcadm refresh svc:/network/http:apache22
プロパティの確認方法
svcprop svc:/network/http:apache22
ただし、64bit版ではphpが動作しない等の制限があるので確認して利用すること。
MPMにworkerを利用する場合
設定方法
pfexec svccfg -s svc:/network/http:apache22 setprop httpd/server_type = worker pfexec svcadm refresh svc:/network/http:apache22
プロパティの確認方法
svcprop svc:/network/http:apache22
ただし、worker型MPMでは、phpが動作しない等の制限があるので確認して利用すること。
サービスの起動と停止
起動
pfexec svcadm enable svc:/network/http:apache22
停止
pfexec svcadm disable svc:/network/http:apache22
再起動
pfexec svcadm restart svc:/network/http:apache22
設定のテスト(32ビットの場合)
pfexec /usr/apache2/2.2/bin/apachectl configtest
設定のテスト(64ビットの場合)
pfexec /usr/apache2/2.2/bin/amd64/apachectl configtest