当サイトはXserverというレンタルサーバーを使って運営していますが、レンタルサーバーだと管理者権限がありませんので、普通にJavaをインストールしようとしてもうまくできないんですよね。
そこで今回、そういったレンタルサーバーでも3分で簡単にJavaを導入&動かす方法を模索しましたので紹介します。
2023年に作る記事じゃないっていうか、本当に今更って感じですけどね…笑
Javaとは
Javaの説明を今更するのもあれですが、半分自分のために、軽くおさらいしておきましょう。
1995年にサンマイクロシステムズ社が開発
Javaの歴史は長いです。1995年ということでJavaScript(元LiveScript)と同じ誕生年ですが、JavaScriptとは何の関係もありませんね。
Javaはサンマイクロシステムズ社が開発したプログラミング言語で、2010年にOracle社に吸収合併されてその後はOracleが提供しているようです。 そのため、ダウンロードもOracleのサイトから行うことになります。
Oracle社と言えばOracle Databaseという有名なDBMSを提供しているイメージですね。
オブジェクト指向プログラミング言語
Javaといえばオブジェクト指向プログラミング言語の代表的な存在です。 最近ではPHPやPython、JavaScript等オブジェクト指向要素のある言語が主流となってきていますが、当時としては画期的な考え方だったみたいです。
特定の機能を使うことができる「モノ(オブジェクト)」を集めることで一つのプログラムを完成させると言う様な考え方であり、コードの可視性が良くなったり開発効率が高まったりなどの良さが見出されています。
ガベージコレクション
こちらも最近では当たり前になってきていて、もはやこの言葉自体聞かなくなりましたが、Javaの「ガベージコレクション」という機能は当時は特徴的だったみたいです。
ガベージコレクションは「ゴミ収集」という意味で、使用しなくなったメモリを自動で消して空き容量を増やすことで効率的にメモリを使うことができます。
応用技術者試験の勉強で出てきましたが、それ以来初めて聞いた言葉です。
クロスプラットフォーム対応
JavaはJVMという仮想マシンの上で動くプログラミング言語で、このJVMを導入してしまえばどんなプラットフォームでも同じように動作させることができるという性質を持っています。 このような性質も最近では当たり前になってきています。
とにかく人気
Javaはとにかく人気です。あらゆる場面で使われていて、まだまだJavaを使いこなせる人材は多くの企業から欲されているようです。
ライブラリも豊富にありあらゆる用途に使える上に、セキュリティ面でも優れており、安定して使われています。
レンタルサーバーに導入する方法
さて、本題に入ります。Javaをいかにレンタルサーバー(管理者権限がない環境)に導入するかといった話ですが、rpmなどのパッケージファイルをダウンロードしてもインストールがうまくできないので、圧縮されたアーカイブファイルをダウンロードするという方法でいきます。
ダウンロード
https://www.oracle.com/java/technologies/
上のリンクからバージョンを選んで(LTSが安定版)、その先のページからx64 Compressed Archiveという部分のダウンロードリンクをコピーします。

ARM64系プロセッサを採用しているサーバー等については、上の「ARM64~」をダウンロードした方が良さそうです。 そしてダウンロードする方法ですが、上のリンクをコピーしておいて
$ cd ~
$ mkdir local
$ cd local
$ wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz # コピーしたリンク
このようにSSH接続したサーバーのユーザーホームディレクトリ上に「local」というディレクトリを作って、その中にwgetコマンドで直接ダウンロードしてしまいましょう。
そしてファイル名を確認したうえで解凍します。
$ tar -zxvf jdk* # ダウンロードしたファイルの名前
私は面倒くさがりなので横着して*(ワイルドカード)を使っていますが、ちゃんとフルで入力した方が良いです。
そしてlsコマンドなどでjdk-~みたいなディレクトリができていることを確認しましょう。
パスを通す
ダウンロードができたら後はもうパスを通すだけです。
$ vi ~/.bash_profile
bash_profileを開いて、以下のようなスクリプトを記述します。
# java
JAVA_HOME=$HOME/local/jdk-17.0.7 #自分がダウンロードしたバージョンに合わせて記入
JRE_HOME=$JAVA_HOME/jre
export JAVA_HOME
export JRE_HOME
# PATH
PATH=$JAVA_HOME/bin:$PATH
export PATH
上のようにvimエディタで編集したら、以下のように設定を更新します。
$ source ~/.bash_profile
$ java -version
そして確認のために二行目のコマンドを実行して、バージョンが表示されたら完了です。ついでにjavac(Javaのコンパイラ)コマンドが使えるかどうかも確認しておきましょう。
HelloWorld
そしたら適当に.javaファイルを作って、vim等で以下のように記述してみましょう。
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world.");
}
}
HelloWorldというクラスを作って、Hello,worldと出力させる簡単なコードを記述します。そしたら保存して、以下のように実行します。
$ javac HelloWorld.java
$ java HelloWorld
javacコマンドで実行可能ファイルにコンパイルしたら、classファイルが完成します。これをjavaコマンドの引数として(拡張子なしで) 渡すことで、プログラムを実行することができます。
通常の実行可能ファイル(winでいうexe)はコマンド無しで./HelloWorldのようにして実行することができますが、JavaではJVM(仮想マシン)上で動かすようになっているので、javaというコマンドで実行します。
以上で管理者権限がないレンタルサーバーなどでjavaを導入して実行する方法の説明を終わります。