・それでは前辺につづき、GroupSessionののインストール等を続けます。
◎GroupSssionのデータをダウンロードして、指定されたディレクトリにコピーします。
・細かすぎる説明は記述しませんが、公式サイトより最新版データをダウンロードします。
ちなみに、この記事の書込はRaspberry pi4(8GB)で行っています。
ターミナルで入力したコマンドなどを確認しながら、コピペ等でQiitaにUPしております。
MacBookAir M1もあるけど、せっっかく設定した「マシン」なので、使ってみることに
しました。
YouTube見ながら書き込みするなど、デスクトップマシンとして活用しつつ、バックグラウンドでは誰も使わないグループウェアが稼働していますww
・それでは進めます。
# systemctl stop tomcat9.service
・上記のように、一度tomcatを停止させます。![Screenshot 2023-10-17 at 14-49-25 GROUPSESSION ログイン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3578597/5c13d794-e77a-f09c-303a-747ba5886912.png)
# cd /
# cd /home/******/Downloads/ ← ******はユーザ名です
・この段階でダウンロードしたファイルが確認できると思います。
ファイル名は、「gsession.war」です。
# cp /home/******/Downloads/gsession.war /opt/ ← ******はユーザ名です
# cd /opt/tomcat9/webapps/
# ls
・上記操作で、/opt/tomcat9/webapps/に「gsession.war」がコピーされます。
# systemctl start tomcat9.service
・この状態で何もエラー等がなければ、ブラウザからアクセスします。
・アクセス先は、http://localhost:8080/gsessionまたは他のマシンはスマホであれば、http://192.***.+++.@@@:8080/gsessionですね。
warファイルの展開に時間がかかるようですが、少し待っているとグループセッションの画面が確認できると思います。
左上に「Now loading...」が現れ、少ししてから以下が確認できますね。
・さて、いかがでしょうか。
ID、PWは初期設定で「admin」でありますので、どうぞお試しください。
◎GroupSessionを使う際、ローカル内だけであればポート番号(:8080)があっても良いかもしれませんが、見た目が悪いのでポート番号を不要とするようnginxのインストール、リバースプロキシの設定に進みます。
・関係ないと思われますが、一応tomcatを停止させます。
# systemctl stop tomcat9.service
# apt-get install -y nginx
・nginxのconfファイルを編集するため、バックアップします。 同一ディレクトリにバックアップしました。
# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf-bak
・元のファイルを削除し、新たに作成します。
# rm -rf /etc/nginx/nginx.conf 削除です。
# rm -rf /etc/nginx/nginx.conf 新規作成します。
・以下の内容をコピペしてください。
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
server {
listen 80;
server_name localhost;
root /opt/tomcat9;
# access_log /var/log/nginx/tomcat_access.log;
# error_log /var/log/nginx/tomcat_error.log;
location / {
proxy_pass http://127.0.0.1:8080/;
}
}
・ctrl+oで上書き、ctrl+xで抜けてください。
・この記述後、私はラズパイ自体を再起動させたのち、ポート番号:8080がない状態でアクセスして確認しました。
◎次は一気にssl対応させます。
・以下、コマンドで進めてください。
・nginxとtomcatを一応止めます
# systemctl stop nginx
# systemctl stop tomcat9.service
・ssl関係を最新版へアップデートさせます。
# apt-get update && sudo apt upgrade openssl
# openssl genrsa -out /etc/nginx/ssl/server.key 2048
# openssl req -new -key /etc/nginx/ssl/server.key -out /etc/nginx/ssl/server.csr
# openssl x509 -days 3650 -req -signkey /etc/nginx/ssl/server.key -in /etc/nginx/ssl/server.csr -out /etc/nginx/ssl/server.crt
・このタイミングだったかな? オレオレ証明書の登録内容をきかれるので、適当に登録します。 ちなみに今回のssl対応は、第三者の証明期間ではなく、自己CAで行います。
・必要なファイルが作成されているか確認します。
# ls -l /etc/nginx/ssl/
・引き続き、nginxとtomcatのリバースプロキシの設定に進みます。
前述したポート番号不要設定時に新規作成したconfファイルに加筆します。
# nano /etc/nginx/nginx.conf
※最終的には以下の記述を行っています。
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
server {
listen 80;
server_name localhost;
root /opt/tomcat9;
# access_log /var/log/nginx/tomcat_access.log;
# error_log /var/log/nginx/tomcat_error.log;
location / {
proxy_pass http://127.0.0.1:8080/;
}
}
#HTTPS
server {
listen 443 ssl;
server_name localhost;
root /opt/tomcat9;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
# access_log /var/log/nginx/tomcat_access.log;
# error_log /var/log/nginx/tomcat_error.log;
location / {
proxy_pass http://127.0.0.1:58080/;
}
}
}
◎nginxだけではなく、tomcat側の設定ふぁいるにも加筆します。
・以下、コマンド操作を進めます。 必要であれば、xmlファイルをバックアップ願います。
# nano /opt/tomcat9/conf/server.xml
・オリジナルが以下の記載です。
<Service name="Catalina">
<!--The connectors can use a shared executor, you can define one or more n>
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"/>
-->
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
-->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
/>
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
・追記は中間の7行と後半2行です。
以下は中間の7行を追記した状態です。
<Service name="Catalina">
<!--The connectors can use a shared executor, you can define one or more n>
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"/>
-->
<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
-->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
/>
※以下が追記の7行です!!!
<Connector port="58080" protocol="HTTP/1.1"
proxyPort="443" redirectPort="443"
scheme="https"
secure="true"
connectionTimeout="20000"
maxThreads="450"
URIEncoding="UTF-8" />
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
・追記行をわかりやすく、行間を開けています。
次に後半の2行です。
<Valve className="org.apache.catalina.valves.AccessLogValve" directory>
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
※以下の2行です
<Valve className="org.apache.catalina.valves.RemoteIpValve"
protocolHeader="x-forwarded-proto"/>
</Host>
</Engine>
</Service>
</Server>
・上記そのままコピペする場合、「※」ではなく、#にしていただくことでコメントアウトできます。
・上記設定後ファイルを研修後、再起動させてブラウザからアクセスします。
当然、「https://localhost/gsession」となります。
ブラウザによっては危険だよと促されますが、そのまま進めて頂いて構いません。
FireFoxでアクセスすると、アドレスバーの部分はsslの記載があるものの、認証が適切ではないためか、横線で消されています。
iPhoneのsafariでアクセスすると、鍵マークがしっかりで確認できますが、当然「危険なサイトだけど閲覧するの?」と確認が入ります。
さて、いかがでしょうか。
過去、どうしてもグループウェアを稼働させる必要があったため、32bitOSで稼働させていたのですが、この頃は64bitOSが主流でありますので、改めて設定してみました。
この他、ルータのポート開放を行ってからグローバルIPでアクセス可能を確認しました。
その後、DDNS Nowに登録し、ドメイン名でのアクセスも確認しています。
一応、サーバとしているので、clamavのインストール、日本語環境の整備を行い、不要アプリケーションの削除、不要デーモンの削除を行いましたのち、本記述となっています。
費用をかけずにグループウェアを稼働さ世帯などの需要に答えられると嬉しいです。
本物のサーバ構築者からすると「あまりにもチープな内容」になるかもしれませんが、何かしらの参考になれば最和であるとともに、自身のための備忘録として残しました。
これまでの設定で参考にしたQiitaページとか色々ありますが、アドレスが不明であるのでそれら記載は失礼します。 思い出したら都度追記したいと思います。