Java Eclipseの動的 WebプロジェクトをWebサーバで公開までの道のり まずはJavaのインストール

ローカル環境で作ったJavaのプロジェクトを公開するには、

と選択肢は結構あるようですが、Javaに対応しているレンタルサーバーがほとんどないのと(PHP対応のレンタルサーバーは多い)、個人の場合は、料金的なことを考えるとVPSの利用が多くなるのかな?と考えています。

ですが、VPSはセキュリティなどに対しても自分でいろいろ設定しないといけないのでなかなかたいへんのようです。

今回は、12ヵ月無料で利用できるということで登録していた、Google Cloud Platformを利用してみたいと思います。

JavaのWebプロジェクトをサーバー公開するのに必要なもの

データベースを使っている前提でいくと、

は必要になってきそうです。(それぞれ1つあれば大丈夫です。分かりにくい記述してしまいましたが、上述は利用できる種類を列挙してます。)

Google Cloud Platformに環境を作る

まずは、仮想マシン(自分の場合はCentOS7)を用意します。 

⇩  Google Cloud Platformなどの始め方はこちらを参考ください。

Windows 10 HomeにVCCW(v3)を導入、Wordmoveのための準備

 

CentOS7という前提で話を進めさせていただくと、仮想マシン(CentOS7)に

をインストールする必要があります、たぶん...。 とりあえず、Google Cloud Platformにログインします。https://cloud.google.com/ にアクセスし、「ログイン」をクリックします。

f:id:ts0818:20170826125237j:plain

ログイン後、「コンソールを開く」をクリック。

f:id:ts0818:20170826125238j:plain

ダッシュボードに来ます。

f:id:ts0818:20170826125239j:plain

「Compute Engine」>「VMインスタンス」を選択。

f:id:ts0818:20170826125240j:plain

「名前」のところの「instance-1」をクリックします。 

f:id:ts0818:20170826125241j:plain

起動してない場合は、f:id:ts0818:20170826125243j:plainをクリック。

f:id:ts0818:20170826125242j:plain

仮想マシン(CentOS7)が起動したら、「リモートアクセス」のドロップダウンから、「gcloudコマンドを表示」を選択。 

f:id:ts0818:20170826125244j:plain

「CLOUD SHELL で実行する」をクリック。 (Google Cloud Platform側で仮想マシンssh接続のためのコマンドを用意してくれるようです。)

f:id:ts0818:20170826125246j:plain

コマンドが実行できるように黒い画面が表示されます。 Enterをクリックすると、先ほどのコマンドが実行されます。

f:id:ts0818:20170826125247j:plain

ssh接続されてるので、仮想マシンにログインした状態です。

f:id:ts0818:20170826125248j:plain

ディストリビューションのバージョンの確認方法は、各ディストリビューション毎によって異なります。今回はCentOS7の場合です。

Linuxカーネルのバージョンは/proc/versionファイルに書いてあります。

f:id:ts0818:20170826125249j:plain

まずは、Javaのインストール。 

の2つがあり、Javaのアプリケーションを動かすだけなら、JREだけでいいみたいですが、JDKにはJREも含まれているようなので、JDKをインストールします。

wgetコマンドが見当たらないので、curlコマンドで実行します。 

⇩  rpmとtar.gzの違いは下記サイトへ

インストールに関するご質問002 | Webベース営業支援システムdesknet's SSS(サザン)

⇩  ダウンロード用のURLの取得方法は下記サイトへ

LinuxでJavaをダウンロードして動かしてみる - Qiita

curl -OL --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz"

f:id:ts0818:20170826125251j:plain

ダウンロードできたら展開します。

tar -xvf ./jdk-8u144-linux-x64.tar.gz

f:id:ts0818:20170826125254j:plain

f:id:ts0818:20170826125253j:plain

インストールされたか確認。

jdk1.8.0_144/bin/java -version

f:id:ts0818:20170826125255j:plain

ただ、インストール場所を間違えてるような気がするんで、一旦アンインストールします。(っていうか、Linuxの場合に正しいJavaのインストール先が分からんですな) 

LinuxプラットフォームのJDKのインストール

 ⇧  にも特にインストール先について言及してくれてないっぽいんすよね。

でも、まぁ、今いるディレクトリ(「~」チルダって読むらしい)がユーザーのホームディレクトリらしいんですが、ここにJavaインストールはありえなさそうな気がするんですがね....。

f:id:ts0818:20170826125256j:plain

そして、アンインストールの仕方も結構ザックリ説明のOracleさん、流石です。

f:id:ts0818:20170826125257j:plain

よくありそうな場所にインストールされてないってことですかね?

f:id:ts0818:20170826125258j:plain

とりあえず、ホームディレクトリにインストールされたJavaを削除。

f:id:ts0818:20170826125259j:plain

root権限に切り替え。

f:id:ts0818:20170826125300j:plain

/usr/localにjavaフォルダを作成。ダウンロードしたJDKの圧縮ファイルの場所も確認。

f:id:ts0818:20170826125301j:plain

圧縮ファイルをjavaフォルダに移動。いまいるディレクトリの移動。

f:id:ts0818:20170826125302j:plain

ここで、圧縮ファイルを展開します。

tar -xvf ./jdk-8u144-linux-x64.tar.gz

f:id:ts0818:20170826125254j:plain

展開されました。

f:id:ts0818:20170826125303j:plain

ホームディレクトリの.bash_profileもしくは、.bashrcにパス指定をすれば、javaとかでコマンドが実行できるようになるようです。(Windowsでいう環境変数みたいな感じですかね?)

.bash_profileと.bashrcについて - Qiita

ユーザー単位

/home/ユーザー名/.bash_profile、/home/ユーザー名/.bashrc

全ユーザー

/etc/bashrc、/etc/bash_profile

⇧  bashが入ってる場合

ちなみに、すべてのユーザーのホームディレクトリの場所を確認するには、

less /etc/passwd 

f:id:ts0818:20170826125304j:plain

でいけるようです。lessコマンドを中断するには「q」と入力します。 

脱線しましたが、で、見事に.bash_profileとか無い。

基本的に「/etc/profile」と「/etc/bashrc」は全ユーザー共通で利用する設定ファイルで書き換えるのは推奨されていません。各ユーザーごとに異なる設定にする場合は各ユーザーのhomeディレクトリにある「.bash_profile(バッシュプロファイル)」もしくは「.bashrc(バッシュアールシー)」を編集します。 「.bash_profile」はログイン時に1度だけ読み込まれ、「.bashrc」はbashを起動するたびに読み込まれます。新しい環境変数を設定する場合、特に理由が無ければ「.bash_profile」にまとめて記述するのがお勧めです。

ユーザーの環境変数を設定するbashの設定ファイルと、カスタムプロンプトについて | OXY NOTES

⇧  によると、ホームディレクトリの「.bash_profile(バッシュプロファイル)」もしくは「.bashrc(バッシュアールシー)」を編集とあるので、確認。(「-a」オプションで隠しファイルも表示できるようです。)

ls -a /home/ユーザー名/

f:id:ts0818:20170826125305j:plain

確かに、ファイルがあるので、「.bashrc」にJavaのパスを追加。

vi /home/ユーザー名/.bashrc

f:id:ts0818:20170826125307j:plain

エディタが開けたら、「i」でinsertモード(編集できる)になるので、

export JAVA_HOME=/usr/local/java/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

を追記(Javaのバージョンはインストールしたものに合わせてください。) 

f:id:ts0818:20170826125310j:plain

「Esc」キーを押し、「:wq」で保存してviエディタを終了できます。

編集した内容を反映させます。

source /home/ユーザー名/.bashrc

f:id:ts0818:20170826125308j:plain

Java環境変数が追加できました!

f:id:ts0818:20170826125309j:plain

コンパイラーも!

f:id:ts0818:20170826125311j:plain

 

とりあえず、Javaのインストールができたので、 次回はアプリケーションサーバー(Apache Tomcat)をインストールしていきたいと思います。Javaのインストール場所がいまだに合ってるか微妙です。

 

2017年8月27日(日) 追記

Javaのインストール場所ですが、ネットに出てくる情報だと、/usr/java フォルダを作成してそこにインストールしている人がほとんどで、usr/local/javaみたいにインストールしてる人が少ないようなので、もしかしたら、/usr/java にしたほうが良いのかもしれないです。

というわけで、/usr/local/javaにインストールしたJavaを削除します。

f:id:ts0818:20170827102017j:plain

新しいJavaインストール先のフォルダ作成

mkdir /usr/java    

Javaの圧縮ファイルの移動

mv /usr/local/java/jdk-8u144-linux-x64.tar.gz /usr/java/jdk-8u144-linux-x64.tar.gz

既存のJavaを削除

rm -R -f /usr/local/java/jdk1.8.0_144   

新しくJavaをインストールし直します。

cd /usr/java   

f:id:ts0818:20170827102019j:plain 

Javaの展開

tar -xvf ./jdk-8u144-linux-x64.tar.gz  

前に設定していた環境変数を消します

vi /home/toshi888_8_888/.bashrc 
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
# User specific aliases and functions

f:id:ts0818:20170827102022j:plain

全ユーザーが使えるように新たに、環境変数を設定します。

vi /etc/bashrc

「# vim:ts=4:sw=4」の後に環境変数を追加します。

# vim:ts=4:sw=4
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    

ファイルの設定を反映させます。

source /etc/bashrc   

 

これで、スーパユーザーでもJavaが動くようになったかと思われます。他にも方法はありそうですが、応急処置的に。