環境を構築する前に前提としてWindows
環境での話。
- Vagrant
- VirtualBox
- Cygwin
がインストールされていること、とします。
※下記コマンドは全てcygwinのターミナルで作業します
自分のローカル環境にVirtualBox+Vagrantで仮想環境を構築し
tomcatの初期ページを表示するまでの手順を書いておきます。
Vagrant側の準備
CentOS7.2のBoxファイルを入手
https://www.vagrantbox.es/
CentOS 7.2 x64 (Minimal, Puppet 4.2.3, Guest Additions 4.3.30)
を選びます。
Boxファイルの追加例
$ vagrant box add CentOS7.2 https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box
ローカル環境に作業用ディレクトリ(フォルダ)作成
ローカル環境で開発を進めて
例)ユーザ直下にWork
ディレクトリを作成
$ mkdir -p /cygdrive/c/Users/user/Work/
pathとしてはこんな/cygdrive/c/Users/user/Work/
ここで様々なプロジェクトを今後開発していくとしましょう。
そして今回は、tomcat
ディレクトリを作ります。
$ cd /cygdrive/c/Users/user/Work/
$ mkdir tomcat
tomcat
ディレクトリに移動しておく。
$ cd /tomcat/
$ pwd
/cygdrive/c/Users/user/Work/tomcat
###Vagrantの初期化とVagrantfileの確認
さっき追加したCentOS7.2
(Boxファイル)を確認
$ vagrant box list
CentOS7.2 (virtualbox, 0)
Boxファイルは追加していくことで使える環境を増やしていけます。
では使う環境を選んで初期化しましょう。今回はCentOS7.2
です。
$ vagrant init CentOS7.2
初期化するとVagrantfile
が出来上がります。
そこで今回は中身を以下のように修正しましょう。後ほどブラウザで確認できるように。
$ vi Vagrantfile
25行目あたりを以下のように
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
config.vm.network "forwarded_port", guest: 8080, host: 8080
保存は「Esc」キーを押してから「:wq」保存して、ファイルを閉じます。
(viのキーバインド)
ようやく起動
vagrantで仮想環境を立ち上げます。
$ vagrant up
CenOS7.2にログイン
$ vagrant ssh
Last login: Fri May 18 03:05:16 2018 from 10.0.2.2
[vagrant@localhost ~]$
ここから先は仮想環境(CenOS7.2)内での作業。
unzipをインストール
ファイル解凍のために必要。
[vagrant@localhost ~]$ sudo yum -y install unzip
javaをインストール
いま必要ないけど今後使うので。
[vagrant@localhost ~]$ sudo yum -y install java-1.8.0-openjdk
インストール確認
[vagrant@localhost ~]$ java -version
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-b10)
OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)
tomcatのインストールと設定
tomcat用のユーザ追加
[vagrant@localhost ~]$ sudo useradd -s /sbin/nologin tomcat
tomcatのダウンロード
[vagrant@localhost ~]$ wget http://ftp.tsukuba.wide.ad.jp/software/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.zip
zipを解凍しておきます。
[vagrant@localhost ~]$ unzip apache-tomcat-8.5.31.zip
tomcatの設置
[vagrant@localhost ~]$ sudo mv apache-tomcat-8.5.31 /usr/local/tomcat
[vagrant@localhost ~]$ sudo chown -R tomcat:tomcat /usr/local/tomcat
tomcat用のsystemd unitファイルを作成
[vagrant@localhost ~]$ sudoedit /etc/systemd/system/tomcat.service
中身は以下のように
[Unit]
Description=Apache Tomcat 8
After=syslog.target network.target
[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/usr/local/tomcat/tomcat.pid
RemainAfterExit=yes
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
ExecReStart=/usr/local/tomcat/bin/shutdown.sh;/usr/local/tomcat/bin/startup.sh
[Install]
WantedBy=multi-user.target
保存は「Esc」キーを押してから「:wq」保存して、ファイルを閉じます。
(viのキーバインド)
serviceファイルの権限変更
[vagrant@localhost ~]$ sudo chmod 755 /etc/systemd/system/tomcat.service
自動起動を有効にしておく
[vagrant@localhost ~]$ sudo systemctl enable tomcat
tomcat起動のために必要なファイルの権限変更
これ必要でした。
[vagrant@localhost ~]$ sudo chmod 775 /usr/local/tomcat/bin/startup.sh
[vagrant@localhost ~]$ sudo chmod 775 /usr/local/tomcat/bin/catalina.sh
tomcatの起動
ようやくtomcatを起動します。
[vagrant@localhost ~]$ sudo systemctl start tomcat
ブラウザで確認
http://localhost:8080/
アクセスできない場合
firewallを停止させてみる。
[vagrant@localhost ~]$ sudo systemctl stop firewalld
参考
CentOS7にTomcat8をインストールして自動起動設定
https://qiita.com/nyao/items/8ad51a56638e646b2ec1