2013年12月13日金曜日

CentOSにJREをインストール

Java(JRE)をインストールしてみます。
CentOSにデフォルトでついてくるOpenJDKではなく、OracleのJREを入れます。
開発はしないのでJREでいいよねってことで。

また、JREを複数のバージョンをインストールして切り替えられるようにします。

まずは、下記サイトからJREをダウンロードする。
http://www.oracle.com/technetwork/java/javase/downloads/index.html

で、インストール。
# rpm -ivh jre-7u45-linux-x64.rpm

使用するJavaを選択します。
# alternatives --install /usr/bin/java java /usr/java/default/bin/java 17045
第一引数が実行するリンクを指定、第二引数が登録対象のグループを指定、第三引数が実際に実行するコマンドのパスを指定、第四引数が優先度を指定する。
17045は、JRE1.7.0_45なので「17045」とした。

次に、使用するJavaを指定します。
# alternatives --config java

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

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/java/default/bin/java

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:1
使用したいJavaのバージョンを指定して、Enterをクリック。

最後に、「java -version」でそれが指定されたか確認。


参考HP様
http://d.hatena.ne.jp/necoyama3/20110505/1304587888
http://www.aishinsys.co.jp/wordpress/?p=551

2013年12月9日月曜日

Apache2.4をCentOS6.4にソースからインストール

Apacheをソースからインストールしてみる。
本来chekcinstall入れたんだから、RPM化しろよ!って話だけど、今回はソースから入れるお勉強と言うことで。

インストールに際していろいろ調べてたら、Apache2.4系から2.2系とは入れ方が若干異なるんだってさ。
Apache Portable Runtim(APR)ってのを入れなくちゃいけないんだって。
なので、まずはAPRとAPR-utilがインストール済みか確認。
# rpm -qa | apr
apr-util-ldap-1.3.9-3.el6_0.1.x86_64
apr-1.3.9-5.el6_2.x86_64
apr-util-1.3.9-3.el6_0.1.x86_64

上記のように出てきたら、aprもapr-utilもインストール済み。
でも最新版のAPRとAPR-Utilを使わないとうまくいかない場合があるみたいなので、アンインストールします。
アンインストールしようと「rpm -e apr」をやろうとすると、依存性エラーでアンインストールができません。
仕方なく、startxでGUIを起動し、そっちからアンインストール(GUIでやれば、依存性のある物も一緒に消してくれるみたい)
かっこわりー。

で、最初にopenssl-develをインストール
# yum -y install openssl-devel

次に、https://apr.apache.org/download.cgi から、APRの最新版をダウンロード&解凍
# wget http://ftp.jaist.ac.jp/pub/apache//apr/apr-1.5.0.tar.gz
# tar zxvf apr-1.5.0.tar.gz

解凍したAPRをインストールします。
# cd apr-1.5.0
# ./configure --prefix=/usr/local/apr1.5.0
# make
# make install

次に、APR-utilをダウンロード&インストールします。
最新版はAPRと同じページから取得します。
# wget http://ftp.jaist.ac.jp/pub/apache//apr/apr-util-1.5.3.tar.gz
# tar zxvf apr-util-1.5.3.tar.gz

インストール!
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util-1.5.3 --with-apr=/usr/local/apr1.5.0
# make
# make install

あと、PCREとか言う物もインストールが必要みたい。
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/で最新版を探してDL&解凍します。
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.gz
# tar zxvf pcre-8.33.tar.gz

インストール!
# cd pcre-8.33
# ./configure --prefix=/usr/local/pcre-8.33
# make
# make install

https://httpd.apache.org/download.cgiで、最新版Apacheをで調べて、ダウンロード&解凍します。
# wget http://ftp.tsukuba.wide.ad.jp/software/apache//httpd/httpd-2.4.7.tar.gz
# tar zxvf httpd-2.4.7.tar.gz

Apacheをインストール!
# cd httpd-2.4.7
# ./configure \
--prefix=/usr/local/apache2.4.7 \
--enable-so \
--enable-ssl \
--enable-rewrite \
--with-apr=/usr/local/apr1.5.0 \
--with-apr-util=/usr/local/apr-util-1.5.3 \
--with-pcre=/usr/local/pcre-8.33 \
--with-berkeley-db \
--enable-dav

上記のオプションは、
・prefixでインストール先を指定
・DSO, SSL, mod_rewrite モジュールをApacheに組み込み
・with-apr, with-apr-util オプションは、APR, APR-utilがインストールされているディレクトリのパスを指定

で、次にいよいよApacheインストール。
# make
# make install

これでApacheのインストールは完了!

次は設定。

User apache       #ユーザーをapacheに
Group apache      #グループをapacheに

ServerAdmin hostmasnter@example.com #サーバーアドミンのコメントを外して、適当なメールアドレスにする

ServerName example.com:80   #サーバーネームのコメントを外して、そのサーバのドメインにする

最低限、上記の設定で動くはず。
最後に起動!
# /usr/local/apache2.4.7/bin/apachectl start


次にOS起動時にApacheが自動起動するように設定します。
まずは起動スクリプトの編集。
# vi /usr/local/apache2.4.7/bin/apachectl
↓2、3行明に以下を追加
# chkconfig:345 91 91
# description:Apache Boot

apachectlをinit.dにシンボリックリンクを張ります。
ln -s /usr/local/apache2.4.7/bin/apachectl /etc/init.d/httpd

自動起動するように設定
# chkconfig --add httpd

もし「It's Work!」が見られない場合、ファイアーウォールとSELinuxの設定を見直してね。

次はSSLの設定をやってきたいと思います!


参照HP様
http://apache24.jugem.jp/?eid=2
http://blog.jicoman.info/2012/12/apache_source/
http://plaza.rakuten.co.jp/zhenwu/diary/201207220000/

2013年8月25日日曜日

ChecnkInstallの環境を整える

CentOS 6.4(64bit)で、ソースからrpmを作ってくれるcheckinstallのインストールを行う
完全にこちらのコピペですが、リンク先がなくなったときのこととか考えてここにも備忘録として残す。

まず、checkinstallの最新版はGITにあるので、GITをインストールしなくてはいけない。
   # yum -y install git

あと、Developmentツールもインストールする必要があるので、yumで入れちゃう。
   # yum groupinstall "Development Tools"

次に、checkinstallに必要な、依存パッケージをインストールします。
   # yum install -y gettext rpm-build

checkinstallの最新ソースを、GITから落としてくる。
※なぜかcheckinstallの公式リポジトリからは落とせなかったので、以下のgithubから入手
   # cd /usr/local/src/
   # git clone https://github.com/buserror-uk/checkinstall.git

以下のように設定ファイルを変更
※githubからDLした場合、設定済みっぽいけど一応
   # cd checkinstall
   # sed -i 's|MAKEPKG=/sbin/makepkg|MAKEPKG=|' checkinstallrc-dist
   # sed -i 's|INSTYPE=""|INSTYPE="R"|' checkinstallrc-dist
   # sed -i 's|TRANSLATE=1|TRANSLATE=0|' checkinstallrc-dist
   # sed -i 's|EXCLUDE=""|EXCLUDE="/selinux"|' checkinstallrc-dist
   # sed -i 's|/lib|/lib64|' installwatch/Makefile
   # sed -i 's|CONFDIR=$(PREFIX)/lib/checkinstall|CONFDIR=$(PREFIX)/etc|' Makefile
   # sed -i '66s|^$|CHECKINSTALLRC=$INSTALLDIR/etc/checkinstallrc|' checkinstall

makeとmakeinstallをやっちゃう
   # make
   # make install

chcekinstallのバージョン確認で、バージョンが確認できればインストールOK!
   # checkinstall -v

初回のみ、作業用ディレクトリを掘ってやる必要があるらしい。
   # mkdir -p /root/rpmbuild/SOURCES

インストールしたcheckinstallを利用して、chekcinstall自体をrpm化する。
   # checkinstall

生成されたrpmを確認する。
   # rpm -qlp /root/rpmbuild/RPMS/x86_64/checkinstall-20130825-1.x86_64.rpm

問題なければインストールする。
   # rpm -ivh /root/rpmbuild/RPMS/x86_64/checkinstall-20130825-1.x86_64.rpm

念のための確認は、元ネタさん参照。

2013年8月24日土曜日

Linuxにパッケージをインストールする際、rpm(yum)とソースからコンパイルする方法があるが、それについて調査してみた。

○rpm(yum)のメリット
・yum install xxxというコマンド一発でインストールされるので、とにかくラク
・パッケージ管理をしっかりやってくれるため、アップデートやアンインストールらラク

○rpm(yum)のデメリット
・同じパッケージを複数入れられない
 (たとえばApacheを複数バージョン入れて、それぞれポートを変えて運用みたいなことはできない)
・yumのリポジトリに最新のパッケージが上がっていない場合、古いバージョンのパッケージを使わざる終えない
 (リポジトリにRPMforge、Remi、EPELを追加してあげることで、多少は逃れられる)参考

○ソースコンパイルのメリット
・パッケージの最新版が利用できる
・同じパッケージを複数入れられる

○ソースコンパイルのデメリット
・パッケージ管理をやってくれないため、自分でやる必要がある
 →何かしらのドキュメントを作って一覧管理する必要がある。
 →アンインストールのことを考え、./configureにオプションを追加する必要がある
 →ただし、ソースをrpmに変換してインストールしてあげればパッケージ管理してもらえる

つまり以下の方針が立てられる
・基本的にはrpm(yum)でインストールする
・ただし、同様のパッケージを複数入れる必要がある場合、ソースコンパイルにてインストールする
 (Apache、Tomcat、Rubyなどなど)
・OpenSSLやOpneSSHなど、セキュリティ的に最新版を入れてあげる必要があることをそうていして、ソースからrpmを生成する方法を確立する
 ⇒(追記)どうやら、Red Hat系(CentOS含)は、OpenSSHやOpenSSLに独自のカスタマイズを入れてるから、自力でのアップデートはよした方がいいみたい。

こんなかんじだろうか?
⇒まずはじめに、ソースからrpmを生成する方法を確立しよう!

CentOSインストール時にやること

CentOSをインストールする際、基本はCUIで操作するけど、たまにGUI使いたくなる可能性がある場合、以下のようにすれば良い。

・CentOSをインストールする際、GUIを一緒にインストールする
・/etc/inittabで、ランレベルを「3」にする
・/usr/bin/startxに、「LANG=ja_JP.UTF-8」の表記を追加する ※startxしたときに、日本語で立ち上がる

ネットワークの設定
vi /etc/sysconfig/network-scripts/ifcfg-eth0 で以下をやる。
 - ONBOOTを「yes」にする
 ※IPを固定にしたい場合、以下の2つを追加する
 - BOOTPROTO=static
 -IPADDR=192.168.0.10
 -NETMASK=255.255.255.0
 -GATEWAY=192.168.0.1
 -DNS1=192.168.0.1

いらないサービスの停止
以下のコマンドで、起動中のサービスを確認し、いらないものは停止(または削除)する

chkconfig --list | grep  "3:on"
・メールサーバは使わないだろうからOFFにしよう(chkconfig postfix off)

○RPMリポジトリを追加しよう!
http://dqn.sakusakutto.jp/2013/02/centos6_yum_remi_epel_rpmforge.htmlを参照

○アンチウイルスソフトをインストールしよう
yum –y --enablerepo=epel install clamdで Clam AntiVirus をインストール
あとはhttp://centossrv.com/clamav.shtmlを参照して、設定

○SELinuxを無効化する
SELinuxを無効化したい場合、/etc/sysconfig/selinuxを開いて、以下のように書き換える。
SELINUX=disabled

2013年6月27日木曜日

S2Strutsを動かしてみる

S2Strutsのお勉強をしてみたいと言うことで、まずはサンプルプログラムを動かしてみる。
サンプルプログラムを動かすための構築メモ。

【構築環境】
 ・Eclipse 4.2
 ・Tomcat 7

【手順】
 1.S2Strutsのサイトから、サンプルプログラム入りのS2StrutsExampleを落とす。
 2.Eclipseの「動的WEBプロジェクト」を新規作成
  2-1.プロジェクト名は「S2StrutsExample」とする
  2-2.ターゲットランタイムは「Apache Tomcat v7.0」にする
  2-3.動的webモジュールバージョンは「2.4」にする
  2-4.「完了」をクリックする
 3.ダウンロードしたS2StrutsExampleから、以下の物をプロジェクトに貼り付ける
  ・libsrc
  ・license ※ライセンス上置かないとまずいのか判断がつかないため一応…。
  ・src
  ・WebContent
  ・build.xml
   ※「.settings」「.classpath」「.project」は、Tomcat6.0用に作られているためコピーしない。
    もしかするとTomat7.0用に作り替える必要があるかもしれないけど、今はよく分からないので
    Eclipseが動的Webプロジェクトの新規作成時に作ってくれた物でごまかす。
 4.サーバーにプロジェクトを追加する
  4-1.サーバーを右クリックし「追加および除去」をクリック
  4-2.出てきた画面で「S2StrutsExample」をADDする

以上で構築は完了!
Tomcatを起動してブラウザからhttp://localhost:8080/s2struts-smartdeploy-example/へアクセスしてアプリが起動すればOK。