Category - Linux

CentOS 8 遅い対策

# systemctl stop ksmtuned
# systemctl disable ksmtuned

# systemctl stop ksm
# systemctl disable ksm

read more

CentOS 8 node.js yarn install

# curl -sL https://rpm.nodesource.com/setup_12.x | bash -
# dnf install -y nodejs

# curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
# dnf install -y yarn

read more

CentOS 8 iptables 利用

既存のFireWallを止める
# systemctl stop firewalld.service
# systemctl mask firewalld.service
Created symlink /etc/systemd/system/firewalld.service → /dev/null.

確認
# systemctl list-unit-files | grep firewalld
firewalld.service masked

# dnf install -y iptables-services
# systemctl start iptables.service
Created symlink /etc/systemd/system/basic.target.wants/iptables.service → /usr/lib/systemd/system/iptables.service.

# systemctl list-unit-files | grep iptables
iptables.service enabled

# systemctl start ip6tables.service
# systemctl enable ip6tables.service
Created symlink /etc/systemd/system/basic.target.wants/ip6tables.service → /usr/lib/systemd/system/ip6tables.service.

# systemctl list-unit-files | grep ip6tables
ip6tables.service enabled

------------------------------------------
#clear
/sbin/iptables -F
/sbin/iptables -X
#policy
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -p icmp -j ACCEPT
/sbin/iptables -A INPUT -i lo -j ACCEPT
#http
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 10000 -j ACCEPT

#ssh
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT

# rails
/sbin/iptables -A INPUT -p tcp --dport 3000 -j ACCEPT

# django
/sbin/iptables -A INPUT -p tcp --dport 8000 -j ACCEPT

#webmin
/sbin/iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 10000 -j ACCEPT


# for samba
/sbin/iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 139 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.1/24 -p udp --dport 137 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.1/24 -p udp --dport 138 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 445 -j ACCEPT


/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

systemctl restart iptables.service
---------

#systemctl restart iptables.service

read more

CentOS 8 python 設定

python3が既にインストールされている

# which python3
/usr/bin/python3

# alternatives --config python
2 プログラムがあり 'python' を提供します。

選択 コマンド
-----------------------------------------------
*+ 1 /usr/libexec/no-python
2 /usr/bin/python3

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2

# python --version
Python 3.6.8

# update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1

read more

CentOS 8 ログイン設定

確認
# systemctl get-default
multi-user.target

グラフィカルログインをやめる
# systemctl set-default multi-user.target

# systemctl get-default
multi-user.target

read more

Awstats インストール

# perl -MCPAN -e "CPAN::Shell->install('Bundle::CPAN')"
# perl -MCPAN -e "CPAN::Shell->install('Digest::MD5')"
# perl -MCPAN -e "CPAN::Shell->install('Encode')"
# perl -MCPAN -e "CPAN::Shell->install('HTML::Entities')"
# perl -MCPAN -e "CPAN::Shell->install('LWP::UserAgent')"
# perl -MCPAN -e "CPAN::Shell->install('POSIX')"
# perl -MCPAN -e "CPAN::Shell->install('Socket')"
# perl -MCPAN -e "CPAN::Shell->install('Switch')"
# perl -MCPAN -e "CPAN::Shell->install('Time::Local')"
# perl -MCPAN -e "CPAN::Shell->install('URI::Escape')"
# perl -MCPAN -e "CPAN::Shell->install('strict')"
# perl -MCPAN -e "CPAN::Shell->install('var')"

# wget wget http://downloads.sourceforge.net/project/awstats/AWStats/7.0/awstats-7.0-1.noarch.rpm
# rpm -ivh awstats-7.0-1.noarch.rpm

準備中... ########################################### [100%]
1:awstats 警告: /etc/awstats/awstats.model.conf は /etc/awstats/awstats.model.conf.rpmorig として保存されました。
########################################### [100%]

----- AWStats 7.0 - Laurent Destailleur -----
AWStats files have been installed in /usr/local/awstats

If first install, follow instructions in documentation
(/usr/local/awstats/docs/index.html) to setup AWStats in 3 steps:
Step 1 : Install and Setup with 準備中... ########################################### [100%]
1:awstats 警告: /etc/awstats/awstats.model.conf は /etc/awstats/awstats.model.conf.rpmorig として保存されました。
########################################### [100%]

----- AWStats 7.0 - Laurent Destailleur -----
AWStats files have been installed in /usr/local/awstats

If first install, follow instructions in documentation
(/usr/local/awstats/docs/index.html) to setup AWStats in 3 steps:
Step 1 : Install and Setup with awstats_configure.pl (or manually)
Step 2 : Build/Update Statistics with awstats.pl
Step 3 : Read Statistics (or manually)
Step 2 : Build/Update Statistics with awstats.pl
Step 3 : Read Statistics

read more

Ubuntu composer install

$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
$ echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc
$ source .bashrc

read more

ubuntu MySQLインストール

Ubuntu 18.04 LTS

インストール
$ apt install mysql-server

初期状態ではパスワードが設定されていないのでここで設定しておく
{PW}に新しいパスワード

$ sudo mysql -u root -p
mysql> use mysql;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '{PW}';
mysql> FLUSH PRIVILEGES;

read more

Linux mailコマンドが使えない場合

# yum install -y mailx

read more

Linux メールが使えない場合

メールサーバーでこういうエラーが出てPHPからメールが使えない場合

postfix/sendmail[29587]: fatal: open /etc/postfix/main.cf: Permission denied

コマンドでメールの使用可否状態を確認
# getsebool httpd_can_sendmail
httpd_can_sendmail --> off

このコマンドで状態を変更する
# setsebool -P httpd_can_sendmail on

確認
# getsebool httpd_can_sendmailon
httpd_can_sendmail --> on

read more

Mecab辞書アップデート

Cent OS6にyumでインストールしたmecabの辞書更新

https://code.google.com/p/mecab/downloads/detail?name=mecab-ipadic-2.7.0-20070801.tar.gz 辞書データをダウンロード

tar xvzf mecab-ipadic-2.7.0-20070801.tar.gz
cd mecab-ipadic-2.7.0-20070801
./configure --with-charset=utf8 --prefix=/usr
make
make install

read more

mailparse インストール時のエラー

# pecl install mailparse
pecl/mailparse requires PHP extension "mbstring"
No valid packages found

こんなエラーがでたときはこっちでインストールする

# yum install php-pecl-mailparse


read more

Cent OS 6.5 ウィルス対策?

さくらVPSから連絡があって不正なトラフィックが発生していることが判明。
/tmp 以下に kav というファイルができてこれが起動されるタイミングでCPU稼働率が上昇し、不正なトラフィックが発生しているもよう。

検索しても対応が出てこないので
毎分/tmp/kav ファイルと一緒に生成される ga.sh.1や.statsディレクトリを削除するシェルを実行。
ついでにkavのプロセスが実行されていたらkillするように指定。

/bin/rm -f -R /tmp/.stats
/bin/rm -f /tmp/kav*
/bin/rm -f /tmp/ga.sh*

/bin/kill -9 `ps auxw | grep kav | egrep -v grep | awk '{print $2}'`

read more

Proftpd パスモード有効

/etc/proftpd.conf に追加

PassivePorts 7030 7050
AllowForeignAddress on

/etc/init.d/proftpd restart

read more

yum install ffmpeg

Cent OS 6 64bit さくらVPSサーバーへのfmpegのインストール

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm

# rpm -Uvh rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm

# yum --enablerepo=rpmforge install -y ffmpeg

Installed:
ffmpeg.x86_64 0:0.6.5-1.el6.rf

Dependency Installed:
SDL.x86_64 0:1.2.14-3.el6 a52dec.x86_64 0:0.7.4-8.el6.rf
dirac-libs.x86_64 0:1.0.2-4.el6 faac.x86_64 0:1.26-1.el6.rf
ffmpeg-libpostproc.x86_64 0:0.6.5-1.el6.rf gsm.x86_64 0:1.0.13-4.el6
lame.x86_64 0:3.99.5-1.el6.rf libXxf86vm.x86_64 0:1.1.0-1.el6
libdc1394.x86_64 0:2.1.2-3.4.el6 libogg.x86_64 2:1.1.4-2.1.el6
libraw1394.x86_64 0:2.0.4-1.el6 librtmp.x86_64 0:2.3-1.el6.rf
libtheora.x86_64 1:1.1.0-2.el6 libva.x86_64 0:1.0.15-1.el6
mesa-dri-drivers.x86_64 0:7.11-5.el6 mesa-libGL.x86_64 0:7.11-5.el6
opencore-amr.x86_64 0:0.1.2-1.el6.rf orc.x86_64 0:0.4.16-6.el6
schroedinger.x86_64 0:1.0.10-1.el6.rf speex.x86_64 0:1.2-0.12.rc1.1.el6
x264.x86_64 0:0.0.0-0.4.20101111.el6.rf

Complete!

read more

SCP利用時

yum install openssh-clients

read more

yum install webmin

# cd /etc/yum.repos.d/
# vi webmin.repo
--------
[webmin]
name=Webmin Distribution Neutral
baseurl=http://download.webmin.com/download/yum
enabled=1
--------

# rpm --import http://www.webmin.com/jcameron-key.asc

# yum install webmin

read more

Can't locate CPAN.pm in @INC

# yum install perl-CPAN で解決

read more

CentOS6 PHP 5.3.9 openssl エラー解決

こんなエラーがでてコンパイルできない場合
make: *** [ext/openssl/openssl.lo] Error 1

古いバージョンのopenssl 0.98 を入れなおす

wget ftp://ftp.openssl.org/snapshot/openssl-0.9.8-stable-SNAP-20121213.tar.gz
tar xvzf openssl-0.9.8-stable-SNAP-20121213.tar.gz
cd openssl-0.9.8-stable-SNAP-20121213
./config --prefix=/usr/local shared -fPIC
make
make install

./configure --with-libdir=lib64 --with-apxs2=/usr/local/apache2/bin/apxs --enable-magic-quotes --enable-mbregex --enable-mbstring --enable-zend-multibyte --with-mysql=/usr/local/mysql --with-zlib --with-gd --with-gettext --with-jpeg-dir --with-png-dir --with-iconv-dir=/usr/lib --disable-pdo --with-curl --with-openssl=/usr/local/include
./configure --with-libdir=lib64 --with-apxs2=/usr/local/apache2/bin/apxs --enable-magic-quotes --enable-mbregex --enable-mbstring --enable-zend-multibyte --with-mysql=/usr/local/mysql --with-zlib --with-gd --with-gettext --with-jpeg-dir --with-png-dir --with-iconv-dir=/usr/lib --disable-pdo --with-curl --with-openssl
make
make install

read more

MySQLインストール時のエラー

checking for termcap functions library... configure: error: No curses/termcap library found


yum install ncurses-devel で解決

read more

CentOS ProFTPD インストール 

CentOSの標準のリポジトリには、ProFTPDが登録されていないので、yumやrpmではインストールできません。
ソースからインストール

# wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.4b.tar.gz
# tar xzf proftpd-1.3.4b.tar.gz
# cd proftpd-1.3.4b
# ./ configure
# make
# make install

/usr/local/etc/proftpd.conf内

ServerType inetd を確認 xinetd経由での起動


# cp contrib/dist/rpm/xinetd contrib/dist/rpm/proftpd
# cp contrib/dist/rpm/proftpd /etc/xinetd.d/
# /etc/init.d/xinetd restart

read more

CentOS 5.4 にyumをインストール

アダルト向けVPSでyumが有効でなかったため
CentOSの古いバージョンのミラーはhttp://vault.centos.org/

ディストリビューションの確認
# cat /etc/redhat-release
CentOS release 5.4 (Final)
# uname -a
Linux fairy-live.com 2.6.18-028stab068.3 #1 SMP Tue Feb 16 20:21:42 MSK 2010 i686 i686 i386 GNU/Linux

次のコマンドを実行

wget http://vault.centos.org/5.4/os/i386/CentOS/python-elementtree-1.2.6-5.i386.rpm
wget http://vault.centos.org/5.4/os/i386/CentOS/sqlite-3.3.6-5.i386.rpm
wget http://vault.centos.org/5.4/os/i386/CentOS/sqlite-devel-3.3.6-5.i386.rpm
wget http://vault.centos.org/5.4/os/i386/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
wget http://vault.centos.org/5.4/os/i386/CentOS/python-sqlite-1.1.7-1.2.1.i386.rpm
wget http://vault.centos.org/5.4/os/i386/CentOS/rpm-python-4.4.2.3-18.el5.i386.rpm
wget http://vault.centos.org/5.4/os/i386/CentOS/m2crypto-0.16-6.el5.6.i386.rpm
wget http://vault.centos.org/5.4/os/i386/CentOS/python-urlgrabber-3.1.0-5.el5.noarch.rpm
wget http://vault.centos.org/5.4/os/i386/CentOS/libxml2-2.6.26-2.1.2.8.i386.rpm
wget http://vault.centos.org/5.4/os/i386/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
wget http://vault.centos.org/5.4/os/i386/CentOS/yum-3.2.22-20.el5.centos.noarch.rpm
wget http://vault.centos.org/5.4/os/i386/CentOS/yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm

rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5

chmod +x *

rpm -ihv python-elementtree-1.2.6-5.i386.rpm
rpm -ihv sqlite-3.3.6-5.i386.rpm
rpm -ihv sqlite-devel-3.3.6-5.i386.rpm
rpm -ihv python-iniparse-0.2.3-4.el5.noarch.rpm
rpm -ihv python-sqlite-1.1.7-1.2.1.i386.rpm
rpm -ihv rpm-python-4.4.2.3-18.el5.i386.rpm
rpm -ihv m2crypto-0.16-6.el5.6.i386.rpm
rpm -ihv python-urlgrabber-3.1.0-5.el5.noarch.rpm
rpm -ihv libxml2-2.6.26-2.1.2.8.i386.rpm
rpm -ihv yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
rpm -ihv yum-3.2.22-20.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm


read more

mod_perl インストール

ここから環境にあったものをダウンロード
http://perl.apache.org/download/index.html

# tar xvzf mod_perl-2.0-current.tar.gz
# cd mod_perl-2.0.7/
# perl Makefile.PL USE_APXS=1 WITH_APXS=/usr/local/apache2/bin/apxs EVERYTHING=1
# make
# make install

httpd.confに記述追加
LoadModule perl_module modules/mod_perl.so

Apacheを再起動

read more

Linux JAVA環境設定

/etc/profile


export JAVA_HOME=/usr/local/j2sdk1.4.2_19
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tool

read more

sendmail PHP 起動後のエラー

/etc/alias
post: "|/usr/local/bin/php path to php file"

こんなエラーが出た場合
----- Transcript of session follows -----
smrsh: "php" not available for sendmail programs (stat failed)
554 5.0.0 Service unavailable

シンボリックリンクを張ることで解決

# ln -s /usr/local/bin/php /etc/smrsh

read more

さくらVPS yum webminインストール

yum用のファイルを作成

# vi /etc/yum.repos.d/webmin.repo

記述
[webmin]
name=Webmin Distribution Neutral
baseurl=http://download.webmin.com/download/yum
enabled=1

# rpm --import http://www.webmin.com/jcameron-key.asc
# yum install webmin
# /etc/init.d/webmin start

read more

yum でインストール出来ない場合

設定ファイル内で除外されている場合あり

/etc/yum.conf

例)
exclude=kernel* perl* mysql* php* psa*

read more

Error while opening codec for output stream #0.1

ffmpeg の動画変換でこんなエラーが出た場合

Error while opening codec for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height

abの値が高い場合におきる

-ar 44100などでサンプリングレートも上げる

スマートフォン向け動画変換の際に起きやすい

read more

MySQL Server インストール 設定

インストール
# yum install mysql-server

初期化
# mysql_install_db --user=mysql

起動
# mysqld_safe &

ユーザー設定
# mysqladmin -u root password PASSWORD

停止
# /etc/init.d/mysqld stop

起動
# /etc/init.d/mysqld start

read more

ffmpeg ライブラリが認識されない場合

/usr/local/bin/ffmpeg: error while loading shared libraries:
libavdevice.so.52: cannot open shared object file: No such file or
directory

こんなエラーが出た場合

/usr/local/lib 以下がライブラリとして認識されていないのが原因

解決法
・/etc/ld.so.conf にパスを書けば認識される
・/etc/ld.so.conf.d にパスを書いたファイルを置けば認識される

# touch /etc/ld.so.conf.d/ffmpeg-lib-path.conf
# vi /etc/ld.so.conf.d/ffmpeg-lib-path.conf
 /usr/local/lib を記述
# ldconfig で反映

read more

MP4Boxインストール

yum install zlib-devel
yum install libX11-devel
yum install libXt-devel
yum install wxBase wxGTK wxGTK-devel wxGTK-gl
yum install freeglut freeglut-devel

wget http://www.libsdl.org/release/SDL-1.2.14.tar.gz
tar xvzf SDL-1.2.14.tar.gz
cd SDL-1.2.14
./configure
make
make install

wget http://downloads.sourceforge.net/gpac/gpac-0.4.5.tar.gz
tar xvzf gpac-0.4.5.tar.gz
cd gpac
chmod 544 configure
./configure --disable-wx
make lib
make apps
make install

read more

MySQL文字化けの解消

my.cnf

[mysqld]
default-character-set=utf8
skip-character-set-client-handshake

read more

PHP 5.2.17 インストール

デフォルトで PHP 5.1.6の場合

キーのインストール

# wget http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
# rpm --import RPM-GPG-KEY-jlitka


レポジトリファイルの作成
# vi /etc/yum.repos.d/utterramblings.repo

[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
#使用するときだけ1に設定する
#enabled=1
enabled=0
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

インストール
# yum --enablerepo=utterramblings install php

確認
# php -v
PHP 5.2.17 (cli) (built: Sep 1 2011 17:22:41)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

read more

phpでCronを書き換える

ユーザー単位のcronは/var/spool/cron/ にユーザー名で保存されてるから
ここを書き換えればいい。

しかし、パーミッションが600とか644じゃないと動かない。
cron BAD FILE MODE

権限あたりが面倒なので
どこか一時的な場所に書き出して /var/spool/cron/以下にコピーするのがいいみたい。
コピー先にあらかじめファイルを作っておき、パーミッションを600にしておく。
上書きしてもパーミッションは引き継がれるため。

read more

SE Linuxを無効にする

# echo 0 > /selinux/enforce

read more

yum install php-eaccelerator

レポジトリのインストール
wget http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm
rpm -Uvh epel-release-6-5.noarch.rpm

wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
rpm -Uvh remi-release-5.rpm

php-eacceleratorを確認後、インストール
yum list "php-eaccelerator*"
yum install php-eaccelerator
php -v
ls /etc/php.d/

eaccelerator.ini内の値を書き換え
eaccelerator.shm_size = "32"

read more

Cron結果のメール通知をやめる

/etc/crontab

MAILTO=root → MAILTO=''

read more

CentOS webmin インストール

# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.570-1.noarch.rpm
# rpm -i webmin-1.570-1.noarch.rpm

read more

Cent OS gitインストール

# rpm -qpl http://repo.webtatic.com/yum/centos/5/latest.rpm
# rpm -ivh http://repo.webtatic.com/yum/centos/5/latest.rpm
# yum install --enablerepo=webtatic git

# git --version
git version 1.7.6.1

read more

Cent OSのアップデート

# cat /etc/redhat-release
CentOS release 5.3 (Final)

# yum clean all
# yum update glibc\*
# yum update yum\* rpm\* pyth\*
# yum clean all
# yum update mkinitrd nash
# yum update selinux\*
# yum update

# cat /etc/redhat-release
CentOS release 5.7 (Final)

read more

PHP jsonインストール

# yum install php-devel php-pear
# yum install -y glibc glibc.i386 gcc
# yum install -y automake autoconf
# yum install -y libtool
# yum install -y gcc-c++
# pecl install json
# cd /etc/php.d/
# ls
# touch json.ini
# vi json.ini

extension=json.so を記述

# apachectl restart
# exit

json_encode が利用できる

read more

MP4Box gpac インストールエラー

/usr/bin/ld: cannot find -lglut
collect2: ld returned 1 exit status
make[1]: *** [libgpac.so] Error 1
make[1]: Leaving directory `/home/admin/src/gpac/src'
make: *** [lib] Error 2

glutをインストールして解決

# yum install freeglut
# yum install freeglut-devel

read more

SE Linuxを無効にする

# vi /etc/sysconfig/selinux

SELINUX=enforcing

SELINUX=disabled


コマンド
# setenforce 0

確認
# getenforce

Enforcing が出たら、有効。
Permissive が出たら、無効。

read more

Linux CentOS いらないメールを自動削除

対話型でコマンドを入力できるexpectをインストール

# wget http://jaist.dl.sourceforge.net/project/tcl/Tcl/8.4.14/tcl8.4.14-src.tar.gz
# tar xvzf tcl8.4.14-src.tar.gz
# cd tcl8.4.14/unix
# ./configure -enable-shared -prefix=/usr
# make
# make install

sorceforgeから手動でダウンロード
# tar xvzf expect5.45.tar.gz
# cd expect5.45
# ./configure -with-tclinclude=/usr/local/src/tcl8.4.14/generic -prefix=/usr
# make
# make install


こんなシェルを作って定期的に実行してメールボックスを空にする
「root」の例
——————————————————————————————-
#!/bin/sh
# mail box clean up
#

# remove root mail box
/usr/bin/expect -c "
set timeout 60
spawn mail -u root

expect \"& \";
send \"delete *\r\";

expect \"& \";
send \"quit\r\";

"
——————————————————————————————-

read more

CentOS webmin インストール

# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.340-1.noarch.rpm
# rpm --install webmin-1.340-1.noarch.rpm

read more

出力ログの確認、変更

postfixがどこにログを出しているか分からないときなどに

lsof コマンドで syslogd が開いているファイルを見れます。
# lsof -c syslogd

こんなのを見つける
syslogd 1780 root 3w REG 8,2 132863 3703535 /usr/local/psa/var/log/maillog


/etc/syslog.conf の記述を変更

# Log all the mail messages in one place.
#mail.* -/usr/local/psa/var/log/maillog
mail.* -/var/log/maillog


# /etc/init.d/syslog restart で反映

read more

error while loading shared libraries

[root@music sox-12.18.1]# sox
sox: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory
[root@music sox-12.18.1]# ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib
[root@music sox-12.18.1]# sox
sox: Usage: [ gopts ] [ fopts ] ifile [ fopts ] ofile [ effect [ effopts ] ]

シンボリックリンクを張ることで解決

# ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib

read more

mod_python インストールメモ

# yum install python-devel
# wget http://archive.apache.org/dist/httpd/modpython/mod_python-3.3.1.tgz
# tar xvzf mod_python-3.3.1.tgz
# cd mod_python-3.3.1
# cp -p src/connobject.c src/connobject.c.org
# grep 'APR_BRIGADE_SENTINEL(b)' src/connobject.c
# echo "APR_BRIGADE_SENTINEL(b)" | sed 's/APR_BRIGADE_SENTINEL(b)/APR_BRIGADE_SENTINEL(bb)/'
# sed -i 's/APR_BRIGADE_SENTINEL(b)/APR_BRIGADE_SENTINEL(bb)/' src/connobject.c
# diff src/connobject.c src/connobject.c.org
# which python
# ./configure --with-python=/usr/bin/python --with-apxs=/usr/local/apache2/bin/apxs
# make
# make instal

httpd.confに追加

LoadModule python_module modules/mod_python.so

# mod_python test

AddHandler mod_python .py
PythonHandler mptest
PythonDebug On

/usr/local/apache2/htdocs/test/mptest.pyに以下を記述
from mod_python import apache

def handler(req):
req.write("Hello World!")
return apache.OK

ブラウザで/test/mptest.pyへアクセス。「Hello World!」と表示されればmod_pythonの基本動作確認は完了

read more

configure: error: no acceptable C compiler found in $PATH

checking for APR... reconfig
configuring package in srclib/apr now
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
Configuring APR library
Platform: i686-pc-linux-gnu
checking for working mkdir -p... yes
APR Version: 0.9.16
checking for chosen layout... apr
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
configure failed for srclib/apr

こんなエラーがでてコンパイルできない場合

# yum install -y glibc glibc.i386 gcc
# yum install -y automake autoconf
# yum install -y libtool
# yum install -y gcc-c++

read more

ffmpeg セグメンテーション違反です

MPエンコーダー LAMEにエラーがあって動画変換が途中で落ちることがあります。

It has several possible causes:90-0XF.FFE7AE0000000FP+16379ME compiled with buggy version of gcc using advanced optimizations 9% Your system is overclocked 1% bug in LAME encoding libraryInternal buffer inconsistency. flushbits <> ResvSizeInternal buffer inconsistency. flushbits <> ResvSizeInternal buffer inconsistency. flushbits <> ResvSizeInternal buffer inconsistency. flushbits <> ResvSizeセグメンテーション違反です

最新版のlame-3.98.4に入れ直して解決しました。

read more

Linux CPUの温度を調べるコマンド

# yum install lm_sensors

# sensors-detect

いろいろ聞かれるので Enter

/etc/modprobe.conf ができているのを確認

sensorsコマンドで確認

# sensors
it8718-isa-0a10
Adapter: ISA adapter
in0: +1.14 V (min = +0.00 V, max = +4.08 V)
in1: +1.25 V (min = +0.00 V, max = +4.08 V)
in2: +1.84 V (min = +0.00 V, max = +4.08 V)
in3: +2.96 V (min = +0.00 V, max = +4.08 V)
in4: +3.01 V (min = +0.00 V, max = +4.08 V)
in5: +3.20 V (min = +0.00 V, max = +4.08 V)
in6: +1.10 V (min = +0.00 V, max = +4.08 V)
in7: +2.91 V (min = +2.72 V, max = +4.08 V)
in8: +4.08 V
fan1: 2235 RPM (min = 0 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
temp1: +59°C (low = +127°C, high = -53°C) sensor = diode ALARM
temp2: +41°C (low = -1°C, high = +127°C) sensor = thermistor
temp3: +128°C (low = -1°C, high = +127°C) sensor = disabled
vid: +1.188 V

coretemp-isa-0000
Adapter: ISA adapter
Core 0: +57°C (high = +100°C)

coretemp-isa-0001
Adapter: ISA adapter
Core 1: +56°C (high = +100°C)

coretemp-isa-0002
Adapter: ISA adapter
Core 2: +50°C (high = +100°C)

coretemp-isa-0003
Adapter: ISA adapter
Core 3: +51°C (high = +100°C)

read more

ffmpeg 実行時エラー

root 権限以外で実行させるとエラーになる場合があります。


/usr/local/bin/ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory


/etc/ld.so.conf に記述

/usr/local/lib

# ldconfig で反映

read more

error: No curses/termcap library found

MySQLのconfigure途中で

error: No curses/termcap library found

ライブラリをインストールして解決
yum install ncurses-devel

read more

make: g++: Command not found

make: g++: Command not found

こんなエラーがでてコンパイルできない場合

# yum install -y glibc glibc.i386 gcc
# yum install -y automake autoconf
# yum install -y libtool
# yum install -y gcc-c++

read more

MP4Boxによる動画ファイル分割

auでは1.5MBまでの動画ファイルにしなきゃいけないのでこうする

MP4Box -split-size 1440 demo.3g2

ファイルサイズ 1440KBで分割

こんな風にファイルが生成される
demo_001.3g2
demo_002.3g2
demo_003.3g2
demo_004.3g2

PHPではこうやって携帯画面に表示してダウンロードできるようにする


$data = array(
'demo_001.3g2', 'demo_002.3g2', 'demo_003.3g2',
'demo_004.3g2',
);

foreach($data as $k=>$v){

$file_size_row = filesize ($file_path);

?>







}
?>

read more

ffmpeg-php-0.6.0 コンパイルエラー

make 時にこんなエラーが出た場合

/usr/local/src/ffmpeg-php-0.6.0/ffmpeg_frame.c:421: error: ‘PIX_FMT_RGBA32′ undeclared (first use in this function)

fmpeg_frame.c の中で「RGBA32」を全部「RGBA」に置換にしたらOK

php_convert_frame(ff_frame, PIX_FMT_RGBA32);
 ↓
php_convert_frame(ff_frame, PIX_FMT_RGBA);

avpicture_alloc((AVPicture*)frame, PIX_FMT_RGBA32, width, height);
 ↓
avpicture_alloc((AVPicture*)frame, PIX_FMT_RGBA, width, height);

ff_frame->pixel_format = PIX_FMT_RGBA32;
 ↓
ff_frame->pixel_format = PIX_FMT_RGBA;

# make
# make install でインストール成功

read more

db.h: No such file or directory

drac インストールの途中でこんなエラーが出た場合

db4をインストールして解決

[root@localhost drac]# yum install db4
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: ftp.nara.wide.ad.jp
* base: ftp.nara.wide.ad.jp
* epel: ftp.kddilabs.jp
* extras: ftp.nara.wide.ad.jp
* updates: ftp.nara.wide.ad.jp
Setting up Install Process
Package db4-4.3.29-10.el5.i386 already installed and latest version
Nothing to do
[root@localhost drac]# yum install db4-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: ftp.nara.wide.ad.jp
* base: ftp.nara.wide.ad.jp
* epel: ftp.kddilabs.jp
* extras: ftp.nara.wide.ad.jp
* updates: ftp.nara.wide.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package db4-devel.i386 0:4.3.29-10.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================================
Package Arch Version Repository Size
=================================================================================================================================================
Installing:
db4-devel i386 4.3.29-10.el5 base 1.9 M

Transaction Summary
=================================================================================================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 1.9 M
Is this ok [y/N]: y
Downloading Packages:
db4-devel-4.3.29-10.el5.i386.rpm 6% [=== ] 0.0 B/s | 136 kB --:-- ETA
db4-devel-4.3.29-10.el5.i386.rpm 20% [=========- ] 435 kB/s | 400 kB 00:03 ETA
db4-devel-4.3.29-10.el5.i386.rpm 31% [=============== ] 455 kB/s | 632 kB 00:02 ETA
db4-devel-4.3.29-10.el5.i386.rpm 47% [======================- ] 484 kB/s | 936 kB 00:02 ETA
db4-devel-4.3.29-10.el5.i386.rpm 61% [============================= ] 511 kB/s | 1.2 MB 00:01 ETA
db4-devel-4.3.29-10.el5.i386.rpm 78% [=====================================- ] 549 kB/s | 1.5 MB 00:00 ETA
db4-devel-4.3.29-10.el5.i386.rpm 95% [============================================== ] 585 kB/s | 1.9 MB 00:00 ETA
db4-devel-4.3.29-10.el5.i386.rpm | 1.9 MB 00:02
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : db4-devel 1/1

Installed:
db4-devel.i386 0:4.3.29-10.el5

Complete!
[root@localhost drac]# make
cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -g -c -o rpc.dracd.o rpc.dracd.c
cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -g -c -o drac_svc.o drac_svc.c
cc -o rpc.dracd rpc.dracd.o drac_xdr.o drac_svc.o -ldb
[root@localhost drac]# make install
install -c -o bin -g bin -m 0755 rpc.dracd /usr/local/sbin
[root@localhost drac]#

read more

TOP

#!/bin/bash
date +"%Y.%m.%d %H:%M:%S"
uptime | grep " load average:" | awk '{print " LoadAverage(user"$8"):"$10,$11,$12}'
top -n 1 -b -d 1 | grep ^Cpu | \
sed -e "s/^/ /g;s/$/\n memory:\ `free -t | \
grep -i ^total | awk '{print int( (1-($3/$2))*100 )}'`\%\(free\)/g"
echo " TCP Connect:"`netstat -an|wc -l`
exit;

read more

webalizer インストール

yum install libpng*
yum install libgd*
yum install gd-devel
wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.21-02-src.tar.Z
tar xvzf webalizer-2.21-02-src.tar.Z
cd webalizer-2.21-02
./configure --with-language=japanese --enable-dns
make
make install

read more

mecab 辞書 再コンパイル

辞書ファイル展開ディレクトリで 新しいCSVファイルを置いた後で
make clean all
make install

read more

postfix maillog のエラー

postfix インストール後にこんなエラーが出た場合

Jul 26 18:56:58 localhost postfix/cleanup[15298]: fatal: open database /etc/postfix/virtual.db: No such file or directory
Jul 26 18:56:59 localhost postfix/master[15112]: warning: process /usr/libexec/postfix/cleanup pid 15298 exit status 1
Jul 26 18:56:59 localhost postfix/master[15112]: warning: /usr/libexec/postfix/cleanup: bad command startup -- throttling


# postmap /etc/postfix/virtual でvirtual.db を作ってpostfix を再起動する

read more

drac インストール時のエラー

dracインストール時にこんなエラーが出た場合

[root@localhost drac]# make
cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -g -c -o rpc.dracd.o rpc.dracd.c
rpc.dracd.c:21:16: error: db.h: No such file or directory
rpc.dracd.c:59: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
rpc.dracd.c: In function 'drac_run':
rpc.dracd.c:103: error: 'BTREEINFO' undeclared (first use in this function)
rpc.dracd.c:103: error: (Each undeclared identifier is reported only once
rpc.dracd.c:103: error: for each function it appears in.)
rpc.dracd.c:103: error: expected ';' before 'bti'
rpc.dracd.c:130: error: 'bti' undeclared (first use in this function)
rpc.dracd.c:133: error: 'dbp' undeclared (first use in this function)
rpc.dracd.c:135: error: 'DB_BTREE' undeclared (first use in this function)
rpc.dracd.c: In function 'dracproc_add_1_svc':
rpc.dracd.c:260: error: 'DBT' undeclared (first use in this function)
rpc.dracd.c:260: error: expected ';' before 'key'
rpc.dracd.c:310: error: 'key' undeclared (first use in this function)
rpc.dracd.c:311: error: 'data' undeclared (first use in this function)
rpc.dracd.c:336: error: 'dbp' undeclared (first use in this function)
rpc.dracd.c: In function 'expire':
rpc.dracd.c:366: error: 'DBT' undeclared (first use in this function)
rpc.dracd.c:366: error: expected ';' before 'key'
rpc.dracd.c:380: error: 'R_FIRST' undeclared (first use in this function)
rpc.dracd.c:394: error: 'key' undeclared (first use in this function)
rpc.dracd.c:395: error: 'data' undeclared (first use in this function)
rpc.dracd.c:397: error: 'dbp' undeclared (first use in this function)
rpc.dracd.c:398: error: 'R_NEXT' undeclared (first use in this function)
rpc.dracd.c:409: error: 'R_CURSOR' undeclared (first use in this function)


# yum install db4-* でライブラリをインストール

Total 985 kB/s | 2.9 MB 00:02
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : db4-utils [1/4]
Installing : db4-java [2/4]
Installing : db4-tcl [3/4]
Installing : db4-devel [4/4]

Installed: db4-devel db4-java.i386 0:4.3.29-9.fc6 db4-tcl.i386 0:4.3.29-9.fc6 db4-utils.i386 0:4.3.29-9.fc6
Complete!


[root@localhost drac]# make
cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -g -c -o rpc.dracd.o rpc.dracd.c
cc -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C -g -c -o drac_svc.o drac_svc.c
cc -o rpc.dracd rpc.dracd.o drac_xdr.o drac_svc.o -ldb

できた!

read more

Tritonn-mysql インストール時のエラー

Cent OS 5 でTritonn-mysql コンパイル時のエラー

checking if struct dirent has a d_ino member... yes
checking if struct dirent has a d_namlen member... no
checking whether signal handlers are of type void... yes
checking wctype.h usability... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking for mbsrtowcs... yes
checking for mbrtowc... yes
checking for mbrlen... yes
checking for wctomb... yes
checking for wcwidth... yes
checking for wcsdup... yes
checking for mbstate_t... yes
checking for nl_langinfo and CODESET... yes
checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for termcap functions library... configure: error: No curses/termcap library found

# yum install ncurses-devel コマンドでncursesライブラリをインストールする

Dependencies Resolved

===============================================================================================================================
Package Arch Version Repository Size
===============================================================================================================================
Installing:
ncurses-devel i386 5.5-24.20060715 base 1.6 M

Transaction Summary
===============================================================================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 1.6 M
Is this ok [y/N]: y
Downloading Packages:
ncurses-devel-5.5-24.20060715.i386.rpm 19% [======= ] 0.0 B/s | 320 kB --:-- ETA
ncurses-devel-5.5-24.20060715.i386.rpm 35% [=============- ] 415 kB/s | 584 kB 00:02 ETA
ncurses-devel-5.5-24.20060715.i386.rpm 55% [=====================- ] 459 kB/s | 928 kB 00:01 ETA
ncurses-devel-5.5-24.20060715.i386.rpm 75% [============================= ] 496 kB/s | 1.2 MB 00:00 ETA
ncurses-devel-5.5-24.20060715.i386.rpm 95% [===================================== ] 535 kB/s | 1.6 MB 00:00 ETA
ncurses-devel-5.5-24.20060715.i386.rpm | 1.6 MB 00:01
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : ncurses-devel [1/1]

Installed: ncurses-devel.i386 0:5.5-24.20060715
Complete!

これでOK

read more

webalizer設定の例

Apacheログ出力設定
CustomLog "|/usr/sbin/cronolog /var/log/httpd/[DOMAIN]/%Y/%m/access_log" combined


設定ファイルを /etc/webalizer/[DOMAIN] にコピー

書き換える部分は以下
OutputDir /var/www/html/webalizer/[DOMAIN]
HistoryName /var/lib/webalizer/[DOMAIN]/webalizer.hist
IncrementalName /var/lib/webalizer/[DOMAIN]/webalizer.current

*HistoryNameの設定で過去データが蓄積される
 ディレクトリ「/var/lib/webalizer/[DOMAIN]」がない場合は作成しておく

webalizerは設定ファイル、ログファイルを指定してコマンドで起動する
cron
/usr/local/bin/webalizer -Q -c /etc/webalizer/[DOMAIN] /var/log/httpd/[DOMAIN]/`date -d 'yesterday' +%Y/%m`/access_log > /dev/null 2>&1

read more

memcached インストール

wget http://monkey.org/~provos/libevent-1.4.10-stable.tar.gz
tar xvzf libevent-1.4.10-stable.tar.gz
cd libevent-1.4.10-stable
./configure
make
make install

/etc/ld.so.conf に /usr/local/lib を追加

wget http://memcached.googlecode.com/files/memcached-1.2.8.tar.gz
tar xvzf memcached-1.2.8.tar.gz
cd memcached-1.2.8
./configure
make
make install

pecl install memcache


Installing '/usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcache.so'
install ok: channel://pecl.php.net/memcache-2.2.5
configuration option "php_ini" is not set to php.ini location
You should add "extension=memcache.so" to php.in

read more

CentsOS yum-updatesd を止める

そのままだと夜中に勝手にupdateして手動updateと干渉してしまうので止める

/etc/init.d/yum-updatesd stop

read more

PHP mail MTA 指定

PHPのmail関数でメールが送信できない、ログ上は送信できても届かない場合は
サーバーのMTAの指定が間違っている場合があります。
以下のようにして正しく設定します

# alternatives --config mta

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

選択 コマンド
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail
2 /usr/sbin/sendmail.postfix

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2

read more

PDO_MYSQLインストール

# pecl install pdo_mysql でうまくいかない場合のメモ。

php, mysqlをソースからインストールしている場合によく起こります。

symbol lookup error: /usr/local/lib/php/20060613/pdo_mysql.so: undefined symbol: php_pdo_declare_long_constant.

こんなエラーの回避。
まずPHPの再インストール。'--disable-pdo' のオプションをつけてコンパイル。
デフォルトでPDOが有効になっているためうまく入らないようです。
php.iniは昔のままでOKです。

PHPのコンパイルが終わったらPDO, PDO_MYSQLをソースからインストール。
wget http://pecl.php.net/get/PDO-1.0.3.tgz
tar xvzf PDO-1.0.3.tgz
cd PDO-1.0.3
phpize
./configure
make
make install

wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar xvzf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
phpize
./configure --with-pdo-mysql=/usr/local/mysql // mysqlをインストールしたディレクトリ
make
make install

php.iniに
extension=pdo.so
extension=pdo_mysql.so を追加。
php -v でエラーがなければOK。

phpinfo(); で PDO, pdo_mysql の項目があることを確認する。

read more

IPアドレスを一発で変えるコマンド

例)
ifconfig eth0 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255

read more

iptables 起動用シェル 詳細版

以下すべてコピーして使います

#!/bin/bash

#---------------------------------------#
# 設定開始 #
#---------------------------------------#

# インタフェース名定義
LAN=eth0

#---------------------------------------#
# 設定終了 #
#---------------------------------------#

# 内部ネットワークのネットマスク取得
LOCALNET_MASK=`ifconfig $LAN|sed -e 's/^.*Mask:\([^ ]*\)$/\1/p' -e d`

# 内部ネットワークアドレス取得
LOCALNET_ADDR=`netstat -rn|grep $LAN|grep $LOCALNET_MASK|cut -f1 -d' '`
LOCALNET=$LOCALNET_ADDR/$LOCALNET_MASK


# ファイアウォール停止(すべてのルールをクリア)
/etc/rc.d/init.d/iptables stop

# デフォルトルール(以降のルールにマッチしなかった場合に適用するルール)設定
iptables -P INPUT DROP # 受信はすべて破棄
iptables -P OUTPUT ACCEPT # 送信はすべて許可
iptables -P FORWARD DROP # 通過はすべて破棄

# 自ホストからのアクセスをすべて許可
iptables -A INPUT -i lo -j ACCEPT

# 内部からのアクセスをすべて許可
iptables -A INPUT -s $LOCALNET -j ACCEPT

# 内部から行ったアクセスに対する外部からの返答アクセスを許可
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SYN Cookiesを有効にする
# ※TCP SYN Flood攻撃対策
sysctl -w net.ipv4.tcp_syncookies=1 > /dev/null
sed -i '/net.ipv4.tcp_syncookies/d' /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.conf

# ブロードキャストアドレス宛pingには応答しない
# ※Smurf攻撃対策
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 > /dev/null
sed -i '/net.ipv4.icmp_echo_ignore_broadcasts/d' /etc/sysctl.conf
echo "net.ipv4.icmp_echo_ignore_broadcasts=1" >> /etc/sysctl.conf

# ICMP Redirectパケットは拒否
sed -i '/net.ipv4.conf.*.accept_redirects/d' /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
sysctl -w net.ipv4.conf.$dev.accept_redirects=0 > /dev/null
echo "net.ipv4.conf.$dev.accept_redirects=0" >> /etc/sysctl.conf
done

# Source Routedパケットは拒否
sed -i '/net.ipv4.conf.*.accept_source_route/d' /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
sysctl -w net.ipv4.conf.$dev.accept_source_route=0 > /dev/null
echo "net.ipv4.conf.$dev.accept_source_route=0" >> /etc/sysctl.conf
done

# フラグメント化されたパケットはログを記録して破棄
iptables -A INPUT -f -j LOG --log-prefix '[IPTABLES FRAGMENT] : '
iptables -A INPUT -f -j DROP

# 外部とのNetBIOS関連のアクセスはログを記録せずに破棄
# ※不要ログ記録防止
iptables -A INPUT -s ! $LOCALNET -p tcp -m multiport --dports 135,137,138,139,445 -j DROP
iptables -A INPUT -s ! $LOCALNET -p udp -m multiport --dports 135,137,138,139,445 -j DROP
iptables -A OUTPUT -d ! $LOCALNET -p tcp -m multiport --sports 135,137,138,139,445 -j DROP
iptables -A OUTPUT -d ! $LOCALNET -p udp -m multiport --sports 135,137,138,139,445 -j DROP

# 1秒間に4回を超えるpingはログを記録して破棄
# ※Ping of Death攻撃対策
iptables -N LOG_PINGDEATH
iptables -A LOG_PINGDEATH -m limit --limit 1/s --limit-burst 4 -j ACCEPT
iptables -A LOG_PINGDEATH -j LOG --log-prefix '[IPTABLES PINGDEATH] : '
iptables -A LOG_PINGDEATH -j DROP
iptables -A INPUT -p icmp --icmp-type echo-request -j LOG_PINGDEATH

# 全ホスト(ブロードキャストアドレス、マルチキャストアドレス)宛パケットはログを記録せずに破棄
# ※不要ログ記録防止
iptables -A INPUT -d 255.255.255.255 -j DROP
iptables -A INPUT -d 224.0.0.1 -j DROP

# 113番ポート(IDENT)へのアクセスには拒否応答
# ※メールサーバ等のレスポンス低下防止
iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset

# ACCEPT_COUNTRY_MAKE関数定義
# 指定された国のIPアドレスからのアクセスを許可するユーザ定義チェイン作成
ACCEPT_COUNTRY_MAKE(){
for addr in `cat cidr.txt|grep ^$1|awk '{print $2}'`
do
iptables -A ACCEPT_COUNTRY -s $addr -j ACCEPT
done
}

# DROP_COUNTRY_MAKE関数定義
# 指定された国のIPアドレスからのアクセスを破棄するユーザ定義チェイン作成
DROP_COUNTRY_MAKE(){
for addr in `cat cidr.txt|grep ^$1|awk '{print $2}'`
do
iptables -A DROP_COUNTRY -s $addr -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES DENY_COUNTRY] : '
iptables -A DROP_COUNTRY -s $addr -j DROP
done
}

# iptables設定スクリプト外部関数取り込み
. /root/iptables_functions

# IPアドレスリスト取得
IPLISTGET

# 日本からのアクセスを許可するユーザ定義チェインACCEPT_COUNTRY作成
iptables -N ACCEPT_COUNTRY
ACCEPT_COUNTRY_MAKE JP
# 以降,日本からのみアクセスを許可したい場合はACCEPTのかわりにACCEPT_COUNTRYを指定する

# 中国・韓国・台湾からのアクセスを破棄するユーザ定義チェインDROP_COUNTRY作成
iptables -N DROP_COUNTRY
DROP_COUNTRY_MAKE CN
DROP_COUNTRY_MAKE KR
DROP_COUNTRY_MAKE TW
# 以降,中国・韓国・台湾からのアクセスを破棄したい場合はDROPのかわりにDROP_COUNTRYを指定する

# IPアドレスリスト削除
rm -f cidr.txt

# 中国・韓国・台湾※からのアクセスをログを記録して破棄
# ※全国警察施設への攻撃元上位3カ国(日本・アメリカを除く)
# http://www.cyberpolice.go.jp/detect/observation.htmlより
iptables -A INPUT -j DROP_COUNTRY

#----------------------------------------------------------#
# 各種サービスを公開する場合の設定(ここから) #
#----------------------------------------------------------#

# 外部からのTCP22番ポート(SSH)へのアクセスを許可
# ※SSHサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 外部からのTCP/UDP53番ポート(DNS)へのアクセスを許可
# ※外部向けDNSサーバーを運用する場合のみ
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT

# 外部からのTCP80番ポート(HTTP)へのアクセスを許可
# ※Webサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# 外部からのTCP443番ポート(HTTPS)へのアクセスを許可
# ※Webサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 外部からのTCP21番ポート(FTP)へのアクセスを許可
# ※FTPサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

# 外部からのPASV用ポート(FTP-DATA)へのアクセスを許可
# ※FTPサーバーを公開する場合のみ
# ※PASV用ポート60000:60030は当サイトの設定例
iptables -A INPUT -p tcp --dport 60000:60030 -j ACCEPT

# 外部からのTCP25番ポート(SMTP)へのアクセスを許可
# ※SMTPサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 25 -j ACCEPT

# 外部からのTCP465番ポート(SMTPS)へのアクセスを許可
# ※SMTPSサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 465 -j ACCEPT

# 外部からのTCP110番ポート(POP3)へのアクセスを許可
# ※POP3サーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 110 -j ACCEPT

# 外部からのTCP995番ポート(POP3S)へのアクセスを許可
# ※POP3Sサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 995 -j ACCEPT

# 外部からのTCP143番ポート(IMAP)へのアクセスを許可
# ※IMAPサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 143 -j ACCEPT

# 外部からのTCP993番ポート(IMAPS)へのアクセスを許可
# ※IMAPSサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 993 -j ACCEPT

# 外部からのUDP1194番ポート(OpenVPN)へのアクセスを許可
# ※OpenVPNサーバーを公開する場合のみ
iptables -A INPUT -p udp --dport 1194 -j ACCEPT

# 外部からのTCP5432番ポートへのアクセスを許可
# ※PostgreSQLサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 5432 -j ACCEPT

#NFS用
iptables -A INPUT -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -p tcp --dport 4001 -j ACCEPT
iptables -A INPUT -p tcp --dport 4002 -j ACCEPT
iptables -A INPUT -p tcp --dport 4003 -j ACCEPT
iptables -A INPUT -p udp --dport 111 -j ACCEPT
iptables -A INPUT -p udp --dport 2049 -j ACCEPT
iptables -A INPUT -p udp --dport 4001 -j ACCEPT
iptables -A INPUT -p udp --dport 4002 -j ACCEPT
iptables -A INPUT -p udp --dport 4003 -j ACCEPT

# VPNインタフェース用ファイアウォール設定
# ※OpenVPNサーバーを公開する場合のみ
[ -f /etc/openvpn/openvpn-startup ] && /etc/openvpn/openvpn-startup


#----------------------------------------------------------#
# 各種サービスを公開する場合の設定(ここまで) #
#----------------------------------------------------------#

# 拒否IPアドレスからのアクセスはログを記録せずに破棄
# ※拒否IPアドレスは/root/deny_ipに1行ごとに記述しておくこと
# (/root/deny_ipがなければなにもしない)
if [ -s /root/deny_ip ]; then
iptables -N DENY_HOST
for ip in `cat /root/deny_ip`
do
iptables -A DENY_HOST -s $ip -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES DENY_HOST] : '
iptables -A DENY_HOST -s $ip -j DROP
iptables -I INPUT -j DENY_HOST
done
fi

# 上記のルールにマッチしなかったアクセスはログを記録して破棄
iptables -A INPUT -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES INPUT] : '
iptables -A INPUT -j DROP
iptables -A FORWARD -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES FORWARD] : '
iptables -A FORWARD -j DROP

# サーバー再起動時にも上記設定が有効となるようにルールを保存
/etc/rc.d/init.d/iptables save

# ファイアウォール起動
/etc/rc.d/init.d/iptables start

read more

ntp インストール

ntp.orgのサーバーがなぜか落ちてるっぽいので
こっちからダウンロード

wget ftp://ftp.udel.edu/pub/ntp/software/ntp-4.2.5p113.tar.gz

tar xvzf
./configure
make
make install

read more

cannot restore segment prot after reloc: Permission denied

「○○.so : cannot restore segment prot after reloc: Permission denied」というエラーが報告されたら

SELinuxのパーミッションチェックでエラーが出るので下記のコマンドで適切なパーミッションに設定する
chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t ○○.so

read more

ImageMagickで扱えるファイルの種類を確認する

convert コマンドが効かない
もしくは
Imagckでエラーが出る場合
PHP Fatal error: Uncaught exception 'ImagickException' with message 'no decode delegate for this image format `/

こんな風にして確認
$ convert -list format
Format Module Mode Description
-------------------------------------------------------------------------------
A* RAW rw+ Raw alpha samples
AI PDF rw- Adobe Illustrator CS2
ART* ART rw- PFS: 1st Publisher Clip Art
ARW DNG r-- Sony Alpha Raw Image Format
AVI* AVI r-- Microsoft Audio/Visual Interleaved
AVS* AVS rw+ AVS X image
B* RAW rw+ Raw blue samples
BMP* BMP rw- Microsoft Windows bitmap image
BMP2* BMP -w- Microsoft Windows bitmap image v2
BMP3* BMP -w- Microsoft Windows bitmap image v3
BRF* BRAILLE -w- BRF ASCII Braille format

read more

OpenCV インストール

# wget http://nchc.dl.sourceforge.net/sourceforge/opencvlibrary/opencv-1.0.0.tar.gz
# tar xvzf opencv-1.0.0.tar.gz
# cd opencv-1.0.0
# ./configure
# make
# make install

/etc/profile に記述
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
# export LD_LIBRALY_PATH=/usr/local/include/opencv

# wget http://search.cpan.org/CPAN/authors/id/J/JI/JIRO/Image-ObjectDetect-0.11.tar.gz
# tar xvzf Image-ObjectDetect-0.11.tar.gz
# cd Image-ObjectDetect-0.11
# perl MakeFile.PL
# make
# make install

read more

subversionをソースからインストール

Cent OS 4.7 でyum install ができなかったためソースからインストール

まずBerkeleyDBをインストールして ld.so.confにlibを記述して反映

# wget http://downloads.sleepycat.com/db-4.3.27.tar.gz
# tar zxvf db-4.3.27.tar.gz
# cd db-4.3.27
# cd build_unix/
# ../dist/configure
# make
# make install
# cd /etc/
# echo /usr/local/BerkeleyDB.4.3/lib >> ld.so.conf
# /sbin/ldconfig


subversionのインストール

# wget http://subversion.tigris.org/downloads/subversion-1.5.4.tar.gz
# tar xvzf subversion-1.5.4.tar.gz
# wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-0.9.17.tar.gz
# wget http://ftp.kddilabs.jp/infosystems/apache/apr/apr-util-0.9.15.tar.gz
# tar xzvf apr-0.9.17.tar.gz
# tar xzvf apr-util-0.9.15.tar.gz
# cp -rf apr-0.9.17 subversion-1.5.4/apr
# cp -rf apr-util-0.9.15 subversion-1.5.4/apr-util
# cd subversion-1.5.4
# ./configure --with-berkeley-db=/usr/local/BerkeleyDB.4.3
# make
# make install


read more

php-5.2.x コンパイルエラー

make 時のエラー

ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor':/usr/local/src/php-5.2.3/ext/iconv/iconv.c:2426:
undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] エラー 1

libiconv をインストールした後に phpのコンパイルオプションに
 --with-iconv=/usr/local

それでもだめなら
/etc/ld.so.conf に /usr/local/lib を追加して ldconfig 後に再コンパイル

read more

SSH ハードウェア交換後に怒られた場合

[admin@dokuo admin]$ ssh 192.168.1.9 -l admin
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
37:cd:20:39:85:5e:10:fe:3d:6c:b3:44:25:82:97:d5.
Please contact your system administrator.
Add correct host key in /home/admin/.ssh/known_hosts to get rid of this message.
Offending key in /home/admin/.ssh/known_hosts:2
RSA host key for 192.168.1.9 has changed and you have requested strict checking.
Host key verification failed.
[admin@dokuo admin]$ rm /home/admin/.ssh/known_hosts
[admin@dokuo admin]$ ssh 192.168.1.9 -l admin
The authenticity of host '192.168.1.9 (192.168.1.9)' can't be established.
RSA key fingerprint is 37:cd:20:39:85:5e:10:fe:3d:6c:b3:44:25:82:97:d5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.9' (RSA) to the list of known hosts.
admin@192.168.1.9's password:
Last login: Mon Nov 24 11:25:09 2008 from 192.168.1.7
[admin@localhost ~]$

ハード交換後にSSHログインしようとしたら怒られた。
おそらく「/home/admin/.ssh/known_hosts」に記録している過去のデータと今のハードのデータが合わなくて認証でけられてるみたい。
LANカードは同じだからMACではなさそう。
なので「/home/admin/.ssh/known_hosts」を削除したらちゃんとログインできた。

read more

CentOS php 5 インストールメモ

yumでインストールするとmecab + Senna でカスタムインストールしたMySQLとうまく連携できなかったためソースからインストール

yum install libjpeg-devel
yum install libpng-devel
yum install gd-devel
yum install freetype-devel

cd php-5.2.6
./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-magic-quotes --enable-mbregex --enable-mbstring --enable-zend-multibyte --with-mysql=/usr/local/mysql --with-zlib --with-gd --with-gettext --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib

make
make install

read more

CentOS memcash インストール rpm

libevent
http://dag.wieers.com/rpm/packages/libevent/

memcached
http://dag.wieers.com/rpm/packages/memcached/
CentOS4 = RHEL4
なので、それのi386版をダウンロード。

read more

CentOS 4.x系からのPHP5へのアップデート

# yum install php php-ldap php-mysql php-pear php-mbstring

Dependencies Resolved

======================================================
Package Arch Version Repository Size
======================================================
Installing:
php i386 4.3.9-3.22.12 update 1.3 M
php-ldap i386 4.3.9-3.22.12 update 36 k
php-mbstring i386 4.3.9-3.22.12 update 922 k
php-mysql i386 4.3.9-3.22.12 update 37 k
php-pear i386 4.3.9-3.22.12 update 481 k
Installing for dependencies:
apr i386 0.9.4-24.9 base 93 k
apr-util i386 0.9.4-22.el4 base 51 k
httpd i386 2.0.52-41.ent.centos4 base 902 k
httpd-suexec i386 2.0.52-41.ent.centos4 base 30 k
mysql i386 4.1.22-2.el4 base 3.1 M
perl-DBI i386 1.40-9 base 466 k

Transaction Summary
=============================================
Install 11 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 7.4 M

CentOS 4.xではPHP4が標準
これをPHP5に変更するためには・・・

vi /etc/yum.repos.d/CentOS-Base.repo

【変更】
#additional packages that extend functionality of existing packages
[centosplus]
enabled=0

enabled=1

#contrib - packages by Centos Users
[contrib] 
enabled=0

enabled=1

【追記】
[dag] 
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1

# yum update php


Running Transaction
Installing: php-common ####################### [ 1/14]
Installing: php-cli ####################### [ 2/14]
Updating : php ####################### [ 3/14]
Updating : php-pear ####################### [ 4/14]
Installing: php-pdo ####################### [ 5/14]
Installing: mysql-libs ####################### [ 6/14]
Updating : php-mbstring ####################### [ 7/14]
Updating : php-mysql ####################### [ 8/14]
Updating : php-ldap ####################### [ 9/14]
Cleanup : php ####################### [10/14]
Cleanup : php-mbstring ####################### [11/14]
Cleanup : php-mysql ####################### [12/14]
Cleanup : php-ldap ####################### [13/14]
Cleanup : php-pear ####################### [14/14]

Dependency Installed: mysql-libs.i386 0:5.0.68-1.el4_6 php-cli.i386 0:5.1.6-3.el4s1.10 php-common.i386 0:5.1.6-3.el4s1.10 php-pdo.i386 0:5.1.6-3.el4s1.10
Updated: php.i386 0:5.1.6-3.el4s1.10
Dependency Updated: php-ldap.i386 0:5.1.6-3.el4s1.10 php-mbstring.i386 0:5.1.6-3.el4s1.10 php-mysql.i386 0:5.1.6-3.el4s1.10 php-pear.noarch 1:1.4.11-1.el4s1.1
Complete!

read more

Linux 初期設定など

CentOS たぶん他のでも共通

/etc/ssh/sshd_config編集
PermitRootLogin no
DenyUsers postgres mysql test apache

setup コマンドでシステムサービスの使わないと思われるサービスを止める

iptables設定
コマンドが面倒なのでWebminを使えば楽
もしくはシェルを作っておく
例)
#clear
/sbin/iptables -F
/sbin/iptables -X
#policy
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -p icmp -j ACCEPT
/sbin/iptables -A INPUT -i lo -j ACCEPT
#http
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#/sbin/iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 80 -j ACCEPT
#/sbin/iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
#ftp
/sbin/iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 21 -j ACCEPT
#ssh
/sbin/iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 22 -j ACCEPT

#postgresql
/sbin/iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 5432 -j ACCEPT

#webmin
/sbin/iptables -A INPUT -s 192.168.1.1/24 -p tcp --dport 10000 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 53 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT

/sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp --dport 110 -j ACCEPT

/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#save
/etc/init.d/iptables save
#restart
/etc/init.d/iptables restart

read more

Courier-POP3, Courier-IMAP インストール

Courier Authentication Library インストール

こんなエラーが出るのを回避する
================================================
rpmbuild -ta ./courier-authlib-0.61.0.tar.bz2
error: Failed build dependencies:
/usr/include/ltdl.h is needed by courier-authlib-0.61.0-1.i386
================================================

yum install openldap-devel
yum install openldap-servers
yum install mysql-devel
yum install postgresql-devel
yum install gdbm-devel
yum provides /usr/include/ltdl.h
yum install -y /usr/include/ltdl.h

ソースを入手してrpmを作ってインストールする
wget http://jaist.dl.sourceforge.net/sourceforge/courier/courier-authlib-0.61.0.tar.bz2
rpmbuild -ta ./courier-authlib-0.61.0.tar.bz2
chmod +x /usr/src/redhat/RPMS/i386/*.rpm
rpm -ivh /usr/src/redhat/RPMS/i386/courier-authlib-0.61-0.i386.rpm
rpm -ivh /usr/src/redhat/RPMS/i386/courier-authlib-devel-0.61-0.i386.rpm
rpm -ivh /usr/src/redhat/RPMS/i386/courier-authlib-userdb-0.61-0.i386.rpm
vi /etc/authlib/authdaemonrc
authmodulelist="authuserdb"があることを確認する なければ追加する
こうなっているのでOK
authmodulelist="authuserdb authpam authpgsql authldap authmysql authcustom authpipe"

Courier-IMAP インストール

root以外のユーザーで行う
分かりにくいので/home/admin/ 以下のディレクトリで行った
cd /home/admin/
mkdir -p rpm/{SOURCES,SPECS,BUILD,RPMS/i386}
echo "%_topdir $HOME/rpm" >> .rpmmacros
wget http://jaist.dl.sourceforge.net/sourceforge/courier/courier-imap-4.0.6.tar.bz2
tar jxvf courier-imap-4.0.6.tar.bz2 courier-imap-4.0.6/courier-imap.spec
sed -i 's/fam/gamin/g' courier-imap-4.0.6/courier-imap.spec
mv courier-imap-4.0.6/courier-imap.spec rpm/SPECS/
mv courier-imap-4.0.6.tar.bz2 rpm/SOURCES/
export PATH=`echo $PATH|sed 's/\/usr\/local\/bin/\/usr\/bin/g'`
rpmbuild -bb --define 'xflags "--enable-unicode=iso-2022-jp,iso-8859-1"' rpm/SPECS/courier-imap.spec
rootで行う
chmod +x rpm/RPMS/i386/courier-imap-4.0.6-1.i386.rpm
rpm -Uvh rpm/RPMS/i386/courier-imap-4.0.6-1.i386.rpm

read more

drac起動スクリプトの修正

# cp dracd-setup.linux /etc/rc.d/init.d/dracd
# /etc/rc.d/init.d/dracd start
execvp: そのようなファイルやディレクトリはありません

こんな風になったときは dracd起動スクリプト内部を書き換える

daemon rpc.dracd&
 ↓
/usr/local/sbin/rpc.dracd&


read more

CentOS5 ffmpeg インストール & 携帯動画変換

subversionをアップデート
wget http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm
rpm -Uhv rpmforge-release-0.3.6-1.el4.rf.i386.rpm
yum -y install subversion

開発用コンパイラライブラリをインストール
yum -y install automake libtool

コーデックをインストール
yum -y install a52dec-devel faac-devel amrnb-devel lame-devel

yumで入れるとffmpegコンパイルの際にエラーが出る以下のライブラリはソースからインストールすること
wget http://downloads.sourceforge.net/faac/faad2-2.6.1.tar.gz?modtime=1193925209&big_mirror=0
ls
tar xvzf faad2-2.6.1.tar.gz
cd faad2
sh bootstrap
./configure
make
make install
wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2
tar jxvf amrnb-7.0.0.2.tar.bz2
cd amrnb-7.0.0.2
./configure
make
make install
wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.2.tar.bz2
tar jxvf amrwb-7.0.0.2.tar.bz2
cd amrwb-7.0.0.2
./configure
make
make install

インストールしたライブラリをOS読み込むように
/etc/ld.so.conf に /use/local/lib を追加する
/sbin/ldconfig で反映

ffmpegの最新ソースをsubversionでとってきてインストール
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg/
./configure --enable-libamr-nb --enable-libamr-wb --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-liba52 --enable-gpl --enable-nonfree --enable-shared
make
make install

read more

ランダムパスワード生成

apg -a1 -m8 -x8 -Mnl -E01iloIO
#aランダム m最小 x最大 M文字種 E未使用

read more

Apache2 mod_rewriteのインストール・設定

./configureに--enable-so --enable-rewrite=sharedを付けて、その後makeします。

./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite=shared
make
make install

その後、Apacheのmodulesディレクトリにmod_rewrite.soがあるか確認。
httpd.confに
LoadModule rewrite_module modules/mod_rewrite.so
という1行を追加。

read more

MeCab PHP extension module

http://page2.xrea.jp/#php_mecab
ここから php_mecab-0.2.0.tgz をダウンロードする

tar xvzf php_mecab-0.2.0.tgz
cd php_mecab-0.2.0
./configure --with-php-config=/usr/local/bin/php-config --with-mecab=/usr/bin/mecab-config
make
make install

find / -name mecab.so で探してみる

見つかったところでphp.iniに追加
extension_dir="/usr/local/lib/php/extensions/no-debug-non-zts-20060613/"
extension=mecab.so
mecab.default_dicdir="/usr/lib/mecab/dic/ipadic"

こんなphpファイルを作ってコマンドで実行
$options = array('-d', '/var/lib/mecab/dic/ipadic');
$t = new MeCab_Tagger($options);
$str = '福田内閣は退陣せよ';
print $t->parse($str);
?>

#php /home/admin/mec.php

福 荐筝・・*,*,*,*,*
田内 ・荅・堺・荅腟膵*,*,*,*
閣 よ・・・筝・・*,*,*,*,*
和 ・荅・堺・荅腟膵*,*,*,*
狄悗擦 蓙・・・筝・・*,*,*,*,*
EOS

こんなのが出てきたらOK


Warning: Module 'mecab' already loaded in Unknown on line 0

Warning: MeCab_Tagger::__construct(): '/var/lib/mecab/dic/ipadic' does not exist or is not readable in /home/admin/mec.php on line 4

Warning: MeCab_Tagger::parse(): first argment seems invalid in /home/admin/mec.php on line 6

こんなエラーが出た場合はmecabの辞書ディレクトリのシンボリックリンクを作成して回避する

# ln -snf /usr/lib/mecab/dic/ipadic/ /var/lib/mecab/dic/ipadic

read more

find コマンド

/usr/bin/find ディレクトリ -name "探す対象名"

削除
/usr/bin/find ディレクトリ -name "探す対象名"  -exec /bin/rm {} \;

read more

Cent OS 5 PHP5.2.5インストール前作業

yum install libxml2-devel
yum install libpng-devel
yum install libjpeg-devel


./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-magic-quotes --enable-mbregex --enable-mbstring --enable-zend-multibyte --with-mysql=/usr/local/mysql --with-zlib --with-gd --with-gettext --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-pdo-mysql =/usr/local/mysql

read more

readline

mysql コンパイルで --without-readline のオプションでエラーが出る場合。

readline ライブラリをインストールしなおし

wget ftp://ftp.gnu.org/gnu/readline/readline-4.3.tar.gz
tar xvzf readline-4.3.tar.gz
cd readline-4.3
./configure
make
make install
ldconfig

read more

Cnet OS コンパイル環境のインストール

# yum install glibc glibc.i386
# yum install gcc

# yum install gcc-c++

# yum install libtool

read more

Cent os 5.1 ネットワークインストール

http://ftp.riken.jp/Linux/centos/5.1/isos/i386/
ここから「CentOS-5.1-i386-netinstall.iso 」をダウンロードしてCDに焼き付ける。

インストール方法選択の画面でFTPを選択

FTPサイト
ftp.riken.jp

CentOS ディレクトリ
Linux/centos/5.1/os/i386

あとは画面の指示通り

read more

Senna + MySQL インストール

sennaインストール後、パッチを当ててMySQLをコンパイル後、インストール
senna/bindings/mysql以下にMySQLのバージョンが指定されているようです

ダインロード 
Senna : http://sourceforge.jp/projects/senna/files/
MySQL : http://downloads.mysql.com/archives.php

tar xvzf senna-0.8.2.tar.gz
cd senna-0.8.2
./configure --prefix=/usr
make
make install
cat /var/senna/senna.conf
cd ..
tar xvzf mysql-5.0.24a.tar.gz
cd mysql-5.0.24a
patch -p1 < ../senna-0.8.2/bindings/mysql/mysql-5.0.24a.senna.diff
patch -p1 < ../senna-0.8.2/bindings/mysql/mysql-5.0.24a.senna.2ind.diff
libtoolize -c -f
aclocal-1.9
autoheader
automake-1.9 -c -a -i
autoconf
touch sql/sql_yacc.yy
./configure --with-charset=utf8 --with-extra-charsets=all --with-mysqld-user=mysql --with-named-c
urses-libs=/usr/lib/libncurses.so.5 --without-readline --with-senna --prefix=/usr/local/mysql
make
make install
ls /usr/local/
cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
chown -R mysql /usr/local/mysql
/usr/local/mysql/bin/mysql_install_db --user=mysql
/usr/local/mysql/bin/mysqld_safe &
ps ax
/usr/local/mysql/bin/mysqlshow
cp /usr/local/mysql/share/mysql/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
/usr/local/mysql/bin/mysqladmin -u root password PASSWORD
/etc/init.d/mysql stop
/etc/init.d/mysql start

動作確認
# mysql -uroot -p
mysql> create database sennatest;
mysql> create table articles(
-> id int unsigned not null auto_increment primary key,
-> body text,
-> fulltext(body)
-> );
mysql> insert into articles values (null,"郵貯民営化は重要な問題だと思う "), (null,"スローライフを志向するiPodの強み - CNET Japan"), (null,"HTML, CSS, Photoshopを同時に学べるサンプル付きデザイン記事:Goodpic"), (null,"jazzanovaの日記 - 現在顧問弁護士に相談中であり、対応についても検討中"), (null,"mixi非公式ニュースサイト - mixiの問題人物Kusakabe氏、強制退会に?"), (null,"むだづかいにっき♂:ネット上で議論を仕掛ける事について"), (null,"はてな perl ハッカーの方々にお聞きします。近頃ますます良い感じなperlですが、どのような開発環境で開発していますでしょうか。"), (null,"シナトラ千代子 - 投げ銭が飛び交うなかでダイアリーに立てこもる、という意味。"), (null,"Going My Way: Skypeの会話をPodcast用に録音する場合の設定方法"), (null,"Kusakabeさんがmixiの一部?を賑わしている。彼にmixi強制退会が言い渡されたのだ。"), (null,"Ringo's Weblog: googleと競合しない方法2 "), (null,"Moleskin Diary - 投げ銭よりたれ銭"), (null,"第38回 海外メディアが伝えた小泉・郵政解散劇の評判 - nikkeibp.jp - 立花隆の「メディア ソシオ-ポリティクス」"), (null,"ほその日記 - フォームが変更された事を知る"), (null,"総選挙はてなと公職選挙法:北海道に住む国家公務員日記 "), (null,"はてな、政党を株式に見立てて総選挙結果を予測 - CNET Japan");

mysql> select * from articles where match (body) against ('mixi');
+----+---------------------------------------------------------------------------------------------------------------+
| id | body |
+----+---------------------------------------------------------------------------------------------------------------+
| 5 | mixi非公式ニュースサイト - mixiの問題人物Kusakabe氏、強制退会に? |
| 10 | Kusakabeさんがmixiの一部?を賑わしている。彼にmixi強制退会が言い渡されたのだ。 |
+----+---------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

全文検索ができることを確認

read more

mecab インストール

http://mecab.sourceforge.net/ ここからダウンロード

$ cd mecab-0.93
$ ./configure --enable-utf8-only --enable-mutex --prefix=/usr
$ make
$ make check
$ sudo make install

$ cd mecab-ipadic-2.7.0-20060707
$ ./configure --with-charset=utf8 --prefix=/usr
$ make
$ sudo make install
$ mecab

ここでエラーが出た
dictionary.cpp(116) [iconv.open(from.c_str(), to.c_str())] iconv_open() failed with from=euc-jp to=utf8

次のように行う
ldconfig
/usr/libexec/mecab/mecab-dict-index -f euc-jp -t utf-8
make install

MeCabの動作確認
#mecab
福田内閣は総辞職せよ
福田 名詞,固有名詞,人名,姓,*,*,福田,フクダ,フクダ
内閣 名詞,一般,*,*,*,*,内閣,ナイカク,ナイカク
は 助詞,係助詞,*,*,*,*,は,ハ,ワ
総 接頭詞,名詞接続,*,*,*,*,総,ソウ,ソー
辞職 名詞,サ変接続,*,*,*,*,辞職,ジショク,ジショク
せよ 動詞,自立,*,*,サ変・スル,命令yo,する,セヨ,セヨ
EOS

read more

NTPインストール ソースから

NTP サーバーのインストール

# wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2.4p4.tar.gz
# tar xvzf ntp-4.2.4p4.tar.gz
# cd ntp-4.2.4p4
# ./configure
# make
# make install

これでインストール終わり
コマンドはこれ
# ntpdate -s ntp.kuins.kyoto-u.ac.jp > /dev/null 2>&1


/etc/cron に書いておく
0 5 * * * /usr/local/bin/ntpdate -s ntp.kuins.kyoto-u.ac.jp > /dev/null 2>&1

read more

Apache 2.0 mod_perl インストール

http://archive.apache.org/dist/perl/ ここから最新版をダウンロードする

tar xzf mod_perl-2.0-current.tar.gz
cd mod_perl-2.0.3
perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs
make
make test
make install

httpd.conf に追加
LoadModule perl_module modules/mod_perl.so

Apache 再起動

read more

putty コンソールで文字色が見えにくい場合

unset LS_COLORS

こんな風にするといいみたいです

read more

NTP インストール Vine Linux

apt-get install ntpd でインストール

/etc/ntp.conf ができているのを確認する

which ntpdateでインストール元を確認する

/usr/local/bin/ntpdate -s ntp.kuins.kyoto-u.ac.jp コマンドを発行してみて date で確認する

/etc/cron に登録する
0 5 * * * /usr/local/bin/ntpdate -s ntp.kuins.kyoto-u.ac.jp > /dev/null 2>&1

read more

MeCab+Hyper Estraierのインストール

Hyper Estraierのインストール
一発目はエラー。

[root@localhost hyperestraier-1.4.10]# make install
mkdir -p /usr/local/include
cp -Rf estraier.h estmtdb.h estnode.h /usr/local/include
mkdir -p /usr/local/lib
cp -Rf libestraier.a libestraier.so.8.35.0 libestraier.so.8 libestraier.so /usr/local/lib
cp: `libestraier.a' の情報を取得できません: そのようなファイルやディレクトリはありません
cp: `libestraier.so.8.35.0' の情報を取得できません: そのようなファイルやディレクトリはありません
cp: `libestraier.so.8' の情報を取得できません: そのようなファイルやディレクトリはありません
cp: `libestraier.so' の情報を取得できません: そのようなファイルやディレクトリはありません
make: *** [install] エラー 1


もう一度手順を最初からやってみる

1.MeCabインストール
http://mecab.sourceforge.jp/ より mecab-0.96.tar.gzとmecab-ipadic-2.7.0-20070610.tar.gz(辞書)をダウンロード。

$ tar xzf mecab-0.96.tar.gz
$ cd mecab-0.96
$ ./configure
$ make
$ su
# make install
# exit
$ cd ..
$ tar xzf mecab-ipadic-2.7.0-20070610.tar.gz
$ cd mecab-ipadic-2.7.0-20070610
$ ./configure
$ make
$ su
# make install

2.libiconvインストール
ソースをダウンロードする。
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.11.tar.gz
$ tar xzf libiconv-1.11.tar.gz
$ cd libiconv-1.11
$ ./configure --prefix=/usr/local
$ make
$ su
# make install

3.qdbmインストール
http://qdbm.sourceforge.net/よりqdbm-1.8.75.tar.gzをダウンロード。
$ tar xzf qdbm-1.8.75.tar.gz
$ cd qdbm-1.8.75
$ ./configure
$ make
$ su
# make install

4.zlibインストール
http://www.zlib.net/よりzlib-1.2.3.tar.gzをダウンロード。
$ tar xzf zlib-1.2.3.tar.gz
$ cd zlib-1.2.3
$ ./configure
$ make
$ su
# make install

5.Hyper Estraierのインストール
http://hyperestraier.sourceforge.net/index.ja.htmlよりhyperestraier-1.4.10.tar.gzをダウンロードする。
$ tar xzf hyperestraier-1.4.10.tar.gz
$ cd hyperestraier-1.4.10
$ ./configure --enable-mecab
$ make
$ su
# make istall

read more

php.ini mb_string 設定

最近ではこのように設定しています

[mbstring]
; language for internal character representation.
mbstring.language = Japanese

; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
mbstring.internal_encoding = EUC-JP

; http input encoding.
mbstring.http_input = auto

; http output encoding. mb_output_handler must be
; registered as output buffer to function
;mbstring.http_output = SJIS

; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
mbstring.encoding_translation = Off

; automatic encoding detection order.
; auto means
mbstring.detect_order = auto

; substitute_character used when character cannot be converted
; one from another
mbstring.substitute_character = none;

; overload(replace) single byte functions by mbstring functions.
; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
; etc. Possible values are 0,1,2,4 or combination of them.
; For example, 7 for overload everything.
; 0: No overload
; 1: Overload mail() function
; 2: Overload str*() functions
; 4: Overload ereg*() functions
;mbstring.func_overload = 0

; enable strict encoding detection.
;mbstring.strict_encoding = Off

read more

NTPインストール

ntpdのインストール

http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.1/ここから
ntp-4.1.1.tar.gz をダウンロード

tar xvzf ntp-4.1.1.tar.gz
cd ntp-4.1.1
./configure
make
make install

ntpdate -s ntp.kuins.kyoto-u.ac.jp

read more

Linux VNCサーバー インストール・設定

VNCはLinuxのデスクトップ環境をWindows上で遠隔操作できるツール

http://www.realvnc.com
ここからvnc-4_1_2-x86_linux[1].tar.gzをダウンロードする

展開後、インストールディレクトリをしていしてvncinstallを起動する
./vncinstall /usr/local/bin

vncviewer vncserver vncpasswd Xvnc が /usr/local/bin にコピーされる

/usr/local/bin をPATHに加える

起動 vncserver :1
初回はパスワードを聞かれるので 適当に設定する


You will require a password to access your desktops.

Password:
Verify:

起動したユーザーのホームディレクトリに .vncというディレクトリができて
この下に設定ファイルやログができる

停止する場合は vncserver -kill :1

Windows 側はvnc-4_1_2-x86_win32_viewer.exeをダウンロードしてダブルクリックで起動する

サーバー指定は (サーバーのIP):1 と入力する 
この数字は vncserver を起動した際に指定した数字になる

その後、パスワードを聞いてくるので
最初に設定したパスワードを入力する

パスワードを変更したいときは vncpasswd で変更可能

read more

webminインストール

http://www.webmin.com/download.html
ここからwebmin-1.320-1.noarch.rpmをダウンロード

rpm でインストールしたほうが楽です
rpm -ivh webmin-1.320-1.noarch.rpm
/etc/init.d/webmin の起動シェルが勝手にできます

/etc/init.d/webmin start / stop で起動停止

http;//host:10000でアクセス

ポート番号を変更したいときは
/etc/webmin/miniserv.conf 内の設定を変えて再起動

read more

ProFTP インストール

http://www.proftpd.org/
ここから最新版をダウンロード
 # tar zxfv proftpd-1.3.0a.tar.gz
 # cd proftpd-1.3.0a
 # ./configure
 # make
 # make install
 # mkdir /var/log/proftpd  

設定がめんどうですw

/usr/local/etc/proftpd.confを編集します
ローカルエリアからアクセスできるように設定

Limit WRITE
Order allow, deny
Allow from 127.0.0.1, 192.168.1.0/24
DenyAll
/Limit
/Anonymous

read more

VineLinux 4.0 インストール

VineLinuxを本家サイトから落としてCDに焼き付けてインストールしました。
http://www.ring.gr.jp/pub/linux/Vine/Vine-4.0/CDIMAGE/ ここのVine40-i386.iso をダウンロード

isoイメージを焼き付けるときは失敗することが多いのでこのフリーソフトを使いました。
DeepBurner Free


 ・「isoイメージ書き込み」を選択して書き込みます。

Vineの場合、CDは一枚で済みます。

私はMacにもインストールしていますw

read more

q-mail 高速メール配信サーバー 構築

q-mail SMTPサーバーを配信上限をあげてDNSキャッシュサーバーとともにインストールしてみました。
big-concurrency.patch を使っています。
こんな感じです。
さらにチューニングは続く・・・

cd /usr/local/src
ls
wget http://cr.yp.to/software/qmail-1.03.tar.gz
wget http://cyberam.dip.jp/linux_server/mail/qmail-date-localtime.patch
wget http://www.ckdhr.com/ckd/qmail-103.patch
wget http://qmail.org/qmail-smtpd-relay-reject
wget http://www.suspectclass.com/~sgifford/qmail/qmail-0.0.0.0.patch
wget http://qmail.org/qmailqueue-patch
ls
tar zxf qmail-1.03.tar.gz
ls
cd qmail-1.03
ls
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch
mkdir -p /package
chmod 1755 /package
tar zxvf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
patch -p1 < ./daemontools-0.76.errno.patch
cd ../
ls
cd ../
ls
cd ../
ls
cd qmail-1.03
ls
daemontools-0.76.errno.patch
rm daemontools-0.76.errno.patch
rm daemontools-0.76.tar.gz
rm -R admin
cd ../
ls
cd /usr/local/src
mkdir -p /package
chmod 1755 /package
wget http://tools.qmail.jp/daemontools/daemontools-0.76.tar.gz
wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch
wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch
cd /usr/local/src
mkdir -p /package
chmod 1755 /package
tar -xvzf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
patch -p1 < ../../daemontools-0.76.errno.patch
package/install
kill -HUP 1
vi /etc/inittab
date | tai64n | tai64nlocal
ls -la /command
ll /command
ps ax
kill -9 3925
kill -9 3927
ps ax
kill -9 3938
ls
ps ax
kill -9 3944
ps ax
kill -9 3941 3943
ps axx
ps ax
ls -la /package/
exit
ntsysv
checkconfig
exit
ps ax
cd qmail-1.03
cd /
ll /command
mv /usr/local/src/admin /package
ll
ll /
ll /command
ln -s envdir /package/admin/daemontools/command/envdir
rm envdir
cd /command
ln -s envdir /package/admin/daemontools/command/envdir
rm envdir
ln -s envdir /package/admin/daemontools/command/envdir
ll
ls
ln -s /package/admin/daemontools/command/envdir ./envdir
ll
ln -s /package/admin/daemontools/command/envuidgid ./envuidgid
rm envuidgid
ln -s /package/admin/daemontools/command/envuidgid ./envuidgid
ll
rm fghack
ln -s /package/admin/daemontools/command/fghack ./fghack
ll
rm multilog
ln -s /package/admin/daemontools/command/multilog ./multilog
ll
rm pgrphack
ln -s /package/admin/daemontools/command/pgrphack ./pgrphack
rm readproctitle
ln -s /package/admin/daemontools/command/readproctitle ./readproctitle
ll
rm setlock
ln -s /package/admin/daemontools/command/setlock ./setlock
ll
ln -s /package/admin/daemontools/command/setuidgid ./setuidgid
rm setuidgid
ln -s /package/admin/daemontools/command/setuidgid ./setuidgid
ll
rm softlimit
ln -s /package/admin/daemontools/command/softlimit ./softlimit
ll
rm supervise
ln -s /package/admin/daemontools/command/supervise ./supervise
ll
rm svc
ln -s /package/admin/daemontools/command/svc ./svc
rm svok
ln -s /package/admin/daemontools/command/svok ./svok
rm svscan
ln -s /package/admin/daemontools/command/svscan ./svscan
rm svscanboot
ln -s /package/admin/daemontools/command/svscanboot ./svscanboot
rm svstat
ln -s /package/admin/daemontools/command/svstat ./svstat
rm tai64n
ln -s /package/admin/daemontools/command/tai64n ./tai64n
rm tai64nlocal
ln -s /package/admin/daemontools/command/tai64nlocal ./tai64nlocal
ll
ps ax
cd /usr/local/src
ls
wget http://www.qmail.org/big-concurrency.patch
ls
cd qmail-1.03
rpm -qa | grep sendmail
rpm -e sendmail sendmail-cd
rpm -e sendmail sendmail-cf
rpm -e sendmail sendmail-cf mdadm fetchmail mutt
rm /var/log/mail/statistics.rpmsave
rm /etc/mail/submit.cf.rpmsave
rm /etc/mail/sendmail.mc.rpmsave
rm /etc/mail/sendmail.cf.rpmsave
ls
mkdir /var/qmail
groupadd nofiles
groupadd qmail
useradd -g nofiles -d /var/qmail -s /bin/false qmaild
useradd -g nofiles -d /var/qmail -s /bin/false qmaill
useradd -g nofiles -d /var/qmail -s /bin/false qmailp
useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
useradd -g qmail -d /var/qmail -s /bin/false qmailq
useradd -g qmail -d /var/qmail -s /bin/false qmailr
useradd -g qmail -d /var/qmail -s /bin/false qmails
patch -s -p1 < ../qmail-date-localtime.patch
patch -s -p1 < ../qmail-103.patch
patch -s -p1 < ../qmail-smtpd-relay-reject
patch -s -p1 < ../qmail-0.0.0.0.patch
cd ../
ls
wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch
wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.qmail_local.patch
cd qmail-1.03
patch -s -p1 < ../qmail-1.03.errno.patch
patch -s -p1 < ../qmail-1.03.qmail_local.patch
patch -s -p1 < ../big-concurrency.patch
make
vi conf-spawn
make
make setup check
cd ../
wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch
wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.a_record.patch
wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.nobase.patch
cd qmail-1.03
rm *.tar.gz
cd ../
tar zxf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch -s -p1 < ../ucspi-tcp-0.88.errno.patch
patch -s -p1 < ../ucspi-tcp-0.88.nobase.patch
patch -s -p1 < ../ucspi-tcp-0.88.a_record.patch
make
make setup check
cd ../qmail-1.03
./config-fast mydomain.com
cd /var/qmail/alias
echo '&postmaster@mydomain.com' > .qmail-mailer-daemon
echo '&postmaster@mydomain.com' > .qmail-postmaster
echo '&postmaster@mydomain.com' > .qmail-root
chmod 644 .qmail-*
vi /etc/tcpserver
tcprules /etc/tcpserver.cdb /etc/tcpserver.smtp < /etc/tcpserver
cd /var/qmail
cp boot/home rc
vi rc
vi rc
vi /etc/init.d/qmail
chmod 755 /etc/init.d/qmail
cd /etc/rc3.d
ln -s ../init.d/qmail S25qmail
ll
ls
service qmail start
ps ax
cd /var/qmail
ls
cd bin
ls
cd /usr/sbin
ln -s /var/qmail/bin/sendmail ./sendmail
ls
ls -la
ls
cd /usr/local/src
wget ftp://ftp.jp.qmail.org/qmail/djbdns-1.05.tar.gz
ls
ll
wget http://www.fefe.de/dns/djbdns-1.05-test23.diff.bz2
ls
bunzip2 djbdns-1.05-test23.diff.bz2
ls
tar zxvf dbjdns-1.05.tar.gz
ls
tar zxvf djbdns-1.05.tar.gz
cd djbdns-1.05
ls
patch -s -p1 ../djbdns-1.05-test23.diff
patch -s ../djbdns-1.05-test23.diff
patch ../djbdns-1.05-test23.diff
groupadd djbdns
ll /sbin/nologin
useradd -g djbdns -s /sbin/nologin dnscache
useradd -g djbdns -s /sbin/nologin dnslog
rm -fR /home/dnscache /home/dnslog
ls /home
make
cd ../
ls
vi qmail-1.03.errno.patch
wget ftp://moni.csi.hu/pub/djbware/patches/djbdns-1.05.errno.patch
wget http://www.thedjbway.org/patches/djb_errno_patches.tgz
tar zxf djb_errno_patches.tgz
ls
cd djbdns-1.05
patch -s -p1 < ../djbdns-1.05.errno.patch
make
make setup check
dnscache-conf dnscache dnslog /var/djbdns/dnscache IPアドレス
mkdir /var/djbdns
dnscache-conf dnscache dnslog /var/djbdns/dnscache IPアドレス
cd /var/djbdns/dnscache/
ls
cd root
ls
cd servers/
ls
vi @
dnsname `cat \@`
vi @
vi @
dnsname `cat \@`
cd /service
ls
ln -s /var/djbdns/dnscache ./
ll
ps ax
svstat /service /dnscache
svstat /service/dnscache
vi /etc/resolv.conf
vi /etc/resolv.conf
nslookup
service named stop
nslookup
vi /etc/hosts
vi /etc/host.conf
netstat -ln
nslookup
rpm -qa | grep bind
rpm -e ypbind bind-utils bind-libs
rpm -e ypbind bind-utils bind-libs yp-tools
nslookup
host
dnscache-conf dnscache dnslog /var/djbdns/dnscache 127.0.0.1
rm -fR /var/djbdns/dnscache
dnscache-conf dnscache dnslog /var/djbdns/dnscache 127.0.0.1
cd /var/djbdns/dnscache
svstat /service/dnscache
cd /
cd ~
cd
ls
vi /etc/resolv.conf
wget wget ftp://ftp.internic.net/domain/named.cache
ls
vi named.cache
vi /var/djbdns/dnscache/root/servers/@
dnsname `\@`
dnsname `cat \@`
dnsname `cat ./\@`
dnsname `cat /var/djbdns/dnscache/servers/\@`
dnsname `cat /var/djbdns/dnscache/root/servers/\@`
svc -t /var/service/dnscache
svc -t /service/dnscache
ps ax
svc -t /service/dnscache
ps ax
ps ax
ps ax
kill -9 supervise
kill -9 1483
ps ax
ntsysv
ps ax
reboot
exit
ps ax
service qmail stop
ps ax
mkdir /var/qmail/services
mkdir /var/qmail/services/qmail
mkdir /var/qmail/services/qmail/log
chmod +t /var/qmail/services/qmail
vi /var/qmail/services/qmail/run
vi /var/qmail/services/qmail/log/run
ll setuidgid
find /* | grep setuidgid
chmod +x /var/qmail/services/qmail/run
chmod +x /var/qmail/services/qmail/log/run
vi /var/qmail/rc
multilog t s 10485760 n 100 /var/log/qmail
cd /var/log/qmail
ls
cd ../
ls
chown qmaill:nofiles /var/log/qmail
chmod 700 /var/log/qmail
ln -s /var/qmail/services/qmail /service/qmail
ps ax
ps ax
vi /var/qmail/services/qmail/run
vi /var/qmail/rc
ps ax
rm /etc/rc3.d/S25qmail
vi /etc/init.d/qmail
rm /etc/init.d/qmail
ls
ls -la
ps ax
kill -9 3363
ps ax
ls /service/qmail/
ll /service/qmail/
rm /service/qmail
ps ax
ps ax
svscan t
cd /service
ls
svc -dx . log
ps ax
cd /var/qmail
ls
ll
cd services/
ll
pwd
ll qmail/
ls
ps ax
readproctitle
readproctitle qmail
reboot

read more

deamontools インストール

Red Hat 9 にdeamontools をインストールしようとしたらいきなりエラー
envdir.o(.text+0xca): In function `main':
: undefined reference to `errno'
envdir.o(.text+0x1ea): In function `main':
: undefined reference to `errno'
unix.a(openreadclose.o)(.text+0x3b): In function `openreadclose':
: undefined reference to `errno'
unix.a(pathexec_run.o)(.text+0xf6): In function `pathexec_run':
: undefined reference to `errno'
unix.a(pathexec_run.o)(.text+0x13a): In function `pathexec_run':
: undefined reference to `errno'
unix.a(readclose.o)(.text+0x42): more undefined references to `errno' follow
collect2: ld はステータス 1 で終了しました
make: *** [envdir] エラー 1
Copying commands into ./command...
cp: cannot stat `compile/svscan': そのようなファイルやディレクトリはありません

なのでパッチを当ててインストール
tar xvzf daemontools-0.76.tar.gz
cd admin/daemontools-0.76/
wget http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch
patch -p1 < daemontools-0.76.errno.patch
package/install

パッチはここから入手  http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch

read more

Red Hat 9 で qmail がコンパイルできない件

Red Hat Linux 9 で qmail の make setup check を行うと下記のエラーが発生します。これは glibc のバージョンアップによるものです。glibcのバージョンが 2.3.1 以降で起きるっぽいです。

こんな風に
undefined reference to 'errorno'
collect2: ld はステータス 1 で終了しました
make: *** [auto-str] エラー 1

ここからパッチを入手して解決します
http://www.qmail.org/moni.csi.hu/pub/qmail/glibc-2.3.1/

cd qmail-1.03
patch -p1 /path/to/qmail-1.03.errno.patch

このあとに make setup check

read more

vi 行削除

vi コマンド覚書き

[n]dd
カーソル行から下にn行削除する。nを省略すると、カーソルのある行を削除する。

L,M d
L行目からM行目までを削除する。

vi でファイルを開いたまま実行する 

read more

Ruby on Rail インストール  Linux編

http://www.ruby-lang.org/ja/ ここからアーカイブをダウンロードします
 
Ruby本体をインストールします
tar xvzf ruby-1.8.4.tar.gz
cd ruby-1.8.4
ls
./configure
make
make install

Gemをインストール
tar xvzf rubygems-0.8.11.tgz
cd rubygems-0.8.11
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install

Railsをインストール
gem install rails

[root@localhost]# gem install rails
Attempting local installation of 'rails'
Local gem file not found: rails*.gem
Attempting remote installation of 'rails'
Updating Gem source index for: http://gems.rubyforge.org
Install required dependency rake? [Yn] Y
Install required dependency activesupport? [Yn] Y
Install required dependency activerecord? [Yn] Y
Install required dependency actionpack? [Yn] Y
Install required dependency actionmailer? [Yn] Y
Install required dependency actionwebservice? [Yn] Y
Successfully installed rails-1.1.6
Successfully installed rake-0.7.1
Successfully installed activesupport-1.3.1
Successfully installed activerecord-1.14.4
Successfully installed actionpack-1.12.5
Successfully installed actionmailer-1.2.5
Successfully installed actionwebservice-1.1.6
Installing RDoc documentation for rake-0.7.1...
Successfully installed activesupport-1.3.1
Successfully installed activerecord-1.14.4
Successfully installed actionpack-1.12.5
Successfully installed actionmailer-1.2.5
Successfully installed actionwebservice-1.1.6
Installing RDoc documentation for rake-0.7.1...
Installing RDoc documentation for activesupport-1.3.1...
Installing RDoc documentation for activerecord-1.14.4...
Installing RDoc documentation for actionpack-1.12.5...
Installing RDoc documentation for actionmailer-1.2.5...
Installing RDoc documentation for actionwebservice-1.1.6...

Railsのコマンドが使えることを確認

read more

CentOS update

yum の設定をデフォルトのダウンロード先から、国内のミラーに変更します。

vi /etc/yum.repos.d/CentOS-Base.repo

[base]
name=CentOS-$releasever - Base
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4

[update]
name=CentOS-$releasever - Updates
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4

[addons]
name=CentOS-$releasever - Addons
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4

[extras]
name=CentOS-$releasever - Extras
baseurl=http://ftp.riken.jp/Linux/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4

[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos4

[contrib]
name=CentOS-$releasever - Contrib
baseurl=http://dev.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-centos4

[testing]
name=CentOS-$releasever - Testing
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-centos4


yum -y update

read more

プロセス強制終了

kill プロセスNO

落ちきらないときは kill -9 プロセスNO でやるといいようです

私は kill -KILL プロセスNO でやってました(汗

0-9 までのオプションにはそれぞれ意味があるそうです

read more

mencoder インストール

mencoderはMPlayerをインストールすると一緒に入るのでそうします
http://www.mplayerhq.hu/MPlayer/releases/ ここからダウンロード
 ・MPlayer-1.0pre8.tar.bz2
 ・all-20060501.tar.gz

mkdir /usr/local/src/win32
tar xvzf all-20060501.tar.gz
mv all-20060501/* /usr/local/src/win32/

tar jxvf MPlayer-1.0pre8.tar.bz2
cd MPlayer-1.0pre8

./configure --confdir=/etc/mplayer --disable-gui --language=ja --with-win32libdir=/usr/lib/src/win32 --enable-qtx --enable-external-faad --enable-win32 --enable-libavcodec --disable-libavformat --enable-amr_nb --enable-amr_nb-fixed --enable-amr_wb --enable-mp3lib

エラーがでます
==============================================
make[1]: Leaving directory `/usr/local/src/me/MPlayer-1.0pre8/loader/dmo'
make -C libavcodec LIBPREF=lib LIBSUF=.a
make[1]: Entering directory `/usr/local/src/me/MPlayer-1.0pre8/libavcodec'
make -C amr spclib fipoplib
make: *** amr: No such file or directory. Stop.
make: Entering an unknown directorymake: Leaving an unknown directorymake[1]: *** [amrlibs] Error 2
make[1]: Leaving directory `/usr/local/src/me/MPlayer-1.0pre8/libavcodec'
make: *** [libavcodec/libavcodec.a] エラー 2
==============================================

ffmpeg のときにつくった3gp関連のディレクトリを全部コピー
cp -R /usr/local/src/FFMpeg-20050806/libavcodec/amr_float /usr/local/src/MPlayer-1.0pre8/libavcodec/
cp -R /usr/local/src/FFMpeg-20050806/libavcodec/amr /usr/local/src/MPlayer-1.0pre8/libavcodec/
cp -R /usr/local/src/FFMpeg-20050806/libavcodec/amrwb_float /usr/local/src/MPlayer-1.0pre8/libavcodec/

これで再度 config, make

makeでエラー
===============================================
/libDS_Filter.a loader/dmo/libDMO_Filter.a libaf/libaf.a libmpdemux/libmpdemux.a postproc/libswscale.a osdep/libosdep.a -Llibmpdvdkit2 -lmpdvdkit libavcodec/libavcodec.a libavutil/libavutil.a libpostproc/libpostproc.a -lfaad -lmp3lame -lz -lfaac -lncurses -lnsl -lsmbclient mp3lib/libMP3.a liba52/liba52.a libmpeg2/libmpeg2.a tremor/libvorbisidec.a -lnsl -Wl,-z,noexecstack -lpthread -ldl -lm
libavcodec/libavcodec.a(amr.o)(.text+0x2a3): In function `amr_nb_decode_frame':
: undefined reference to `UnpackBits'
libavcodec/libavcodec.a(amr.o)(.text+0x466): In function `amr_nb_encode_frame':
: undefined reference to `PackBits'
collect2: ld returned 1 exit status
make: *** [mplayer] エラー 1
===============================================

さらにコピー *上書きします
cp /usr/local/src/FFMpeg-20050806/libavcodec/libavcodec.a /usr/local/src/MPlayer-1.0pre8/libavcodec/

make
make install

これでインストールできた!

read more

メールサーバー構築 POP Before SMTP

Postfix + Qpopper + DRAC で行います

【DRACインストール】
ここ http://pocketstudio.jp/drac-ja/index.html から
Dynamic Relay Authorization Control アーカイブをダウンロード後、展開

tar xvzf drac.tar.Z
INSTSLLにしたがってMakefileの以下の部分を変更
---------------------------
INSTALL = install
DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C
CFLAGS = $(DEFS) -g
LDLIBS = -ldb
RPCGENFLAGS = -C -I
MANADM = 8
--------------------------
make
make install
モジュールをライブラリディレクトリにコピー
cp libdrac.a /usr/lib

起動スクリプト設定
vi /etc/rc.d/initd/dracd
-----------------------------------
# dracd-setup

# Source function library.
. /etc/rc.d/init.d/functions

# See how we were called.
case "$1" in
start)
echo -n "Starting rpc.dracd daemon: "
daemon /usr/local/sbin/rpc.dracd -i -e 30&
echo
touch /var/lock/subsys/rpc.dracd
;;
stop)
echo -n "Stopping rpc.dracd daemon: "
killproc /usr/local/sbin/rpc.dracd
echo
rm -f /var/lock/subsys/rpc.dracd
;;
*)
echo "Usage: dracd {start|stop}"
exit 1
esac
exit 0
-------------------------------------

chmod 755 /etc/rc.d/initd/dracd

設定ファイル作成
vi dracd.allow-sample の 255.255.255.255 192.168.16.8 をコメントアウトする
cp dracd.allow-sample /etc/mail/dracd.allow

テスト  *portmap が起動していること
/etc/rc.d/init.d/dracd start
解凍したディレクトリにある testing を起動
./testing localhost 192.168.1.1 (なんでもいい)

Dracのデータベースに保存されているか確認
db_dump -p /etc/mail/dracd.db
こんな風に出てくればOK
VERSION=3
format=print
type=btree
db_pagesize=512
HEADER=END
192.168.1.1 <-- testing で使用した IP が記述されいれば成功
1120372480
DATA=END

テストが終わったら初期化
./rpc.dracd -i

read more

Cent OS 4.2 上でのffmpeg コンパイル

ffmpeg のsourceforge プロジェクトが閉鎖してるっぽいのでソースは日経Linuxの付録からコピー
FFMpeg-20050806.tar.bz2

その前に3gp用のモジュールをダウンロードしておく
wget http://www.3gpp.org/ftp/Specs/2004-03/Rel-5/26_series/26204-520.zip
wget http://www.3gpp.org/ftp/Specs/2004-03/Rel-5/26_series/26073-530.zip
wget http://www.3gpp.org/ftp/Specs/2004-03/Rel-5/26_series/26104-540.zip

コンパイル準備
tar jxvf FFMpeg-20050806.tar.bz2

3gp各アーカイブを展開するとc-codeというフォルダ内にソースが展開されるので
それを以下のようにffmpegソース内に配置します

unzip 26204-520.zip
unzip 26204-520_ANSI-C_source_code.zip
mkdir FFMpeg-20050806/libavcodec/amrwb_float
mv c-code/* FFMpeg-20050806/libavcodec/amrwb_float/

unzip 26073-530.zip
unzip 26073-530_ANSI_C_source_code.zip
mkdir FFMpeg-20050806/libavcodec/amr
mv c-code/* FFMpeg-20050806/libavcodec/amr/

unzip 26104-540.zip
unzip 26104-540_ANSI_C_source_code.zip
mkdir FFMpeg-20050806/libavcodec/amr_float
mv c-code/* FFMpeg-20050806/libavcodec/amr_float/

ここまでできたらconfigします
./configure --enable-amr_nb --enable-amr_wb --enable-mp3lame --enable-faac --enable-faad --enable-a52 --enable-gpl --enable-libogg

ここでメッセージが出ますがこれはエラーではありません
このようにしてくださいっていう意味っぽいです
-------------------------------------------------------------------
AMR WB FLOAT NOTICE ! Make sure you have downloaded TS26.204
V5.1.0 from
http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip
and extracted the source to libavcodec/amrwb_float

AMR NB FLOAT NOTICE ! Make sure you have downloaded TS26.104
REL-5 V5.1.0 from
http://www.3gpp.org/ftp/Specs/latest/Rel-5/26_series/26104-5??.zip
and extracted the source to libavcodec/amr_float
and if u try this on an alpha, u may need to change Word32 to int in amr/typedef.h
-------------------------------------------------------------------

上半分はそのとおりにします 
このアーカイブはこの場所に展開されるので一時フォルダを作成してその中で作業します
mkdir ex
cd ex
wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip
unzip 26204-510.zip
unzip 26204-510_ANSI-C_source_code.zip
mv -f * FFMpeg-20050806/libavcodec/amrwb_float

メッセージ下半分は無視しておきます  最新版を入れていますので

make
make install

ffmpeg -versionのコマンドでこんな風に確認できればOK

ffmpeg version CVS, build 3211265, Copyright (c) 2000-2004 Fabrice Bellard
configuration: --enable-amr_nb --enable-amr_wb --enable-mp3lame --enable-faac --enable-faad --enable-a52 --enable-gpl --enable-libogg
built on Aug 11 2006 17:30:43, gcc: 3.4.4 20050721 (Red Hat 3.4.4-2)
ffmpeg CVS
libavcodec 3211265
libavformat 3211264

read more

SSHDのエラー

SSHでログインできなくなって ログをみたらこうなってた

localhost sshd[2012]: Received signal 15; terminating.
localhost sshd[2230]: Server listening on :: port 22.
localhost sshd[2230]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
localhost sshd[2277]: Accepted password for coms from ::ffff:192.168.1.26 port 2128 ssh2
localhost sshd[5188]: Accepted password for coms from ::ffff:192.168.1.26 port 2566 ssh2
localhost sshd[5190]: Received disconnect from ::ffff:192.168.1.26: 2: disconnected by server request
localhost sshd[2230]: Received signal 15; terminating.
localhost sshd[5898]: Server listening on :: port 22.
localhost sshd[5898]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
localhost sshd[5901]: Accepted password for coms from ::ffff:192.168.1.26 port 1613 ssh2

/etc/ssh/sshd_config の ListenAddress 0.0.0.0 をコメントアウトして様子見

read more

ffmpeg コンパイル前に

各モジュールをインストールしておきます

・lame-3.96.1.tar.gz
    ./configure
    make
    make install

・imlib2-1.2.2.tar.gz
    ./configure
    make
    make install

・a52dec-0.7.4.tar.gz
    ./configure
    make
    make install

・faac-1.24.tar.gz
    ./bootstrap
    ./configure --enable-shared --enable-static
    make
    make install

・faad2-2.0.tar.gz
    ./bootstrap
    ./configure --enable-shared --enable-static --with-drm --with-mp4v2
    make
    make install

read more

Apache-Tomcatの連携

Linux上での設定です
まずはTomcatインストール
展開すればOK

tar xvzf jakarta-tomcat-5.0.30.tar.gz
mv jakarta-tomcat-5.0.30 /usr/local/src/
ln -snf /usr/local/src/jakarta-tomcat-5.0.30/ /usr/local/tomcat
#起動
/usr/local/tomcat/bin/startup.sh

http://host:8080/ でTOMCATテストページにアクセスできてJSPとServletのサンプルが確認できればOK

#停止
/usr/local/tomcat/bin/shutdown.sh

環境変数設定
vi /etc/profile
export CATALINA_HOME=/usr/local/tomcat
export CLASSPATH=$CATALINA_HOME/lib:$CLASSPATH
export CLASSPATH=$CATALINA_HOME/common/lib/servlet-api.jar:$CLASSPATH
export CLASSPATH=$CATALINA_HOME/common/lib/jsp-api.jar:$CLASSPATH


コネクタのコンパイル
JakartaのHPにあるLinux用のコネクタは環境によって動かないのでソースから作成します
tar xvzf jakarta-tomcat-connectors-jk2-src-current.tar.tar
cd jakarta-tomcat-connectors-jk2-2.0.4-src/
cd jk/native2/
./configure --with-apxs2=/usr/local/apache2/bin/apxs
make
cd ../../jk/build
ls
mod_jk2.so が出来ているのを確認
Apache のmoduleディレクトリにコピーする
cp mod_jk2.so /usr/local/apache2/modules/
cd ../../../conf/
設定用ファイルをコピー
cp jk2.properties /usr/local/apache2/conf/
cp workers2.properties /usr/local/apache2/conf/

*workers2.propertiesのサンプルにあわせる
cd /usr/local/tomcat/webapps/
cp -R jsp-examples exsamples

Apache.Tomcatを再起動する
http://host/examples  にアクセスできればOK

Tomcat側での動作確認後の設定
conf/server.xml
8080ポートをコメントにする この部分をコメントアウト
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
<Connector port="8080"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />

conf/web.xml
ディレクトリ一覧をfalseにします
<init-param>
<param-name>listings</param-name>
<param-value>ture</param-value>
</init-param>

read more

JDKインストール

sun のページもしくは雑誌の付録などから入手します

./j2sdk-1_4_2_08-linux-i586-rpm.bin
chmod +x j2sdk-1_4_2_08-linux-i586.rpm
rpm -ivh j2sdk-1_4_2_08-linux-i586.rpm

「/usr/java/」以下にインストールされます

コマンドを確認
/usr/java/j2sdk1.4.2_08/bin/java -version
うまくバージョンが表示されればシンボリックリンクを張ってみます

ln -snf /usr/java/j2sdk1.4.2_08/ /usr/local/java
確認
/usr/local/java/bin/java -version

環境変数設定
vi /etc/profile
export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$CLASSPATH
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$CLASSPATH

read more

Webmin インストール

wget http://jaist.dl.sourceforge.net/sourceforge/webadmin/webmin-1.260-1.noarch.rpm
chmod +x webmin-1.260-1.noarch.rpm
rpm -ivh webmin-1.260-1.noarch.rpm

インストールはこれでOK
起動停止は /etc/init.d/webmin start/stop で行います

ポート番号は変更しておいたほうがいいと思われます
vi /etc/webmin/miniserv.conf
port=10000を適当な数字に変更してwebminを再起動すれば反映されます

read more

JSPIDER 実行

JSPIDERとはJAVAでできたスパイダーツールです。
J2SDK 1.4以上で動きます。
インストールはアーカイブダウンロード後、解凍するだけ。

export JSPIDER_HOME=/opt/jspider/base.properties, skip.properties

設定ファイル変更
JSPIDER_HOME/conf/download/site

site.robotstxt.fetch=true
site.robotstxt.obey=true
     ↓
site.robotstxt.fetch=false
site.robotstxt.obey=false

/opt/jspiderbin//jspider.sh http://www.sexpixbox.com/tokyosecret/avlist/ download

INFO [mod.plugin.diskwriter.DiskWriterPlugin] Wrote ../output/./www.sexpixbox.c
om/tokyosecret/avlist/images/devi/10_lg.jpg
INFO [core.Spider] Stopped spider workers...
INFO [core.Spider] Stopped thinker workers...
[Plugin]
SPIDERING SUMMARY :
known urls ............. : 999

visited urls ........... : 460
parsed urls ............ : 115
parse ignored urls ..... : 345
parse error urls ....... : 0

not visited urls ....... : 539
fetching ignored urls .. : 538
forbidden urls ......... : 0
fetch error urls ....... : 1

not yet visited urls .. : 0
[Plugin] Spidering Stopped
INFO [core.Spider] Spidering done!
INFO [core.Spider] Elapsed time : 823396

ダウンロードが終わったらこんな風に表示されます。
本日始めて最後まで稼動させてみました!

read more

PHP 5 インストール Linux

PHP 5の基本的なインストールです

Red Hat 9 ではコンパイル時にlibxml2のバージョンが古いというエラーがでたのでアップグレード
ftp://xmlsoft.org/libxml2/ で最新版を入手可能する

[root@localhost src]# chmod +x *.rpm
[root@localhost src]# rpm -Uvh libxml2-*
警告: libxml2-2.6.11-1.i386.rpm: V3 DSA signature: NOKEY, key ID de95bc1f
Preparing... ########################################### [100%]
1:libxml2 ########################################### [ 33%]
2:libxml2-devel ########################################### [ 67%]
3:libxml2-python ########################################### [100%]

tar xvzf php-5.1.4.tar.gz
cd php-5.1.4
./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-magic-quotes --with-xml --enable-mbregex --enable-mbstring --enable-zend-multibyte --with-mysql=/usr/local/mysql --with-pgsql=/usr/local/pgsql7.4.8 --enable-pear --with-zlib --with-gd --with-gettext --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib
make
make install

httpd.conf 記述確認
AddType application/x-httpd-php .php
LoadModule php5_module modules/libphp5.so
  *おそらく自動的に追加されるはず

iniファイル作成
cp php.ini-dist /usr/local/lib/php.ini

変更箇所
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = Shift_JIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none

Apacheを再起動する
info.phpを作成してアクセスできればOK

PHP 5からPearが最初から組み込まれてるのがいいですね~

read more

/etc/aliases

sendmail でアドレスを作る前に /etc/aliases

cat /etc/aliases
info: postmaster
marketing: postmaster
sales: postmaster
support: postmaster

ここをコメントにしておかないとすべて転送されてしまうっぽいです

read more

PHP 4.x インストール

基本的なインストールメモ

http://www.php.net/get/php-4.3.11.tar.bz2/from/a/mirror からバイナリをダウンロード

tar -jxvf php-4.3.11.tar.bz2
cd php-4.3.11

PostgreSQL, MySQL に接続できるようにインストールディレクトリを指定しておく
./configure -with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --enable-mbregex --with-mysql=/usr/local/mysql --with-pgsql=/usr/local/pgsql
make
make install

httpd.conf 記述追加

DirectoryIndexにindex.php を追加
AddType application/x-httpd-php .php を追加
LoadModule php4_module modules/libphp4.so を追加

iniファイル作成
cp php.ini-dist /usr/local/lib/php.ini

変更箇所
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = Shift_JIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none

Apacheを再起動する

info.phpを作成してアクセスできればOK
phpinfo();
?>

read more

phpPgAdminインストール

PostgreSQLの管理をブラウザから行えるというツールです。PHPでできています。
http://phppgadmin.sourceforge.net/ ここから最新版をダウンロードします

展開後、phpPgAdmin-4.0.1conf/config.inc.php 編集
phpMyAdmin と違ってID,PASSを設定ファイルに書く必要はありません。
編集すべき点はわずか
$conf['servers'][0]['host'] = 'DBサーバーのIPアドレス';
$conf['extra_login_security'] = true;
 ID,PASSにroot,administrator,postgresなどありきたりなものを使っている場合は false にする

基本的にここだけでOKです サーバーにアップロード

例のごとくBasic認証をかけます
Alias /pgadmin/ "/usr/local/phpPgAdmin/"

Options -Indexes FollowSymLinks MultiViews Includes ExecCGI
AcceptPathInfo On
AllowOverride All
Allow from all


これで http://ホスト/pgadmin/ でアクセスできるようになります。

その後、htpasswd -c /usr/local/apache2/conf/.htpasswd ユーザー名
パスワード入力  でパスワードファイル作成
               *ユーザー名、パスワードは任意
/usr/local/phpPgAdmin/に .htaccess ファイル作成

touch .htaccess
vi .htaccess
【記述内容】
AuthType Basic
AuthUserFile /usr/local/apache2/conf/.htpasswd
AuthGroupFile /dev/null
AuthName "Enter password"
Require valid-user

chmod 666 /usr/local/apache2/conf/.htpasswd
/usr/local/apache2/bin/apachectl restart

これで認証がついたphpPgAdminが使えるはずです

read more

Postfixでの.forward

Postfixをバーチャルドメインで使用している場合、
.forward で正常にメールが転送できないことがあるので
/etc/postfix/virtual で設定する

read more

apt

wget http://ftp.freshrpms.net/pub/freshrpms/redhat/9/apt/apt-0.5.5cnc6-fr1.i386.rpm
chmod +x apt-0.5.5cnc6-fr1.i386.rpm
rpm -ivh apt-0.5.5cnc6-fr1.i386.rpm

apt-get update

apt-get dist-upgrade 依存性関係 

read more

iptables設定

シェルを作って管理しています
こんな感じ

#clear
/sbin/iptables -F
/sbin/iptables -X
#policy
/sbin/iptables -P INPUT DROP
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -A INPUT -p icmp -j ACCEPT
/sbin/iptables -A INPUT -i lo -j ACCEPT
#http
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#tomcat
/sbin/iptables -A INPUT -s 192.168.10.1/24 -p tcp --dport 8080 -j ACCEPT
#ftp
/sbin/iptables -A INPUT -s 192.168.10.1/24 -p tcp --dport 21 -j ACCEPT
#ssh
/sbin/iptables -A INPUT -s 192.168.10.1/24 -p tcp --dport 22 -j ACCEPT
#postgresql
/sbin/iptables -A INPUT -s 192.168.10.1/24 -p tcp --dport 5432 -j ACCEPT
#webmin
/sbin/iptables -A INPUT -s 192.168.10.1/24 -p tcp --dport 10000 -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#save
/etc/init.d/iptables save
#restart
/etc/init.d/iptables restart

read more

ssh 最低限これだけはやっておこう

vi /etc/ssh/sshd_config
PermitRootLogin no
DenyUsers postgres mysql  その他、よくありそうなユーザー名

V2で動かす

read more

PostgreSQLインストール

インストール先を /usr/local/pgsql7.4.8 にする場合・・・JDK Antを入れておく

mkdir /usr/local/pgsql7.4.8
chown postgres.postgres /usr/local/pgsql7.4.8
su - postgres
tar xvzf postgresql-7.4.8.tar.gz
cd postgresql-7.4.8
ls
./configure --prefix=/usr/local/pgsql7.4.8 --with-java
make
make install
vi /home/postgres/.bash_profile に環境変数を記述
=========================================
.bash_profile
# PGHOME : ソフトウェアインストール舌喜
PGHOME=/usr/local/pgsql7.4.8

# PATH
PATH=$PATH:$PGHOME/bin

# PGLIB : ライブラリ格納舌喜
PGLIB=$PGHOME/lib

# PGDATA : データ格納舌喜
PGDATA=/usr/local/pgsql7.4.8/data

# LD_LIBRARY_PATH : ライブラリパス
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGLIB

# 輸出
export LANG PATH PGHOME PGLIB PGDATA LD_LIBRARY_PATH
=======================================================
環境変数を反映させる
exit
su - postgres
env で確認

DB初期化 こんな感じでいいかな?
文字コードを変えるときはDBを作るときにやってます
cd /usr/local/pgsql7.4.8/bin
./initdb --encoding=EUC_JP --no-locale -D /usr/local/pgsql7.4.8/data
cd ../data/
ls

外からつなげるアドレスを設定
vi pg_hba.conf_org
host all all 0.0.0.0 0.0.0.0 trust
面倒なときはこんな風に記述追加 あまりお勧めではないw

vi postgresql.conf
tcpip_socket = true にする

アーカイブを解凍したところにシェルがあるので移動させておく
cp /home/postgres/postgresql-7.4.8/contrib/linux /etc/init.d/pgsql
chmod +x /etc/init.d/pgsql
vi /etc/init.d/pgsql で環境をあわせる

このどちらかで起動する 
./postmaster -i -S -D /usr/local/pgsql7.4.8/data/ &
/etc/init.d/pgsql start

止めるとき
./pg_ctl -mf stop -D /usr/local/pgsql7.4.8/data/
/etc/init.d/pgsql stop
のどちらか

read more

Recent entry

Search

Tag Cloud

Page Top