2017年1月21日土曜日

Servlet / JSP 再入門とAWSやLinuxの雑記

枯れた技術ですが必要があり復習。全然入門レベルから抜け出せてないですが。

前提:
デプロイ予定:amzn-ami-hvm-2016.09.1.20161221-x86_64-gp2(CentOS6ベース)
開発環境:
Mac OSX
Spring Tool Suite 3.8.3(Eclipse Neon.2(4.6.2)ベース)


メモ

AWSの初期設定
  • locale変更(/etc/sysconfig/i18n)
  • NICの設定(/etc/sysconfig/network)
  • 固定IPの場合(/etc/sysconfig/network)
  • 一般ユーザでsudoしたい場合
  • sshのパスワード認証を禁止する
参考:お便利サーバー.com サーバーを前提としたネットワーク設定

locale変更
$ vim /etc/sysconfig/i18n
LANG="ja_JP.utf8"
LC_CTYPE="ja_JP.utf8"
参考:
Qiita sshでログインした時、localeまわりでエラーが出た場合の対処法
CentOS(6.0)でロケール関係の設定

固定IPの場合
/etc/sysconfig/networkにホストのIPアドレスとサブネットマスクを記載する
IPADDR=xx.xx.xx.xx NETMASK=xx.xx.xx.xx

一般ユーザでsudoしたい場合
$ usermod -aG wheel <USER> ←G=補助グループの設定。a=追加(ないと置き換え)
# groups <USER> ← 確認
# visudo
# %wheel  ALL=(ALL)       ALL  ←コメント(#)を外す
参考:
Qiita Linuxでユーザーをグループに追加する Qiita Linuxコマンドでユーザーのグループ確認・変更。

sshのパスワード認証を禁止する
# vi /etc/ssh/sshd_config
PasswordAuthentication no
参考:sshでパスワード認証を禁止するには

/etc/sysconfig/network
centosのネットワーク設定ファイル
HOSTNAMEの変更時に設定を忘れないこと
参考:
CentOS6.0でホスト名を書き換える

ZeroConf
ITプロ Linuxキーワード Zeroconf
DNSやhostsファイルを使用せずに、ホスト名だけでホストを特定する仕組み。
ということで、通常サーバには不要
$ cat /etc/sysconfig/network
NOZEROCONF=yes

Java8の"JDK"を入れる
java-1.8.0-openjdk.x86_64はJREなんですね。ややこしい。
どこかのwebサイトに載っていたおかげで知りました。
まぁyum searchのパッケージの説明にも書いてはあるんですが。。。
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
いち開発者としてはjavac入りのJDKを入れます。
$ yum update -y
$ yum install -y java-1.8.0-openjdk-devel.x86_64


システムJava(1.7)のままだったので、1.8にふりかえます。
$ alternatives --config java
2 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
   2           /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2


# java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
# javac -version
javac 1.8.0_111
参考:Task Notes CentOSのalternativesでJavaのバージョン管理

tomcatの対応Javaバージョン表
公式Apache Tomcat Versions
まだalpha版だけどtomcat9も出ている。これはJava8が必要。
tomcat7/8.0/8.5はJava7で対応(tomcat7はWebSocket以外はJava6で問題なし)

service登録周り
/etc/rc.d/init.dに起動・停止スクリプトを置かないとサービス登録できません。
置いたら、
$ sudo chkconfig --add <service name>
$ sudo chkconfig <service name> on

SELinuxの確認
$ getenforce Disabled

IntelliJ CE(Community Editin)は Java EE非対応
大人の事情で、Eclipseを使うことにします。

Spring Tool SuiteにTomcatプラグインを入れる
今回はMarketplaceから入れました。Tomcat Manager Plugin 9.1.2

Mac OSXでEclipseを使うときは、¥ではなく\
¥だとEclipseがエスケープだと認識してくれない。。。

<html lang="ja">
「ダブルクォートいるっけ?」ググった。
改めて思うと、文字列をダブルクォートくくらないのは、Linuxのシェルくらいかな。

HTMLのテンプレート(Eclipse on Max OSX)
Preference → Web → HTML files → Templates → new HTML File(5) → Edit

cyberduckでAWS接続
FTPでなくSFTPでした。「pemどこに設定すんだろ」と思わず調べる
こちらのQiita記事(【AWS】cyberduckからファイルのアップロード、ダウンロードができない)に感謝です。

jarのデプロイ
参考:
迷走男子!! [Tomcat] Tomcatへのwebアプリのデプロイ方法(jarファイル編)
(tomcat_base)/webapps # tree hoge
hoge
`-- WEB-INF
    |-- lib
    |   `--(deploy jar file)
    `-- web.xml
というふうに、webappsにディレクトリ分けた上で、下記を配備
  • libディレクトリ
  • deploy jar file
  • web.xml

0 件のコメント:

コメントを投稿