2014年3月24日月曜日

Linux centos6.3 再インストール時のメモ


linux centos6.3 再インストール時のメモ
DeskTop環境は入れない
最小限のみ
apache2.4.7 + tomcat7 + Dice(固定IPじゃないので)導入
外部から見れるようになるまで

■マシンのローカルアドレスを設定する

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
#BOOTPROTO="dhcp"  ←コメントアウトする
IPADDR=192.168.0.X    ←指定したいIPアドレスを設定する
NETMASK=255.255.255.0
GATEWAY=192.168.0.1     ←デフォルトゲータウェイ
HWADDR="D4:3D:7E:0B:FD:67"
NM_CONTROLLED="yes"
ONBOOT="yes"              ←noだったらyesにしとく
TYPE="Ethernet"



※上記BOOTPROTOのコメントアウトとONBOOTをyesにしておかないと再起動したときに
プライベートIPアドレスがセットされないで127.0.0.1にもどる。するのわすれてリモートで再起動しちゃってつながらくなったのは良い思い出。

■上記設定を反映 反映をすればLAN内の別マシンから接続ができる teraterm winSCP ok
ifdown eth0  ←イーサネットを無効にする
ifup eth0    ←イーサネットを有効にする
ifconfig     ←ネットワークの設定を確認する

以降はteratermで別マシンより作業



■ユーザ作成 xxxxxx
[root@xxxxxx ~]# useradd xxxxxx ← ユーザー作成
[root@xxxxxx ~]# id -a xxxxxx
uid=500(xxxxxx) gid=500(xxxxxx) 所属グループ=500(xxxxxx)
[root@xxxxxx ~]# ls -l /home/xxxxxx/

■wget コマンドをインストールする
[root@xxxxxx src]# yum install wget

■apache インストール
Apache HTTP Server 2.4.7 (httpd)

[root@xxxxxx src]# cd /usr/local/src/
・ソースダウンロード
[root@xxxxxx src]# wget http://ftp.kddilabs.jp/infosystems/apache//httpd/httpd-2.4.7.tar.gz
・ソースの解凍
[root@xxxxxx src]# tar zxvf httpd-2.4.7.tar.gz  -C /usr/local/src/

[root@xxxxxx src]# cd httpd-2.4.7
・configure インストール先とかを指定 
(configureのオプション http://www.itmedia.co.jp/help/tips/linux/l0371.html
--prefix=PREFIX  PREFIXで指定されたディレクトリにApache(コマンド)をインストールする
--enable-rule=NAME NAMEで指定したルールを有効にする


[root@xxxxxx src]# ./configure --prefix=/usr/local/apache2.4.7 --enable-so --enable-rewrite=shared
エラー発生
checking for APR... no
configure: error: APR not found.  Please read the documentation.
解決策 http://d.hatena.ne.jp/yohei-a/20120809/1344489131
Download - The Apache Portable Runtime Project から aprz、apr-util をダウンロードする。
http://ftp.meisei-u.ac.jp/mirror/apache/dist//apr/apr-1.5.0.tar.gz
http://ftp.meisei-u.ac.jp/mirror/apache/dist//apr/apr-util-1.5.3.tar.gz

[root@xxxxxx httpd-2.4.7]#  cd /usr/local/src/
[root@xxxxxx src]# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//apr/apr-1.5.0.tar.gz
[root@xxxxxx src]# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//apr/apr-util-1.5.3.tar.gz
[root@xxxxxx src]# tar zxvf apr-1.5.0.tar.gz
[root@xxxxxx src]# tar zxvf apr-util-1.5.3.tar.gz



[root@xxxxxx src]# cp -p apr-* /usr/local/src/httpd-2.4.7/srclib/
[root@xxxxxx src]# cd /usr/local/src/httpd-2.4.7/srclib/
[root@xxxxxx src]# mv apr-1.5.0 apr
[root@xxxxxx src]# mv apr-util-1.5.3 apr-util
[root@xxxxxx src]# mv apr /usr/local/src/httpd-2.4.7/srclib/
[root@xxxxxx src]# mv apr-util /usr/local/src/httpd-2.4.7/srclib/
[root@xxxxxx src]# cd /usr/local/src/httpd-2.4.7
[root@xxxxxx httpd-2.4.7]# ./configure --prefix=/usr/local/apache2.4.7 --enable-so --enable-rewrite=shared
またエラー Cコンパイラねーよっていう
configure: error: in `/usr/local/src/httpd-2.4.7/srclib/apr':
configure: error: no acceptable C compiler found in $PATH

ので拾ってくる
[root@xxxxxx httpd-2.4.7]# yum install gcc

[root@xxxxxx httpd-2.4.7]# ./configure --prefix=/usr/local/apache2.4.7 --enable-so --enable-rewrite=shared
さらにエラー pcre-configがねーよっていわれる PCREってなんだよっていう
→PCREライブラリはPerl 5の正規表現文法と同じ記法で正規表現を使うことができるライブラリです。PCREはネイティブのAPIを提供することに加え、POSIX互換のラッパ関数も用意しています。

configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
[root@xxxxxx src]# yum install pcre-devel
[root@xxxxxx pcre-8.33]# ./configure
エラー C++コンパイラねーよっていう
configure: error: You need a C++ compiler for C++ support.
のでひろってくる
[root@xxxxxx pcre-8.33]# yum install gcc-c++
[root@xxxxxx pcre-8.33]# ./configure
[root@xxxxxx pcre-8.33]# make
makeなんてコマンドねーよっていう いれる
[root@xxxxxx src]# yum install make

[root@xxxxxx src]# cd /usr/local/src/httpd-2.4.7
[root@xxxxxx httpd-2.4.7]# ./configure --prefix=/usr/local/apache2.4.7 --enable-so --enable-rewrite=shared
[root@xxxxxx src]# make
[root@xxxxxx src]# make install

Apacheの起動・停止スクリプトを配置する。
ln -s /usr/local/apache2.4.7/bin/apachectl /etc/init.d/apache

[root@xxxxxx httpd-2.4.7]# cd /usr/local/apache2.4.7/conf/
[root@xxxxxx conf]# vi httpd.conf


#ServerName www.example.com:80
ServerName 192.168.0.x:80


[root@xxxxxx conf]#  /usr/local/apache2.4.7/bin/apachectl start
別PCブラウザから192.168.0.5をたたきapacheのページをみれるか確認→みれねー

iptablesいじって80番portをうけいれokに変更する
[root@xxxxxx conf]# vi /etc/sysconfig/iptables
※変更前
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT


ここでは、HTTP と HTTPS の通信を許可。

# /sbin/iptables -I INPUT 5 -p tcp --dport http -j ACCEPT #HTTP
# /sbin/iptables -I INPUT 5 -p tcp --dport https -j ACCEPT #HTTPS

攻撃を防ぐ設定
synフラッド攻撃(syn 信号を大量に送信される)、Ping攻撃(Pingを大量に送信される)を回避する為に、syn信号やPingは1秒に1回だけ受信する様に設定する
# /sbin/iptables -A INPUT -i ppp+ -p tcp --syn -m limit --limit 1/s -j ACCEPT
# /sbin/iptables -A INPUT -i ppp+ -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

iptablesの設定を保存
設定が完了したら設定を保存し、iptables を再起動しないといけない
そうしないと再起動後に、設定したルールが消えてしまう
ルールを/etc/sysconfig/iptablesに保存する
# /etc/init.d/iptables save

保存後、iptables を再起動する
# service iptables restart


※変更後 参考 http://fnya.cocolog-nifty.com/blog/2012/03/centos-6aa8.html
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --sport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

外部からも見れるようにする Dice導入 以前のCentOS6インストールメモを参考 モジュール足りないとかのメモあり
####下記が以前のメモ
[root@xxxxxx bin]# /usr/local/bin/DiCE/diced
bash: /usr/local/bin/DiCE/diced: /lib/ld-linux.so.2: bad ELF interpreter: そのようなファイルやディレクトリはありません
http://kajuhome.com/cgi-bin/patio/patio.cgi?mode=view&no=1853
ib/ld-linux.so.2がないと怒られたので、インストールします。

yum install ld-linux.so.2
インストールできた

/usr/local/bin/DiCE/diced

文字化けしたのでctr+cで一旦キャンセルしteratermの文字コードをutf-8からEUC-JPに変更

>^C[root@xxxxxx DiCE]# /usr/local/bin/DiCE/diced
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad

:setup
IPアドレスの検出方法を指定してください
(0) 自動検出
(1) ローカルのネットワークアダプタから検出
(2) 外部のスクリプトから検出
<現在:0>
(N)変更しない  (P)戻る
>n
-------------------------------------------------
プライベートIPアドレスも検出対象ですか? (Y/N)
<現在:いいえ>
(P)戻る
>n
-------------------------------------------------
IPアドレスの検出をテストしますか? (Y/N)
(P)戻る
>n
-------------------------------------------------
IPアドレスをチェックする間隔を指定してください(分)
設定可能範囲は5分以上です
<現在:10>
(N)変更しない  (P)戻る
>n
=================================================
DNSサーバーの負荷を軽減するために頻繁なDNS更新を防ぐ必要があります
前回の更新から一定時間DNS更新処理を行わないように保護時間を設定して
ください(分)  設定可能範囲は10分から1440分です
<現在:60>
(N)変更しない  (P)戻る
>30
=================================================
設定を保存しますか? (Y/N)
(P)戻る
>y
設定を保存しました
=================================================
:add
新しくイベントを追加します

DynamicDNSサービス名を入力してください
"?"で対応しているサービスを一覧表示します
(P)戻る
>ieServer
-------------------------------------------------
<< ieServer Project >>
URL: http://www.ieserver.net/
*** 情報 ***
IPアドレスはサーバー側で自動検出します。
IPアドレスの指定は出来ません。
(入力しても無視されます)
=================================================
ドメイン名を入力してください
"?"でドメイン一覧を表示します
(P)戻る
>jpn.ph
=================================================
ホスト名を入力してください
(P)戻る
>xxxxxx
=================================================
ログインユーザ名を入力してください
(P)戻る
>p
=================================================
ホスト名を入力してください
(P)戻る
>
=================================================
ログインユーザ名を入力してください
(P)戻る
>xxxxxx
=================================================
ログインパスワードを入力してください
(P)戻る
>xxxxxxxxxxxxxxxxxxx
=================================================
登録するIPアドレスを入力してください
空白にすると現在のIPアドレスを自動検出します
(P)戻る
>
=================================================
このイベントに題名を付けてください
(P)戻る
>xxxxxx.jpn.phアドレス更新
=================================================
このイベントを実行するスケジュールを設定します
-------------------------------------------------
実行する頻度を指定してください (番号入力)
(0)1回のみ (1)1日1回 (2)1週間に1回 (3)1ヵ月に1回
(4)その他の周期 (5)IPアドレス変化時 (6)起動時
(P)戻る
>5
-------------------------------------------------
IPアドレスがあまり変化しない環境の場合、更新せずに一定期間を過ぎると
アカウントを削除されてしまうことがあります
IPアドレスの変化が無い時に実行する間隔を指定してください
(0)7日毎   (1)14日毎  (2)21日毎  (3)28日毎
(4)35日毎  (5)56日毎  (6)84日毎
(P)戻る
>0
=================================================
詳細オプションを設定します
-------------------------------------------------
[ オフライン ]
(0)No (1)Yes
番号>0
=================================================
このイベントを有効にしますか? (Y/N)
(イベントの有効/無効は"EN/DIS"コマンドで切替えられます)
>y
=================================================
イベントを保存しますか? (Y/N)
>y
イベント"xxxxxx.jpn.phアドレス更新"を保存しました
=================================================
:list
(No.)   (イベント名)                   (スケジュール)             (次回予定)
  0 *  xxxxxx.jpn.phアドレス更新      IPアドレス変化時 (7日毎)   01/26 23:15
:ex 0
+ 1/19 23:16 にxxxxxx.jpn.phアドレス更新が実行されました
  IPアドレスを更新しました
:exit

DiCE起動
[root@xxxxxx DiCE]# setarch `uname -m` /usr/local/bin/DiCE/diced -d -l
=-=-=- DiCE DynamicDNS Client -=-=-=
Version 0.19 for Japanese
Copyright(c) 2001 sarad

DiCE Daemon Started !!
[root@xxxxxx DiCE]#

DiCE自動起動設定
[root@xxxxxx DiCE]# echo "setarch `uname -m` /usr/local/bin/DiCE/diced -d -l" >> /etc/rc.local

teratermの端末設定をUTF-8に戻す

####過去のメモ終了

[root@xxxxxx conf]# cd /usr/local/bin
[root@xxxxxx bin]# wget http://www.hi-ho.ne.jp/cgi-bin/user/yoshihiro_e/download.cgi?p=diced019
[root@xxxxxx bin]# tar zxvf diced01914.tar.gz
[root@xxxxxx bin]# rm -f diced01914.tar.gz
[root@xxxxxx bin]# yum install ld-linux.so.2
[root@xxxxxx bin]# /usr/local/bin/DiCE/diced
あとは過去メモどおりに設定した


■javaインストール
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
からjdk-7u45-linux-i586.rpmをダウンロード

[root@xxxxxx src]# mkdir /usr/local/java ←にwinscpでアップロード
[root@xxxxxx java]# cd /usr/local/java/
[root@xxxxxx java]# rpm -ivh jdk-7u45-linux-x64.rpm
参考: http://java.com/ja/download/help/linux_x64rpm_install.xml
ファイル /usr/java/jdk1.7.0_45/jre/lib/charsets.pack (パッケージ jdk-2000:1.7.0_45-fcs.x86_64 から) は、パッケージ jdk-2000:1.7.0_45-fcs.i586 からのファイルと競合しています。
とかでる

[root@xxxxxx java]# rpm -aq | sort  でrpm一覧だしてはいっていたjavaを消した
[root@xxxxxx java]# rpm -e jdk-1.7.0_45-fcs.i586
[root@xxxxxx java]# rpm -ivh jdk-7u45-linux-x64.rpm  再度いんすとーる
[root@xxxxxx java]# ls -l /usr/java/
合計 4
lrwxrwxrwx. 1 root root   16 12月  7 12:34 2013 default -> /usr/java/latest
drwxr-xr-x. 8 root root 4096 12月  7 12:34 2013 jdk1.7.0_45
lrwxrwxrwx. 1 root root   21 12月  7 12:34 2013 latest -> /usr/java/jdk1.7.0_45
[root@xxxxxx java]# rm -rf /usr/local/java rpmパッケージファイル100Mとかあるんで削除しといた
[root@xxxxxx java]# java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)


■tomcat いんすとーる
参考 http://homepage1.nifty.com/y-osumi/works/code/tomcat7/

[root@xxxxxx java]# useradd -s /sbin/nologin tomcat

[root@xxxxxx java]# cd /usr/local/src/
[root@xxxxxx src]# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/tomcat/tomcat-7/v7.0.47/src/apache-tomcat-7.0.47-src.tar.gz
[root@xxxxxx src]# tar zvxf apache-tomcat-7.0.47-src.tar.gz
[root@xxxxxx src]# mv apache-tomcat-7.0.47-src /usr/local/tomcat7.0.47
[root@xxxxxx src]# chown tomcat:tomcat -R /usr/local/tomcat7.0.47

[root@xxxxxx conf]# cd /usr/local/tomcat7.0.47/conf
[root@xxxxxx conf]# vi server.xml
変更前
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
   
変更後      
<!--
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
-->
             
             
[root@xxxxxx conf]# vi /usr/local/apache2.4.7/conf/httpd.conf
下記のコメントアウトをはずす
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

下記を最終行に追加
<Location / >
  ProxyPass ajp://localhost:8009/
</Location>

0 件のコメント:

コメントを投稿