フォーラム:00_インストール・設定
Temurinのインストールについて
|
[ 7977 ] Temurinのインストールについて
新しいサーバーにGroupSessionをインストールしたいのですが、Temurinのインストールから悩んでいます。 サーバーは、さくらのVPSで、AlmaLinux 9 x86_64 なのですが、VNCコンソールからインストールする際、root でインストールした方がいいのでしょうか? そのあと、Tomcatのインストールなどもありますが、root権限と一般ユーザーのどちらで作業を行うのがいいのか、わかりません。 一般的にはどうされているのでしょうか。
投稿者わかばマーク 最新書き込み2024/04/08 15:50:58
|
[ 7978 ] Re: Temurinのインストールについて
> root権限と一般ユーザーのどちらで作業を行うのがいいのか、わかりません。 > 一般的にはどうされているのでしょうか。
一般的にCentOS系(AlmaLinux含む)やUbuntu系では一時的にroot権限で実行できる sudo コマンドを利用することが奨励されています。
AlmaLinuxでのsudo権限ユーザー設定方法参照 → https://www.server-world.info/query?os=AlmaLinux_9&p=initial_conf&f=10
sudo権限を持つ一般ユーザーを作ったら、そのユーザーでroot権限で実行したいコマンドの前に sudo とつけることで、一般ユーザーのままroot権限が必要な作業が行えます。
投稿者nobody 最新書き込み2024/04/08 16:37:41
|
[ 7979 ] Re: Temurinのインストールについて
nobody 様
教えていただいた通りでできました。
ありがとうございました。
投稿者わかばマーク 最新書き込み2024/04/09 12:36:10
|
[ 7980 ] Re: Temurinのインストールについて
sudo権限ユーザーでTemurin(Java)をインストールした後の環境変数の設定で /root/.bash_profile にパスを追加しました。
設定後にsudo権限ユーザーにログインした状態で $java -version とコマンドを打つと -bashi: java: command not found となります。
これは、ユーザーがroot に対してパスを設定したので、他のユーザーでログインした状態だと java はインストールされていない?ということになるのでしょうか?
投稿者わかばマーク 最新書き込み2024/04/10 11:39:37
|
[ 7981 ] Re: Re: Temurinのインストールについて
> これは、ユーザーがroot に対してパスを設定したので、 > 他のユーザーでログインした状態だと > java はインストールされていない?ということになるのでしょうか?
javaはインストールされていますが、pathが通っていないので見えないということです。
投稿者とおりすがり 最新書き込み2024/04/10 15:08:32
|
[ 7982 ] Re: Temurinのインストールについて
とおりすがり 様
/root/.bash_profile にパスを設定したので、rootでログインした状態じゃないと java - version は無効になるということであってますか?
投稿者わかばマーク 最新書き込み2024/04/10 16:02:33
|
[ 7983 ] Re: Re: Temurinのインストールについて
わかばマークさん
> /root/.bash_profile にパスを設定したので、rootでログインした状態じゃないと > java - version は無効になるということであってますか? です。
/root/.bash_profile は、「root」と言うユーザーにのみ有効なので、 今ログインされているユーザーのホームディレクトリ 「/home/[ユーザー名]/.bash_profile」に同じ設定を入れてみてください。
投稿者とおりすがり 最新書き込み2024/04/10 16:29:02
|
[ 7984 ] Re: Re: Re: Temurinのインストールについて
> わかばマークさん > > > /root/.bash_profile にパスを設定したので、rootでログインした状態じゃないと > > java - version は無効になるということであってますか? > です。 > > /root/.bash_profile は、「root」と言うユーザーにのみ有効なので、 > 今ログインされているユーザーのホームディレクトリ > 「/home/[ユーザー名]/.bash_profile」に同じ設定を入れてみてください。 >
とおりすがり 様
今ログインしているユーザーが「wakaba」だとしたら 「/home/wakaba/.bash_profile」にパスを追加すれば、「wakaba」でログインしていても $java -version が使えるのでしょうか?
また、その場合「root」の.bash_profile もそのまま有効で、rootでログインして $java -version も使えるということでしょうか?
投稿者わかばマーク 最新書き込み2024/04/10 17:02:24
|
[ 7985 ] Re: Re: Re: Re: Temurinのインストールについて
> 今ログインしているユーザーが「wakaba」だとしたら > 「/home/wakaba/.bash_profile」にパスを追加すれば、「wakaba」でログインしていても > $java -version が使えるのでしょうか? > > また、その場合「root」の.bash_profile もそのまま有効で、rootでログインして > $java -version も使えるということでしょうか?
その通りです。 .bash_profileはそのユーザーのみに有効な設定ですので /root/.bash_profile はroot権限で実行する際に有効なパス、 /home/wakaba/.bash_profile はログインユーザー[wakaba]が実行する際に有効なパス、ということになります。
ログインするユーザーに関係なく、OS起動時に有効なパスを設定したい場合は
/etc/profile.d/ の下に [好きな名前.sh] というファイルを作成し、そこに必要なパスを記載します。
投稿者nobody 最新書き込み2024/04/11 09:44:23
|
[ 7986 ] Re: Re: Re: Re: Re: Temurinのインストールについて
> > 今ログインしているユーザーが「wakaba」だとしたら > > 「/home/wakaba/.bash_profile」にパスを追加すれば、「wakaba」でログインしていても > > $java -version が使えるのでしょうか? > > > > また、その場合「root」の.bash_profile もそのまま有効で、rootでログインして > > $java -version も使えるということでしょうか? > > その通りです。 > .bash_profileはそのユーザーのみに有効な設定ですので > /root/.bash_profile はroot権限で実行する際に有効なパス、 > /home/wakaba/.bash_profile はログインユーザー[wakaba]が実行する際に有効なパス、ということになります。 > > ログインするユーザーに関係なく、OS起動時に有効なパスを設定したい場合は > > /etc/profile.d/ の下に [好きな名前.sh] というファイルを作成し、そこに必要なパスを記載します。
nobody 様
ありがとうございます。
GroupSessionのTemurinインストール手順では、rootの.bash_profileにパスを追加していましたので、同様にしました。 ちなみにフォルダの所有者もrootになっています。
また、Tomcatのインストールについては、「Tomcatを起動するユーザーの.bash_profileに追記し、ログイン時に環境変数が設定されるようにすることをお勧めします」と書かれていましたが、その後の記載例がrootの.bash_profileになっていたので、rootの.bash_profileにパスを追加しました。フォルダの所有者もrootです。 ただ他のサイトでは、Tomcatはrootではなく、Tomcatユーザーを作成するのがよいと書かれていました。
Tomcatユーザーを新たに作成し、Tomcatユーザーでログインして、Tomcatを再インストールし、/home/Tomcatユーザー/.bash_profileにパスを追加した方がいいでしょうか?
Temurinについても、rootで行わない方がいいのでしょうか?
投稿者わかばマーク 最新書き込み2024/04/11 11:33:50
|
[ 7987 ] Re: Re: Re: Re: Re: Re: Temurinのインストールについて
> Tomcatユーザーを新たに作成し、Tomcatユーザーでログインして、Tomcatを再インストールし、/home/Tomcatユーザー/.bash_profileにパスを追加した方がいいでしょうか?
Tomcatやapachiといった常駐サービスは、インストールした時点でその制御ユーザーが自動で作られています。 そしてroot権限でサービスを起動する際に、どのユーザーで起動するかまで指定されています。
tomcatの起動に startup.sh というファイルを実行するように設定したと思いますが そのstartup.shの中にユーザー[tomcat]でtomcatを起動するように記載されていますので、自然とtomcatはユーザー[tomcat]で起動している、という状況になります。
ただ、その startup.sh を実行するユーザーがだれか、という部分が問題になります。 この導入手順では/root/.bash_profileにパスを記載するよう書いていますが startup.shを実行するユーザーがログインユーザーのままと受け取れます。
この場合ユーザー[wakaba]が親ユーザー、[tomcat]が子ユーザーとしてtomcatを起動することになり、パスは[wakaba]の.bash_profileに準じます。
tomcatを起動時に自動実行するようにする場合、検索をすればsystemdという仕組みを利用してサービスに登録する、という形になると思いますが、 このsystemdを利用してサービスとしてtomcatを起動した場合は親ユーザーが[root]となり、/root/.bash_profileの設定が有効になります。
このあたりの起動ユーザー実行ユーザーの親子関係を理解していないと、ここの手順通りに一般ユーザーでtomcatをインストール&実行したのに、パスはrootに設定している状態だとおかしなことになります。
投稿者nobody 最新書き込み2024/04/11 13:31:17
|
[ 7988 ] Re: Temurinのインストールについて
nobody 様
知識不足と理解不足でご面倒をおかけしております。
わかならいまま色々なサイトを参考にしているうちに、ごちゃごちゃになってしまいました。
まず、ユーザー一覧で確認しましたが、Tomcatをインストールした時点で自動的にTomcatユーザーはできてないようでした。 また、/root/.bash_profileへパスを追加して /usr/local/java.apache-tomcat-9.x.xx/bin.startup.sh でtomcatを起動したので、起動ユーザーはrootでした。
もう一度、設定をしなおすとした場合、 1. tomcatユーザーを作成する 2. tomcatディレクトリの権限をtomcatユーザーに変更する 3. 環境変数の設定は、/etc/profile に行う # vi /etc/profile export JAVA_HOME=/usr/local/java/jdk-11.0.xx/ export PATH=$JAVA_HOME/bin:$PATH export CATALINA_HOME=/usr/local/java/apache-tomcat-9.0.xx export PATH=$CATALINA_HOME/bin:$PATH
#source /etc/profile
上記のようにすると、どのユーザーでログインしていても、tomcatの起動・停止ができるとういうことであってますか? でも、これだとユーザー:wakaba でログインしてtomcatを起動すると、起動ユーザーはwakabaになり、tomcatユーザーを作った意味がないでしょうか。
投稿者わかばマーク 最新書き込み2024/04/11 16:31:06
|
[ 7989 ] Re: Temurinのインストールについて
スレッド伸びてますね。
よそ様のサイトですが、私はこれを参考にして、Tomcatを自動起動しました。 https://qiita.com/Nao2011/items/92f49a29082b83d3be08
参考まで。
投稿者とおりすがり 最新書き込み2024/04/12 08:27:00
|
[ 7990 ] Re: Temurinのインストールについて
> まず、ユーザー一覧で確認しましたが、Tomcatをインストールした時点で自動的にTomcatユーザーはできてないようでした。
CentOS系はあまり扱ってなかったのでユーザーの自動作成はしてくれないのは知りませんでした。 Ubuntuだとtomcatユーザーを作成した覚えもないのに勝手に出来ていましたので。。。
> もう一度、設定をしなおすとした場合、 > 1. tomcatユーザーを作成する > 2. tomcatディレクトリの権限をtomcatユーザーに変更する > 3. 環境変数の設定は、/etc/profile に行う
3だけ補足です。 とおりすがりさんが書かれたリンク先にもありますが、最終的に自動起動にする場合は Systemdという仕組みを利用したやり方になると思います。 Systemdの自動起動設定でtomcatの起動ユーザー・グループをtomcatというユーザー・グループに指定しますので、 rootユーザーがtomcatユーザーを指定してtomcatを起動する、という流れになります。
/root/.bash_profileにだけパスを指定した場合は一般ユーザー[wakaba]でtomcat起動する際に問題が出ますが、あまり誰でも実行可能という状況は作らない方がセキュリティ上好ましので、基本的には /root/.bash_profileのみに設定した方が良いと思います。
> 上記のようにすると、どのユーザーでログインしていても、tomcatの起動・停止ができるとういうことであってますか?
その認識で大丈夫です。
> でも、これだとユーザー:wakaba でログインしてtomcatを起動すると、起動ユーザーはwakabaになり、tomcatユーザーを作った意味がないでしょうか。
tomcatのサービスはtomcatユーザーで一元管理する、という処理にしておいた方がセキュリティ上安全です。 先程も書きましたが、誰でも実行できる環境というのはセキュリティ上好ましくはありません。 まぁそこは利便性との兼ね合いですので、どれが正解というわけはありません。 他社に攻撃される恐れのないサーバーでセキュリティにばかり気を使い、利便性を無くすのがいいのかどうか、ということです。 そのあたりはお使いの環境や会社方針等に絡んできますので、社内セキュリティとの兼ね合いを考えて設定方法を選んでください。
投稿者nobody 最新書き込み2024/04/14 10:30:03
|
[ 7991 ] Re: Re: Temurinのインストールについて
> よそ様のサイトですが、私はこれを参考にして、Tomcatを自動起動しました。 > https://qiita.com/Nao2011/items/92f49a29082b83d3be08 >
とおりすがり 様 ありがとうございます。参考にさせていただきます。
投稿者わかばマーク 最新書き込み2024/04/15 10:36:46
|
[ 7992 ] Re: Re: Temurinのインストールについて
nobody 様
いつも丁寧な回答をありがとうございます。
サーバー管理に不慣れでセキュリティに不安があるので、セキュリティを重視したいと思います。 その場合、/root/.bash_profile への設定は行わず、tomcatユーザーの.bash_profile に設定するという認識で大丈夫でしょうか? ※ /home/tomcat/.bash_profile へ設定する
そして、自動起動設定を参考サイト https://qiita.com/Nao2011/items/92f49a29082b83d3be08 のように設定した場合、
[root@HOSTNAME java]# systemctl start tomcat9.service とうすると、tomcatユーザーで起動されるということでよろしいですか?
また、起動を下記のコマンドで行なった場合は、ログインユーザーで起動されるのでしょうか? [root@HOSTNAME java]# /usr/local/java/tomcat9/bin/syartup.sh tomcat9.service
投稿者わかばマーク 最新書き込み2024/04/15 11:01:32
|
[ 7993 ] Re: Re: Re: Temurinのインストールについて
わかばマーク様
> サーバー管理に不慣れでセキュリティに不安があるので、 > セキュリティを重視したいと思います。 > その場合、/root/.bash_profile への設定は行わず、 > tomcatユーザーの.bash_profile に設定するという認識で大丈夫でしょうか? > ※ /home/tomcat/.bash_profile へ設定する tomcatユーザーの.bash_profileに設定は不要です。
> そして、自動起動設定を参考サイト > https://qiita.com/Nao2011/items/92f49a29082b83d3be08 > のように設定した場合、 こちらの、/usr/local/java/tomcat/tomcatファイルに tomcatユーザーの.bash_profileに相当するものを入れ込んでください。 JAVA_HOME、CATALINA_HOME、CATALINA_OPTSです。
> [root@HOSTNAME java]# systemctl start tomcat9.service > とうすると、tomcatユーザーで起動されるということでよろしいですか? そうです。
自動起動するのであれば、startをenableに変えると自動起動設定を行います。 systemctl enalble --now tomcat9.service 上記は自動起動設定と同時に起動します。
> また、起動を下記のコマンドで行なった場合は、 > ログインユーザーで起動されるのでしょうか? > [root@HOSTNAME java]# /usr/local/java/tomcat9/bin/syartup.sh tomcat9.service
最初にわかば様が「> その場合、/root/.bash_profile への設定は行わず、」 とありますので、起動しないと思います。
以上です。
投稿者とおりすがり 最新書き込み2024/04/16 08:51:15
|
[ 7994 ] Re: Temurinのインストールについて
nobody 様 とおりすがり 様
なんとか、tomcatのインストール、自動起動設定ができ、GroupSessionの動作確認までできました。
大変お世話になり、ありがとうございました。
投稿者わかばマーク 最新書き込み2024/04/16 14:55:29
|
[ 7995 ] Re: Temurinのインストールについて
わかばマーク様
成功おめでとうございます。
投稿者とおりすがり 最新書き込み2024/04/16 19:20:13
|