- wgetのproxy越え ...2013/09/25_14:58:21
- wgetのオプション ...2013/09/25_14:58:11
タグ: centos
リポジトリ
- epelリポジトリの追加 ...2013/09/25_14:56:37
- RPMforgeリポジトリの追加 ...2013/09/25_14:56:27
- Remiリポジトリの追加 ...2013/09/25_14:56:48
- MySQLリポジトリの追加 ...2015/08/21_09:12:27
- nginxリポジトリの追加 ...2013/12/29_22:16:47
- CentALTリポジトリの追加 ...2014/07/15_17:28:18
- CentALTリポジトリからForbiddenが返される… ...2014/07/15_17:28:36
logrotate
- logrotate を hourly でまわす ...2013/09/25_14:54:37
- logrotate の編集 ...2013/09/25_14:54:23
- 違うディレクトリのログファイルにも logrotate を適用する ...2013/10/04_11:41:47
namazu
- Can’t locate ExtUtils/MakeMaker.pm ...2013/09/25_14:52:45
- いまさらのnamazuインストール(途中) ...2013/09/25_14:52:12
node.js をインストールしてみるまでのあれこれ
node.js でテストしたいことがあったので入れてみる。
まず、node.jsから「Source Code」をダウンロードする。
「Linux Binaries (.tar.gz)」は中にmakeファイルとかなくてどうしたら良いか分からなかったので、ソースコードの方で進める。
落としてきた「node-v0.10.19.tar.gz」を解凍する。
# tar -zxvf node-v0.10.19.tar.gz
解凍した中身を見てみる。
# cd node-v0.10.19
中にconfigureとMakefileがあるので、とりあえずmakeしてみる
# make python ./configure File "./configure", line 442 fpu = 'vfpv3' if armv7 else 'vfpv2' ^ SyntaxError: invalid syntax make: *** [config.gypi] エラー 1
おーぅ・・・
python入れます。
yum install pythonと、すると
Package python-2.4.3-56.el5.i386 already installed and latest version古い、古すぎる!ハッハー!
まぁ5系だからねぇ。
ダウンロードページにはNote: Python 2.6 or 2.7 is required to build from source tarballs.と書いてあるので、これも入れることにする。
# wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz # tar -zxvf Python-2.7.5.tgz # cd Python-2.7.5 # configureconfigure時に –enable-shared をつけている記事が多いのですが
「LinuxでPythonをビルドするときの –enable-shared オプションについて」
を見ると初心者にはオススメしない的なことが書いてあるので、それに従って何もつけないことにする。# make # make installで、いいのかな?
# python Python 2.7.5 (default, Sep 25 2013, 13:40:17) [GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>いいっぽい。python のインストールは終了。
node.jsに戻る。
# cd node-v0.10.19 # make
で、
which: no g++ in・・・ make: *** [out/Makefile] エラー 1
はい。そっちもですね。
GCC++入れます。
# yum install gcc*もやる。
なんとなく gcc-c++ だけでもいいような気がするけど。
node.jsに戻って再度make。
# make
で、
ImportError: No module named bz2 make: *** [node] エラー 2
ういーす。
bz2入れます。
yum install bzip2*
node.jsに戻って再々度make。
# make
で、
ImportError: No module named bz2 make: *** [node] エラー 2
???
「Rackhubで新しいnode.jsを入れるときにImportError: No module named bz2が出たら
」こちらを確認させていただくと、「bz2が入ってなくてpythonがbz2入りでビルドされていないから」ということらしい。
てことは再度python入れなおしって事か。
# configure --with-bz2 # make # make installこれでどうでしょう?
再度、node.jsに戻って再々々度make。
# make
で、いけた。
# make install
うむ、いけた。
# node -v v0.10.19
できた。
ログファイルの位置を変更する
アクセスログをデフォルトの場所にいつまでも保存しておくと、ディスクの容量が…
って事にならないよう、予めログファイルを作成するディレクトリを指定しておく。
httpd.conf の500行目あたりに以下の指定があるのでそれぞれ変更する。
場所はServerRoot(デフォルトだと[ /etc/httpd ])からの
相対パスで記入されているので、それに合わせる。
ErrorLog logs/error_log CustomLog logs/access_log combined ↓ ErrorLog ../../home/httpd_logs/error_log CustomLog ../../home/httpd_logs/access_log combined
こんなカンジで。
書き換えたら、httpdの再起動で指定した場所にログが生成されていくことを確認して終了。
手動で時刻合わせ
適当に時刻合わせしておきたいとき。
NTPと同期を取れる環境にない時は手動でやることになるので。
date --set='2013/06/28 15:48:20'
のようにして設定。
NTPサーバと同期設定したけど、すぐさま合わせたいときは
# /etc/init.d/ntpd stop # ntpdate time.asia.apple.com # /etc/init.d/ntpd start
で。
NTPDを止めておかないと
# ntpdate time.asia.apple.com 7 Sep 09:54:43 ntpdate[14802]: the NTP socket is in use, exiting
こんなカンジで怒られる。
いまさらのnamazuインストール(途中)
分かってる。
使う期間は数週間、もしくは数日しかないことはよく分かってる。
けど、全く同じ環境を構築しなきゃいけない以上やらざるを得ない…!
でも最低限でいいや。
なんか書いてたら長くなってきたのであとで分割しよう。
namazuを入れるにはいろいろと下準備が必要。
- kakasiインストール
- nkfインストール
- File-MMagicインストール
下準備を経てnamazuインストールにいたるのだが、その後もいろいろと作業が必要。
- kakasi のインストール
- まず、kakasi をダウンロードしてくる。kakashi ではなく、kakasi 。
http://kakasi.namazu.org/ にある [ ダウンロード > ソース ] から持ってくる。2013/05/31 時点での最新は2.3.4みたい。wget http://kakasi.namazu.org/stable/kakasi-2.3.4.tar.gz
- ダウンロードが終わったら解凍。
tar -zxvf kakasi-2.3.4.tar.gz
- [ kakasi-2.3.4 ] というディレクトリができるので、そちらに移動。
cd kakasi-2.3.4
- configure と make と make install をおこなう。
configure make make install
- まず、kakasi をダウンロードしてくる。kakashi ではなく、kakasi 。
- nkf のインストール
- nkfを sourceforge からダウンロード。
http://sourceforge.jp/projects/nkf/ にある [ ダウンロード > ソース ] から持ってくる。2013/05/31 時点での最新は2.1.2。wget http://iij.dl.sourceforge.jp/nkf/53171/nkf-2.1.2.
tar.gz - ダウンロードが終わったら解凍。
tar -zxvf nkf-2.1.2.tar.gz
- [ nkf-2.1.2 ] というディレクトリができるので、そちらに移動。
cd nkf-2.1.2
- configure がないので、make と make install をおこなう。
make make install
- nkfを sourceforge からダウンロード。
- namazu 前の File-MMagic インストール
- namazuを サイトからダウンロード。
http://www.namazu.org/ にある [ ダウンロード ] から持ってくる。2013/05/31 時点での最新は2.1.2。wget http://www.namazu.org/stable/namazu-2.0.21.tar.gz
- ダウンロードが終わったら解凍。
tar -zxvf namazu-2.0.21.tar.gz
- [ namazu-2.0.21 ] というディレクトリができるので、そちらに移動。
cd namazu-2.0.21
- [ File-MMagic ] というディレクトリがあるので、そちらに移動。
cd File-MMagic
- ここに [ Makefile.PL ] というファイルがあるのでこれを以下のようにして実行。
実行時に「Can’t locate ExtUtils/MakeMaker.pm」とか出てきたら、その旨対処。perl Makefile.PL LIB=/root/lib INSTALLMAN3DIR=/root/man
- 同一階層内に [ Makefile ] というファイルを作ってくれるので、makeとmake installする。
make make install
- ここまでで[ File-MMagic ]のインストールが終わるので、一つ上の階層に戻ってnamazu本体のインストールに戻る。
- namazuを サイトからダウンロード。
- namazu インストール
- [ File-MMagic ]の位置を指定しつつ、configure。
./configure --with-pmdir=/root/lib
「./configure」だけだと、途中でエラーが出る。
- いつもどおり、make & make install。
make make install
- ここまで出来たら、[ /usr/local/libexec ] に [ namazu.cgi ] が入っているので、これを [ /var/www/cgi-bin/namazu ] あたりにコピー。
cp /usr/local/libexec/namazu.cgi /var/www/cgi-bin/namazu/.
- 続いて、[ /usr/local/etc/namazu ] に [ namazurc-sample ] が入っているので、これを [ /var/www/cgi-bin/namazu ] あたりにリネームしつつコピー。
cp /usr/local/libexec/namazurc-sample /var/www/cgi-bin/namazu/.namazurc
- [ File-MMagic ]の位置を指定しつつ、configure。
locateのインストール
locateがない・・・
findは入ってるけど、locateも使いたい。
そんな時は
yum install mlocate
これでまだ行けそう。
どうしようもない時は
find / -name hogehoge
で行くしか無い。
iptables を直接編集で
いろいろと面倒になってきたので、iptablesは直接編集することにする。
Stray Penguinさまのサイトにすごく詳しく書いてある。全部通して読みたいけど時間がない。
とりあえず、
vi /etc/sysconfig/iptables
で、編集することができる。
デフォルトは
# Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
ってカンジで、2行目に「このファイルを直接編集するのはお勧めしないよ」って書いてあるけど、
気にしないことにする。
iptables -F
をやってしまった直後だと、
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] COMMIT
しか書いてなくて、参考になるものがないかもしれない。
この状態だと、
INPUT → すべて許可 FORWARD → すべて許可 OUTPUT → すべて許可
ということになる。
サーバだからINPUTがなきゃOUTPUTしない、と思い込んでいるので、INPUTとFORWARDについて主に書いていく。
デフォルトのファイルを参考に修正するだけなら、大丈夫かな?
# Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT # -A RH-Firewall-1-INPUT -p 50 -j ACCEPT # -A RH-Firewall-1-INPUT -p 51 -j ACCEPT # -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT # -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT # -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # SSH -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT # HTTP -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT # NTP -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT # HTTPS -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT # MySQL -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 3306 -j ACCEPT # Zabbix-Agent -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 10050 -j ACCEPT # Zabbix-Trapper -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.1.0/24 --dport 10051 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT
こんなかんじにしてみた。
SSH、MySQL、Zabbixは家の中からのアクセスしか無いので。
デフォルトで入ってる631(IPP)とか5353(mDNS)は使うかどうかわからないので一旦コメントアウト。
必要に応じて、
# zend server -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10081 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10082 -j ACCEPT # deep security -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 4118 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 4119 -j ACCEPT
とか加えてもいいかも。
du で指定ディレクトリの容量を見たい
たまにはmanを見てみるのもいいもので。
du の man ページ を見てみたら
–max-depth=N
コマンドライン引数より最大 N 個下の階層までのディレクトリを (–all の指定があればファイルも)集計する。 –max-depth=0 なら、–summarize と同等となる。
とのこと。
つーことで
du -h --max-depth=1 /var/www/
とかやってみたら
58G /var/www/html 924K /var/www/icons 224K /var/www/error 8.0K /var/www/cgi-bin 58G /var/www/
みたいな。
便利。
ユーザ設定
ユーザ設定についていろいろ。
- chkconfig とか command not found の時 (path の通し方) ... 2013/04/11 12:09:44
- wheel グループのみ root 化 と root でのログイン禁止 ... 2013/04/11 12:18:04
- ユーザとグループの確認 ... 2013/04/11 12:09:17