ProxyErrorOverride Onと書く。これでリクエストをProxyPassしている先でなにかエラーを返した場合エラー画面が統一される。
2014年3月7日金曜日
2013年11月22日金曜日
2013年8月16日金曜日
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で行います。
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
デフォルトはlocalhost.localdomainです。
次に/etc/hostsを編集します。
最後にネットワークを再起動します。
service network restart
2013年6月3日月曜日
Apache、Tomcatによるロードバランシング
以下の前提条件で記述します。
- Apacheがインストール済みである
- Tomcatがインストール済みである
- Apacheはproxy-ajpやproxy-proxy-balancerを有効にしてインストールしてある
冗長構成の内容はApacheは一台でバックエンドの2台のTomcatに対してバランシングを行います。
Apacheの設定
バランシングの設定値は以下です。
| キー | 値 | 説明 |
|---|---|---|
| stickysession | /home/hoge/apache | 同一情報に継続的に接続する為のセッション値を指定します。Tomcatの場合はstickysession=JSESSIONIDを指定します。注意点として大文字小文字が区別される。 |
| nofailover | off | アプリケーションがフェールオーバーに対応していればoffを、対応してない場合はonを指定する。 |
| timeout | 1 | ワーカーを取得するまでの最大待機時間。デフォルトでは待機しないのでエラーを返してしまう場合があるので1秒を指定。 |
| loadfactor | 10 | ロードバランスする割合を指定する。 |
| route | AP1には「sv1」、AP2には「sv2」 | どのサーバに割り振るか動作している指定する。TomcatのJvmRoute値と合わせる必要がある。 |
| retry | 5 | ApacheとTomcatとの再接続思考の間隔。デフォルトは60秒なので短くしておく。 |
| ttl | 20 | 非活動状態のコネクションと、関連するコネクションプール内のエントリの 生存時間を秒で指定します。 |
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の下記部分をコメントアウトします。
/etc/security/limits.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;
localeを変更する
利用出来る日本語用localeを確認
locale -a | grep ja
設定を変更
vi /etc/sysconfig/i18nLANGを上記で確認した利用できる日本語設定に変更します。 例えば「ja_JP.utf8」など
設定を反映
. /etc/sysconfig/i18n
NTP設定
NTPがインストールされていない場合、
/etc/ntp.confの以下の部分をコメントアウトし
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」と入力しバージョンが表示されるか確認してください。
登録:
投稿 (Atom)
