CentOSにTomcatをインストールする

#環境
CentOS6.7 x86_64
Java1.8.0_66
Tomcat8.0

#Java8のインストール

オラクルのページにてrpmを取得
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
リンクのアドレスをコピーし、
ダウンロード先のディレクトリへ移動
cd /usr/local/src/

以下のコマンドにてrpmをダウンロード
```
wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u65-b17/jdk-8u65-linux-x64.rpm
```
rpm実行後、/usr/java　は以下のようになっている
/![スクリーンショット 2015-11-03 14.46.55.png](https://qiita-image-store.s3.amazonaws.com/0/57455/a2b07b73-8c11-aa5b-2442-b151dde01524.png)

インストール
rpm -ivh jdk-8u65-linux-x64.rpm

環境変数を登録
profileにexportを設定する
```
vi /etc/profile
```
にて
```
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
```
→この時エラーで試行錯誤する
詳細は※１

javaのインストールを確認
![スクリーンショット 2015-11-05 0.37.44.png](https://qiita-image-store.s3.amazonaws.com/0/57455/b0a3f018-39ed-07fe-c5a7-75fabd9a141c.png)

#Tomcatの用意
Tomcat用のユーザーを用意
```
useradd -s /sbin/nologin tomcat
```

##
Tomcatをダウンロード![スクリーンショット 2015-11-05 1.08.40.png](https://qiita-image-store.s3.amazonaws.com/0/57455/cb5da188-9331-2f26-21eb-29556c3079f5.png)

Tomcat8.0のCore:
からtar.gzを選択しリンクを取得

以下のディレクトリにダウンロードを行う
/usr/local/src
```
wget http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-8/v8.0.28/bin/apache-tomcat-8.0.28.tar.gz
```
ファイルの解凍を行う
```
tar -xvzf apache-tomcat-8.0.28.tar.gz
```
![スクリーンショット 2015-11-05 1.13.12.png](https://qiita-image-store.s3.amazonaws.com/0/57455/56d38c8a-9bd5-bc9a-42ce-057945919688.png)
解凍成功

##パスの設定
```
vi /etc/profile
```
プロファイルを開く
```
JRE_HOME=/usr/java/default
CATALINA_HOME=/usr/local/src/apache-tomcat-8.0.28
export JRE_HOME CATALINA_HOME
```
![スクリーンショット 2015-11-05 1.17.10.png](https://qiita-image-store.s3.amazonaws.com/0/57455/5e6cde3f-0297-1f11-d804-6dddf54c74e0.png)

上記のように設定し、OSにTomcatのパス、JREのパスを伝える

この設定を反映させるため、一度ログアウトし
再度ログインする

その後、以下のコマンドにてTomcatが起動します・
/usr/local/src/apache-tomcat-8.0.20/bin/startup.sh

が、うまく動かなかった
ファイアウオールの設定で、8080ポートを解放していなかったため
以下のようにファイアウォールを解放
/etc/sysconfig/iptables　にて
```
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
```
を追加し、
/etc/rc.d/init.d/iptables restart
設定を再起動した。

その上で、
ipアドレス:8080でブラウザからアクセスを行う
![スクリーンショット 2015-11-05 1.54.03.png](https://qiita-image-store.s3.amazonaws.com/0/57455/352c8eeb-a914-9775-8939-83d532ea01ae.png)

ねこ様でてきました。

まずはトムキャットの表示が確認できるまででした。

#今後の課題としては
・Apacheと連携させる
・warをapサーバから公開する手順
・Spring-bootのアプリをapatch-tomcatを介して公開する
を目指し、また加筆していきます。


#参考
http://normalse.hatenablog.jp/entry/2015/03/12/222100
http://homepage1.nifty.com/y-osumi/works/code/tomcat7
http://javatechnology.net/service/vps-java-tomcat/

#備考
#※１　java8のインストールに失敗する

##事象
インストール終了後、
java -version
コマンドを打つと
[root@tk2-237-28065 /]# java -version
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
というエラーが出る。

これはjavaのインストールに失敗しているらしい
当初、rpmをアンインストールし、再度インストールしなおす、強制的に上書きしてインストールするオプションをつける等でやっていたが、

##対策


別のJDKを別にインストールする
Java SE Development Kit 8u66をインストールし、Java SE Development Kit 8u65と競合しないようにした
wget --no-check-certificate --no-cookies - --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u66-b17/

jdk-8u66-linux-x64.rpm
rpm -ivh jdk-8u66-linux-x64.rpm

インストールは行われ、新しいjavaが入ってきている
![スクリーンショット 2015-11-05 0.29.16.png](https://qiita-image-store.s3.amazonaws.com/0/57455/d0cd8c31-6cd8-905a-37f2-6a3232ebb71b.png)

インストール後、
altanativeコマンドにて環境を切り替える

その上で、java -versionを実行する
![スクリーンショット 2015-11-05 0.29.32.png](https://qiita-image-store.s3.amazonaws.com/0/57455/59f1dda6-7229-6e32-f514-7cd1fba9910d.png)

java version "1.8.0_66"のインストールが確認できた。

##なぜ解決できなかったのか。
当初、jdk-8u66-linux-x64.rpm　rpm名の命名規則がわからず、誤って３２ビット版をインストールし、それを取り除く作業をわちゃわちゃやった。

rpmでインストールされたものを完全にアンインストールする方法がわからなかったため、
綺麗にクリアできず、
javaの再インストール時に　「すでにインストールされている」エラーが出て、それを強制的に上書きする
という再インストールをしていた。

今回はそれを捨てて、別のJDKに切り替えるという方法で対処した。
美しい解決策ではなかった