~~NOCACHE~~ ~~DISCUSSION~~ ## HULFT-WebFileTransfer構築 HULFT-WebFileTransferの評価版のとりあえず動かす構築メモ ### 前提 myHULFT URL : http://my.hulft.com/ から下記が完了している前提で記載します。 ・HULFT-WebFileTransferのモジュール(hulft-webfiletransfer-vXXX.zip)ダウンロード ・ダウンロードキー、ライセンスキー取得 ### 環境 以下の環境をAWSのEC2にて構築しています。 ・OS:Red Hat Enterprise Linux Server 8 [x64] ・Java:Java SE Development Kit 11(JDK 11) ・Webサーバ:Apache Tomcat 8.5.x ・DB:PostgreSQL 11.x ### 手順 #### EC2インスタンス構築 AWS関連の手順は割愛します。 ##### EC2 AMIは下記を利用しました。 %%・RHEL-8.4.0_HVM-20210504-x86_64-2-Hourly2-GP2 - ami-0bccc42bba4dedac1%% ##### セキュリティグループ ■Inbound  ・8080(Webアクセスで利用)  ・22(SSH、ファイル転送で利用) #### OS設定 sshでログイン後、以下のコマンドを実行します。 ##### 基本設定 # rootユーザーに切替 sudo su - # SELINUX無効化(SELINUX=enforcing → SELINUX=disabledへ変更) vi /etc/selinux/config # ホスト名変更 ※HULFTWFTのセットアップファイルで指定するので、設定してください。 hostnamectl --static set-hostname [ホスト名] # パッケージアップデート dnf update -y --exclude=kernel* # IPv6無効化(GRUBCMDLINELINUX行に「ipv6.disable=1」を追記) vi /etc/default/grub grub2-mkconfig -o /boot/grub2/grub.cfg # 再起動 reboot ##### Tomcatインストール設定 # rootユーザーに切替 sudo su - # OpenJDK をインストール dnf install java-11-openjdk -y # tomcat用のユーザ作成 useradd --no-create-home -s /sbin/nologin tomcat # tomcat をインストール(Tomcatのバージョンは置き換えてください) cd /tmp curl -O http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.28/bin/apache-tomcat-8.5.28.tar.gz tar -xzvf ./apache-tomcat-8.5.28.tar.gz mv ./apache-tomcat-8.5.28 /opt/apache-tomcat-8.5.28 chown -R tomcat:tomcat /opt/apache-tomcat-8.5.28 ln -s /opt/apache-tomcat-8.5.28 /opt/tomcat8 # tomcatのサービス設定(ここから~ここまでの内容を記載) vi /etc/systemd/system/tomcat8.service chmod 644 /etc/systemd/system/tomcat8.service ################ここから################ [Unit] Description=Apache Tomcat Web Application Container After=syslog.target network.target [Service] User=tomcat Group=tomcat UMask=0007 Type=oneshot RemainAfterExit=yes PIDFile=/opt/tomcat8/tomcat.pid WorkingDirectory=/opt/tomcat8 Environment=JAVA_HOME=/etc/alternatives/jre Environment=CATALINA_PID=/opt/tomcat8/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat8/ Environment=CATALINA_BASE=/opt/tomcat8/ Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC' Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom' ExecStart=/opt/tomcat8/bin/startup.sh ExecStop=/opt/tomcat8/bin/shutdown.sh ExecReload=/opt/tomcat8/bin/shutdown.sh;/opt/tomcat8/bin/startup.sh [Install] WantedBy=multi-user.target ################ここまで################ # tomcatのサービス登録/起動 systemctl daemon-reload systemctl enable tomcat8.service systemctl start tomcat8.service ##### PostgresSQLインストール/設定 HULFT-WebFileTransferの動作環境は、PostgresSQL11が最新です。 # PostgresSQLのリポジトリを追加する dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y dnf config-manager --disable pgdg96 pgdg10 pgdg12 pgdg13 pgdg14 -y #postgresqlのモジュール指定解除 dnf module disable postgresql -y #dnfキャッシュクリア dnf clean all #PostgresSQL11インストール dnf install postgresql11-server -y # PostgresSQLのデータベース初期化 /usr/pgsql-11/bin/postgresql-11-setup initdb # PostgresSQLの認証方式変更(ファイルの下部を、ここから~ここまでの内容に変更) vi /var/lib/pgsql/11/data/pg_hba.conf ################ここから################ # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: # host all all ::1/128 trust # Allow replication connections from localhost, by a user with the # replication privilege. #local replication all peer #host replication all 127.0.0.1/32 scram-sha-256 #host replication all ::1/128 scram-sha-256 ################ここまで################ # PostgresSQLの有効化/起動 systemctl start postgresql-11 systemctl enable postgresql-11 #### HULFT構築 HULFT-WebFileTransferのモジュール(hulft-webfiletransfer-vXXX.zip)から以下のファイルを取り出しサーバに転送します。 ここでは「/tmp」フォルダに転送した状態で説明します。 ・TOOL/DDL/PostgreSQL.ddl ・webft.war ##### JDBCドライバの配置 JDBCドライバのバージョンは自身の環境に合わせる。 cd /opt/tomcat8/lib curl -O https://jdbc.postgresql.org/download/postgresql-42.3.1.jar ##### Webft用のデータベース/テーブル作成 cd /tmp psql -h localhost -U postgres postgres=# create database webftdb; postgres=# \c webftdb; postgres=# \i /tmp/PostgreSQL.ddl; postgres=# \q ##### webft.warからセットアップ cd /tmp cp ./webft.war /opt/tomcat8/webapps/ chown -R tomcat:tomcat /opt/tomcat8 systemctl restart tomcat8.service ##### setup.xmlの編集 HULFT-WebFileTransferのモジュール(hulft-webfiletransfer-vXXX.zip)から以下のファイルを取り出します。 ・TOOL/XML/setup.xml ハイライトの行を自身の環境に書き換えます。※評価版の手順になります。(製品版の場合、別途「license_key」も必要) %%※サーバのホスト名が「hulftsv」の場合は、[サーバーのホスト名]hulftsvになります。%% [サーバーのホスト名] [プロダクトキー] [シリアルキー] #### セットアップ/動作確認 ①下記URLにアクセスします。 http://[ドメイン or IPアドレス]:8080/webft/setup/index.html ②下記の初期アカウントを入力し[ログイン]をクリックします。 ・グループID:webft ・ユーザーID:administrator ・パスワード:administrator ・セットアップ種別:評価版 ③セットアップ画面に遷移するので、上で作成した[setup.xml]を参照して[セットアップ]をクリックします。 #### ログオン ①下記URLにアクセスします。 http://[ドメイン or IPアドレス]:8080/webft/webfiletransfer.html ②下記の初期アカウントでログオンします。 ・グループID:webft ・ユーザーID:administrator ・パスワード:administrator ③ログインが成功すれば構築完了です。 {{InfrastructureConstruction:HULFT:pasted:20211204-023247.png?direct 400x0}} ### 備考 PostgreSQLの接続アカウントをデフォルト以外で利用したい場合は、下記の設定ファイルを編集します。 #### context.xmlの編集 vi /opt/tomcat8/webapps/webft/META-INF/context.xml # 下記ハイライト行を編集します。 #### セットアップでエラー(9999)が出る 「/temp」に読み書き実行権限が無くエラーがでていたが、そもそも何故「/temp」なのか? tomcatのサービス設定で、WorkingDirectoryを指定しないとWorkingDirectoryがルート「/」となると思われる。 webftのstruts(webft/WEB-INF/classes/struts.xml)で[struts.multipart.saveDir]が[value="temp/webft"]となっているので「/temp」に読み書き実行権限が無いとエラーとなっていたと推測 →WorkingDirectoryを「/opt/tomcat8」と明示的に指定したところ、webftの一時ファイルが「/opt/tomcat8/temp/webft」に作成されたことから、あっているはず。解決! {{tag>HULFT HULFT-WebFileTransfer}}