Powered By Blogger
ラベル サーバ の投稿を表示しています。 すべての投稿を表示
ラベル サーバ の投稿を表示しています。 すべての投稿を表示

2014年3月7日金曜日

プロキシされたコンテンツのエラーページを上書きする

ProxyErrorOverride On
と書く。これでリクエストをProxyPassしている先でなにかエラーを返した場合エラー画面が統一される。

2013年11月22日金曜日

FTPアクセス制限

いまさらFTPサーバを構築させられたので、念のためメモ。

以下のような内容でXXX.XXX.XXX.XXXの部分に許可対象のIPを指定し、「.ftpaccess」というファイル名でアクセス制限対象のディレクトリに配置します。
<Limit ALL>
Order Allow,Deny
Allow from XXX.XXX.XXX.XXX
Deny from all
</Limit>

2013年7月31日水曜日

あるプロセスのメモリ使用量をpsコマンドでソートして調べる

例えば「java」の物理メモリ使用量を降順でソートしTop5を取得する場合
ps alx --sort -rss | head -n 6 | grep [j]ava
とする。

rssをvszにすると、仮想メモリの全サイズでのソートとなる。

また、rssの前の「-」をつけないと昇順でのソートとなる。

2013年7月25日木曜日

Cuisineインストール

Fabricを使ってデプロイ作業をしてますが、Cuisineという便利なツールがあると聞いたので試してみるためにインストールします。
インストールはpipで行います。
pip install cuisine
これで終了です。

2013年7月18日木曜日

SSHを安全にする基本設定

rootでのログインを禁止

/etc/ssh/sshd_config
の「PermitRootLogin」を「 no」を設定する。

また、SSHで接続できるユーザを制限するために以下の設定を行う。
AllowUsers ユーザ名

接続数の制限

/etc/ssh/sshd_config
の「MaxStartups」に値を設定する。 例えばMaxStartups 3:50:10の場合、同時に3接続までOK、4つを超える接続は50%の確率で拒否し、10以上の接続要求は全て拒否となります。

2013年7月17日水曜日

centos opensslのアップデート

現状の確認

[root@XXXXX ~]# which openssl
/usr/bin/openssl

[root@XXXXX ~]# openssl version
OpenSSL 1.0.0-fips 29 Mar 2010

インストール

ソースの取得
[root@XXXXX ~]# wget -P /usr/local/src http://www.openssl.org/source/openssl-1.0.1e.tar.gz
解凍
[root@XXXXX ~]# cd /usr/local/src
[root@XXXXX src]# tar zxvf openssl-1.0.1e.tar.gz 
コンパイルとインストール
[root@XXXXX src]# cd openssl-1.0.1e
[root@XXXXX openssl-1.0.1e]# ./config --prefix=/usr --openssldir=/etc/pki/tls shared
[root@XXXXX openssl-1.0.1e]# make && make install

インストール後の確認

[root@XXXXX ~]# openssl version
OpenSSL 1.0.1e 11 Feb 2013

2013年7月16日火曜日

centos6.4でデスクトップ環境を追加する

[root@dev ~]# yum -y groupinstall "X Window System"
[root@dev ~]# yum groupremove "Japanese Support"
[root@dev ~]# yum -y groupinstall "Desktop"
[root@dev ~]# startx

2013年7月12日金曜日

centOSでホスト名を変更する

/etc/sysconfig/networkを編集する

デフォルトはlocalhost.localdomainです。

次に/etc/hostsを編集します。

最後にネットワークを再起動します。

service network restart

2013年6月3日月曜日

Apache、Tomcatによるロードバランシング

以下の前提条件で記述します。
  1. Apacheがインストール済みである
  2. Tomcatがインストール済みである
  3. Apacheはproxy-ajpやproxy-proxy-balancerを有効にしてインストールしてある
冗長構成の内容はApacheは一台でバックエンドの2台のTomcatに対してバランシングを行います。

Apacheの設定

バランシングの設定値は以下です。

キー説明
stickysession/home/hoge/apache同一情報に継続的に接続する為のセッション値を指定します。Tomcatの場合はstickysession=JSESSIONIDを指定します。注意点として大文字小文字が区別される。
nofailoveroffアプリケーションがフェールオーバーに対応していればoffを、対応してない場合はonを指定する。
timeout1ワーカーを取得するまでの最大待機時間。デフォルトでは待機しないのでエラーを返してしまう場合があるので1秒を指定。
loadfactor10ロードバランスする割合を指定する。
routeAP1には「sv1」、AP2には「sv2」どのサーバに割り振るか動作している指定する。TomcatのJvmRoute値と合わせる必要がある。
retry5ApacheとTomcatとの再接続思考の間隔。デフォルトは60秒なので短くしておく。
ttl20非活動状態のコネクションと、関連するコネクションプール内のエントリの 生存時間を秒で指定します。


Balancerの設定

${APACHE_HOME}/conf/extra/httpd-proxy.confに以下の設定を記述します。
<location hoge="">
    ProxyPass balancer://hoge/ stickysession=JSESSIONID|jsessionid nofailover=Off ttl=20
</Location>

<Proxy balancer://hoge/>
    BalancerMember ajp://xxx.xxx.xxx.xxx:8009/ec loadfactor=10 route=sv1 retry=5
    BalancerMember ajp://yyy.yyy.yyy.yyy:8009/ec loadfactor=10 route=sv2 retry=5
</Proxy>


Tomcatの設定

${TOMCAT_HOME}/conf/server.xmlのEngine要素に対してjvmRouteを設定します。
AP1の場合
<Engine name="Catalina" defaultHost="localhost" jvmRoute="sv1">

AP2の場合
<Engine name="Catalina" defaultHost="localhost" jvmRoute="sv2">
Tomcat、Apacheを再起動すれば設定は完了です。

2013年5月15日水曜日

SFTP専用ユーザを作る

ユーザ、グループ作成

useradd testuser
groupadd sftponly
usermod -G sftponly testuser

対象ユーザのhomeディレクトリの権限/設定変更

chown 権限を持たせたいユーザ.sftponly /home/testuser
chmod 755 /home/testuser

自由に読み書きを行えるディレクトリを作成

cd /home/testuser
mkdir test
chown testuser:testuser test

sshd設定変更

内部のsftpを使うように指定し、sftponlyグループの場合chrootに閉じ込める設定を行います。

/etc/ssh/sshd_configを開きファイル末尾付近にある部分を下記のように修正します。
# 以下の行をコメントアウトします
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
# 以下の行を追加します
Subsystem       sftp    internal-sftp

Match Group sftponly
  ChrootDirectory /home/%u
  X11Forwarding no
  AllowTcpForwarding no
  ForceCommand internal-sftp
  PasswordAuthentication yes

sshdの再起動

service sshd restart

2013年5月10日金曜日

CentOS6で制限されているプロセス最大数を制限解除する

/etc/security/limits.d/90-nproc.confの下記部分をコメントアウトします。
*          soft    nproc     1024
修正後
#*          soft    nproc     1024

/etc/security/limits.confに下記設定を追記します。(例です)
*               soft    nproc           44769
*               hard    nproc           44769
修正後
*               soft    nproc           44769
*               hard    nproc           44769
#@student        hard    nproc           20
・・・

TCPチューニング

TCPコネクション(セッション)関連

/etc/sysctl.conf に以下を追記します。
net.ipv4.ip_local_port_range = 1024 65535

TCPのtimeout調整

/etc/sysctl.conf に以下を追記します。
net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 5

カーネルベースのポートフォワーディング

開発環境などでApacheをいれるのが面倒だったので、一時的に。
iptables -t nat -A OUTPUT -d localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A OUTPUT -d localhost -p tcp --dport 443 -j REDIRECT --to-ports 8443;

CentOSでタイムゾーンをJSTへ変更する

cp /usr/share/zoneinfo/Japan /etc/localtime

localeを変更する

利用出来る日本語用localeを確認

locale -a | grep ja

設定を変更

vi /etc/sysconfig/i18n
LANGを上記で確認した利用できる日本語設定に変更します。 例えば「ja_JP.utf8」など

設定を反映

. /etc/sysconfig/i18n

NTP設定

NTPがインストールされていない場合、
yum install ntp
でインストールし、
service ntpd start
にて起動します。

/etc/ntp.confの以下の部分をコメントアウトし
server 0.centos.pool.ntp.org
server 1.centos.pool.ntp.org
server 2.centos.pool.ntp.org
以下のように変更します。
#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
server -4 ntp.nict.jp
server -4 ntp1.jst.mfeed.ad.jp
server -4 ntp2.jst.mfeed.ad.jp

2013年5月8日水曜日

Vagrantインストール

VirtualBoxのインストール

このページよりダウンロードしインストール画面に従ってインストールします。

Vagrantのインストール

このページよりダウンロードしインストール画面に従ってインストールします。

OSのインストール

今回はCentOSをインストールします。
コマンドプロンプトを開き下記コマンドを実行します。
vagrant box add centos http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130731.box
vagrant init centos
vagrant up

Vagrantの起動時のログにもあるように
ターミナルよりSSHで接続する際、ポートがSSH標準の22番ポートでなく2222番なので注意が必要です。

起動

コマンドプロンプトを開き下記コマンドを実行します。
vagrant up

終了

コマンドプロンプトを開き下記コマンドを実行します。
vagrant halt

Fabricインストール


Windows7 64bitのマシーンにインストールします。

Pythonのインストール

  • http://www.python.org/より2.7系をダウンロードしインストールします。
  • インストールが完了したら、コマンドラインから起動できるように環境変数にパスを追加します。
  • コマンドプロンプトを立ち上げて、pythonと入力し実行できるか確認してください。

easy_installコマンドのインストール

  • https://pypi.python.org/pypi/setuptoolsからダウンロードしてインストールします。
  • C:\Python27\Scriptsに実行スクリプトが入るので、フォルダパスを環境変数pathに追加します。

その他パッケージのインストール

  • コマンドプロンプトから「easy_install pip」と入力しpipをインストールします。
  • http://www.voidspace.org.uk/python/modules.shtml#pycryptoより「PyCrypto 2.3 for 32bit Windows and Python 2.7 (.zip)」をダウンロードしインストールします。
  • http://sourceforge.net/projects/pywin32/files/pywin32/Build216/より「pywin32-216.win32-py2.7.exe」をダウンロードしインストールします。

本体のインストール

  • コマンドプロンプトから「pip install fabric」と入力します。
  • コマンドプロンプトから「fab -V」と入力しバージョンが表示されるか確認してください。