LoginSignup
8

More than 5 years have passed since last update.

社内でやってみたことを記録

Last updated at Posted at 2016-08-22

経緯

 8月17日から入社2日後にアサイン先が決定し、入場日が9月1日までなので、入場までの期間を使って、現場で使用するSpringFramework(Spring4)をあらためて環境構築をすることにしました。

概要

 社内に検証用のサーバがあったので、検証用のサーバから環境を構築。ローカル側で実装を行い、サーバ側にデプロイ(配置)するための個人作業メモになります。

環境・主な使用ツールなど

【ローカル】
OS : Windows10
ツール :
WinSCP(ファイル転送用)
TeraTerm(サーバアクセス用)
Eclipse + STS(SpringToolSuite)
⇒Eclipseインストールしてからのプラグイン導入(STS)で行う。

【サーバ】
OS : Red Hat Enterprise Linux 7.2(評価版) x86_64
Webサーバ : Tomcat + Apache
⇒インストールされていなかったので、導入から実施。

動作環境

Red Hat Enterprise Linux(RHEL)

バージョン7.2(既にインストール済み)
 スタンドアロン環境なので、パッケージのインストールは、DVDから取得。
⇒yumリポジトリ設定が必要だが、既に設定済。

Apache(httpd)

バージョン2.4系
インストール~設定~動作確認までを記録する
参照リスト記入

<参考サイト一覧>
Apache httpd 2.4 を CentOS 7 に yum でインストールする手順

Tomcat

今回は、バージョン8.0系(8.0.30)をインストール
Tomcat動作するためにJavaが必要なため、インストールおよび設定
1.Javaインストール

・以下のリンクからLinux用のファイル(rpm)をダウンロード
Java SE Development Kit 8 Downloads

・ダウンロードしたファイルをSCP転送ツールにて、サーバにアップロードした後
以下のコマンドでインストール実行。
$ sudo rpm -ivh jdk-[8uversion]-linux-x64.rpm

・ダウンロードしたSDKに切り替える
$ sudo alternatives --config java

コマンド打つと以下の選択画面が表示。[3]を選択する

3 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre/bin/java
   2           /usr/java/jdk1.8.0_101/jre/bin/java
   3           /usr/java/jdk1.8.0_101/bin/java

・切り替わったかどうか。以下のコマンドで確認。
$ java -version

2.Tomcatインストール
yumからインストール。動作確認までの手順を書く。
<参考リンク>
Tomcatインストール・設定

3.Apacheとtomcat連携
WebサーバとしてApache(httpd)で行い、APサーバとしてTomcatで行うためのモジュール設定方法を書く。
<参考リンク>
ApacheとTomcat連携

フレームワーク

ローカル(Windows)にて製造・動作確認を行い、サーバ環境にデプロイ。
まずは、ローカルでの開発環境を整える。  
書籍などでSpringFramework4を体系的に実施。

<参照書籍>
SpringFramework4プログラミング入門
[改訂新版]Spring入門 ――Javaフレームワーク・より良い設計とアーキテクチャ

Spring Framework

 統合開発環境ツールとしてEclipseを使用。
1. 専用のSTSをダウンロード
2. Eclipseのマーケットプレイスでプラグインをインストール
⇒Eclipseからプラグインをインストールする方法でやってみる。

1. Eclipseインストール

Pleiades All in Oneダウンロードサイト(http://mergedoc.sourceforge.jp/)
⇒日本語対応版(4.6 Java、Standard)をインストール

ダウンロードしたフォルダを(C:\Eclipse_4.6)置く。

・プラグインのインストール
「ヘルプ」→「マーケットプレイス」選択
マーケットプレイス.png

検索ボックスに「STS」入力すると、上記の画面からSTSインストール選択。

2. Java環境設定

・以下のリンクからWindows用(32bit or 64bit)のファイルをダウンロード
Java SE Development Kit 8 Downloads

・環境変数の追加
「コントロールパネル」→「システム」→「システムの詳細設定」→「環境変数」

・「システム環境変数」の変数の編集
変数名:JAVA_HOME
変数値:C:\Program Files\Java\jdk1.8.0_101(SDKインストール先)  
新規追加を行う。

・Pathを編集:「新規」→ %JAVA_HOME%\bin を入力

以下のコマンドをプロンプトで入力し、確認。
java -version

3.Maven

・以下のリンクからMaven(3.3.9)をダウンロード
https://maven.apache.org/download.cgi

・ファイルを解凍し、C:\直下に配置する。

「システム環境変数」の変数の編集
・変数名:M3_HOMEの新規作成
  変数値:C:\apache-maven-3.3.9
・Pathを編集:「新規」→ %M3_HOME%\bin を入力

以下のコマンドをプロンプトで入力し、確認。
mvn -v

4.SpringBootによるアプリケーション開発

Springベースでのアプリケーション開発を簡単に作成するためのフレームワーク。
作成したアプリケーションを別のサーバにデプロイする手順を記録。

・SpringBootでサンプルアプリ作成

  • mavenで雛形を作成。
mvn -B archetype:generate -DgroupId=com.sueno -DartifactId=sueno -Dversion=1.0.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-quickstart
  • 上記で作成したフォルダをEclipseでインポートし、フォルダ内のpom.xmlを編集
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.buoyancy</groupId>
  <artifactId>sueno</artifactId>
  <packaging>war</packaging>
  <version>1.0.0-SNAPSHOT</version>
  <name>sueno</name>
  <url>http://maven.apache.org</url>
     <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.0.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>

    <properties>
        <java.version>1.8</java.version>
    </properties>
</project>

作成ポイント
1. <packaging>war</packaging>
パッケージをwarに修正
2. <scope>provided</scope> 
spring-boot-starter-tomcatのscope項目をprovidedを追加。

  • フォルダ内のApp.javaを編集。
package com.buoyancy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class App extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(App.class);
    }

    @RequestMapping(value = "sueno", method = RequestMethod.GET)
    public String getSomething() {
        return "something";
    }
}

作成ポイント
・SpringBootServletInitializerを継承する
・configureメソッドをOverrideする

  • 一度、Ecplipse上で動作確認。 フォルダ上で右クリック。「実行」→「SpringBootアプリケーション 」を押す。
    サーバ実行後に以下のアドレスにアクセスする。
    http://localhost:8080/sueno/
    ブラウザ上で「something」と表示されたら、アプリ作成完了。

・別のTomcatサーバでデプロイしてみる

・SpringBootで作成したアプリをwarファイルで作成。
インポートしたプロジェクト上で右クリック。
「実行」→「Maven Build」を押す。
ゴールの項目に「package」と入力→実行を押す。
「target」フォルダ配下に「sueno-1.0.0-SNAPSHOT.war」が生成される。
(表示されない場合は、一度、リフレッシュ「F5」を実行)

・tomcat配下のWebappにデプロイ(配置)。
作成したwarファイルをファイル転送ツール(WinSCP)で
デプロイしたいtomcatのwebapp配下に貼り付ける。

・動作確認
アドレスは、サーバ名後に「warファイル名/sueno」を入力(下記はサーバ名は例)
http://localhost:8080/sueno-1.0.0-SNAPSHOT/sueno
ブラウザ上で「something」と表示されたら、OKです。

以上になります。

まとめ

すごく雑な感じで書いてみましたが、SpringBootやSTSを実務で動かしたことがなかったので、この期間にやってみました。
 ローカル環境では、アプリ実行しても、サーバ環境でデプロイすると、Javaのバージョン違いやTomcatバージョンが異なっていたことで動かないことがありました。
 もう少し、データアクセスも絡めたアプリをデプロイすることが目標だったので、進捗が遅くなり、期間まで試せなかったのが残念です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8