#1.目的
AWSのEC2でインスタンスを作成しApache、Tomcat、JDKをインストールしてJavaアプリケーションが動作するWebサーバを構築します。
#ドメインはRoute53で事前に取得済み
#2.環境
Centos7.5
Apache2.4
JDK1.8
Tomcat8.5
#3.ツール、端末OS
AWS EC2
TeraTerm
Windows10
#4.Apacheのインストール
##4-1.インスタンスの作成
AWSのEC2でインスタンス作成します。スペックは無料の範疇で。
EIPも割り当てます。
-
スペック
- AMIの選択:CentOS7 #AWS Marketplaceから選択
- インスタンスタイプの選択:t2.micro
- インスタンスの設定:すべてデフォルト
- ストレージの追加:30GB
- タグの追加:キー Name、値 Webserver
- セキュリティグループの設定:新しいセキュリティグループを作成する
-
EIPの割り当て
- EC2ダッシュボード→Elastic IP→新しいIPの割り当て→割り当て
- 割り当てたIPを選択→アクション→アドレスの関連付け→作成したインスタンスを選択
##4-2.インスタンスにsshしパスワード認証に変更
①centos / 認証キーでログイン
②sudo su - でrootユーザに移行
③passwdでpassを設定
④vi /etc/ssh/sshd_configを書き換え(PasswordAuthentication yes , permitRootLogin yes)
※sshのソースを限定した開発環境のためRootユーザのログインを許可しています
※書き換え後にsshdの再起動が必要
■参考
https://qiita.com/uhooi/items/ab845b06b136e623e51d
##4-3.apacheのダウンロード、サービスの起動
rootユーザでCLIからapacheをyum installする。
このサイトの手順に倣います。
Tomcatインストール&連携モジュールの際も参考にさせていただきました。
#5.Tomcatのインストール
##5-1.JDKのインストール
Tomcatを動かすためにJava環境を構築。
このサイトに倣ってインストールします。
##5-2.Tomcat本体のダウンロード・解凍・配置、ユーザとグループの作成
$ cd /usr/local/src #srcディレクトリにTomcatのアーカイブをダウンロード
$ yum install wget
$ wget http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-8/v8.5.33/bin/apache-tomcat-8.5.33.tar.gz
$ tar zxf apache-tomcat-8.5.33.tar.gz
$ mv apache-tomcat-8.5.33 /usr/tomcat #tomcatディレクトリを作成し解凍したモジュールを配置
$ echo -e "export CATALINA_HOME=/usr/tomcat\nexport CATALINA_BASE=/usr/tomcat" > /etc/profile.d/tomcat.sh #Tomcatで使用する環境変数×2の設定
$ source /etc/profile.d/tomcat.sh #上記設定の確認
$ /usr/tomcat/bin/version.sh
$ useradd -M -d /usr/tomcat tomcat
$ chown -R tomcat:tomcat /usr/tomcat #tomcatユーザを作成しtomcatインストールディレクトリをchown
※wgetで404エラーが出た場合はtomcatのバージョンが上がっていますので、/tomcat-8/配下のバージョン部分を適宜修正します。
##5-3.サービスの作成と登録、Tomcatの起動
環境変数(CATALINA_HOME、CATALINA_BASE)とTomcatインストールフォルダはご自身の環境に合わせて書き換えてください(本記事の場合だとtomcat8)。
$ vi /etc/systemd/system/tomcat.service
Description=Apache Tomcat 8
After=network.target
[Service]
Environment="CATALINA_HOME=/usr/tomcat8"
Environment="CATALINA_BASE=/usr/tomcat8"
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/usr/tomcat8/tomcat.pid
RemainAfterExit=yes
ExecStart="/usr/tomcat8/bin/startup.sh"
ExecStop="/usr/tomcat8/bin/shutdown.sh"
ExecReStart="/usr/tomcat8/bin/shutdown.sh;/usr/tomcat8/bin/startup.sh"
[Install]
WantedBy=multi-user.target
$ systemctl enable tomcat (自動起動の設定
$ systemctl is-enabled tomcat (自動起動の確認
$ systemctl start tomcat (サービスの起動
##5-4.ブラウザで確認
http://xxx.xxx.xxx.xxx(インスタンスのEIP):8080
Welcomeページが表示されれば完了。
※インスタンスの8080ポートを開けていない場合、現在の設定ですとエラーになるのでセキュリティグループに追加してください
■参考
・Tomcatインストール
https://weblabo.oscasierra.net/installing-tomcat8-centos7-1/
・apacheがどうやってページを表示しているか?は以下のサイトでお勉強。
https://www.task-notes.com/entry/20150629/1435546800
#補足①:ドメイン取得
Route53を使いました。※有料ですのでご注意ください
以下のサイトでお勉強し、手順に倣って完了。
http://exrecord.net/how-to-register-aws-route53
#補足②:IPv6の遮断
https://qiita.com/qs2006/items/f437982e0a142a05593c
#おまけ:AWSの構築手順を学習する
某SIerのクラウドを運用保守していたので馴染みはあるのですが、
いかんせん構築スキルがなさすぎるので書籍でお勉強。
AWS関連の技術書にしては版も新しく、内容もわかりやすい(TCP/IPの理解があると尚よし)、かつ目的とマッチしていたこともあり大変勉強になりました。
ピンポイントで欲しい知識はグーグル、体系的に学びたい場合は書籍をよく利用します。
8時間程度で読み終えるボリュームでした。