WebArena VPS centOS6.5
悩んでいます。
WebArenaのvpsでサーブレットクラスが軒並みインポートできずコンパイルエラーでまくり。
apache、jdk、Tomcatのインストールは間違いないはず。
通常のjavaのクラスはちゃんとコンパイルできるし。Tomcatも正常起動したしサーブレットクラスはもともとwindowsOS上のeclipseでブラウザに表示できてたもんだから問題ないと思う。
でもコンパイルしたら、
クラスパスしか考えられないけど、これ苦手ね。
これを機会にもうちょいちゃんと勉強しよう。
馬鹿がググって簡単にできるレベルじゃない。
あと、このサーブレットクラスの中でwelcom.jspにフォワードのディレクトリ階層も調べなきゃ。
とりあえず今の流れ。
・VPSの秘密鍵と公開鍵の取得。
・セキュリティルールの設定。
※ここまでVPSの管理画面で行う。普通(さくらとか)はteraterm上でファイアウォールの設定とかするよね多分。脱線するけど次借りるときはさくらインターネットのvpsを借りる。参考材料の量が違う。ドットインストールのvps入門見ながら設定したし。
・作業用ユーザーの作成、vimのダウンロードなど。
sshの設定でデフォルトポート番号換えたらログインできなくなる。セキュリティルールも書き換えたはず。なんで。
・apacheのインストール。
テストページの表示成功。htmlファイルアップロードしブラウザで動作確認。
・VirtialHostの設定。ドキュメントルートの変更、設定ファイルの変更。
※ここまでは問題ない。はず。問題はきっとここからだ。
・VPSへのJava導入。
①JDKインストール
②Tomcatのインストール
③クラスパスの設定
①JDKインストール
# yum install java-1.8.0-openjdk-devel
# vim /etc/profile
以下を末尾に記入。
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-devel-1.8.0.151-1.b12.el6_9.x86_64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
#source /etc/profile
# java -version
# vim HelloWorld.java(HelloWorld出力するだけのクラス)
# javac HelloWorld.java
# java HelloWorld
HelloWorldが出力されました。
多分、問題ないよな。次Tomcat。
②Tomcatインストール
# useradd -s /sbin/nologin tomcat
# cd /usr/local/src
# wget http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz
# tar -xvzf apache-tomcat-8.5.23.tar.gz
# mv apache-tomcat-8.5.23 /opt/apache-tomcat
# chown -R tomcat:tomcat /opt/apache-tomcat
# sudo -u tomcat /opt/apache-tomcat/apache-tomcat-8.5.23/bin/startup.sh
# javac WelcomServlet.java -classpath /usr/share/java/servlet.jar
コンパイルエラー。
③クラスパスの設定
# vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-devel-1.8.0.151-1.b12.el6_9.x86
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
※以下を加えた。
export JRE_HOME=/usr/java/default
export CATALINA_HOME=/usr/local/src/apache-tomcat-8.5.23
export JRE_HOME CATALINA_HOME
# javac WelcomServlet.java -classpath /usr/share/java/servlet.jar
コンパイルエラー。
ここまで書いてわかったけど、最初に作ったTomcat用のユーザとかディレクトリとか無視してんな。意味も調べず進むとこうなる。。。
とりあえず問題ありそうなとこ
・Tomcat用のユーザ、ディレクトリで作業。
・JDKとTomcatのパスを同じところに書いてる。
・そもそもパス内容も設定場所も違う。
このあたりを問題として対処しよう。全然違うところが違ってそうだな。
とりあえず書きまくっただけでも状況整理できたな。
こういうのって結構大事だな。勉強になった。