5
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

CentOS7とApache2.4とTomcat8.5でAWS上にWebサーバ構築

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.ブラウザで確認

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の遮断

おまけ:AWSの構築手順を学習する

某SIerのクラウドを運用保守していたので馴染みはあるのですが、
いかんせん構築スキルがなさすぎるので書籍でお勉強。
AWS関連の技術書にしては版も新しく、内容もわかりやすい(TCP/IPの理解があると尚よし)、かつ目的とマッチしていたこともあり大変勉強になりました。
ピンポイントで欲しい知識はグーグル、体系的に学びたい場合は書籍をよく利用します。
8時間程度で読み終えるボリュームでした。

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
5
Help us understand the problem. What are the problem?