AIX 7.2にApacheをインストールする手順メモ
AIX 7.2にApacheをインストールする手順メモ
AIXにインストール済となっていたapacheがインストールミスで起動できなかったのでイチからやり直したときの手順メモ。
調べたところ、rpmでインストールする必要がある模様で、rpmはAIX Toolboxからダウンロード出来るとのこと。
前提
- サーバーは直でインターネットに繋がらないネットワーク上にある。
- Tomcatは既にインストール済(バージョンは9.0.17)。
- rootユーザーで作業する。
必要なrpmをそろえてインストールする
AIX Toolbox for Linux Applications - Downloads alphaからダウンロードする。
- Apache Httpサーバーをインストールしたかったので、まずはhttpdを探して、Binary RPMのリンクを押す。これでrpmファイルがダウンロードされる。
- FTPツールを使って、ダウンロードした
httpd-2.4.41-1.aix6.1.ppc.rpm
をサーバーにアップロードする。 ターミナルエミュレータでサーバーにログインし、以下のコマンドを実行してインストールテストを行い、必要なパッケージを確認する。
rpm -i --test httpd-2.4.41-1.aix6.1.ppc.rpm
表示されたパッケージ、
apr
、apr-util
、openldap
をAIX Toolboxからダウンロードする。- ダウンロードしたパッケージ、それぞれに対してインストールテストを行い、足りていないパッケージを確認してダウンロードする、を繰り返す。
最終的に必要と表示されたパッケージは以下の通り(ファイル名順)。
インストールテストを行った結果、以下の順番でインストールを行う。
- apr-1.5.2-1.aix6.1.ppc.rpm
- cyrus-sasl-2.1.26-3.aix6.1.ppc.rpm
- readline-8.0-2.aix6.1.ppc.rpm
- openldap-2.4.48-1.aix6.1.ppc.rpm
- sqlite-3.28.0-1.aix6.1.ppc.rpm
- apr-util-1.5.4-1.aix6.1.ppc.rpm
- httpd-2.4.41-1.aix6.1.ppc.rpm
コマンドは
rpm -ivh パッケージファイル名
。 既に古いバージョンがインストールされていると出たときは更新するのでrpm -Uvh パッケージファイル名
。今回の作業時は以下のコマンドを実行した。
rpm -ivh apr-1.5.2-1.aix6.1.ppc.rpm rpm -ivh cyrus-sasl-2.1.26-3.aix6.1.ppc.rpm rpm -Uvh readline-8.0-2.aix6.1.ppc.rpm rpm -ivh openldap-2.4.48-1.aix6.1.ppc.rpm rpm -Uvh sqlite-3.28.0-1.aix6.1.ppc.rpm rpm -ivh apr-util-1.5.4-1.aix6.1.ppc.rpm rpm -ivh httpd-2.4.41-1.aix6.1.ppc.rpm
もし、グループやユーザーが足りていなかったときはインストーラが自動で追加してくれる。 念のため、
smit
コマンドを使って追加されたグループやユーザーの設定を確認しておく。インストールされたかどうかの確認をする。
lslpp -Lc | grep httpd
インストールが成功していれば表示される。
httpd:httpd-2.4.41-1:2.4.41-1: : :C:R:Apache HTTP Server: :/bin/rpm -e httpd: : : : :0: :/opt:Thu Sep 26 14:34:54 JST 2019
以上で初期インストールは完了。
起動、停止確認
apacheが正しく起動するかどうかを確認する。
起動用のコマンドはrpm -ivh httpd-2.4.41-1.aix6.1.ppc.rpm
が成功したときにコンソールに表示されている。
Updating / installing...
1:httpd-2.4.41-1 ################################# [100%]
This version of httpd has 32bit and 64bit support
To start 64bit httpd use : /opt/freeware/sbin/apachectl_64 start ★これが起動用のコマンド
/opt/freeware/sbin/apachectl_64 start
コマンドを実行し、表示されるIPアドレスをブラウザに打ち込んでIt works!が表示されたらapacheが起動している。
停止できることも確認しておく。
/opt/freeware/sbin/apachectl_64 stop
再起動コマンドは以下。
/opt/freeware/sbin/apachectl_64 restart
起動しているかどうかをプロセスで確認するには、以下のコマンドを実行する。
ps -ef | grep httpd
confファイルの場所確認
細かいapacheの設定はconfファイルを使って行うので場所を確認しておく。
rpm -qlp httpd-2.4.41-1.aix6.1.ppc.rpm
コマンドを実行すると、配備されるファイル一覧が表示されるので、一覧からhttpd.conf
を探して確認する。
今回は /opt/freeware/etc/httpd/conf/
にconfファイルが置かれていた。
Tomcatと連携する
本来の目的は、apacheとTomcatを連携させたいことだった。 ポート番号無しでアクセスしたとき、Tomcatに繋がるようにするにはajpを使う。
Tomcat側の設定
Tomcatがインストールされているディレクトリ/conf
ディレクトリの下にserver.xml
が置かれているので、このファイルを編集する。
以下の記述を探し、コメントアウトされていたらコメントを外して有効にする。
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" useBodyEncodingForURI="true" />
ポート8080での接続を拒否する場合は、<Connector port="8080" protocol="HTTP/1.1"
で始まる部分を削除するかコメントアウトする。
server.xmlを編集したら、Tomcatを再起動する。
Tomcatがインストールされているディレクトリ/bin/shutdown.sh
Tomcatがインストールされているディレクトリ/bin/startup.sh
以上でTomcat側は完了。
apache側の設定
まず、ajp接続に必要なモジュールを読み込むように httpd.conf
またはhttpd.conf_64
を修正する。
OSが64ビット版なら、httpd.conf_64
を編集する。
confファイルを検索し、mod_proxy.so
とmod_proxy_ajp.so
が含まれる行を探す。
どちらも初期設定だとコメントになっているので、先頭の#
を消して有効にする。
次に、ポート番号無しで特定のURLでアクセスがあった時にTomcatに接続する設定を追加する。 直でconfファイルに書いてもよいが、別ファイルに定義を書いてそのファイルを読み込む形が主流のようなので、それに従う。
Include conf/extra/
が書かれている部分を検索し、その部分に行を追加する。
# Tomcatとの連携
Include conf/extra/httpd-proxy-ajp.conf
次に、httpd-proxy-ajp.conf
ファイルを新規で作成し、以下の記述を追記する。
<Location /Webアプリケーションのコンテキストルート/>
ProxyPass ajp://localhost:8009/Webアプリケーションのコンテキストルート/
</Location>
例えば、コンテキストルートがdocs
の時は以下の記述になる。
<Location /docs/>
ProxyPass ajp://127.0.0.1:8009/docs/
</Location>
対象にしたいコンテキストルートが複数あるときは、<Location>
タグを並べて書けばよい。
<Location /docs1/>
ProxyPass ajp://127.0.0.1:8009/docs1/
</Location>
<Location /docs2/>
ProxyPass ajp://127.0.0.1:8009/docs2/
</Location>
confファイルを編集したら、所定のディレクトリに配備する。
作業したときの配置場所は以下の通り。
/opt/freeware/etc/httpd/conf/httpd.conf_64
/opt/freeware/etc/httpd/conf/extra/httpd-proxy-ajp.conf
最後にapacheを再起動して、ポート番号無しで繋がることを確認する。
/opt/freeware/sbin/apachectl_64 restart
参考にしたサイト
- IBM AIX 7.2 (テクノロジー・レベル 2 適用) Expansion Pack リリース・ノート
- AIX Toolbox for Linux Applications - Downloads alpha
- rpmの依存関係調査メモ - Qiita
- 【 rpm 】コマンド(基礎編)――RPMパッケージをインストールする/アンインストールする:Linux基本コマンドTips(47) - @IT
- インターネット接続の無い AIX で yum を利用する - Qiita
- Apache httpd と Tomcat を連携させる方法 | WEB ARCH LABO
- Tomcatとの連携(mod_proxy_ajp) - Apache入門
- WindowsでApache 2.4.18とTomcat8.0.32を連携させる - bnote
- Tomcat - server.xml - Connectorタグ - AJP