<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>おれ最前線ねっと</title>
	<atom:link href="http://ore.saizensen.net/feed" rel="self" type="application/rss+xml" />
	<link>http://ore.saizensen.net</link>
	<description>イェ〜〜ィ。見てる〜〜〜？？</description>
	<lastBuildDate>Fri, 18 Dec 2009 02:55:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SnowLeopardへのアップグレードまとめページを作ってみた。</title>
		<link>http://ore.saizensen.net/archives/531</link>
		<comments>http://ore.saizensen.net/archives/531#comments</comments>
		<pubDate>Thu, 03 Dec 2009 05:48:41 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[雑記]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=531</guid>
		<description><![CDATA[				数年振りにMacな環境へ移行したんで、SnowLeopardへのアップグレード &#038;&#038; 開発環境構築まとめページを作ってみた。
				
				[Mac]SnowLeopardで開発環境構築す [...]]]></description>
			<content:encoded><![CDATA[				<p>数年振りにMacな環境へ移行したんで、SnowLeopardへのアップグレード &#038;&#038; 開発環境構築まとめページを作ってみた。<br />
				<a href="http://ore.saizensen.net/macsnowleopard%e3%81%a7%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e6%a7%8b%e7%af%89%e3%81%99%e3%82%8b%e3%82%88"><br />
				[Mac]SnowLeopardで開発環境構築するよ</a></p>
				<p>めんどくさかったけど、自分的にも後々役に立つんで作りましたよと。まだ途中だけど。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/531/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Mac]SnowLeopardで開発環境構築するよ – VmwareFusionをインストール &amp;&amp; ゲストOS(Linux_server)へvmwaretoolsをインストール &amp;&amp; 設定[SnowLeopard]</title>
		<link>http://ore.saizensen.net/archives/524</link>
		<comments>http://ore.saizensen.net/archives/524#comments</comments>
		<pubDate>Thu, 03 Dec 2009 05:21:19 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=524</guid>
		<description><![CDATA[				
				VmwareFusionをインストール &#038;&#038; ゲストOS(Linux_server)をインストール
				ゲストOSを起動後、VMware Fusionの「仮想マシン」メニューから [...]]]></description>
			<content:encoded><![CDATA[				<ol>
				<li><strong>VmwareFusionをインストール &#038;&#038; ゲストOS(Linux_server)をインストール</strong></li>
				<li><strong>ゲストOSを起動後、VMware Fusionの「仮想マシン」メニューから「Vmware Toolsのインストール」を選択する。</strong></li>
				<li><strong>ゲストOSでcdromをマウント。マウント先は適当な場所へ(ここでは/mediaへ)</strong>
				<pre># mount /dev/cdrom /media</pre>
</li>
<li><strong>コピーして解凍してインストール</strong>
<pre>
# cp. /media/VMwareTools-*****.tar.gz ./
# tar zxvf VMwareTools-*****.tar.gz
# cd vmware-tools-distrib
# ./vmware-install.pl
</pre>
				<p>特に設定する必要が無いんで、全Enterで進めて完了。
				</li>
				<li><strong>OS XのUIDとLinuxのUIDを揃える</strong>
				<pre># vi /etc/passwd</pre>
<pre>
bubbkis:x:500:500::/home/bubbkis:/bin/bash
↓
bubbkis:x:501:501::/home/bubbkis:/bin/bash
</pre>
				<pre># vi /etc/group</pre>
<pre>
bubbkis:x:500:
↓
bubbkis:x:501:
</pre>
				<pre>
# chown -R bubbkis.bubbkis /home/bubbkis
# find /tmp -user 500 -exec chown bubbkis.bubbkis {} \;
</pre>
				</li>
				<li><strong>vmwaretoolsをインストールすると、共有設定したディレクトリを/mnt/hgfsの中から見れる。</strong></li>
				</ol>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/524/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Mac]SnowLeopardで開発環境構築するよ – MacFuse &amp;&amp; Macfusionをインストール[SnowLeopard]</title>
		<link>http://ore.saizensen.net/archives/519</link>
		<comments>http://ore.saizensen.net/archives/519#comments</comments>
		<pubDate>Thu, 03 Dec 2009 05:11:34 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=519</guid>
		<description><![CDATA[				snowleopard上のmacportsでsshfsが使えないのでMacFusionを使う(2009/12/01現在)
				
				MacFuseをダウンロードしてインストール
				システム環境設定の [...]]]></description>
			<content:encoded><![CDATA[				<p><strong>snowleopard上のmacportsでsshfsが使えないのでMacFusionを使う(2009/12/01現在)</strong></p>
				<ol>
				<li><a href="http://code.google.com/p/macfuse/">MacFuse</a>をダウンロードしてインストール</li>
				<li>システム環境設定のmacfuseからBetaの最新バージョンにアップデート</li>
				<li><a href="http://www.macfusionapp.org/">Macfusion</a>をダウンロードしてインストール</li>
				<li>sshnodelay.soを削除
				<pre>$ rm /Applications/Macfusion.app/Contents/PlugIns/sshfs.mfplugin/Contents/Resources/sshnodelay.so</pre>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/519/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Mac]SnowLeopardで開発環境構築するよ &#8211; MacPortsでApache、PHP、MySQL、PostgreSQLをインストールする[SnowLeopard]</title>
		<link>http://ore.saizensen.net/archives/510</link>
		<comments>http://ore.saizensen.net/archives/510#comments</comments>
		<pubDate>Thu, 03 Dec 2009 04:54:56 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=510</guid>
		<description><![CDATA[				
				Apacheをインストール
				
				インストール
				$ sudo port install apache2

自動起動設定
$ sudo launchctl load -w /Libra [...]]]></description>
			<content:encoded><![CDATA[				<ol>
				<li><strong>Apacheをインストール</strong>
				<ul>
				<li>インストール
				<pre>$ sudo port install apache2</pre>
</li>
<li>自動起動設定
<pre>$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist</pre>
				</li>
				<li>httpd.confを編集
				<pre>$ sudo vi /opt/local/apache2/conf/httpd.conf</pre>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #00007f;">ServerAdmin</span> you@<span style="color: #00007f;">example</span>.com
↓
<span style="color: #00007f;">ServerAdmin</span> webmaster@localhost
&nbsp;
<span style="color: #00007f;">ServerName</span> www.<span style="color: #00007f;">example</span>.com:<span style="color: #ff0000;">80</span>
↓
<span style="color: #00007f;">ServerName</span> localhost
&nbsp;
<span style="color: #00007f;">DocumentRoot</span> <span style="color: #7f007f;">&quot;/opt/local/apache2/htdocs&quot;</span>
↓
<span style="color: #00007f;">DocumentRoot</span> <span style="color: #7f007f;">&quot;/Users/bubbkis/Sites&quot;</span>
&nbsp;
&lt;<span style="color: #000000; font-weight:bold;">Directory</span> /&gt;
    <span style="color: #00007f;">Options</span> <span style="color: #0000ff;">FollowSymLinks</span>
    <span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">None</span>
<span style="color: #adadad; font-style: italic;">#    Order deny,allow ←コメントアウト追加</span>
<span style="color: #adadad; font-style: italic;">#    Deny from all ←コメントアウト追加</span>
&lt;/<span style="color: #000000; font-weight:bold;">Directory</span>&gt;
&nbsp;
&lt;<span style="color: #000000; font-weight:bold;">Directory</span> <span style="color: #7f007f;">&quot;/opt/local/apache2/htdocs&quot;</span>&gt;
↓
&lt;<span style="color: #000000; font-weight:bold;">Directory</span> <span style="color: #7f007f;">&quot;/Users/bubbkis/Sites&quot;</span>&gt;
&nbsp;
<span style="color: #adadad; font-style: italic;">## &lt;Directory &quot;/Users/bubbkis/Sites&quot;&gt;内のOptionsとAllowOverrideを以下の様に修正。</span>
<span style="color: #00007f;">Options</span> <span style="color: #0000ff;">Indexes</span> <span style="color: #0000ff;">Includes</span> ExecCGI <span style="color: #0000ff;">FollowSymLinks</span> MultiViews
<span style="color: #00007f;">AllowOverride</span> <span style="color: #00007f;">All</span>
&nbsp;
<span style="color: #00007f;">DirectoryIndex</span> index.html
↓
<span style="color: #00007f;">DirectoryIndex</span> index.php index.html index.htm
&nbsp;
<span style="color: #adadad; font-style: italic;">## &lt;Directory &quot;/opt/local/apache2/cgi-bin&quot;&gt;内のOptionsを以下の様に修正。</span>
<span style="color: #00007f;">Options</span> <span style="color: #0000ff;">Indexes</span> <span style="color: #0000ff;">Includes</span> ExecCGI <span style="color: #0000ff;">FollowSymLinks</span> MultiViews
&nbsp;
<span style="color: #adadad; font-style: italic;">#AddHandler cgi-script .cgi</span>
↓
<span style="color: #00007f;">AddHandler</span> cgi-<span style="color: #00007f;">script</span> .cgi .pl .rb
&nbsp;
<span style="color: #adadad; font-style: italic;">#Include conf/extra/httpd-languages.conf</span>
↓
<span style="color: #00007f;">Include</span> conf/extra/httpd-languages.conf
&nbsp;
<span style="color: #adadad; font-style: italic;">#Include conf/extra/httpd-default.conf</span>
↓
<span style="color: #00007f;">Include</span> conf/extra/httpd-default.conf</pre></div></div>
				
				</li>
				<li>Apache起動
				<pre>
$ /opt/local/apache2/bin/apachectl configtest
$ sudo /opt/local/apache2/bin/apachectl graceful
</pre>
				</li>
				</ul>
				</li>
				<li><strong>MySQLをインストール</strong>
				<ul>
				<li>インストール
				<pre>
$ sudo port install mysql5 +innodb_plugin
$ sudo port install mysql5-server
</pre>
				</li>
				<li>初期化
				<pre>$ sudo -u mysql mysql_install_db5</pre>
</li>
<li>MySQL起動
<pre>$ sudo /opt/local/share/mysql5/mysql/mysql.server start</pre>
				</li>
				<li>自動起動設定
				<pre>$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist</pre>
</li>
<li>MySQLのrootアカウントへパスワードを設定
<pre>$ /opt/local/lib/mysql5/bin/mysqladmin -u root password '******'</pre>
				<pre>
$ mysql -u root -p
mysql> select user,host,password from mysql.user;
mysql> set password for root@'bubbkis-MacBook.llocal'=password('パスワード');
mysql> set password for root@'127.0.0.1'=password('パスワード');
mysql> exit
</pre>
				</li>
				<li>MySQL設定ファイル編集
				<pre>
$ sudo cp /opt/local/share/mysql5/mysql/my-medium.cnf /opt/local/etc/mysql5/my.cnf
$ sudo vi /opt/local/etc/mysql5/my.cnf
</pre>
				<pre>
##[mysqld]の項目へ追加
character-set-server = utf8
collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
skip-character-set-client-handshake

##[mysqldump]の項目へ追加
default-character-set = utf8

##[mysql]の項目へ追加
default-character-set = utf8
</pre>
				</li>
				<li>MySQL再起動
				<pre>$ sudo /opt/local/share/mysql5/mysql/mysql.server restart</pre>
</li>
</ul>
</li>
<li><strong>PostgreSQLをインストール(2009/12/01現在、phpがpostgresql83までしか対応してない)</strong>
<ul>
<li>インストール
<pre>
$ sudo port install postgresql83 +perl +python
$ sudo port install postgresql83-server
</pre>
				</li>
				<li>自動起動設定
				<pre>$ sudo launchctl load -w /Library/LaunchDaemons/org.macports.postgresql83-server.plist</pre>
</li>
<li>初期化
<pre>
$ sudo mkdir -p /opt/local/var/db/postgresql83/defaultdb
$ sudo chown postgres:postgres /opt/local/var/db/postgresql83/defaultdb
$ sudo su postgres -c '/opt/local/lib/postgresql83/bin/initdb -D /opt/local/var/db/postgresql83/defaultdb'
</pre>
				</li>
				<li>PostgreSQL起動
				<pre>
$ sudo su postgres -c '/opt/local/lib/postgresql83/bin/postgres -D /opt/local/var/db/postgresql83/defaultdb'
or
$ sudo su postgres -c '/opt/local/lib/postgresql83/bin/pg_ctl -D /opt/local/var/db/postgresql83/defaultdb start'
</pre>
				</li>
				<li>PL/pgSQL &#038;&#038; dblinkをインストール
				<pre>
$ sudo su postgres
sh-3.2$ createdb testdb
sh-3.2$ /opt/local/lib/postgresql83/bin/createlang plpgsql testdb
sh-3.2$ psql -U postgres -d testdb < /opt/local/var/macports/software/postgresql83/8.3.8_1/opt/local/share/postgresql83/contrib/dblink.sql
</pre>
				<p>インストール後、これらを使いたい場合は「testdb」をテンプレートDBとして新規DBを作成し使う。
				</li>
				<li>postgresアカウントへパスワードを設定
				<pre>
sh-3.2$ psql template1
template1=# alter user postgres with password '******';
template1=# \q
</pre>
				</li>
				<li>一般ユーザへのデータベース作成権限設定
				<pre>
sh-3.2$ createuser -AdPE bubbkis
sh-3.2$ exit
</pre>
				</li>
				<li>PostgreSQL設定ファイル編集<br />
				postgresql.confを編集。</p>
				<pre>$ sudo vi /opt/local/var/db/postgresql83/defaultdb/postgresql.conf</pre>
<pre>
#listen_addresses = 'localhost'
↓
listen_addresses = '*'
</pre>
				<p>pg_hba.confを編集</p>
				<pre>$ sudo vi /opt/local/var/db/postgresql83/defaultdb/pg_hba.conf</pre>
<pre>
#追記
host    all         all       0.0.0.0    0.0.0.0      password
</pre>
				</li>
				<li>PostgreSQL再起動
				<pre>$ sudo su postgres -c '/opt/local/lib/postgresql83/bin/pg_ctl -D /opt/local/var/db/postgresql83/defaultdb restart'</pre>
</li>
</ul>
</li>
<li><strong>PHPをインストール</strong>
<ul>
<li>いろいろインストール
<pre>
$ sudo port install php5 +apache2 +mysql5 +pear +postgresql83 +sqlite
$ sudo port install php5-curl
$ sudo port install php5-exif
$ sudo port install php5-gd
$ sudo port install php5-gettext
$ sudo port install php5-imagick
$ sudo port install php5-mbstring
$ sudo port install php5-mcrypt
$ sudo port install php5-mysql
$ sudo port install php5-postgresql  +postgresql83
$ sudo port install php5-readline
$ sudo port install php5-sqlite
$ sudo port install php5-sqlite3
$ sudo port install php5-xmlrpc
$ sudo port install php5-zip
$ sudo port install php5-zlib
$ sudo pear upgrade PEAR
</pre>
				</li>
				<li>ApacheへPHPモジュールを読み込ませる
				<pre>
$ cd /opt/local/apache2/modules
$ sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
</pre>
				</li>
				<li>PHP設定ファイル編集
				<pre>
    $ sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini
or
    $ sudo cp /opt/local/etc/php5/php.ini-production /opt/local/etc/php5/php.ini
$ sudo vi /opt/local/etc/php5/php.ini
</pre>
				<pre>
max_execution_time = 30
↓
max_execution_time = 0

post_max_size = 8M
↓
post_max_size = 64M

upload_max_filesize = 2M
↓
upload_max_filesize = 64M

;date.timezone =
↓
date.timezone = Asia/Tokyo

mysql.default_socket =
↓
mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock

mysqli.default_socket =
↓
mysqli.default_socket = /opt/local/var/run/mysql5/mysqld.sock

pdo_mysql.default_socket =
↓
pdo_mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
</pre>
				</li>
				<li>Apache設定ファイル編集
				<pre>$ sudo vi /opt/local/apache2/conf/httpd.conf</pre>
<pre>
# 追記
Include conf/extra/mod_php.conf
</pre>
				</li>
				<li>Apache再起動
				<pre>$ sudo /opt/local/apache2/bin/apachectl restart</pre>
</li>
</ul>
</li>
</ol>
<p>このインストールしたPHPはバージョンが5.3なんで注意。MacPortsにまだ5.2系が残ってたけど、モジュール類が5.3対応となってたんで5.2系はインストールしませんでした。<br />
ただこれまで5.2系で開発してたんで5.3にバージョン上げると動きませんorz<br />
5.3系の環境も欲しかったのでMacPortsは5.3な環境。<br />
5.2系の環境も必須なんでVMwareFusionにCentOSなりDebianなりをインストールして環境を作ることにしました。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/510/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Mac]SnowLeopardで開発環境構築するよ – MacPortsでPythonやらRailsやらを一気にインストール[SnowLeopard]</title>
		<link>http://ore.saizensen.net/archives/487</link>
		<comments>http://ore.saizensen.net/archives/487#comments</comments>
		<pubDate>Thu, 03 Dec 2009 04:00:35 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=487</guid>
		<description><![CDATA[				
				SnowLeopard用のMacPortsをインストール
				.bashrcに環境変数を追加
				
# MacPorts
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Man
export MANPATH=/usr/local/man:/usr/share/man:/opt/local/man

				追加したら.bashrcを再読み込み
				$ source .bashrc

手打ちするのが面倒くさいからインストールスクリプトを作る(zsh、python、railsとかごった煮で)

スクリプトファイル作成
$ vi port.sh
				↓の内容で作成する。
				
				#!/bin/bash
&#160;
sudo port -d selfupdate
sudo port -d install zsh-devel
sudo port -d install libiconv +enable_cp932fix
sudo port -d install coreutils
sudo port -d install findutils
sudo port -d install wget
sudo port -d install curl +ssl +sftp_scp
sudo port -d install nkf
sudo port -d install screen
sudo port -d install ruby
sudo port -d install zlib
sudo [...]]]></description>
			<content:encoded><![CDATA[				<ol>
				<li><strong>SnowLeopard用の<a href="http://www.macports.org/">MacPorts</a>をインストール</strong></li>
				<li><strong>.bashrcに環境変数を追加</strong>
				<pre>
# MacPorts
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Man
export MANPATH=/usr/local/man:/usr/share/man:/opt/local/man
</pre>
				<p>追加したら.bashrcを再読み込み</p>
				<pre>$ source .bashrc</pre>
</li>
<li><strong>手打ちするのが面倒くさいからインストールスクリプトを作る(zsh、python、railsとかごった煮で)</strong>
<ol>
<li>スクリプトファイル作成
<pre>$ vi port.sh</pre>
				<p>↓の内容で作成する。</p>
				
				<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;">#!/bin/bash
&nbsp;
sudo port -d selfupdate
sudo port -d install zsh-devel
sudo port -d install libiconv +enable_cp932fix
sudo port -d install coreutils
sudo port -d install findutils
sudo port -d install wget
sudo port -d install curl +ssl +sftp_scp
sudo port -d install nkf
sudo port -d install screen
sudo port -d install ruby
sudo port -d install zlib
sudo port -d install openssl
sudo port -d install rb-rubygems
sudo port -d install subversion
sudo port -d install git-core
sudo port -d install -f svk
sudo port -d install lv
sudo port -d install chasen
sudo port -d install sqlite3
sudo port -d install libxml
sudo port -d install libxml2
sudo port -d install expat
sudo port -d install p7zip
sudo port -d install bzip2
sudo port -d install ctags
sudo port -d install ncurses
sudo port -d install vim
sudo port -d install smartmontools
sudo port -d install colordiff
sudo port -d install tiff
sudo port -d install imagemagick +q8 +gs +wmf
sudo port -d install openssh
sudo port -d install perl5.8
sudo port -d install perl5.10
sudo port -d install tig
sudo port -d install tree
sudo port -d install w3m
&nbsp;
# Python25
sudo port -d install python25
sudo port -d install py25-django
sudo port -d install py25-ipython
sudo port -d install py25-pip
sudo port -d install py25-setuptools
sudo port -d install py25-hashlib
sudo port -d install py25-zlib
sudo port -d install py25-readline
sudo port -d install py25-sqlite3
sudo port -d install py25-mysql
sudo port -d install py25-twisted
sudo port -d install py25-pgsql
sudo port -d install py25-mechanize
sudo port -d install py25-openssl
sudo port -d install py25-paste
sudo port -d install py25-pastedeploy
sudo port -d install py25-simplejson
sudo port -d install py25-nose
sudo port -d install py25-sqlalchemy
sudo port -d install py25-sqlalchemy-migrate
sudo port -d install py25-turbogears
sudo port -d install py25-memcached
sudo port -d install py25-yaml
sudo port -d install python25-doc
sudo port -f activate py25-cherrypy3
sudo port -d install py25-cherrypy3
&nbsp;
# Python26
sudo port -d install python26
sudo port -d install py26-bpython
sudo port -d install py26-django
sudo port -d install py26-django-extensions
sudo port -d install py26-coverage
sudo port -d install py26-ipython
sudo port -d install py26-mysql
sudo port -d install py26-nose
sudo port -d install py26-pip
sudo port -d install py26-pymacs
sudo port -d install py26-setuptools
sudo port -d install py26-twisted
sudo port -d install py26-pgsql
sudo port -d install py26-openssl
sudo port -d install py26-paste
sudo port -d install py26-pastedeploy
sudo port -d install py26-simplejson
sudo port -d install py26-sqlalchemy
sudo port -d install py26-sqlalchemy-migrate
sudo port -d install py26-memcached
sudo port -d install py26-yaml
sudo port -d install python26-doc
sudo port -d install py26-cherrypy3
sudo port -d install python_select
&nbsp;
# Ruby
export RUBYOPT=rubygems
sudo gem update --system
sudo gem update
sudo gem install mongrel
sudo gem install mongrel_cluster
sudo gem install mechanize
sudo gem install Selenium
sudo gem install vim-ruby
sudo gem install sqlite3-ruby
sudo gem install mysql
sudo gem install postgres
sudo gem install postgres-pr
sudo gem install BlueCloth
sudo gem install RedCloth
sudo gem install net-ssh
sudo gem install net-sftp
sudo gem install coverage
sudo gem install capistrano
sudo gem install magic_multi_connections
sudo gem install redgreen
sudo gem install rspec
sudo gem install rspec-rails
sudo gem install cucumber
sudo gem install rmagick
sudo gem install rails
sudo gem install jpmobile
sudo gem install ruby-debug
sudo gem install refe
sudo gem install xml-simple
sudo gem cleanup</pre></div></div>
				
				</li>
				<li>作ったスクリプトファイルに実行権を付与。
				<pre>$ chmod +x port.sh</pre>
</li>
<li>インストールスクリプト実行
<pre>$ ./port.sh</pre>
				</li>
				<li>インストール終了までかなり時間がかかるから寝て待つ</li>
				</ol>
				</li>
				<li><strong>shellをzshへ変更する</strong>
				<ol>
				<li>/etc/shellsに/opt/local/bin/zshを追記
				<pre>
$ sudo vi /etc/shells
</pre>
				</li>
				<li>chshする
				<pre>$ chsh -s /opt/local/bin/zsh</pre>
</li>
</ol>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/487/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Mac]SnowLeopardで開発環境構築するよ &#8211; 初期設定[SnowLeopard]</title>
		<link>http://ore.saizensen.net/archives/483</link>
		<comments>http://ore.saizensen.net/archives/483#comments</comments>
		<pubDate>Thu, 03 Dec 2009 03:58:55 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=483</guid>
		<description><![CDATA[				
				スクリーンショットのフォーマットを変更する(pngからjpegへ)
				
				$ defaults write com.apple.screencapture type jpg


Finder [...]]]></description>
			<content:encoded><![CDATA[				<ol>
				<li><strong>スクリーンショットのフォーマットを変更する(pngからjpegへ)</strong>
				
				<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;">$ defaults write com.apple.screencapture type jpg</pre></div></div>

</li>
<li><strong>Finderウィンドウのタイトル部分にそのウィンドウのパスを表示させる</strong>

<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;">$ defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES</pre></div></div>
				
				</li>
				<li><strong>NASなど通常ではサポートされていないフォーマットをTimeMachineで使えるようにする</strong>
				
				<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;">$ defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes <span style="">1</span></pre></div></div>

</li>
<li><strong>Finderの終了メニューを表示させる</strong>

<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;">$ defaults write com.apple.finder QuitMenuItem -bool YES
$ killall Finder</pre></div></div>
				
				</li>
				<li><strong>Finderで不可視項目を表示させる</strong>
				
				<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;">$ defaults write com.apple.finder AppleShowAllFiles TRUE</pre></div></div>

</li>
<li><strong>フォルダ名やアプリケーション名を英語表記にする(念のためバックアップとして残しておく。)</strong>

<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;">$ sudo mv /System/Library/CoreServices/SystemFolderLocalizations/Japanese.lproj/SystemFolderLocalizations.Strings /System/Library/CoreServices/SystemFolderLocalizations/Japanese.lproj/SystemFolderLocalizations.Strings.org
$ sudo cp /System/Library/CoreServices/SystemFolderLocalizations/en.lproj/SystemFolderLocalizations.Strings /System/Library/CoreServices/SystemFolderLocalizations/Japanese.lproj/SystemFolderLocalizations.Strings
$ killall Finder</pre></div></div>
				
				</li>
				<li><strong>カレンダー(iCal)に祝日を表示</strong><br />
				↓からダウンロードしてiCalへ設定。<br />
				<a href="http://www.apple.com/downloads/macosx/calendars/japaneseholidaycalendar.html">http://www.apple.com/downloads/macosx/calendars/japaneseholidaycalendar.html</a>
				</li>
				<li><strong>TerminalColoreopard LeopardのターミナルのANSI配色を変えるツールをインストール</strong><br />
				<a href="http://niw.at/articles/2007/11/02/TerminalColoreopard/ja">http://niw.at/articles/2007/11/02/TerminalColoreopard/ja</a>からSnowLeopard用をダウンロード &#038;&#038; インストール<br />
				Terminal.appはFinderからGet Info(Ctrl-i)→32 bit modeにチェック
				</li>
				<li><strong>Leopardの時にmac標準rubyへgemsをインストールしてたけど無駄に残ってるの気持ち悪いから消す(MacPortsでrubyはインストールする)</strong>
				<pre>
$ gem list | cut -d ' ' -f1 > installed_gems
$ sudo mv /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8.bak
$ sudo mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
$ sudo gem list | cut -d ' ' -f1 | xargs sudo gem uninstall -aIx
</pre>
				</li>
				<li><strong>installed_gemsから再インストールしたい人は↓を</strong>
				<pre>
# 32bitな人用
$ cat installed_gems | xargs sudo env ARCHFLAGS=”-Os -arch i386 -fno-common” gem install —no-ri —no-rdoc
# 64bitな人用
$ cat installed_gems | xargs sudo env ARCHFLAGS=”-Os -arch x86_64 -fno-common” gem install —no-ri —no-rdoc
</pre>
				</li>
				<li><strong>aliasの設定</strong>
				<pre>
$ alias sgi32=”sudo env ARCHFLAGS="-Os -arch i386 -fno-common" gem install —no-ri —no-rdoc”
$ alias sgi64=”sudo env ARCHFLAGS="-Os -arch x86_64 -fno-common" gem install —no-ri —no-rdoc”
</pre>
				</li>
				<li><strong>.bashrcや.zshrcに「alias sgi=&#8221; sgi64&#8243;」を追加。ついでにPATHも(↓ちなみに自分の。dropboxでmacやらlinuxやらで共有してる)</strong>
				<pre>
# users generic .zshrc file for zsh(1)

alias sgi="sgi64"
## Environment variable configuration
#
# LANG
#
export LANG=ja_JP.UTF-8

# パスの設定
PATH=/usr/local/bin:$PATH
# PHP
export PATH=/usr/local/php/bin:$PATH
# Ruby
export PATH=/usr/local/ruby/bin:$PATH
# PostgreSQL
POSTGRES_HOME=/usr/local/pgsql
export PATH=$PATH:/usr/local/pgsql/bin:/opt/local/lib/postgresql83/bin
export PGLIB=$POSTGRES_HOME/lib
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"
export PGDATA=$POSTGRES_HOME/data
export MANPATH=$MANPATH:$POSTGRES_HOME/man
# MySQL
export PATH=$PATH:/usr/local/mysql/bin:/opt/local/lib/mysql5/bin
# MacPorts
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Refe
REFE_DATA_DIR=/usr/share/refe:/opt/local/share/refe
export REFE_DATA_DIR
# Man
export MANPATH=/usr/local/man:/usr/share/man:/opt/local/man
</pre>
				</li>
				</ol>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/483/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Mac]SnowLeopardで開発環境構築するよ &#8211; Leopardからアップグレード[SnowLeopard]</title>
		<link>http://ore.saizensen.net/archives/480</link>
		<comments>http://ore.saizensen.net/archives/480#comments</comments>
		<pubDate>Thu, 03 Dec 2009 03:51:49 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=480</guid>
		<description><![CDATA[				LeopardからSnowLeopardへアップグレードする人用。
				
				アップグレード前にMacPortsでインストールしたのを保存 &#038;&#038; 削除(Leopardな環境)
				 [...]]]></description>
			<content:encoded><![CDATA[				<p><strong>Leopard</strong>から<strong>SnowLeopard</strong>へ<strong>アップグレード</strong>する人用。</p>
				<ol>
				<li><strong>アップグレード前にMacPortsでインストールしたのを保存 &#038;&#038; 削除(Leopardな環境)</strong>
				
				<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;">$ port installed &gt; ~/ports.txt #portでインストールしたプログラムリスト
$ sudo port deactivate active
$ sudo rm -rf /opt</pre></div></div>
				
				</li>
				<li><strong>SnowLeopardインストール</strong>
				<ul>
				<li>customizeから，余計な言語環境やプリンタードライバーを除いてSnowLeopardインストール。</li>
				<li>起動</li>
				<li>Software Update→再起動</li>
				<li>CDからXcodeインストール</li>
				</ul>
				</li>
				<li>Leopardの時にmac標準rubyへgemsをインストールしてたけど無駄に残ってるの気持ち悪いから消す(MacPortsでrubyはインストールする)
				<pre>
$ gem list | cut -d ' ' -f1 > installed_gems
$ sudo mv /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8.bak
$ sudo mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
$ sudo gem list | cut -d ' ' -f1 | xargs sudo gem uninstall -aIx
</pre>
				</li>
				</ol>
				<p>アップグレード前にすることはこんなとこでしょうか。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/480/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Firefox]現在使ってるFirefoxアドオン &amp;&amp; about:config設定[Add-ons]</title>
		<link>http://ore.saizensen.net/archives/474</link>
		<comments>http://ore.saizensen.net/archives/474#comments</comments>
		<pubDate>Wed, 25 Nov 2009 09:37:58 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Add-ons]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=474</guid>
		<description><![CDATA[				ここ数年Ubuntuを使っていましたが、ファイルマネージャーが逝かれたのかHDが死にかけなのか不明ですがすごくファイル操作が重いのでUbuntu捨てました。
				ということで夏頃買ったままで放置してたMacb [...]]]></description>
			<content:encoded><![CDATA[				<p>ここ数年Ubuntuを使っていましたが、ファイルマネージャーが逝かれたのかHDが死にかけなのか不明ですがすごくファイル操作が重いのでUbuntu捨てました。<br />
				ということで夏頃買ったままで放置してたMacbookの埃を払い引っぱり出してきました。<br />
				夏に初期設定的に必要なアプリや開発環境はすべてインストールして有りましたが、新しいもの好きな私は今更ながらSnowLeopardへアップグレード致しました。あ、portsでインストールするようにインストールスクリプト書いてあったのでさっくり終わりました。<br />
				設定がめんどくさいですめんどくさいですめんどくさいです。まともにmacに触ったのは数年ぶりなのでほとんど忘れています。</p>
				<p>ということで、macのFirefoxを何もいじってなかったのでサクッと弄くりました。<br />
				まずは、</p>
				<p>about:config内の設定。</p>
				<ul>
				<li><strong>タブの閉じるボタン</strong><br />
				browser.tabs.closeButtons ： 0<br />
				&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
				0 (アクティブなタブにだけ表示)<br />
				1 (全てのタブに表示) デフォルト<br />
				2 (表示しない)<br />
				3 (タブバー右端に表示) 1.xと同じ</li>
				<li><strong>スクロールが始まるタブ幅を変更する</strong><br />
				browser.tabs.tabMinWidth ： 50<br />
				&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
				100 デフォルト<br />
				0 (スクロール無効)</li>
				<li><strong>グーグル等のページ先読みを止める</strong><br />
				network.prefetch-next ： false</li>
				<li><strong>デフォルトの検索窓から検索した結果を新規タブに開く</strong><br />
				browser.search.openintab ： true</li>
				<li><strong>ページレンダリング高速化</strong><br />
				content.notify.backoffcount ： 5(新規作成_整数)<br />
				→すべてのページをダウンロードし終わる前にレンダリングを開始する<br />
				nglayout.initialpaint.delay ： 0(新規作成_整数)<br />
				→ページレイアウト情報をすべてダウンロードする前にレンダリングを開始する</li>
				<li><strong>メニューを高速化する</strong><br />
				ui.submenuDelay ： 0(新規作成_整数)<br />
				→メニューをポップアップするまでの待ち時間がなくなる。</li>
				<li><strong>IPv6対応機能を無効にする</strong><br />
				network.dns.disableIPv6 ： true</li>
				<li><strong>ローカルメモリキャッシュを増加させる</strong><br />
				browser.cache.memory.capacity ： 32768(新規作成_整数)</li>
				<li><strong>TraceMonkey JavaScriptエンジンを有効にする</strong><br />
				javascript.options.jt.chrome ：true<br />
				javascript.options.jit.content ： true</li>
				</ul>
				<p>つぎに、アドオンを放り込みます。</p>
				<ol>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/1843">Firebug</a></li>
				<li><a href="http://users.skynet.be/mgueury/mozilla/">Html Validator</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/60">Web Developer</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/2410">Xmarks</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/8519">FireMobileSimulator</a></li>
				<li><a href="http://piro.sakura.ne.jp/xul/textlink/#download">Text Link</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/590">ShowIP</a></li>
				<li><a href="http://pearlcrescent.com/products/pagesaver/">Pearl Crescent Page Save</a>r</li>
				<li><a href="https://addons.mozilla.org/en-US/firefox/addon/5673">FxIF</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/59">User Agent Switcher</a></li>
				<li><a href="http://livehttpheaders.mozdev.org/installation.html">LiveHTTPHeaders</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/748">Greasemonkey</a></li>
				<li><a href="http://miniturbo.org/products/nicodownloader/">nicoDownloader</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/4891">Vimperator</a></li>
				<li><a href="https://addons.mozilla.org/en-US/firefox/addon/5239">XUL/Migemo</a></li>
				<li><a href="http://gears.google.com/">Gears</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/11198">SQLite Optimizer</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/13824">Vacuum Places</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/7661">Read It Later</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/14258">SwitchHosts</a></li>
				<li><a href="https://addons.mozilla.org/en-US/firefox/addon/10394">MailCatch: Temporary Emails</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/6424">Better GReader</a></li>
				<li><a href="http://gr.aiderss.com/">aideRSS</a></li>
				<li><a href="https://addons.mozilla.org/ja/firefox/addon/14024">AFOM Plus</a>(Windowsのみ)</li>
				</ol>
				<p>最後にGreaseMonkeyスクリプトをちょっと入れます。</p>
				<ul>
				<li><a href="http://userscripts.org/scripts/show/8551">AutoPagerize</a></li>
				<li><a href="http://userscripts.org/scripts/show/11562">LDRize</a></li>
				<li><a href="http://userscripts.org/scripts/show/11759">Minibuffer</a></li>
				<li><a href="http://userscripts.org/scripts/show/31950">Google Fx</a></li>
				</ul>
				<p>以上です。完全に自分用メモです。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/474/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[courier-authlib]vpopmailをSMTP-AUTH対応させる為のcourier-authlibを置いておく[vpopmail]</title>
		<link>http://ore.saizensen.net/archives/467</link>
		<comments>http://ore.saizensen.net/archives/467#comments</comments>
		<pubDate>Wed, 25 Nov 2009 08:47:29 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=467</guid>
		<description><![CDATA[				CentOSで自宅サーバー構築のバーチャルドメイン設定(Postfix&#038;Dovecot+qmail&#038;vpopmail)で、
				２）SMTP-AUTHのvpopmail対応という箇所があり [...]]]></description>
			<content:encoded><![CDATA[				<p><a href="http://centossrv.com/">CentOSで自宅サーバー構築</a>の<a href="http://centossrv.com/postfix-vpopmail.shtml">バーチャルドメイン設定(Postfix&#038;Dovecot+qmail&#038;vpopmail)</a>で、<br />
				２）SMTP-AUTHのvpopmail対応という箇所がありますが、<br />
				そこで使用しているcourier-authlibの配布元からダウンロードできるバージョンでは<strong>「vchkpw認証」</strong>が出来ません。</p>
				<p>ということで、「vchkpw認証」できる古いバージョンのファイルを置いておきます。<br />
				<a href="http://ore.saizensen.net/wp-content/uploads/2009/11/courier-authlib-0.60.2.tar.bz2">http://ore.saizensen.net/wp-content/uploads/2009/11/courier-authlib-0.60.2.tar.bz2</a></p>
				<p>古いバージョンのを使う以外にどうしたらいいんでしょうか・・・vchkpw認証をやめて他の方法にしますかねぇ。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/467/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[WordPress]wp-syntaxを使ってコード掲載時、一部コードが消える問題。</title>
		<link>http://ore.saizensen.net/archives/462</link>
		<comments>http://ore.saizensen.net/archives/462#comments</comments>
		<pubDate>Wed, 28 Oct 2009 15:54:30 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[雑記]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=462</guid>
		<description><![CDATA[				載っけてるコードがおかしいというコメントを時々頂いておりましたが、ようやく原因が分かり対処することができました。
				どうやらwp-syntaxを使ってコードを掲載すると不具合が起こるようです。
				一部 [...]]]></description>
			<content:encoded><![CDATA[				<p>載っけてるコードがおかしいというコメントを時々頂いておりましたが、ようやく原因が分かり対処することができました。<br />
				どうやらwp-syntaxを使ってコードを掲載すると不具合が起こるようです。<br />
				一部コードがHTMLタグのような場合(＜Directory＞、＜POL＞とか)に、HTMLタグとして誤認識してしまい、表示時にwordpressのフィルターを通して非表示してしまうようで。<br />
				Link：<a href="http://www.tenman.info/blog/archives/251">http://www.tenman.info/blog/archives/251</a>
				</p>
				<ol>
				<li>ビジュアルエディター使わない。</li>
				<li>設定>投稿設定>不正にネスト化した XHTML を自動的に修正する　のチェックを外す</li>
				<li>＜pre＞タグにescaped=&#8221;true&#8221;を指定する。</li>
				</ol>
				<p>これで大丈夫かと。<br />
				今までの記事を修正するかどうかは・・・不明ですwww</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/462/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>夏休みを利用してDebian lennyで１からサーバーを作ってみた。</title>
		<link>http://ore.saizensen.net/archives/420</link>
		<comments>http://ore.saizensen.net/archives/420#comments</comments>
		<pubDate>Fri, 14 Aug 2009 08:04:47 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[雑記]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=420</guid>
		<description><![CDATA[				夏休みを利用してDebian lennyで１からサーバーを作ってみた。
				手順を全てメモして、うpするのは骨が折れる作業でした。疲れました。もうやらないでしょう。
				メモをまとめるだけでひどく疲れたの [...]]]></description>
			<content:encoded><![CDATA[				<p>夏休みを利用してDebian lennyで１からサーバーを作ってみた。</p>
				<p>手順を全てメモして、うpするのは骨が折れる作業でした。疲れました。もうやらないでしょう。<br />
				メモをまとめるだけでひどく疲れたので説明文なんてものはありません。まぁいいでしょう。</p>
				<p>ということで下記ページにまとめました。<br />
				全部で28項になりました。脳みそが痛いです。</p>
				<p><a href="http://ore.saizensen.net/debian-lenny%e3%81%a7%ef%bc%91%e3%81%8b%e3%82%89%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b">Debian lennyで１からサーバーを作ってみる</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/420/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; IPTables log analyzerをインストール</title>
		<link>http://ore.saizensen.net/archives/385</link>
		<comments>http://ore.saizensen.net/archives/385#comments</comments>
		<pubDate>Fri, 14 Aug 2009 07:20:45 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=385</guid>
		<description><![CDATA[				
				IPTables log analyzerをインストール
				# cd /usr/local/src
最新版をここから探す。http://sourceforge.net/project/showfi [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>IPTables log analyzerをインストール</strong>
				<pre># cd /usr/local/src</pre>
<p>最新版をここから探す。<a href="http://sourceforge.net/project/showfiles.php?group_id=63361">http://sourceforge.net/project/showfiles.php?group_id=63361</a></p>
<pre>
# wget http://jaist.dl.sourceforge.net/sourceforge/iptablelog/iptablelog-v0.9.tar.gz
# tar -zxvf iptablelog-v0.9.tar.gz
# mv iptablelog /var/www/admin
# chown -R root.root /var/www/admin/iptablelog
# cd
# mysql -u root -p
mysql> create database iptablelog;
mysql> grant all on iptablelog.* to iptablelog_user@localhost identified by '******';
mysql> exit
# cat /var/www/admin/iptablelog/conf/iptables.mysql | mysql -u iptablelog_user -p iptablelog
</pre>
				</li>
				<li><strong>ulogdインストール</strong>
				<pre>
# aptitude install ulogd ulogd-mysql
# vi /etc/ulogd.conf
</pre>
				<pre>
#
# ulogd_BASE.so - interpreter plugin for basic IPv4 header fields
#                 you will always need this
plugin="/usr/lib/ulogd/ulogd_BASE.so"
plugin="/usr/lib/ulogd/ulogd_LOCAL.so" ← 追加

plugin="/usr/lib/ulogd/ulogd_LOGEMU.so"
↓
#plugin="/usr/lib/ulogd/ulogd_LOGEMU.so"

#plugin="/usr/lib/ulogd/ulogd_MYSQL.so"
↓
plugin="/usr/lib/ulogd/ulogd_MYSQL.so"

[MYSQL]
pass="changeme"
↓
pass="******"

user="laforge"
↓
user="iptablelog_user"

db="ulogd"
↓
db="iptablelog"
</pre>
				<pre># /etc/init.d/ulogd start</pre>
</li>
<li><strong>/root/iptables.shを編集</strong>
<pre># vi /root/iptables.sh</pre>
				<pre>
・・・
・・・
# ↓この行の下へ追加する
# 上記のルールにマッチしなかったアクセスはログを記録して破棄
iptables -A INPUT -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES INPUT] : '
iptables -A INPUT -m limit --limit 1/s -j ULOG --ulog-nlgroup 1 --ulog-prefix 'INPUT' ← 追加
・・・
・・・
</pre>
				</li>
				<li><strong>IPTables log analyzer設定</strong>
				<pre>
# cp /var/www/admin/iptablelog/conf/config.php.default /var/www/admin/iptablelog/conf/config.php
# vi /var/www/admin/iptablelog/conf/config.php
</pre>
				<pre>
$db_password="changeme";
↓
$db_password="******";

$file_base="/path/to/iptablelog";
↓
$file_base="/var/www/admin/iptablelog";
</pre>
				<pre>
# cp /var/www/admin/iptablelog/conf/iptables_resolve.default /etc/cron.hourly/iptables_resolve
# vi /etc/cron.hourly/iptables_resolve
</pre>
				<pre>
$iptablelog_path = "/var/www/html/iptablelog";
↓
$iptablelog_path = "/var/www/admin/iptablelog";

db_connect("localhost","dbname","dbuser", "dbpass");
↓
db_connect("localhost","iptablelog","iptablelog_user", "******");
</pre>
				</li>
				<li>ブラウザで「http://admin.サーバー名/iptablelog」へアクセスする。</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/385/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; Visitorsをインストール</title>
		<link>http://ore.saizensen.net/archives/381</link>
		<comments>http://ore.saizensen.net/archives/381#comments</comments>
		<pubDate>Fri, 14 Aug 2009 07:13:31 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=381</guid>
		<description><![CDATA[				
				Apacheアクセスログ解析にVisitorsをインストール。
				# aptitude install visitors nkf

アクセスログ解析結果出力ティレクトリ作成。
# mkdir /v [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>Apacheアクセスログ解析にVisitorsをインストール。</strong>
				<pre># aptitude install visitors nkf</pre>
</li>
<li><strong>アクセスログ解析結果出力ティレクトリ作成。</strong>
<pre># mkdir /var/www/admin/log</pre>
				</li>
				<li><strong>所有者を一般ユーザーへ変更</strong>(hogeは一般ユーザーへ)
				<pre># chown hoge.hoge /var/www/admin/log</pre>
</li>
<li><strong>visitors.shを作成</strong>(hogeは一般ユーザーへ)
<pre># vi visitors.sh</pre>
				<pre>
#!/bin/bash

# ユーザーネームを記載
username=hoge
# アクセス解析用ディレクトリを記載
addlog=/var/www/admin/log/
# このスクリプトのログファイル名を記載
logfile=/var/log/logsearch.log

function logsearch
{
date '+%Y/%m/%d(%a) %T'
for a in `find /var/log/apache2/* -mtime -4`
do
log=`basename $a`
  visitors -A -m 30000 $a -o html > $addlog$log
  nkf -w -m0 $addlog$log > $addlog$log.html
  rm -f $addlog$log
done
}
logsearch >> $logfile 2>&#038;1
echo "" >> $logfile; echo "" >> $logfile;
chown -R $username:$username $addlog
</pre>
				</li>
				<li><strong>実行権を付与 &#038;&#038; Cronへ登録</strong>
				<pre>
# chmod +x visitors.sh
# mv visitors.sh /etc/cron.hourly
</pre>
				</li>
				<li><strong>.htaccessを作成</strong>
				<pre># vi /var/www/admin/log/.htaccess</pre>
<pre>
Options Indexes Includes ExecCGI FollowSymLinks MultiViews
</pre>
				<p>hogeは一般ユーザーへ</p>
				<pre># chown hoge.hoge /var/www/admin/log/.htaccess</pre>
</li>
<li>ブラウザで「http://admin.サーバー名/log」へアクセスする。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/381/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; pflogsummをインストール</title>
		<link>http://ore.saizensen.net/archives/377</link>
		<comments>http://ore.saizensen.net/archives/377#comments</comments>
		<pubDate>Fri, 14 Aug 2009 07:06:05 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=377</guid>
		<description><![CDATA[				
				Postfixのログ解析にpflogsummをインストール。
				# aptitude install pflogsumm

pflogsumm_report用にスクリプト作成
# vi pflogsumm_report
				
#!/bin/bash

LANG=C

MAILLOG=`mktemp`
for log in `ls /var/log/mail.log*&#124;sort -r`
do
    cat $log >> $MAILLOG
done
REPORT=`mktemp`
pflogsumm --problems_first --verbose_msg_detail --mailq -d yesterday $MAILLOG > $REPORT
cat $REPORT &#124; mail -s "`head -1 $REPORT` in `uname -n`" postmaster
rm -f $MAILLOG $REPORT

				
# chmod 700 pflogsumm_report
# ./pflogsumm_report
# mv pflogsumm_report /etc/cron.daily/

				
				
]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>Postfixのログ解析にpflogsummをインストール。</strong>
				<pre># aptitude install pflogsumm</pre>
</li>
<li><strong>pflogsumm_report用にスクリプト作成</strong>
<pre># vi pflogsumm_report</pre>
				<pre>
#!/bin/bash

LANG=C

MAILLOG=`mktemp`
for log in `ls /var/log/mail.log*|sort -r`
do
    cat $log >> $MAILLOG
done
REPORT=`mktemp`
pflogsumm --problems_first --verbose_msg_detail --mailq -d yesterday $MAILLOG > $REPORT
cat $REPORT | mail -s "`head -1 $REPORT` in `uname -n`" postmaster
rm -f $MAILLOG $REPORT
</pre>
				<pre>
# chmod 700 pflogsumm_report
# ./pflogsumm_report
# mv pflogsumm_report /etc/cron.daily/
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/377/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; logwatchをインストール</title>
		<link>http://ore.saizensen.net/archives/375</link>
		<comments>http://ore.saizensen.net/archives/375#comments</comments>
		<pubDate>Fri, 14 Aug 2009 07:06:02 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=375</guid>
		<description><![CDATA[				
				logwatchをインストール
				# aptitude install logwatch
デフォルトでroot宛へメールが送られる。変えたければ以下を編集。(私はデフォルトのまま)

# vi / [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>logwatchをインストール</strong>
				<pre># aptitude install logwatch</pre>
<p>デフォルトでroot宛へメールが送られる。変えたければ以下を編集。(私はデフォルトのまま)</p>
<pre>
# vi /usr/share/logwatch/default.conf/logwatch.conf
</pre>
				<pre>
MailTo = root
↓
MailTo = hogehoge@gmail.com
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/375/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; サーバーバックアップ設定</title>
		<link>http://ore.saizensen.net/archives/371</link>
		<comments>http://ore.saizensen.net/archives/371#comments</comments>
		<pubDate>Fri, 14 Aug 2009 07:00:18 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=371</guid>
		<description><![CDATA[				サーバーバックアップ設定
				
				bzip2をインストール
				# aptitude install bzip2

バックアップスクリプト作成
# vi backup.sh
				
#!/bin/ [...]]]></description>
			<content:encoded><![CDATA[				<p><strong>サーバーバックアップ設定</strong></p>
				<ul>
				<li><strong>bzip2をインストール</strong>
				<pre># aptitude install bzip2</pre>
</li>
<li><strong>バックアップスクリプト作成</strong>
<pre># vi backup.sh</pre>
				<pre>
#!/bin/bash

#
# ローカル内でバックアップ
#

LANG=C

#
# 設定開始
#

# バックアップ対象リスト名
# ※バックアップ対象をフルパスで記述したリスト
BACKUPLIST=/root/backuplist
[ ! -s $BACKUPLIST ] &#038;&#038; echo "$BACKUPLIST is not found" &#038;&#038; error_exit

# バックアップ対象外リスト名
# ※バックアップ対象外をフルパスで記述したリスト
BACKUPNOLIST=/root/backupnolist

# バックアップ先ディレクトリ名
BACKUPDIR=/backup
mkdir -p $BACKUPDIR

# バックアップ保存世代数
# ※当日分を含めた過去分バックアップを保存する世代数
# ※過去分バックアップを保存しない場合は1を指定する
BACKUPGEN=8

# 暗号化・復号化パスフレーズ
# ※指定がないときは暗号化しない
PASS=''

# バックアップログファイル名
BACKUPLOG=/var/log/backup.log

#
# 設定終了
#

# 異常終了処理関数定義
error_exit () {
    rm -f $TMPBACKUPNOLIST
    exit 1
}

# バックアップファイルをバックアップ対象外リストに追加
# ※バックアップ先ファイルをバックアップしないようにする
TMPBACKUPNOLIST=`mktemp`
[ -s $BACKUPNOLIST ] &#038;&#038; cat $BACKUPNOLIST > $TMPBACKUPNOLIST
echo "$BACKUPDIR/*backup.tar.bz2" >> $TMPBACKUPNOLIST

# 前回バックアップをリネーム
cd $BACKUPDIR
OLDBACKUPFILE=`ls backup.tar.bz2* 2>/dev/null`
if [ -f $OLDBACKUPFILE ]; then
    TIMESTAMP=`ls --full-time $OLDBACKUPFILE|awk '{print $6}'|tr -d -`
    mv $BACKUPDIR/$OLDBACKUPFILE $BACKUPDIR/${TIMESTAMP}$OLDBACKUPFILE > /dev/null 2>&#038;1
fi

# バックアップログファイル作成
rm -f $BACKUPLOG
touch $BACKUPLOG
chmod 400 $BACKUPLOG

# バックアップ実行
echo "`date` backup start" >> $BACKUPLOG
tar cjvfP $BACKUPDIR/backup.tar.bz2 -T $BACKUPLIST -X $TMPBACKUPNOLIST >> $BACKUPLOG 2>&#038;1
code=$?
if [ $code -ne 0 ]; then
    cat $BACKUPLOG | mail -s "BACKUP NG CODE IS $code" root
    rm -f $BACKUPDIR/backup.tar.bz2
    error_exit
fi
echo "`date` backup end" >> $BACKUPLOG

# バックアップ暗号化(暗号化・復号化パスフレーズ指定時のみ)
if [ ! -z $PASS ]; then
    echo "`date` encrypt start" >> $BACKUPLOG
    mkdir -p $HOME/.gnupg
    echo $PASS|gpg --passphrase-fd 0 --batch -c $BACKUPDIR/backup.tar.bz2 > /dev/null 2>&#038;1
	code=$?
	if [ $code -ne 0 ]; then
	    cat $BACKUPLOG | mail -s "BACKUP NG CODE IS $code" root
	    rm -f $BACKUPDIR/backup.tar.bz2*
	    error_exit
	fi
    rm -f $BACKUPDIR/backup.tar.bz2
    echo "`date` encrypt end" >> $BACKUPLOG
fi

# バックアップ保存世代を超えた古いバックアップを削除
if [ $(ls $BACKUPDIR/*backup.tar.bz2*|wc -l) -gt $BACKUPGEN ]; then
    OLDBACKUPCNT=`expr $(ls $BACKUPDIR/*backup.tar.bz2*|wc -l) - $BACKUPGEN`
    for file in `ls -t $BACKUPDIR/*backup.tar.bz2*|tail -n $OLDBACKUPCNT`
    do
        rm -f $file
    done
fi

# バックアップ対象外リスト削除
rm -f $TMPBACKUPNOLIST
</pre>
				</li>
				<li><strong>実行権を付与</strong>
				<pre># chmod 700 backup.sh</pre>
</li>
<li><strong>バックアップ対象リスト作成</strong>
<pre>
# echo "/home" >> backuplist
# echo "/root" >> backuplist
# echo "/var/www" >> backuplist
# echo "/backup/mysql" >> backuplist
# echo "/var/lib/postgresql/8.3/main/backups/pgsql-backup" >> backuplist
</pre>
				</li>
				<li><strong>バックアップ対象外リスト作成</strong>
				<pre># echo "/var/www/admin" >> backupnolist</pre>
</li>
<li><strong>cronへ登録(mysqlのバックアップ後、サーバーバックアップを行う様に編集。)</strong>
<pre># crontab -e</pre>
				<pre>
0 5 * * * /root/mysql-backup.sh; /root/backup.sh
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/371/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; OpenVPNをインストール</title>
		<link>http://ore.saizensen.net/archives/365</link>
		<comments>http://ore.saizensen.net/archives/365#comments</comments>
		<pubDate>Fri, 14 Aug 2009 06:53:14 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=365</guid>
		<description><![CDATA[				
				OpenVPNをインストール
				# aptitude install openvpn openssl

もし /dev/net/tun が存在しなかったら以下を行って作成する↓

# mkdir  [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>OpenVPNをインストール</strong>
				<pre># aptitude install openvpn openssl</pre>
</li>
<li><strong>もし /dev/net/tun が存在しなかったら以下を行って作成する↓</strong>
<pre>
# mkdir /dev/net
# mknod /dev/net/tun c 10 200
</pre>
				</li>
				<li><strong>IPフォワード設定</strong>
				<pre># vi /etc/sysctl.conf</pre>
<pre>
#net.ipv4.ip_forward=1
↓
net.ipv4.ip_forward=1
</pre>
				<pre># sysctl -p /etc/sysctl.conf</pre>
<p>1が表示されるかの確認</p>
<pre># cat /proc/sys/net/ipv4/ip_forward</pre>
				</li>
				<li><strong>OpenVPN設定(サーバー)</strong>
				<ol>
				<li>CA証明書・秘密鍵作成
				<pre>
# cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /etc/openvpn/easy-rsa
# cd /etc/openvpn/easy-rsa/
# chmod +x *
# vi vars
</pre>
				<pre>
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
↓
export KEY_COUNTRY="JP"
export KEY_PROVINCE="Tokyo"
export KEY_CITY="Edogawa"
export KEY_ORG="saizensen.net"
export KEY_EMAIL="root@saizensen.net"
</pre>
				<pre>
# source vars
# ./clean-all
# ./build-ca
</pre>
				<p>↑を実行すると色々聞いてくるが全て空ENTERでおk。</p>
				<pre>
# cp keys/ca.crt /etc/openvpn/
</pre>
				</li>
				<li>サーバー証明書・秘密鍵作成
				<pre># ./build-key-server server</pre>
<pre>
Generating a 1024 bit RSA private key
....................++++++
............................++++++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [JP]: <strong>← 空ENTER</strong>
State or Province Name (full name) [Tokyo]: <strong>← 空ENTER</strong>
Locality Name (eg, city) [Edogawa]: <strong>← 空ENTER</strong>
Organization Name (eg, company) [saizensen.net]: <strong>← 空ENTER</strong>
Organizational Unit Name (eg, section) []: <strong>← 空ENTER</strong>
Common Name (eg, your name or your server's hostname) [server]: <strong>← 空ENTER</strong>
Email Address [root@saizensen.net]: <strong>← 空ENTER</strong>

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <strong>← 空ENTER</strong>
An optional company name []: <strong>← 空ENTER</strong>
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           : PRINTABLE:'JP'
stateOrProvinceName   : PRINTABLE:'Tokyo'
localityName          : PRINTABLE:'Edogawa'
organizationName      : PRINTABLE:'saizensen.net'
commonName            : PRINTABLE:'server'
emailAddress          : IA5STRING:'root@saizensen.net'
Certificate is to be certified until Aug 11 09:04:37 2019 GMT (3650 days)
Sign the certificate? [y/n]:y <strong>← yキー</strong>

1 out of 1 certificate requests certified, commit? [y/n]y <strong>← yキー</strong>
Write out database with 1 new entries
Data Base Updated
</pre>
				<pre>
# cp keys/server.crt /etc/openvpn/
# cp keys/server.key /etc/openvpn/
</pre>
				</li>
				<li>DH(Diffie Hellman)パラメータ作成
				<pre>
# ./build-dh
# cp keys/dh1024.pem /etc/openvpn/
</pre>
				</li>
				<li>証明書廃止リスト作成
				<pre># ./build-key dmy</pre>
<pre>
enerating a 1024 bit RSA private key
..............................................................++++++
..++++++
writing new private key to 'dmy.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [JP]: <strong>← 空ENTER</strong>
State or Province Name (full name) [Tokyo]: <strong>← 空ENTER</strong>
Locality Name (eg, city) [Edogawa]: <strong>← 空ENTER</strong>
Organization Name (eg, company) [saizensen.net]: <strong>← 空ENTER</strong>
Organizational Unit Name (eg, section) []: <strong>← 空ENTER</strong>
Common Name (eg, your name or your server's hostname) [dmy]: <strong>← 空ENTER</strong>
Email Address [root@saizensen.net]: <strong>← 空ENTER</strong>

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <strong>← 空ENTER</strong>
An optional company name []: <strong>← 空ENTER</strong>
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           : PRINTABLE:'JP'
stateOrProvinceName   : PRINTABLE:'Tokyo'
localityName          : PRINTABLE:'Edogawa'
organizationName      : PRINTABLE:'saizensen.net'
commonName            : PRINTABLE:'dmy'
emailAddress          : IA5STRING:'root@saizensen.net'
Certificate is to be certified until Aug 11 09:09:41 2019 GMT (3650 days)
Sign the certificate? [y/n]:y <strong>← yキー</strong>

1 out of 1 certificate requests certified, commit? [y/n]y <strong>← yキー</strong>
Write out database with 1 new entries
Data Base Updated
</pre>
				</li>
				<li>openssl.cnfを編集
				<pre># vi openssl.cnf</pre>
<pre>
[ pkcs11_section ]
↓
#[ pkcs11_section ]

engine_id = pkcs11
↓
#engine_id = pkcs11

dynamic_path = /usr/lib/engines/engine_pkcs11.so
↓
#dynamic_path = /usr/lib/engines/engine_pkcs11.so

MODULE_PATH = $ENV::PKCS11_MODULE_PATH
↓
#MODULE_PATH = $ENV::PKCS11_MODULE_PATH

PIN = $ENV::PKCS11_PIN
↓
#PIN = $ENV::PKCS11_PIN

init = 0
↓
#init = 0
</pre>
				</li>
				<li>./revoke-full dmyを実行すると↓みたいに表示されるけど無視して進む。
				<pre>
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Revoking Certificate 02.
Data Base Updated
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
dmy.crt: /C=JP/ST=Tokyo/L=Edogawa/O=saizensen.net/CN=dmy/emailAddress=root@saizensen.net
error 23 at 0 depth lookup:certificate revoked
</pre>
				<pre>
# ./revoke-full dmy
# cp keys/crl.pem /etc/openvpn/
# cd
</pre>
				</li>
				<li>OpenVPN設定
				<pre>
# openvpn --genkey --secret /etc/openvpn/ta.key
# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn
# gunzip /etc/openvpn/server.conf.gz
# vi /etc/openvpn/server.conf
</pre>
				<pre>
;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
push "route 192.168.0.0 255.255.255.0" ← 追加(内部ネットワークアドレス)

;tls-auth ta.key 0 # This file is secret
↓
tls-auth ta.key 0 # This file is secret

;user nobody
;group nogroup
↓
user nobody
group nogroup

;log-append  openvpn.log
↓
log-append  /var/log/openvpn.log

management localhost 7505 ← ファイル最終行へ追加
crl-verify crl.pem ← ファイル最終行へ追加
</pre>
				</li>
				<li>iptables設定(/etc/openvpn/openvpn-startupを作成)
				<pre># vi /etc/openvpn/openvpn-startup</pre>
<pre>
#!/bin/bash

# VPNインタフェースiptablesルール削除スクリプト実行※必須
/etc/openvpn/openvpn-shutdown

# VPNサーバーからの送信を許可※必須
iptables -I OUTPUT -o tun+ -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPT

# VPNクライアントからVPNサーバーへのアクセスを許可する場合
iptables -I INPUT -i tun+ -j ACCEPT

# VPNクライアントからLANへのアクセスを許可する場合
# (例としてVPNクライアントから192.168.0.0/24へのアクセスを許可する場合)
iptables -I FORWARD -i tun+ -d 192.168.0.0/24 -j ACCEPT

# VPNクライアントからLAN内特定マシンのみへのアクセスを許可する場合
# (例としてVPNクライアントから192.168.0.3へのアクセスを許可する場合)
#iptables -I FORWARD -i tun+ -d 192.168.0.3 -j ACCEPT
</pre>
				<pre># chmod +x /etc/openvpn/openvpn-startup</pre>
</li>
<li>iptables設定(/etc/openvpn/openvpn-shutdownを作成)
<pre># vi /etc/openvpn/openvpn-shutdown</pre>
				<pre>
#!/bin/bash

# VPNインタフェース(tun+)用iptablesルール削除関数
delete() {
    rule_number=`iptables -L $target --line-numbers -n -v|grep tun.|awk '{print $1}'|sort -r`
    for num in $rule_number
    do
        iptables -D $target $num
    done
}

# VPNインタフェース(tun+)用iptables受信ルール削除
target='INPUT'
delete

# VPNインタフェース(tun+)用iptables転送ルール削除
target='FORWARD'
delete

# VPNインタフェース(tun+)用iptables送信ルール削除
target='OUTPUT'
delete
</pre>
				<pre># chmod +x /etc/openvpn/openvpn-shutdown</pre>
</li>
<li>openvpn起動 &#038;&#038; iptablesスクリプト起動
<pre>
# /etc/init.d/openvpn start
# ./iptables.sh
</pre>
				</li>
				<li>ルーター側で、宛先がVPN(例:10.8.0.0/24)のアクセスはVPNサーバー(例:192.168.0.2)を経由するようにルートを追加する。</li>
				</ol>
				</li>
				<li><strong>OpenVPN設定(クライアント)</strong>
				<ol>
				<li>クライアント証明書・秘密鍵作成
				<pre># cd /etc/openvpn/easy-rsa/</pre>
</li>
<li>証明書／鍵作成用環境変数設定ファイル内容をシステムに反映
<pre># source vars</pre>
				</li>
				<li>クライアント名saizensen_net-1※のクライアント証明書・秘密鍵作成<br />
				※クライアント名は一意であること＝既に作成済のクライアント名と重複しないこと</p>
				<pre># ./build-key-pass saizensen_net-1</pre>
<pre>
Generating a 1024 bit RSA private key
.........................................++++++
..++++++
writing new private key to 'saizensen_net-1.key'
Enter PEM pass phrase: <strong>← パスワードを設定する</strong>
Verifying - Enter PEM pass phrase: <strong>← パスワードを設定する(確認)</strong>
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [JP]: <strong>← 空ENTER</strong>
State or Province Name (full name) [Tokyo]: <strong>← 空ENTER</strong>
Locality Name (eg, city) [Edogawa]: <strong>← 空ENTER</strong>
Organization Name (eg, company) [saizensen.net]: <strong>← 空ENTER</strong>
Organizational Unit Name (eg, section) []: <strong>← 空ENTER</strong>
Common Name (eg, your name or your server's hostname) [saizensen_net-1]: <strong>← 空ENTER</strong>
Email Address [root@saizensen.net]: <strong>← 空ENTER</strong>

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <strong>← 空ENTER</strong>
An optional company name []: <strong>← 空ENTER</strong>
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           : PRINTABLE:'JP'
stateOrProvinceName   : PRINTABLE:'Tokyo'
localityName          : PRINTABLE:'Edogawa'
organizationName      : PRINTABLE:'saizensen.net'
commonName            : T61STRING:'seizensen_net-1'
emailAddress          : IA5STRING:'root@saizensen.net'
Certificate is to be certified until Aug 11 09:40:24 2019 GMT (3650 days)
Sign the certificate? [y/n]:y <strong>← yキー</strong>

1 out of 1 certificate requests certified, commit? [y/n]y <strong>← yキー</strong>
Write out database with 1 new entries
Data Base Updated
</pre>
				</li>
				<li>/etc/hosts.allowへVPN仮想IPを追加
				<pre># echo "ALL: 10.8.0." >> /etc/hosts.allow</pre>
</li>
</ol>
</li>
<li><strong>CA証明書、クライアント証明書・秘密鍵、TLS認証鍵設置</strong><br />
サーバー側からCA証明書(/etc/openvpn/ca.crt)、クライアント証明書(/etc/openvpn/easy-rsa/keys /saizensen_net-1.crt)、クライアント秘密鍵(/etc/openvpn/easy-rsa/keys/saizensen_net-1.key)、TLS認証鍵 (/etc/openvpn/ta.key)をクライアント側へ持ち込み、設定ファイル格納フォルダ(C:\Program Files\OpenVPN\config)へ格納する。</li>
<li><strong>OpenVPN設定※クライアント側作業</strong>
<ol>
<li>クライアント設定ファイルサンプル(C:\Program Files\OpenVPN\sample-config\client.ovpn)を設定ファイル格納フォルダ(C:\Program Files\OpenVPN\config)へコピーする。</li>
<li>クライアント設定ファイル(C:\Program Files\OpenVPN\config\client.ovpn)編集
<pre>
remote my-server-1 1194
↓
remote saizensen.net 1194　←　VPNサーバー名を指定

cert client.crt
↓
cert saizensen_net-1.crt　←　クライアント証明書ファイル名を指定

key client.key
↓
key saizensen_net-1.key　←　クライアント秘密鍵ファイル名を指定

ns-cert-type server　←　行頭の;を削除してコメント解除("Man-in-the-Middle"攻撃対策)

tls-auth ta.key 1　←　行頭の;を削除してコメント解除(TLS認証有効化)
</pre>
				</li>
				</ol>
				</li>
				<li><strong>VPNクライアントの削除をする場合</strong><br />
				クライアント証明書廃止</p>
				<pre>
# cd /etc/openvpn/easy-rsa/
# source vars
# ./revoke-full saizensen_net-1
# /bin/cp keys/crl.pem /etc/openvpn/
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/365/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; swatchをインストール</title>
		<link>http://ore.saizensen.net/archives/356</link>
		<comments>http://ore.saizensen.net/archives/356#comments</comments>
		<pubDate>Fri, 14 Aug 2009 06:14:24 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=356</guid>
		<description><![CDATA[				
				swatchをインストール
				# aptitude install swatch

swatch自動起動スクリプト作成

# mkdir /var/log/swatch
# vi /etc/ini [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>swatchをインストール</strong>
				<pre># aptitude install swatch</pre>
</li>
<li><strong>swatch自動起動スクリプト作成</strong>
<pre>
# mkdir /var/log/swatch
# vi /etc/init.d/swatch
</pre>
				<pre>
#!/bin/sh

PATH="/sbin:/bin:/usr/sbin:/usr/bin"
NAME="swatch"
DAEMON="/usr/bin/swatch"
DESC="simple watcher"
CONFFILE="/etc/swatch.conf"
#LOGFILE="/var/log/secure"
LOGFILE="/var/log/auth.log"
PIDFILE="/var/run/swatch.pid"
SCRIPTDIR="/var/log/swatch"
OPTS="--config-file $CONFFILE --tail-file $LOGFILE --pid-file=$PIDFILE \
	--script-dir=$SCRIPTDIR --awk-field-syntax --daemon"

test -x $DAEMON || exit 0

start() {
    if [ ! -f "$CONFFILE" ]; then
        echo "Error: $CONFFILE does not exist."
        exit 1
    fi
    if [ ! -f "$LOGFILE" ]; then
        echo "Error: $LOGFILE does not exist."
        exit 1
    fi
    if [ -f "$PIDFILE" ]
    then
        echo "Error: $NAME is already running."
    else
        $DAEMON $OPTS
    fi
}

stop() {
    if [ -f "$PIDFILE" ]
    then
        PID=`cat $PIDFILE`
        if ps h $PID > /dev/null
        then
            pkill -P $PID
        else
            echo "Error: $NAME is not running, but PID file exists. Deleting it."
        fi
        rm -f $PIDFILE
    else
        echo "Error: $NAME is not running."
    fi
}

case "$1" in
  start)
    echo "Starting $DESC: $NAME"
    start
    ;;
  stop)
    echo "Stopping $DESC: $NAME"
    stop
    ;;
  restart)
    echo "Restarting $DESC: $NAME"
    stop
    sleep 1
    start
    ;;
  *)
    echo "Usage: $0 start|stop|restart"
    exit 1
    ;;
esac

exit 0
</pre>
				<pre>
# chmod a+x /etc/init.d/swatch
# update-rc.d swatch defaults 99
</pre>
				</li>
				<li><strong>swatchアクションスクリプト作成</strong>
				<pre># vi /usr/local/bin/swatch_action.sh</pre>
<pre>
#!/bin/bash

PATH=/bin:/sbin:/usr/bin
LANG=C

# 規制IPアドレス情報メール通知先設定
# ※メール通知しない場合は下記をコメントアウト
mail=root

# ログを標準入力から取得
read LOG

# ログからIPアドレスを抽出
IPADDR=`echo $LOG|cut -d " " -f $1`
echo "$IPADDR"|grep "^[0-9]*\." > /dev/null 2>&#038;1
if [ $? -eq 0 ]; then
    # IPアドレスから始まる場合
    IPADDR=`echo "$IPADDR"|sed -e 's/\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*/\1/p' -e d`
else
    # IPアドレス以外から始まる場合
    IPADDR=`echo "$IPADDR"|sed -e 's/.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*/\1/p' -e d`
fi

# IPアドレスをピリオドで分割
addr1=`echo $IPADDR|cut -d . -f 1`
addr2=`echo $IPADDR|cut -d . -f 2`
addr3=`echo $IPADDR|cut -d . -f 3`
addr4=`echo $IPADDR|cut -d . -f 4`

# IPアドレスがプライベートIPアドレスの場合は終了
if [ "$IPADDR" = "127.0.0.1" ]; then
    exit
elif [ $addr1 -eq 10 ]; then
    exit
elif [ $addr1 -eq 172 ] &#038;&#038; [ $addr2 -ge 16 ] &#038;&#038; [ $addr2 -le 31 ]; then
    exit
elif [ $addr1 -eq 192 ] &#038;&#038; [ $addr2 -eq 168 ]; then
    exit
fi

# 不正アクセスログメッセージをIPアドレス別ログファイルに記録
echo $LOG >> /var/log/swatch/$IPADDR

# IPアドレス別ログファイルから累積不正アクセス数取得
cnt=`cat /var/log/swatch/$IPADDR | wc -l`

# 該当IPアドレスからの累積不正アクセス数が3以上の場合または
# 引数でlockと指定された場合アクセス規制
if [ $cnt -ge 3 ] || [ $# -eq 2 -a  "$2" = "lock" ]; then
    # 該当IPアドレスからのアクセスを拒否するルールを挿入
    iptables -I INPUT -s $IPADDR -j DROP

    # 上記ルールを24時間後に削除するスケジュールを登録
    echo "iptables -D INPUT -s $IPADDR -j DROP > /dev/null 2>&#038;1" | \
    at now+24hour > /dev/null 2>&#038;1

    # アクセス規制IPアドレス情報をメール通知
    [ "$mail" != "" ] &#038;&#038; (cat /var/log/swatch/$IPADDR ; \
                          echo ; whois $IPADDR) | \
                          mail -s "$IPADDR $cnt lock!" $mail

    echo "`date` $IPADDR $cnt lock!"
else
    echo "`date` $IPADDR $cnt"
fi
</pre>
				<pre>chmod 700 /usr/local/bin/swatch_action.sh</pre>
</li>
<li><strong>swatch設定</strong>
<pre>
# vi /etc/cron.daily/logrotate
</pre>
				<pre>
/etc/init.d/swatch restart > /dev/null ← ファイル最下部へ追加
</pre>
				<pre>
# vi /etc/swatch.conf
</pre>
				<pre>
# BINDのバージョン照会を検知したら該当ホストからのアクセスを24時間規制
# ※DNSサーバー(BIND)構築済であること
watchfor /query \'VERSION\.BIND\/TXT\/CH\' denied/
    pipe "/usr/local/bin/swatch_action.sh 7 lock"
    throttle=00:00:10

# アクセス無許可ホストからのDNS使用を検知したら該当ホストからのアクセスを24時間規制
# ※DNSサーバー(BIND)構築済であること
watchfor /named.*client.*query.*denied/
    pipe "/usr/local/bin/swatch_action.sh 7 lock"

# アクセス無許可ホストからのSSHログイン失敗を検知したら該当ホストからのアクセスを24時間規制
# ※/etc/hosts.deny、/etc/hosts.allowでアクセス許可ホストを制限していることが前提
watchfor /sshd.*refused/
    pipe "/usr/local/bin/swatch_action.sh 10 lock"
    throttle=00:00:10

# アクセス許可ホストからのSSHログイン失敗を3回以上検知したら該当ホストからのアクセスを24時間規制
watchfor /sshd.*Invalid user/
    pipe "/usr/local/bin/swatch_action.sh 10"
    throttle=00:00:10
</pre>
				</li>
				<li><strong>swatch起動</strong>
				<pre># /etc/init.d/swatch start</pre>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/356/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; snortをインストール</title>
		<link>http://ore.saizensen.net/archives/354</link>
		<comments>http://ore.saizensen.net/archives/354#comments</comments>
		<pubDate>Fri, 14 Aug 2009 06:13:04 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=354</guid>
		<description><![CDATA[				
				snortインストール
				snortインストール時、内部ネットワーク設定を聞いてくるので各自設定する。(例：192.168.0.0/24)
				Set up a database for sn [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>snortインストール</strong><br />
				snortインストール時、内部ネットワーク設定を聞いてくるので各自設定する。(例：192.168.0.0/24)<br />
				Set up a database for snort-mysql to log to? と聞いてくるので「はい」と答える。</p>
				<pre>
# aptitude install snort snort-mysql
# aptitude install libio-zlib-perl libwww-perl libarchive-tar-perl
</pre>
				</li>
				<li><strong>/etc/snort/snort.confを編集</strong><br />
				snortのmysql設定は/usr/share/doc/snort-mysql/README-database.Debianを読むこと。</p>
				<pre># vi /etc/snort/snort.conf</pre>
<pre>
var HOME_NET any
↓
var HOME_NET DEBIAN_SNORT_HOME_NET

var EXTERNAL_NET any
↓
#var EXTERNAL_NET any

#var EXTERNAL_NET !$HOME_NET
↓
var EXTERNAL_NET !$HOME_NET

output database: log, mysql
↓
output database: log, mysql, user=snort password='snort-db' dbname=snort host=localhost
</pre>
				</li>
				<li><strong>snort-mysqlを設定。</strong>
				<pre># dpkg-reconfigure snort-mysql</pre>
</li>
<li><strong>snort用にMySQLへDBを作成する。</strong>
<pre>
# mysql -u root -p
mysql> CREATE DATABASE snort;
mysql> grant CREATE, INSERT, SELECT, UPDATE on snort.* to snort@localhost;
mysql> grant CREATE, INSERT, SELECT, UPDATE on snort.* to snort;
mysql> SET PASSWORD FOR snort@localhost=PASSWORD('snort-db');
mysql> flush privileges;
mysql> show grants for 'snort'@'localhost';
mysql> exit
# cd /usr/share/doc/snort-mysql/
# zcat create_mysql.gz | mysql -u snort -D snort -p snort-db
</pre>
				</li>
				<li><strong>/etc/snort/db-pending-configを削除する。</strong>(snortを起動しようとすると削除しろとおっしゃるので。)
				<pre># rm /etc/snort/db-pending-config</pre>
</li>
<li><strong>snort起動</strong>
<pre># /etc/init.d/snort start</pre>
				</li>
				<li><strong>BASEをインストール</strong>
				<pre># cd /usr/local/src</pre>
<p>最新版をここから探す。<a href="http://sourceforge.net/project/showfiles.php?group_id=103348&#038;package_id=128846">http://sourceforge.net/project/showfiles.php?group_id=103348&#038;package_id=128846</a></p>
<pre>
# wget http://jaist.dl.sourceforge.net/sourceforge/secureideas/base-1.4.3.1.tar.gz
# tar zxvf base-1.4.3.1.tar.gz
# mv base-1.4.3.1 /var/www/admin/base
</pre>
				<p>最新版をここから探す。<a href="http://sourceforge.net/project/showfiles.php?group_id=42718&#038;package_id=220409">http://sourceforge.net/project/showfiles.php?group_id=42718&#038;package_id=220409</a></p>
				<pre>
# wget http://jaist.dl.sourceforge.net/sourceforge/adodb/adodb509a.tgz
# tar zxvf adodb509a.tgz
# mv adodb5 /var/www/admin/base/adodb
# chown -R www-data:www-data /var/www/admin/base/
# cd
</pre>
				</li>
				<li><strong>BASE設定</strong>
				<pre>
# cp /var/www/admin/base/base_conf.php.dist /var/www/admin/base/base_conf.php
# vi /var/www/admin/base/base_conf.php
</pre>
				<pre>
$BASE_Language = 'english';
↓
$BASE_Language = 'japanese';

$BASE_urlpath = '';
↓
$BASE_urlpath = '/base';

$DBlib_path = '';
↓
$DBlib_path = '/var/www/admin/base/adodb';

$alert_dbname   = 'snort_log`';
↓
$alert_dbname   = 'snort';

$alert_password = 'mypassword';
↓
$alert_password = 'snort-db';
</pre>
				</li>
				<li><strong>phpのpearをupdate、必要なpearパッケージをインストール。</strong>
				<pre>
# pear channel-update pear.php.net
# pear install --alldeps Image_Graph-alpha
# pear install Mail Mail_Mime
</pre>
				</li>
				<li>ブラウザで「http://admin.サーバー名/base」へアクセスする。</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/354/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; Sambaをインストール</title>
		<link>http://ore.saizensen.net/archives/349</link>
		<comments>http://ore.saizensen.net/archives/349#comments</comments>
		<pubDate>Fri, 14 Aug 2009 05:20:37 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=349</guid>
		<description><![CDATA[				
				Sambaをインストール
				インストール時、windowsのグループ名が聞いてくるが通常はデフォルトのまま(WORKGROUP)、DHCPからWINSを使うか？と聞いてくるが「いいえ」を選択。
	 [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>Sambaをインストール</strong><br />
				インストール時、windowsのグループ名が聞いてくるが通常はデフォルトのまま(WORKGROUP)、DHCPからWINSを使うか？と聞いてくるが「いいえ」を選択。</p>
				<pre># aptitude install samba</pre>
</li>
<li><strong>Sambaサーバーアクセス用ユーザ作成</strong> <br />
既存のユーザー以外に新規ユーザを作成する場合はまずユーザーを作成する。</p>
<pre>
# useradd hoge
# passwd hoge
</pre>
				</li>
				<li><strong>Sambaサーバーアクセス用ユーザへ設定する。</strong>
				<pre>
# smbpasswd -a hoge
</pre>
				</li>
				<li><strong>ホームディレクトリ作成</strong> <br />
				新規ユーザー対処</p>
				<pre># mkdir /etc/skel/samba</pre>
<p>既存ユーザー対処</p>
<pre># vi mkhomedir.sh</pre>
				<pre>
#!/bin/bash

for user in `ls /home`
do
    id $user > /dev/null 2>&#038;1
    [ $? -eq 0 ] &#038;&#038; \
    [ ! -d /home/$user/samba ] &#038;&#038; \
    mkdir /home/$user/samba &#038;&#038; \
    chown $user:$user /home/$user/samba &#038;&#038; \
    echo "/home/$user/samba create"
done
</pre>
				<pre>
# sh mkhomedir.sh
# rm -f mkhomedir.sh
</pre>
				</li>
				<li><strong>共有ディレクトリ作成</strong>
				<pre>
# mkdir /var/samba
# mkdir /var/samba/public
# mkdir /var/samba/share
# chown -R nobody:nogroup /var/samba
</pre>
				</li>
				<li><strong>/etc/samba/smb.confを編集</strong>
				<pre>
# vi /etc/samba/smb.conf
</pre>
				<pre>
## [global]セクション編集
[global]
   unix charset = UTF-8 ← 追加
   dos charset = CP932 ← 追加
   display charset = UTF-8 ← 追加

   hosts allow = 192.168.0. 127. 10.8.0. ← 追加

## [homes]セクション編集
   path = %H/samba ← 追加

   read only = yes
   ↓
   read only = no

## ファイル最下部へ追加↓
[public]
   comment = Read only Directories
   path = /var/samba/public
   public = yes
   guest ok = yes

[share]
   comment = All User shared Directories
   path = /var/samba/share
   public = yes
   read only = no
   #writable = yes
   only guest = yes
   printable = no
</pre>
				</li>
				<li><strong>samba再起動</strong>
				<pre># /etc/init.d/samba restart</pre>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/349/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; xcacheをインストール</title>
		<link>http://ore.saizensen.net/archives/345</link>
		<comments>http://ore.saizensen.net/archives/345#comments</comments>
		<pubDate>Fri, 14 Aug 2009 04:54:05 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=345</guid>
		<description><![CDATA[				
				xcacheをインストール
				
# aptitude install php5-xcache

				
				xcacheを設定
				
				シンボリックリンクを作成
				# ln  [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>xcacheをインストール</strong>
				<pre>
# aptitude install php5-xcache
</pre>
				</li>
				<li><strong>xcacheを設定</strong>
				<ol>
				<li>シンボリックリンクを作成
				<pre># ln -s /usr/share/xcache /var/www/admin/</pre>
</li>
<li>コマンドラインからxcache.admin.passの値を求めてメモしておく。(******は各自適当に)
<pre># echo -n '******' | md5sum</pre>
				</li>
				<li>コマンドラインからxcache.countの値を求めてメモしておく。
				<pre># cat /proc/cpuinfo |grep -c processor</pre>
</li>
<li>/etc/php5/conf.d/xcache.iniを編集(hogeは適当な一般ユーザーへ)
<pre># vi /etc/php5/conf.d/xcache.ini</pre>
				<pre>
[xcache.admin]
xcache.admin.user = "md0"
↓
xcache.admin.user = "hoge"

xcache.admin.pass = ""
↓
xcache.admin.pass = "メモした値"

[xcache]
xcache.size  =                16M
↓
xcache.size  =                64M

xcache.count =                 1
↓
xcache.count =        メモした値

xcache.var_size  =            0M
↓
xcache.var_size  =            8M

xcache.var_ttl   =             0
↓
xcache.var_ttl   =           600

xcache.var_maxttl   =          0
↓
xcache.var_maxttl   =       3600

xcache.mmap_path =    "/dev/zero"
↓
xcache.mmap_path =    "/tmp/xcache"

[xcache.coverager]
xcache.coverager =          Off
↓
xcache.coverager =          On

xcache.coveragedump_directory = ""
↓
xcache.coveragedump_directory = "/tmp/pcov"
</pre>
				</li>
				<li>/tmp/pcovを作成
				<pre>
# mkdir /tmp/pcov
# chown www-data.www-data /tmp/pcov
</pre>
				</li>
				</ol>
				</li>
				<li><strong>apache再起動</strong>
				<pre># /etc/init.d/apache2 restart</pre>
</li>
<li>ブラウザで「http://admin.サーバー名/xcache/admin」へアクセスする。</li>
<li>ブラウザで「http://admin.サーバー名/xcache/coverager」へアクセスする。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/345/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; PostGISをインストール</title>
		<link>http://ore.saizensen.net/archives/342</link>
		<comments>http://ore.saizensen.net/archives/342#comments</comments>
		<pubDate>Fri, 14 Aug 2009 04:46:41 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=342</guid>
		<description><![CDATA[				
				PostGISをインストール
				# aptitude install postgresql-8.3-postgis

PostGIS用に初期化済テンプレートDBを構築する。

# su - pos [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>PostGISをインストール</strong>
				<pre># aptitude install postgresql-8.3-postgis</pre>
</li>
<li><strong>PostGIS用に初期化済テンプレートDBを構築する。</strong>
<pre>
# su - postgres
$ createdb templategis
$ createlang plpgsql templategis
$ psql -d templategis -f /usr/share/postgresql-8.3-postgis/lwpostgis.sql
$ psql -d templategis -f /usr/share/postgresql-8.3-postgis/spatial_ref_sys.sql
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/342/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; PHP、MySQL、PostgreSQLをインストール</title>
		<link>http://ore.saizensen.net/archives/339</link>
		<comments>http://ore.saizensen.net/archives/339#comments</comments>
		<pubDate>Fri, 14 Aug 2009 04:37:29 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=339</guid>
		<description><![CDATA[				
				PHP、MySQL、PostgreSQLをインストール。(mysqlインストール時に、案内に従ってパスワードを設定する。)
				
# aptitude install php5 php5-dev p [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>PHP、MySQL、PostgreSQLをインストール。</strong>(mysqlインストール時に、案内に従ってパスワードを設定する。)
				<pre>
# aptitude install php5 php5-dev php5-cgi php5-cli php-pear php5-curl php5-gd php5-imagick php5-json php5-mcrypt php5-mysql php5-pgsql php5-sqlite php5-geoip phpmyadmin phppgadmin mysql-server mysql-client postgresql libapache2-mod-php5
</pre>
				</li>
				<li><strong>/etc/cron.d/php5を編集。</strong><br />
				phpをインストールすると、30分ごとにセッション破棄を行うcronが動作するようになるので１日１回(毎朝6時)だけ動くように変更する。</p>
				<pre># vi /etc/cron.d/php5</pre>
<pre>
09,39 *     * * *     root   [ -x /usr/lib/php5/maxlifetime ] &#038;&#038; [ -d /var/lib/php5 ] &#038;&#038; find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm
↓
0 6     * * *     root   [ -x /usr/lib/php5/maxlifetime ] &#038;&#038; [ -d /var/lib/php5 ] &#038;&#038; find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 20    0 -r -0 rm
</pre>
				</li>
				<li><strong>MySQL設定。</strong>
				<ol>
				<li>/etc/mysql/my.cnfを編集
				<pre>
# vi /etc/mysql/my.cnf
</pre>
				<pre>
##[mysqld]の項目へ追加
character-set-server = utf8
collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
skip-character-set-client-handshake

##[mysqldump]の項目へ追加
default-character-set = utf8

##[mysql]の項目へ追加
default-character-set = utf8
</pre>
				</li>
				<li>MySQL再起動
				<pre>
# /etc/init.d/mysql restart
</pre>
				</li>
				<li>mysqlへ接続出来るか確認。(インストール時にパスワード設定するとパスワード無しでのログインは出来ない。)
				<pre>
# mysql -u root -p
</pre>
				</li>
				<li>登録済みユーザーとパスワードを確認。(パスワード無しユーザーが居ないか確認。)
				<pre>
mysql> select user,host,password from mysql.user;
</pre>
				</li>
				<li>※もしパスワード無しユーザーが居た場合は以下で設定。
				<pre>
mysql> set password for ユーザー名@ホスト名=password('パスワード');
mysql> exit
</pre>
				</li>
				</ol>
				</li>
				<li><strong>MySQLバックアップ設定</strong>
				<ol>
				<li>MySQLバックアップスクリプト作成
				<pre>
# vi mysql-backup.sh
</pre>
				<pre>
#!/bin/bash

PATH=/usr/local/sbin:/usr/bin:/bin

# バックアップ先ディレクトリ
BACKDIR=/backup/mysql

# MySQLrootパスワード
ROOTPASS=******

# バックアップ先ディレクトリ再作成
rm  -rf $BACKDIR
mkdir -p $BACKDIR

# データベース名取得
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`

# データベースごとにバックアップ
for dbname in $DBLIST
do
    table_count=`mysql -u root -p$ROOTPASS -B -e "show tables" $dbname|wc -l`
    [ $table_count -ne 0 ] &#038;&#038;
    mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done
</pre>
				</li>
				<li>バックアップ先作成
				<pre>
# mkdir /backup
# mkdir /backup/mysql
</pre>
				</li>
				<li>mysql-backup.shへ実行権を付与。
				<pre>
# chmod 700 mysql-backup.sh
</pre>
				</li>
				<li>バックアップスクリプト実行
				<pre>
# ./mysql-backup.sh
</pre>
				</li>
				<li>バックアップ確認。
				<pre>
# ls -la /backup/mysql
</pre>
				</li>
				<li>cronへ登録
				<pre>
# crontab -e
</pre>
				<pre>
0 5 * * * /root/mysql-backup.sh
</pre>
				</li>
				</ol>
				</li>
				<li><strong>phpmyadmin設定</strong>
				<ol>
				<li>シンボリックリンクを作成。
				<pre>
# ln -s /usr/share/phpmyadmin /var/www/admin/
</pre>
				</li>
				<li>ブラウザで「http://admin.サーバー名/phpmyadmin」へアクセスする。</li>
				</ol>
				</li>
				<li><strong>PostgreSQL設定</strong>
				<ol>
				<li>postgresユーザーのパスワードを設定。
				<pre>
# passwd postgres
# su postgres
$ psql template1
template1=# alter user postgres with password '******'; ← ******は適当なパスワードを設定。
template1=# \q
</pre>
				</li>
				<li>一般ユーザへのデータベース作成権限設定。(hogeは適当な一般ユーザーへ)
				<pre>
$ createuser -AdPE hoge
</pre>
				</li>
				<li>/etc/postgresql/8.3/main/postgresql.confを編集
				<pre>
$ vi /etc/postgresql/8.3/main/postgresql.conf
</pre>
				<pre>
listen_addresses = 'localhost'
↓
listen_addresses = '*'
</pre>
				</li>
				<li>/etc/postgresql/8.3/main/pg_hba.confを編集。(↓こんな感じで。192.168.0.1は各自ネットワーク環境へ。)
				<pre>
$ vi /etc/postgresql/8.3/main/pg_hba.conf
</pre>
				<pre>
# Database administrative login by UNIX sockets
#local   all         postgres                          ident sameuser

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
#local   all         all                               ident sameuser
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5
local   all         all                               trust
host    all         all  192.168.0.1 255.255.255.255 trust
host    all         all  0.0.0.0     0.0.0.0          password crypt
</pre>
				</li>
				<li>PostgreSQL再起動
				<pre>
$ exit
# /etc/init.d/postgresql-8.3 restart
</pre>
				</li>
				<li>PostgreSQLのチューニングは<a href="http://ore.saizensen.net/archives/228">[PostgreSQL]PostgreSQLチューニング方法まとめサイト[Ubuntu]</a>を参照して各自で勝手にやってね。</li>
				</ol>
				</li>
				<li><strong>PostgreSQLバックアップ設定</strong>
				<pre>
# su - postgres
$ mkdir /var/lib/postgresql/8.3/main/backups/
$ pg_dumpall -c > /var/lib/postgresql/8.3/main/backups/pgsql-backup
$ crontab -e
</pre>
				<pre>
30 3 * * * pg_dumpall -c > /var/lib/postgresql/8.3/main/backups/pgsql-backup
</pre>
				<pre>
$ exit
</pre>
				</li>
				<li><strong>phppgadmin設定</strong>
				<ol>
				<li>シンボリックリンクを作成
				<pre>
# ln -s /usr/share/phppgadmin /var/www/admin/
</pre>
				</li>
				<li>/etc/phppgadmin/config.inc.phpを編集
				<pre>
# vi /etc/phppgadmin/config.inc.php
</pre>
				<pre>
$conf['extra_login_security'] = true;
↓
$conf['extra_login_security'] = false;

$conf['owned_only'] = false;
↓
$conf['owned_only'] = true;
</pre>
				</li>
				<li>/etc/phppgadmin/apache.confを編集
				<pre>
# vi /etc/phppgadmin/apache.conf
</pre>
				<pre>
allow from 127.0.0.0/255.0.0.0 ::1/128
↓
#allow from 127.0.0.0/255.0.0.0 ::1/128

#allow from all
↓
allow from all
</pre>
				</li>
				<li>apache再起動
				<pre>
# /etc/init.d/apache2 restart
</pre>
				</li>
				<li>ブラウザで「http://admin.サーバー名/phppgadmin」へアクセスする。</li>
				</ol>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/339/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; Postfix+Clam AntiVirus+SpamAssassinでウィルス＆スパムチェック</title>
		<link>http://ore.saizensen.net/archives/334</link>
		<comments>http://ore.saizensen.net/archives/334#comments</comments>
		<pubDate>Fri, 14 Aug 2009 04:31:09 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=334</guid>
		<description><![CDATA[				Postfix+Clam AntiVirus+SpamAssassinでウィルス＆スパムチェック
				
				amavisとspamassassinをインストール
				
# aptitude install amavisd-new spamassassin

				
				spamassassinをデーモンとして動かす。
				
# vi /etc/default/spamassassin

				
ENABLED=0
↓
ENABLED=1

				
				postfix設定
				
# vi /etc/postfix/main.cf

				
# amavis setting
content_filter = smtp-amavis:[127.0.0.1]:10024 ← 追加

				
# vi /etc/postfix/master.cf

				
# 以下をファイル最下部へ追加↓↓
#
# amavisd-new + clamav.
#
smtp-amavis unix -      -       n       -       2     [...]]]></description>
			<content:encoded><![CDATA[				<p><strong>Postfix+Clam AntiVirus+SpamAssassinでウィルス＆スパムチェック</strong></p>
				<ul>
				<li><strong>amavisとspamassassinをインストール</strong>
				<pre>
# aptitude install amavisd-new spamassassin
</pre>
				</li>
				<li><strong>spamassassinをデーモンとして動かす。</strong>
				<pre>
# vi /etc/default/spamassassin
</pre>
				<pre>
ENABLED=0
↓
ENABLED=1
</pre>
				</li>
				<li><strong>postfix設定</strong>
				<pre>
# vi /etc/postfix/main.cf
</pre>
				<pre>
# amavis setting
content_filter = smtp-amavis:[127.0.0.1]:10024 ← 追加
</pre>
				<pre>
# vi /etc/postfix/master.cf
</pre>
				<pre>
# 以下をファイル最下部へ追加↓↓
#
# amavisd-new + clamav.
#
smtp-amavis unix -      -       n       -       2       smtp
  -o smtp_data_done_timeout=1200
  -o smtp_send_xforward_command=yes
  -o disable_dns_lookups=yes
  -o max_use=20
127.0.0.1:10025 inet n  -       n       -       -       smtpd
  -o content_filter=
  -o local_recipient_maps=
  -o relay_recipient_maps=
  -o smtpd_restriction_classes=
  -o smtpd_delay_reject=no
  -o smtpd_client_restrictions=permit_mynetworks,reject
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o smtpd_data_restrictions=reject_unauth_pipelining
  -o smtpd_end_of_data_restrictions=
  -o mynetworks=127.0.0.0/8
  -o smtpd_error_sleep_time=0
  -o smtpd_soft_error_limit=1001
  -o smtpd_hard_error_limit=1000
  -o smtpd_client_connection_count_limit=0
  -o smtpd_client_connection_rate_limit=0
  -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks
</pre>
				</li>
				<li><strong>amavis設定</strong>
				<pre>
# vi /etc/amavis/conf.d/15-content_filter_mode
</pre>
				<pre>
#@bypass_virus_checks_maps = (
#   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);
↓
@bypass_virus_checks_maps = (
   \%bypass_virus_checks, \@bypass_virus_checks_acl, \$bypass_virus_checks_re);

#@bypass_spam_checks_maps = (
#   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
↓
@bypass_spam_checks_maps = (
   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);
</pre>
				<pre>
# vi /etc/amavis/conf.d/20-debian_defaults
</pre>
				<pre>
$sa_spam_subject_tag1 = '***possible SPAM*** '; ← 追加

$sa_tag_level_deflt  = 2.0;
↓
$sa_tag_level_deflt  = 4.0;

$sa_tag2_level_deflt = 6.31;
↓
$sa_tag2_level_deflt = 20.0;

$sa_kill_level_deflt = 6.31;
↓
$sa_kill_level_deflt = 20.0;

$sa_dsn_cutoff_level = 10;
↓
$sa_dsn_cutoff_level = 30.0;

$sa_local_tests_only = 0;
↓
#$sa_local_tests_only = 0;
</pre>
				<pre>
# vi /etc/amavis/conf.d/50-user
</pre>
				<pre>
use strict;

#
# Place your configuration directives here.  They will override those in
# earlier files.
#
# See /usr/share/doc/amavisd-new/ for documentation and examples of
# the directives you can use in this file
#

$log_level = 2;

$X_HEADER_TAG = 'X-Virus-Scanned';

$remove_existing_x_scanned_headers = 0;
$remove_existing_spam_headers  = 1;

$replace_existing_extension = 1;

$sa_local_tests_only = 1;   # (default: false)
$sa_auto_whitelist = 1;     # turn on AWL (default: false)
$sa_debug = 1;

$max_servers  =  4;     # number of pre-forked children          (default 2)
$max_requests = 16;     # retire a child after that many accepts (default 10)

#------------ Do not modify anything below this line -------------
1;  # ensure a defined return
</pre>
				</li>
				<li><strong>spamassassin設定</strong>
				<pre>
# mkdir /var/lib/amavis/.spamassassin
# cd /var/lib/amavis/.spamassassin
# wget -O user_prefs_tlec http://tlec.linux.or.jp/docs/user_prefs
</pre>
				<p>/var/lib/amavis/.spamassassin/user_prefsを作成。</p>
				<pre>
# vi /var/lib/amavis/.spamassassin/user_prefs
</pre>
				<pre>
include user_prefs_tlec

required_score 15.0
use_auto_whitelist 0
score GB2312_CHARSET 1.0
score BIG5_CHARSET 1.0
score WINDOWS_CHARSET 1.0
score GB2312ENC 0
score MIMEQENC 0
score QENCPTR1 0
score QENCPTR2 0
score X_MAILER 1.0
</pre>
				</li>
				<li>
				<pre>
# cd /var/lib/amavis
# chown -R amavis.amavis .spamassassin
# /etc/init.d/amavis restart
# /etc/init.d/spamassassin restart
# /etc/init.d/postfix restart
# vi /etc/group
</pre>
				<pre>
clamav:x:108:amavis
amavis:x:114:clamav
</pre>
				<p><strong>※ ↓のエラーが/var/log/mail.logに出てたので↑の/etc/groupを弄る。(108や114っていうIDは触らないよ。)</strong></p>
				<pre>
Aug  7 18:05:37 debian amavis[10436]: (10436-01) (!!)run_av (ClamAV-clamd) FAILED - unexpected , output="/var/lib/amavis/tmp/amavis-20090807T180537-10436/parts: lstat() failed: Permission denied. ERROR\n"
Aug  7 18:05:37 debian amavis[10436]: (10436-01) (!!)ClamAV-clamd av-scanner FAILED: CODE(0xa252768) unexpected , output="/var/lib/amavis/tmp/amavis-20090807T180537-10436/parts: lstat() failed: Permission denied. ERROR\n" at (eval 86) line 527.
Aug  7 18:05:37 debian amavis[10436]: (10436-01) (!!)WARN: all primary virus scanners failed, considering backups
</pre>
				<pre>
# /etc/init.d/clamav-daemon restart
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/334/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; postfixへバーチャルホストを設定する</title>
		<link>http://ore.saizensen.net/archives/327</link>
		<comments>http://ore.saizensen.net/archives/327#comments</comments>
		<pubDate>Fri, 14 Aug 2009 04:31:03 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=327</guid>
		<description><![CDATA[				
				postfixへバーチャルホストを設定する(例：virtualhost.netというドメインの場合)
				
# vi /etc/postfix/main.cf

				
#配送を追加したいドメイン [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>postfixへバーチャルホストを設定する</strong>(例：virtualhost.netというドメインの場合)
				<pre>
# vi /etc/postfix/main.cf
</pre>
				<pre>
#配送を追加したいドメイン名を指定します。
virtual_alias_domains = virtualhost.net ← 追加

#バーチャルドメイン用のエイリアステーブルを指定します。
virtual_alias_maps = hash:/etc/postfix/virtual ← 追加
</pre>
				<pre>
# vi /etc/postfix/virtual
</pre>
				<pre>
# set saizensen.net
hoge@saizensen.net			hoge

# set virtualhost.net
virtualhost.net			anything
hogehoge@virtualhost.net		hogehoge
# こんな風にしてもいい。(hogehoge@virtualhost.netのメールはhogeへ配送)
hogehoge@virtualhost.net		hoge
</pre>
				<pre>
#  postmap /etc/postfix/virtual
#  /etc/init.d/postfix restart
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/327/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; postfixとdovecotをインストール</title>
		<link>http://ore.saizensen.net/archives/322</link>
		<comments>http://ore.saizensen.net/archives/322#comments</comments>
		<pubDate>Fri, 14 Aug 2009 03:09:32 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=322</guid>
		<description><![CDATA[				
				メールサーバー構築(PostfixとDovecotをインストール)
				Debianの場合、デフォルトでexim4メールサーバがインストールされているので、まずこれらを消す。
				
# apti [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>メールサーバー構築(PostfixとDovecotをインストール)</strong><br />
				Debianの場合、デフォルトでexim4メールサーバがインストールされているので、まずこれらを消す。</p>
				<pre>
# aptitude remove exim4 exim4-base exim4-config
</pre>
				<p>exim4を消したら、makeまで消されたので再度インストール。</p>
				<pre>
# aptitude install make
</pre>
				<p>postfix、saslをインストール。</p>
				<pre>
# aptitude install postfix sasl2-bin libsasl2-modules
# aptitude clean
</pre>
				<p>メール名を確認(ここで表示されたものがメールアドレスの@以降に使われます。思ったものと違うときは編集する。)</p>
				<pre>
# vi /etc/mailname
</pre>
				<pre>
saizensen.net
</pre>
				</li>
				<li><strong>/etc/postfix/main.cfを編集(↓全部載せ)</strong>
				<pre>
# vi /etc/postfix/main.cf
</pre>
				<pre>
# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

#smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_banner = $myhostname ESMTP unknown
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
#smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
#smtpd_use_tls=yes
#smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
#smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = mail.saizensen.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
#mydestination = saizensen.net, localhost.localdomain, localhost.localdomain, localhost
mydestination = $myorigin, $myhostname, localhost.$myorigin, localhost
relayhost =
#mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mynetworks = 192.168.0.0/24 127.0.0.0/8
#mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

home_mailbox = Maildir/
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination
broken_sasl_auth_clients = yes
unknown_local_recipient_reject_code = 550
message_size_limit = 10485760

# MobileMail setting([-] start address)
allow_min_user = yes
</pre>
				</li>
				<li><strong>/etc/postfix/master.cfを編集</strong>
				<pre>
# vi /etc/postfix/master.cf
</pre>
				<pre>
smtp      inet  n       -       -       -       -       smtpd
↓
smtp      inet  n       -       n       -       -       smtpd

#submission inet n       -       -       -       -       smtpd
↓
submission inet n       -       n       -       -       smtpd
</pre>
				</li>
				<li><strong>/etc/default/saslauthdを編集。</strong>
				<pre>
# vi /etc/default/saslauthd
</pre>
				<pre>
START=no
↓
START=yes

#OPTIONS="-c -m /var/run/saslauthd"
↓
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
</pre>
				<p>↓これをやる必要があるのか微妙。色々やりすぎて忘れた。</p>
				<pre>
# dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd
</pre>
				</li>
				<li><strong>/etc/postfix/sasl/smtpd.confを作成。</strong>
				<pre>
# vi /etc/postfix/sasl/smtpd.conf
</pre>
				<pre>
pwcheck_method: auxprop
</pre>
				</li>
				<li>
				<pre>
# chgrp postfix /etc/sasldb2
# adduser postfix sasl
# /etc/init.d/saslauthd restart
# /etc/init.d/postfix restart
</pre>
				</li>
				<li><strong>ルータの設定でPort25(TCP)を開けます。Submissionポート(587番)を使う場合はPort587(TCP)を開けます。<br />
				</strong></li>
				<li>Submissionポート(587番)を使う場合は以下を参照。
				<ol>
				<li><a href="http://ore.saizensen.net/archives/172">[CentOS]PostfixでSubmissionポート(587番)を使う。[Postfix]</a></li>
				<li><a href="http://ore.saizensen.net/archives/155">[CentOS]いつの間にかCentOS4.7サーバーからGmailへメール送信出来なくなってた。[Postfix]</a></li>
				</ol>
				</li>
				<li><strong>Dovecotをインストール &#038;&#038; 設定。</strong>
				<pre>
# aptitude install dovecot-imapd dovecot-pop3d
# vi /etc/dovecot/dovecot.conf
</pre>
				<pre>
#disable_plaintext_auth = yes
↓
disable_plaintext_auth = no

#mail_location =
↓
mail_location = maildir:~/Maildir
</pre>
				<pre>
# /etc/init.d/dovecot restart
</pre>
				</li>
				<li><strong>ポート110番(POPの場合)または143番(IMAPの場合)のOPEN</strong></li>
				<li><strong>Maildir形式メールボックス作成。</strong><br />
				rootユーザーで以下を行う</p>
				<pre>
# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
# chmod -R 700 /etc/skel/Maildir/
</pre>
				<p>それぞれの一般ユーザーで以下を行う。(作成済ユーザー全員分)</p>
				<pre>
$ mkdir Maildir
$ mkdir Maildir/{new,cur,tmp}
$ chmod -R 700 Maildir
</pre>
				</li>
				<li><strong>メールユーザ追加(hogeは適当な一般ユーザーへ)</strong>
				<ol>
				<li>sshなどでログインしないユーザー追加の場合
				<pre>
# useradd -s /sbin/nologin hoge
# passwd hoge
</pre>
				<p>この場合、/home/以下にhoge用ディレクトリが作成されない為、手動で作成。</p>
				<pre>
# mkdir /home/hoge
# mkdir /home/hoge/Maildir
# mkdir /home/hoge/Maildir/new
# mkdir /home/hoge/Maildir/cur
# mkdir /home/hoge/Maildir/tmp
# chown -R hoge.hoge /home/hoge
# chmod -R 700 /home/hoge/Maildir
</pre>
				</li>
				<li>sshなどでログインするユーザー追加の場合
				<pre>
# useradd hoge
# passwd hoge
</pre>
				</li>
				<li>SMTP-Auth用ユーザ／パスワード登録(ホスト名は/etc/postfix/main.cfのsmtpd_sasl_local_domainでした物を指定すること。)
				<pre>
# echo "******" | saslpasswd2 -p -u mail.saizensen.net -c hoge
</pre>
				</li>
				<li>SMTP-Auth用ユーザ名、パスワード確認
				<pre>
# sasldblistusers2
</pre>
				</li>
				<li>※SMTP-Auth用ユーザ名、パスワードを削除する場合
				<pre>
# saslpasswd2 -d hoge -u mail.saizensen.net
</pre>
				</li>
				</ol>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/322/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; apacheへバーチャルホストを設定する</title>
		<link>http://ore.saizensen.net/archives/318</link>
		<comments>http://ore.saizensen.net/archives/318#comments</comments>
		<pubDate>Fri, 14 Aug 2009 02:47:24 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=318</guid>
		<description><![CDATA[				
				apacheへバーチャルホストを設定する。(例：virtualhost.netというドメインの場合)
				
# cd /etc/apache2/sites-available
# cp defaul [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>apacheへバーチャルホストを設定する。</strong>(例：virtualhost.netというドメインの場合)
				<pre>
# cd /etc/apache2/sites-available
# cp default virtualhost.net
# vi virtualhost.net
</pre>
				<p><strong>コピペするときは< ／directory>の ／は半角に修正してください。</strong></p>
				
				<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">&lt;<span style="color: #000000; font-weight:bold;">virtualhost</span> *:<span style="color: #ff0000;">80</span>&gt;
        <span style="color: #00007f;">ServerAdmin</span> webmaster@<span style="color: #00007f;">virtualhost</span>.net
        <span style="color: #00007f;">ServerName</span> <span style="color: #00007f;">virtualhost</span>.net:<span style="color: #ff0000;">80</span>
        <span style="color: #00007f;">ServerAlias</span> www.<span style="color: #00007f;">virtualhost</span>.net
&nbsp;
        <span style="color: #00007f;">DocumentRoot</span> /var/www/<span style="color: #00007f;">virtualhost</span>.net
        &lt;<span style="color: #000000; font-weight:bold;">directory</span> /&gt;
                <span style="color: #00007f;">Options</span> <span style="color: #0000ff;">FollowSymLinks</span>
                <span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">None</span>
        &lt; ／directory&gt;
        &lt;<span style="color: #000000; font-weight:bold;">directory</span> /var/www/<span style="color: #00007f;">virtualhost</span>.net&gt;
                <span style="color: #00007f;">Options</span> <span style="color: #0000ff;">Includes</span> ExecCGI <span style="color: #0000ff;">FollowSymLinks</span>
                <span style="color: #00007f;">AllowOverride</span> <span style="color: #00007f;">All</span>
                <span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
                <span style="color: #00007f;">allow</span> <span style="color: #00007f;">from</span> <span style="color: #00007f;">all</span>
        &lt;/<span style="color: #000000; font-weight:bold;">directory</span>&gt;
・・・
・・・
        <span style="color: #00007f;">ErrorLog</span> /var/log/apache2/virtualhost_net-error.log
・・・
・・・
        <span style="color: #00007f;">CustomLog</span> /var/log/apache2/virtualhost_net-access.log combined env=!no_log
・・・
&lt;/<span style="color: #000000; font-weight:bold;">virtualhost</span>&gt;</pre></div></div>
				
				<pre>
# mkdir /var/www/virtualhost.net
# chown hoge.hoge /var/www/virtualhost.net
# a2ensite virtualhost.net
# /etc/init.d/apache2 restart
</pre>
				</li>
				<li><strong>DNSサーバー(bind)へvirtualhost.netを登録する。</strong><br />
				参考：<a href="http://ore.saizensen.net/archives/286">[Debian]Debian lennyで１からサーバーを作ってみる – bindをインストール</a>のページ最下部「バーチャルホスト用にドメインを設定する。」項</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/318/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; opensslをインストール</title>
		<link>http://ore.saizensen.net/archives/314</link>
		<comments>http://ore.saizensen.net/archives/314#comments</comments>
		<pubDate>Fri, 14 Aug 2009 02:38:36 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=314</guid>
		<description><![CDATA[				
				OpenSSLをインストール。
				
# aptitude install openssl
# aptitude clean openssl
# cd /etc/ssl/
# cp openssl. [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>OpenSSLをインストール。</strong>
				<pre>
# aptitude install openssl
# aptitude clean openssl
# cd /etc/ssl/
# cp openssl.cnf openssl.cnf.default
# vi openssl.cnf
</pre>
				<pre>
[usr_cert]
・・・
#nsCertType = server
↓
nsCertType = server
・・・
[v3_ca]
・・・
#nsCertType = sslCA, emailCA
↓
nsCertType = sslCA, emailCA
</pre>
				</li>
				<li><strong>秘密鍵の作成</strong>
				<pre>
# cd /usr/lib/ssl/misc/
# ./CA.sh -newca
</pre>
				<pre>
CA certificate filename (or enter to create) <strong>このままEnter</strong>

Making CA certificate ...
Generating a 1024 bit RSA private key
................++++++
..........++++++
writing new private key to './demoCA/private/./cakey.pem'
Enter PEM pass phrase: <strong>パスフレーズを入力</strong>
Verifying - Enter PEM pass phrase: <strong>もう一度パスフレーズを入力</strong>
-----
(省略)
-----
Country Name (2 letter code) [AU]: <strong>JPと入力</strong>
State or Province Name (full name) [Some-State]: <strong>Tokyoなど</strong>
Locality Name (eg, city) []: <strong>地域名(Edogawaなど)</strong>
Organization Name (eg, company)
     [Internet Widgits Pty Ltd]: <strong>Enter</strong>
Organizational Unit Name (eg, section) []: <strong>Enter</strong>
Common Name (eg, YOUR name) []: <strong>WEBサーバー名</strong>
Email Address []: <strong>Enter</strong>

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <strong>Enter</strong>
An optional company name []: <strong>Enter</strong>
Using configuration from /usr/lib/ssl/openssl.cnf
Enter pass phrase for
    ./demoCA/private/./cakey.pem: <strong>またパスフレーズ</strong>
</pre>
				</li>
				<li><strong>このままではApacheの起動の度にパスフレーズの入力を求められるのでパスフレーズを消す</strong>
				<pre>
# openssl rsa -in demoCA/private/cakey.pem -out demoCA/private/cakey.pem
</pre>
				</li>
				<li><strong>証明書の作成</strong>
				<pre>
# openssl x509 -in demoCA/cacert.pem -out demoCA/cacert.crt
</pre>
				</li>
				<li><strong>秘密鍵と証明書をコピー</strong>
				<pre>
# mkdir /etc/apache2/ssl
# cp /usr/lib/ssl/misc/demoCA/private/cakey.pem /etc/apache2/ssl
# cp /usr/lib/ssl/misc/demoCA/cacert.crt /etc/apache2/ssl
</pre>
				</li>
				<li><strong>Apache2のSSL設定ファイルの編集。</strong>
				<pre>
# vi /etc/apache2/sites-available/default-ssl
</pre>
				
				<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">&lt;<span style="color: #000000; font-weight:bold;">ifmodule</span> mod_ssl.c&gt;
&lt;<span style="color: #000000; font-weight:bold;">virtualhost</span> _default_:<span style="color: #ff0000;">443</span>&gt;
        <span style="color: #00007f;">ServerAdmin</span> webmaster@saizensen.net
        <span style="color: #00007f;">Servername</span> saizensen.net:<span style="color: #ff0000;">443</span>
&nbsp;
        <span style="color: #00007f;">DocumentRoot</span> /var/www/html
        &lt;<span style="color: #000000; font-weight:bold;">directory</span> /&gt;
                <span style="color: #00007f;">Options</span> <span style="color: #0000ff;">FollowSymLinks</span>
                <span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">None</span>
&nbsp;
        &lt;<span style="color: #000000; font-weight:bold;">directory</span> /var/www/html&gt;
                <span style="color: #00007f;">Options</span> <span style="color: #0000ff;">Includes</span> ExecCGI <span style="color: #0000ff;">FollowSymLinks</span>
                <span style="color: #00007f;">AllowOverride</span> <span style="color: #00007f;">All</span>
                <span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
                <span style="color: #00007f;">allow</span> <span style="color: #00007f;">from</span> <span style="color: #00007f;">all</span>
        &lt;/<span style="color: #000000; font-weight:bold;">directory</span>&gt;
・・・
・・・
        <span style="color: #00007f;">CustomLog</span> /var/log/apache2/ssl_access.log combined env=!no_log
・・・
・・・
        SSLCertificateFile /etc/apache2/ssl/cacert.crt
        SSLCertificateKeyFile /etc/apache2/ssl/cakey.pem
・・・
・・・
        &lt;<span style="color: #000000; font-weight:bold;">ifmodule</span> mod_rewrite.c&gt;
                <span style="color: #00007f;">RewriteEngine</span> <span style="color: #0000ff;">On</span>
                <span style="color: #00007f;">RewriteLog</span> <span style="color: #7f007f;">&quot;/var/log/apache2/rewrite_log&quot;</span>
                <span style="color: #00007f;">RewriteLogLevel</span> <span style="color: #ff0000;">0</span>
                <span style="color: #00007f;">RewriteCond</span> %{HTTP_HOST} !saizensen.net$
                <span style="color: #00007f;">RewriteRule</span> ^/(.*)?$ http://%{HTTP_HOST}/$<span style="color: #ff0000;">1</span> [L,R]
        &lt;/<span style="color: #000000; font-weight:bold;">ifmodule</span>&gt;
&lt;/<span style="color: #000000; font-weight:bold;">virtualhost</span>&gt;
&lt;/<span style="color: #000000; font-weight:bold;">ifmodule</span>&gt;</pre></div></div>
				
				</li>
				<li><strong>SSLモジュールとSSLサイトの有効化</strong>
				<pre>
# a2enmod ssl
# a2ensite default-ssl
# /etc/init.d/apache2 restart
</pre>
				<p>無効化するときは、a2dismod, a2dissite を使う。</p>
				<pre>
# a2dissite default-ssl
# a2dismod ssl
# /etc/init.d/apache2 restart
</pre>
				</li>
				<li><strong>ルーター側の設定でポート443番をOPENする。</strong></li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/314/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; apacheをインストール</title>
		<link>http://ore.saizensen.net/archives/304</link>
		<comments>http://ore.saizensen.net/archives/304#comments</comments>
		<pubDate>Fri, 14 Aug 2009 02:25:43 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=304</guid>
		<description><![CDATA[				
				Webサーバー構築(apacheをインストール)
				
# aptitude install apache2
# aptitude clean

				
				apacheを設定
				
#  [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>Webサーバー構築(apacheをインストール)</strong>
				<pre>
# aptitude install apache2
# aptitude clean
</pre>
				</li>
				<li><strong>apacheを設定</strong>
				<pre>
# vi /etc/apache2/conf.d/security
</pre>
				<pre>
ServerTokens Full
↓
ServerTokens Prod

ServerSignature On
↓
ServerSignature Off
</pre>
				<pre>
# vi /etc/apache2/mods-enabled/mime.conf
</pre>
				<pre>
#AddHandler cgi-script .cgi
↓
AddHandler cgi-script .cgi .pl
</pre>
				<pre>
# vi /etc/apache2/apache2.conf
</pre>
				<pre>
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
↓
LogFormat "%v:%p %h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
↓
LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

# LogFormat設定群の下へ追記↓
#
# For a single logfile with access, agent, and referer information
# (Combined Logfile Format), use the following directive:
#
SetEnvIf Request_URI "default\.ida" no_log　←　追加(wormからのアクセスをログに記録しない)
SetEnvIf Request_URI "cmd\.exe" no_log　←　〃
SetEnvIf Request_URI "root\.exe" no_log　←　〃
SetEnvIf Request_URI "Admin\.dll" no_log　←　〃
SetEnvIf Request_URI "NULL\.IDA" no_log　←　〃
SetEnvIf Remote_Addr 192.168.0 no_log　←　追加(内部からのアクセスをログに記録しない)
SetEnvIf Remote_Addr 127.0.0.1 no_log　←　追加(自ホストからのアクセスをログに記録しない)
CustomLog /var/log/apache2/access.log combined env=!no_log

CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined
↓
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined env=!no_log
</pre>
				<p>(admin.saizensen.netも作っておく。)</p>
				<pre>
# vi /etc/apache2/sites-available/default
</pre>
				<p><strong>コピペするときは< ／directory>の ／は半角に修正してください。</strong></p>
				<p><code></p>
				
				<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">&lt;<span style="color: #000000; font-weight:bold;">virtualhost</span> *:<span style="color: #ff0000;">80</span>&gt;
        <span style="color: #00007f;">ServerAdmin</span> webmaster@saizensen.net
        <span style="color: #00007f;">ServerName</span> saizensen.net:<span style="color: #ff0000;">80</span>
        <span style="color: #00007f;">ServerAlias</span> www.saizensen.net
&nbsp;
        <span style="color: #00007f;">DocumentRoot</span> /var/www/html
        &lt;<span style="color: #000000; font-weight:bold;">directory</span> /&gt;
                <span style="color: #00007f;">Options</span> <span style="color: #0000ff;">FollowSymLinks</span>
                <span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">None</span>
        &lt; ／directory&gt;
        &lt;<span style="color: #000000; font-weight:bold;">directory</span> /var/www/html&gt;
                <span style="color: #00007f;">Options</span> <span style="color: #0000ff;">Includes</span> ExecCGI <span style="color: #0000ff;">FollowSymLinks</span>
                <span style="color: #00007f;">AllowOverride</span> <span style="color: #00007f;">All</span>
                <span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
                <span style="color: #00007f;">allow</span> <span style="color: #00007f;">from</span> <span style="color: #00007f;">all</span>
        &lt;/<span style="color: #000000; font-weight:bold;">directory</span>&gt;
&nbsp;
        <span style="color: #00007f;">ScriptAlias</span> /cgi-bin/ /usr/lib/cgi-bin/
        &lt;<span style="color: #000000; font-weight:bold;">directory</span> <span style="color: #7f007f;">&quot;/usr/lib/cgi-bin&quot;</span>&gt;
                <span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">None</span>
                <span style="color: #00007f;">Options</span> +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                <span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
                <span style="color: #00007f;">Allow</span> <span style="color: #00007f;">from</span> <span style="color: #00007f;">all</span>
        &lt;/<span style="color: #000000; font-weight:bold;">directory</span>&gt;
&nbsp;
        <span style="color: #00007f;">ErrorLog</span> /var/log/apache2/error.log
&nbsp;
        <span style="color: #adadad; font-style: italic;"># Possible values include: debug, info, notice, warn, error, crit,</span>
        <span style="color: #adadad; font-style: italic;"># alert, emerg.</span>
        <span style="color: #00007f;">LogLevel</span> warn
&nbsp;
        <span style="color: #00007f;">CustomLog</span> /var/log/apache2/access.log combined env=!no_log
&nbsp;
    <span style="color: #00007f;">Alias</span> /doc/ <span style="color: #7f007f;">&quot;/usr/share/doc/&quot;</span>
    &lt;<span style="color: #000000; font-weight:bold;">directory</span> <span style="color: #7f007f;">&quot;/usr/share/doc/&quot;</span>&gt;
        <span style="color: #00007f;">Options</span> <span style="color: #0000ff;">Indexes</span> MultiViews <span style="color: #0000ff;">FollowSymLinks</span>
        <span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">None</span>
        <span style="color: #00007f;">Order</span> <span style="color: #00007f;">deny</span>,<span style="color: #00007f;">allow</span>
        <span style="color: #00007f;">Deny</span> <span style="color: #00007f;">from</span> <span style="color: #00007f;">all</span>
        <span style="color: #00007f;">Allow</span> <span style="color: #00007f;">from</span> 127.0.0.0/255.0.0.0 ::<span style="color: #ff0000;">1</span>/<span style="color: #ff0000;">128</span>
    &lt;/<span style="color: #000000; font-weight:bold;">directory</span>&gt;
&nbsp;
&lt;/<span style="color: #000000; font-weight:bold;">virtualhost</span>&gt;
&nbsp;
&lt;<span style="color: #000000; font-weight:bold;">virtualhost</span> *:<span style="color: #ff0000;">80</span>&gt;
        <span style="color: #00007f;">ServerAdmin</span> webmaster@saizensen.net
        <span style="color: #00007f;">ServerName</span> admin.saizensen.net:<span style="color: #ff0000;">80</span>
&nbsp;
        <span style="color: #00007f;">DocumentRoot</span> /var/www/admin
        &lt;<span style="color: #000000; font-weight:bold;">directory</span> /&gt;
                <span style="color: #00007f;">Options</span> <span style="color: #0000ff;">FollowSymLinks</span>
                <span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">None</span>
        &lt; ／directory&gt;
        &lt;<span style="color: #000000; font-weight:bold;">directory</span> /var/www/admin&gt;
                <span style="color: #00007f;">Options</span> <span style="color: #0000ff;">Includes</span> ExecCGI <span style="color: #0000ff;">FollowSymLinks</span>
                <span style="color: #00007f;">AllowOverride</span> <span style="color: #00007f;">All</span>
                <span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
                <span style="color: #00007f;">allow</span> <span style="color: #00007f;">from</span> <span style="color: #00007f;">all</span>
        &lt;/<span style="color: #000000; font-weight:bold;">directory</span>&gt;
&nbsp;
        <span style="color: #00007f;">ScriptAlias</span> /cgi-bin/ /usr/lib/cgi-bin/
        &lt;<span style="color: #000000; font-weight:bold;">directory</span> <span style="color: #7f007f;">&quot;/usr/lib/cgi-bin&quot;</span>&gt;
                <span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">None</span>
                <span style="color: #00007f;">Options</span> +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                <span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
                <span style="color: #00007f;">Allow</span> <span style="color: #00007f;">from</span> <span style="color: #00007f;">all</span>
        &lt;/<span style="color: #000000; font-weight:bold;">directory</span>&gt;
&nbsp;
        <span style="color: #00007f;">ErrorLog</span> /var/log/apache2/admin-error.log
&nbsp;
        <span style="color: #adadad; font-style: italic;"># Possible values include: debug, info, notice, warn, error, crit,</span>
        <span style="color: #adadad; font-style: italic;"># alert, emerg.</span>
        <span style="color: #00007f;">LogLevel</span> warn
&nbsp;
        <span style="color: #00007f;">CustomLog</span> /var/log/apache2/admin-access.log combined env=!no_log
&nbsp;
    <span style="color: #00007f;">Alias</span> /doc/ <span style="color: #7f007f;">&quot;/usr/share/doc/&quot;</span>
    &lt;<span style="color: #000000; font-weight:bold;">directory</span> <span style="color: #7f007f;">&quot;/usr/share/doc/&quot;</span>&gt;
        <span style="color: #00007f;">Options</span> <span style="color: #0000ff;">Indexes</span> MultiViews <span style="color: #0000ff;">FollowSymLinks</span>
        <span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">None</span>
        <span style="color: #00007f;">Order</span> <span style="color: #00007f;">deny</span>,<span style="color: #00007f;">allow</span>
        <span style="color: #00007f;">Deny</span> <span style="color: #00007f;">from</span> <span style="color: #00007f;">all</span>
        <span style="color: #00007f;">Allow</span> <span style="color: #00007f;">from</span> 127.0.0.0/255.0.0.0 ::<span style="color: #ff0000;">1</span>/<span style="color: #ff0000;">128</span>
    &lt;/<span style="color: #000000; font-weight:bold;">directory</span>&gt;
&nbsp;
&lt;/<span style="color: #000000; font-weight:bold;">virtualhost</span>&gt;</pre></div></div>
				
				<p></code></p>
				<pre>
# ln -s /usr/bin/perl /usr/local/bin/perl
# mkdir /var/www/html
# mkdir /var/www/admin
# chown -R hoge.hoge /var/www ← hogeは適当な一般ユーザーへ
# apache2ctl configtest
# /etc/init.d/apache2 restart
</pre>
				</li>
				<li><strong>ルータの設定でPort80(TCP)を開ける。</strong></li>
				<li><strong>SSIを使えるようにする。</strong>
				<pre>
# a2enmod include
# /etc/init.d/apache2 restart
</pre>
				</li>
				<li><strong>リダイレクト出来るようにする。</strong>
				<pre>
# a2enmod rewrite
# /etc/init.d/apache2 restart
</pre>
				</li>
				<li><strong>PHPを使えるようにする。</strong>
				<pre>
# aptitude install libapache2-mod-php5
# aptitude clean
# vi /etc/php5/apache2/php.ini
</pre>
				<pre>
post_max_size = 8M
↓
post_max_size = 64M

magic_quotes_gpc = On
↓
magic_quotes_gpc = Off

upload_max_filesize = 32M
↓
upload_max_filesize = 64M
</pre>
				<pre>
# /etc/init.d/apache2 reload
</pre>
				</li>
				<li><strong>.htpasswdを作る。</strong>
				<ol>
				<li>.htpasswdファイルを新規作成する場合(hogeは適当な一般ユーザーへ)
				<pre>
# htpasswd -b -c /etc/apache2/.htpasswd hoge ******
</pre>
				</li>
				<li>既存の.htpasswdファイルへユーザーを追加する場合(hogehogeは適当な一般ユーザーへ)
				<pre>
# htpasswd -b /etc/apache2/.htpasswd hogehoge ******
</pre>
				</li>
				<li>ユーザー登録確認
				<pre>
# cat /etc/apache2/.htpasswd
</pre>
				</li>
				<li>.htaccess作成
				<pre># vi /var/www/admin/.htaccess</pre>
<pre>
AuthUserFile /etc/apache2/.htpasswd
AuthGroupFile /dev/null
AuthName "secret page"
AuthType Basic
#require valid-user ←.htpasswdに登録してある全てのユーザー名で認証できるようにする場合
require user hoge ←.htpasswdに登録してある特定のユーザー名でのみ認証できるようにする場合
</pre>
				</li>
				<li>apache再起動
				<pre>
# /etc/init.d/apache2 reload
</pre>
				</li>
				</ol>
				</li>
				<li><strong>mod_deflate設定</strong>
				<pre>
# vi /etc/apache2/mods-enabled/deflate.conf
</pre>
				
				<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">&lt;<span style="color: #000000; font-weight:bold;">ifmodule</span> mod_deflate.c&gt;
	AddOutputFilterByType DEFLATE text/html text/plain text/xml
	<span style="color: #adadad; font-style: italic;"># 送信先ブラウザがNetscape 4.xの場合はtext/htmlのみ圧縮</span>
	<span style="color: #00007f;">BrowserMatch</span> ^Mozilla/<span style="color: #ff0000;">4</span> gzip-only-text/html
	<span style="color: #adadad; font-style: italic;"># 送信先ブラウザがNetscape 4.06-4.08の場合は圧縮しない</span>
	<span style="color: #00007f;">BrowserMatch</span> ^Mozilla/<span style="color: #ff0000;">4</span>\.0[<span style="color: #ff0000;">678</span>] no-gzip
	<span style="color: #adadad; font-style: italic;"># 送信先ブラウザがMSIEの場合は全て圧縮する</span>
	<span style="color: #00007f;">BrowserMatch</span> \bMSI[E] !no-gzip !gzip-only-text/html
&lt;/<span style="color: #000000; font-weight:bold;">ifmodule</span>&gt;</pre></div></div>
				
				<pre>
# /etc/init.d/apache2 restart
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/304/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; bindをインストール</title>
		<link>http://ore.saizensen.net/archives/286</link>
		<comments>http://ore.saizensen.net/archives/286#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:09:42 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=286</guid>
		<description><![CDATA[				
				DNSサーバーを構築(bindをインストール)
				
# aptitude install bind9
# aptitude clean

				
				bindを設定
				
# vi /etc/bind/named.conf.options

				
options {
        directory "/var/cache/bind";
        version "unknown";

        // If there is a firewall between you and nameservers you want
        // to [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>DNSサーバーを構築(bindをインストール)</strong>
				<pre>
# aptitude install bind9
# aptitude clean
</pre>
				</li>
				<li><strong>bindを設定</strong>
				<pre>
# vi /etc/bind/named.conf.options
</pre>
				<pre>
options {
        directory "/var/cache/bind";
        version "unknown";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        // forwarders {
        //      0.0.0.0;
        // };

        allow-query { localhost; localnets; };

        forward first;
        forwarders {
                192.168.0.1;
        };

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};
</pre>
				<pre>
# vi /etc/bind/named.conf
</pre>
				<pre>
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";

// prime the server with knowledge of the root servers
//zone "." {
//      type hint;
//      file "/etc/bind/db.root";
//};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

//zone "localhost" {
//      type master;
//      file "/etc/bind/db.local";
//};

//zone "127.in-addr.arpa" {
//      type master;
//      file "/etc/bind/db.127";
//};

//zone "0.in-addr.arpa" {
//      type master;
//      file "/etc/bind/db.0";
//};

//zone "255.in-addr.arpa" {
//      type master;
//      file "/etc/bind/db.255";
//};

include "/etc/bind/named.conf.local";
</pre>
				<pre>
# vi /etc/bind/named.conf.local
</pre>
				<pre>
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

view "internal" {
        match-clients { localhost; localnets; };
        match-destinations { localnets; };
        recursion yes;
        zone "." {
                type hint;
                file "/etc/bind/db.root";
        };
        zone "localhost" {
                type master;
                file "/etc/bind/db.local";
        };
        zone "127.in-addr.arpa" {
                type master;
                file "/etc/bind/db.127";
        };
        zone "0.in-addr.arpa" {
                type master;
                file "/etc/bind/db.0";
        };
        zone "255.in-addr.arpa" {
                type master;
                file "/etc/bind/db.255";
        };
        include "/etc/bind/named.saizensen.net.zone";
};

view "external" {
        match-clients { any; };
        match-destinations { any; };
        recursion no;
        zone "." {
                type hint;
                file "/etc/bind/db.root";
        };
        include "/etc/bind/named.saizensen.net.zone.wan";
};
</pre>
				<pre>
# vi /etc/bind/named.saizensen.net.zone
</pre>
				<pre>
zone "saizensen.net" {
        type master;
        file "/etc/bind/saizensen.net.db";
        #allow-update { none; };
};
zone "0.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/0.168.192.in-addr.arpa.db";
        #allow-update { none; };
};
</pre>
				<pre>
# vi /etc/bind/named.saizensen.net.zone.wan
</pre>
				<pre>
zone "saizensen.net" {
        type master;
        file "/etc/bind/saizensen.net.db.wan";
        allow-query { any; };
        #allow-transfer { 123.50.202.226; 38.110.146.192; }; ← セカンダリーネームサーバーとしてマイハマネットを使う場合はコメントアウトを外す。(マイハマネットへ登録後)
        #notify yes; ← セカンダリーネームサーバーとしてマイハマネットを使う場合はコメントアウトを外す。(マイハマネットへ登録後)
        #allow-update { none; };
};
zone "239.249.122.in-addr.arpa" {
        type master;
        file "/etc/bind/239.249.122.in-addr.arpa.db";
        #allow-update { none; };
};
</pre>
				<pre>
# vi /etc/bind/saizensen.net.db
</pre>
				<pre>
$TTL    86400
@       IN      SOA     saizensen.net.  root.saizensen.net.(
                        2009080401 ; Serial
                        3600       ; Refresh
                        900        ; Retry
                        604800     ; Expire
                        86400      ; Minimum
)
        IN      NS              saizensen.net.
        IN      MX      10      saizensen.net.
        IN      A               192.168.0.2
@       IN      A               192.168.0.2
mail    IN      A               192.168.0.2
ns      IN      A               192.168.0.2
www     IN      A               192.168.0.2
admin   IN      A               192.168.0.2
test    IN      A               192.168.0.2
*       IN      A               192.168.0.2
</pre>
				<pre>
# vi /etc/bind/saizensen.net.db.wan
</pre>
				<pre>
$TTL    86400
@       IN      SOA     ns.saizensen.net. root.saizensen.net.(
                        2009080401      ; serial
                        3600            ; refresh (1 hour)
                        900             ; retry (15 minutes)
                        604800          ; expire (1 week)
                        86400           ; negative (1 day)
)
        IN      NS              ns.saizensen.net.
;        IN      NS              ns1.maihama-net.com. ← セカンダリーネームサーバーとしてマイハマネットを使う場合はコメントアウトを外す。(マイハマネットへ登録後)
;        IN      NS              ns2.maihama-net.com. ← セカンダリーネームサーバーとしてマイハマネットを使う場合はコメントアウトを外す。(マイハマネットへ登録後)
        IN      MX      10      mail.saizensen.net.
ns      IN      A               122.249.239.71
@       IN      A               122.249.239.71
www     IN      A               122.249.239.71
mail    IN      A               122.249.239.71
admin   IN      A               122.249.239.71
test    IN      A               122.249.239.71
saizensen.net. IN TXT "v=spf1 a mx ~all"
</pre>
				<pre>
# vi /etc/bind/0.168.192.in-addr.arpa.db
</pre>
				<pre>
$TTL 86400      ; 1 day
@       IN      SOA     ns.saizensen.net. root.saizensen.net.(
                        2009080401 ; serial
                        3600       ; refresh (1 hour)
                        900        ; retry (15 minutes)
                        604800     ; expire (1 week)
                        86400      ; minimum (1 day)
)
        IN      NS      ns.saizensen.net.
2       IN      PTR     ns.saizensen.net.
2       IN      PTR     www.saizensen.net.
2       IN      PTR     mail.saizensen.net.
2       IN      PTR     admin.saizensen.net.
2       IN      PTR     test.saizensen.net.
</pre>
				<pre>
# vi /etc/bind/239.249.122.in-addr.arpa.db
</pre>
				<pre>
$TTL    86400
@       IN      SOA     ns.saizensen.net. root.saizensen.net.(
                        2009080401      ; serial
                        3600            ; refresh (1 hour)
                        900             ; retry (15 minutes)
                        604800          ; expire (1 week)
                        86400           ; negative (1 day)
)
        IN      NS              ns.saizensen.net.
71      IN      PTR             saizensen.net.
</pre>
				<pre>
# /etc/init.d/bind9 restart
</pre>
				</li>
				<li><strong>動作確認</strong>
				<pre>
# dig saizensen.net
# dig -x 192.168.0.2
# dig www.google.co.jp
# dig -x ***.***.***.*** ← グローバルIP
</pre>
				</li>
				<li><strong>ネットワーク設定を編集</strong>
				<pre>
# vi /etc/network/interfaces
</pre>
				<pre>
dns-nameservers 192.168.0.1 ← この行を消す
</pre>
				</li>
				<li><strong>システム再起動</strong>
				<pre>
# reboot
</pre>
				</li>
				<li><strong>ルータの設定でPort53(TCP/UDP)を開ける。</strong></li>
				<li><strong>バーチャルホスト用にドメインを設定する。(例：virtualhost.netというドメインの場合)</strong>
				<pre>
# vi /etc/bind/named.conf.local
</pre>
				<pre>
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

view "internal" {
・・・
・・・
        include "/etc/bind/named.saizensen.net.zone";
        include "/etc/bind/named.virtualhost.net.zone"; ← 追記
};

view "external" {
・・・
・・・
        include "/etc/bind/named.saizensen.net.zone.wan";
        include "/etc/bind/named.virtualhost.net.zone.wan"; ← 追記
};
</pre>
				<pre>
# vi /etc/bind/named.virtualhost.net.zone
</pre>
				<pre>
zone "virtualhost.net" {
        type master;
        file "/etc/bind/virtualhost.net.db";
        #allow-update { none; };
};
</pre>
				<pre>
# vi /etc/bind/named.virtualhost.net.zone.wan
</pre>
				<pre>
zone "virtualhost.net" {
        type master;
        file "/etc/bind/virtualhost.net.db.wan";
        allow-query { any; };
        #allow-transfer { 123.50.202.226;  38.110.146.192; }; ← セカンダリーネームサーバーとしてマイハマネットを使う場合はコメントアウトを外す。(マイハマネットへ登録後)
        #notify yes; ← セカンダリーネームサーバーとしてマイハマネットを使う場合はコメントアウトを外す。(マイハマネットへ登録後)
        #allow-update { none; };
};
</pre>
				<pre>
# vi /etc/bind/virtualhost.net.db
</pre>
				<pre>
$TTL    86400
@       IN      SOA     virtualhost.net.  root.virtualhost.net.(
                        2009080401 ; Serial
                        3600       ; Refresh
                        900        ; Retry
                        604800     ; Expire
                        86400      ; Minimum
)
        IN      NS              virtualhost.net.
        IN      MX      10      virtualhost.net.
        IN      A               192.168.0.2
@       IN      A               192.168.0.2
mail    IN      A               192.168.0.2
ns      IN      A               192.168.0.2
www     IN      A               192.168.0.2
admin   IN      A               192.168.0.2
test    IN      A               192.168.0.2
*       IN      A               192.168.0.2
</pre>
				<pre>
# vi /etc/bind/virtualhost.net.db.wan
</pre>
				<pre>
$TTL    86400
@       IN      SOA     ns.virtualhost.net. root.virtualhost.net.(
                        2009080401      ; serial
                        3600            ; refresh (1 hour)
                        900             ; retry (15 minutes)
                        604800          ; expire (1 week)
                        86400           ; negative (1 day)
)
        IN      NS              ns.virtualhost.net.
;        IN      NS              ns1.maihama-net.com. ← セカンダリーネームサーバーとしてマイハマネットを使う場合はコメントアウトを外す。(マイハマネットへ登録後)
;        IN      NS              ns2.maihama-net.com. ← セカンダリーネームサーバーとしてマイハマネットを使う場合はコメントアウトを外す。(マイハマネットへ登録後)
        IN      MX      10      mail.virtualhost.net.
ns      IN      A               122.249.239.71
@       IN      A               122.249.239.71
www     IN      A               122.249.239.71
mail    IN      A               122.249.239.71
admin   IN      A               122.249.239.71
test    IN      A               122.249.239.71
virtualhost.net. IN TXT "v=spf1 a mx ~all"
</pre>
				<pre>
# /etc/init.d/bind9 restart
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/286/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; clamavをインストール</title>
		<link>http://ore.saizensen.net/archives/283</link>
		<comments>http://ore.saizensen.net/archives/283#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:09:27 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=283</guid>
		<description><![CDATA[				
				clamavをインストール。
				
# aptitude install clamav clamav-daemon clamav-testfiles clamassassin clamav-freshclam unrar lha

				
				手動でアップデート
				
# freshclam

				
				デーモンとして実行し、1日に24回更新のチェックを行う
				
# freshclam -d -c 24

				
				clamav cron設定
				
# vi clamscan

				
#!/bin/bash

LANG=C

PATH=/usr/bin:/bin

# excludeopt setup
excludelist=/root/clamscan.exclude
if [ -s $excludelist ]; then
    for i in `cat $excludelist`
    do
        if [ $(echo "$i"&#124;grep \/$) ]; then
     [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>clamavをインストール。</strong>
				<pre>
# aptitude install clamav clamav-daemon clamav-testfiles clamassassin clamav-freshclam unrar lha
</pre>
				</li>
				<li><strong>手動でアップデート</strong>
				<pre>
# freshclam
</pre>
				</li>
				<li><strong>デーモンとして実行し、1日に24回更新のチェックを行う</strong>
				<pre>
# freshclam -d -c 24
</pre>
				</li>
				<li><strong>clamav cron設定</strong>
				<pre>
# vi clamscan
</pre>
				<pre>
#!/bin/bash

LANG=C

PATH=/usr/bin:/bin

# excludeopt setup
excludelist=/root/clamscan.exclude
if [ -s $excludelist ]; then
    for i in `cat $excludelist`
    do
        if [ $(echo "$i"|grep \/$) ]; then
            i=`echo $i|sed -e 's/^\([^ ]*\)\/$/\1/p' -e d`
            excludeopt="${excludeopt} --exclude-dir=$i"
        else
            excludeopt="${excludeopt} --exclude=$i"
        fi
    done
fi

# signature update
freshclam > /dev/null

# virus scan
CLAMSCANTMP=`mktemp`
clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP 2>&#038;1
[ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] &#038;&#038; \

# report mail send
grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root
rm -f $CLAMSCANTMP
</pre>
				</li>
				<li><strong>clamscanへ実行権を付与。</strong>
				<pre>
# chmod +x clamscan
</pre>
				</li>
				<li><strong>スキャン対象外設定。</strong>
				<pre>
# echo "/backup/" >> clamscan.exclude
# echo "/proc/" >> clamscan.exclude
# echo "/sys/" >> clamscan.exclude
</pre>
				</li>
				<li><strong>cron.dailyへ移動。</strong>
				<pre>
# mv clamscan /etc/cron.daily/
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/283/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; tripwireをインストール</title>
		<link>http://ore.saizensen.net/archives/279</link>
		<comments>http://ore.saizensen.net/archives/279#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:09:06 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=279</guid>
		<description><![CDATA[				
				tripwireをインストール。サイトパスフレーズ、ローカルパスフレーズなどを作成するか？と聞いてくるので全て「Yes」と答えて設定する。
				# aptitude install tripwire [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>tripwireをインストール。</strong>サイトパスフレーズ、ローカルパスフレーズなどを作成するか？と聞いてくるので全て「Yes」と答えて設定する。
				<pre># aptitude install tripwire
# aptitude clean</pre>
				</li>
				<li><strong>Tripwire設定</strong>
				<pre># vi /etc/tripwire/twcfg.txt</pre>
<p>以下の様に編集。</p>
<pre>LOOSEDIRECTORYCHECKING =true
REPORTLEVEL   =4</pre>
				</li>
				<li><strong>Tripwire設定ファイル(暗号署名版)作成</strong>
				<pre># twadmin -m F -c /etc/tripwire/tw.cfg -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt</pre>
</li>
<li><strong>Tripwire設定ファイル削除</strong>
<pre># rm -f /etc/tripwire/twcfg.txt</pre>
				<p>※Tripwire設定ファイルを復元する場合</p>
				<pre># twadmin -m f -c /etc/tripwire/tw.cfg &gt; /etc/tripwire/twcfg.txt</pre>
</li>
<li><strong>ポリシーファイル設定</strong>
<pre># vi /etc/tripwire/twpolmake.pl</pre>
				
				<div class="wp_syntax"><div class="code"><pre class="" style="font-family:monospace;">#!/usr/bin/perl
# Tripwire Policy File customize tool
# ----------------------------------------------------------------
# Copyright <span class="br0">&#40;</span>C<span class="br0">&#41;</span> <span style="">2003</span> Hiroaki Izumi
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version <span style="">2</span>
# of the License, or <span class="br0">&#40;</span>at your option<span class="br0">&#41;</span> any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., <span style="">59</span> Temple Place - Suite <span style="">330</span>, Boston, MA  02111-<span style="">1307</span>, USA.
# ----------------------------------------------------------------
# Usage:
#    perl twpolmake.pl <span class="br0">&#123;</span>Pol file<span class="br0">&#125;</span>
# ----------------------------------------------------------------
#
$POLFILE=$ARGV<span class="br0">&#91;</span><span style="">0</span><span class="br0">&#93;</span>;
&nbsp;
open<span class="br0">&#40;</span>POL,&quot;$POLFILE&quot;<span class="br0">&#41;</span> or die &quot;open error: $POLFILE&quot; ;
my<span class="br0">&#40;</span>$myhost,$thost<span class="br0">&#41;</span> ;
my<span class="br0">&#40;</span>$sharp,$tpath,$cond<span class="br0">&#41;</span> ;
my<span class="br0">&#40;</span>$INRULE<span class="br0">&#41;</span> = <span style="">0</span> ;
&nbsp;
while <span class="br0">&#40;</span>&lt;POL&gt;<span class="br0">&#41;</span> <span class="br0">&#123;</span>
    chomp;
    if <span class="br0">&#40;</span><span class="br0">&#40;</span>$thost<span class="br0">&#41;</span> = /^HOSTNAME\s*=\s*<span class="br0">&#40;</span>.*<span class="br0">&#41;</span>\s*;/<span class="br0">&#41;</span> <span class="br0">&#123;</span>
        $myhost = `hostname` ; chomp<span class="br0">&#40;</span>$myhost<span class="br0">&#41;</span> ;
        if <span class="br0">&#40;</span>$thost ne $myhost<span class="br0">&#41;</span> <span class="br0">&#123;</span>
            $_=&quot;HOSTNAME=\&quot;$myhost\&quot;;&quot; ;
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
    elsif <span class="br0">&#40;</span> /^<span class="br0">&#123;</span>/ <span class="br0">&#41;</span> <span class="br0">&#123;</span>
        $INRULE=<span style="">1</span> ;
    <span class="br0">&#125;</span>
    elsif <span class="br0">&#40;</span> /^<span class="br0">&#125;</span>/ <span class="br0">&#41;</span> <span class="br0">&#123;</span>
        $INRULE=<span style="">0</span> ;
    <span class="br0">&#125;</span>
    elsif <span class="br0">&#40;</span>$INRULE == <span style="">1</span> and <span class="br0">&#40;</span>$sharp,$tpath,$cond<span class="br0">&#41;</span> = /^<span class="br0">&#40;</span>\s*\#?\s*<span class="br0">&#41;</span><span class="br0">&#40;</span>\/\S+<span class="br0">&#41;</span>\b<span class="br0">&#40;</span>\s+-&gt;\s+.+<span class="br0">&#41;</span>$/<span class="br0">&#41;</span> <span class="br0">&#123;</span>
        $ret = <span class="br0">&#40;</span>$sharp =~ s/\#//g<span class="br0">&#41;</span> ;
        if <span class="br0">&#40;</span>$tpath eq '/sbin/e2fsadm' <span class="br0">&#41;</span> <span class="br0">&#123;</span>
            $cond =~ s/;\s+<span class="br0">&#40;</span>tune2fs.*<span class="br0">&#41;</span>$/; \#$<span style="">1</span>/ ;
        <span class="br0">&#125;</span>
        if <span class="br0">&#40;</span>! -s $tpath<span class="br0">&#41;</span> <span class="br0">&#123;</span>
            $_ = &quot;$sharp#$tpath$cond&quot; if <span class="br0">&#40;</span>$ret == <span style="">0</span><span class="br0">&#41;</span> ;
        <span class="br0">&#125;</span>
        else <span class="br0">&#123;</span>
            $_ = &quot;$sharp$tpath$cond&quot; ;
        <span class="br0">&#125;</span>
    <span class="br0">&#125;</span>
    print &quot;$_\n&quot; ;
<span class="br0">&#125;</span>
close<span class="br0">&#40;</span>POL<span class="br0">&#41;</span> ;</pre></div></div>
				
				</li>
				<li><strong>ポリシーファイル最適化</strong>
				<pre># perl /etc/tripwire/twpolmake.pl /etc/tripwire/twpol.txt &gt; /etc/tripwire/twpol.txt.new</pre>
</li>
<li><strong>最適化済ポリシーファイルを元にポリシーファイル(暗号署名版)作成</strong>
<pre># twadmin -m P -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -S /etc/tripwire/site.key /etc/tripwire/twpol.txt.new</pre>
				</li>
				<li><strong>ポリシーファイル削除</strong>
				<pre># rm -f /etc/tripwire/twpol.txt*</pre>
<p>※ポリシーファイルを復元する場合</p>
<pre># twadmin -m p -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -S /etc/tripwire/site.key &gt; /etc/tripwire/twpol.txt</pre>
				</li>
				<li><strong>データベース作成 </strong>
				<pre># tripwire -m i -s -c /etc/tripwire/tw.cfg</pre>
</li>
<li><strong>Tripwire実行確認</strong>
<pre># tripwire -m c -s -c /etc/tripwire/tw.cfg</pre>
				</li>
				<li><strong>Tripwire Cron設定</strong>
				<pre># vi tripwire.sh</pre>
<pre>#!/bin/bash

LANG=C

PATH=/usr/sbin:/usr/bin:/bin

# パスフレーズ設定
LOCALPASS=****** # ローカルパスフレーズ
SITEPASS=******  # サイトパスフレーズ  

cd /etc/tripwire

# Tripwireチェック実行
tripwire -m c -s -c tw.cfg|mail -s "Tripwire(R) Integrity Check Report in `hostname`" root

# ポリシーファイル最新化
twadmin -m p -c tw.cfg -p tw.pol -S site.key &gt; twpol.txt
perl twpolmake.pl twpol.txt &gt; twpol.txt.new
twadmin -m P -c tw.cfg -p tw.pol -S site.key -Q $SITEPASS twpol.txt.new &gt; /dev/null
rm -f twpol.txt* *.bak

# データベース最新化
rm -f /var/lib/tripwire/*.twd*
tripwire -m i -s -c tw.cfg -P $LOCALPASS</pre>
				<pre># chmod 700 tripwire.sh</pre>
<pre># crontab -e</pre>
				<pre>0 3 * * * /root/tripwire.sh ← 追記(毎日午前3時に実行)</pre>
</li>
<li><strong>標準で/etc/cron.daily/に配置されるtripwireから実行権を無くしてcronから実行されなくする。</strong>
<pre># chmod -x /etc/cron.daily/tripwire</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/279/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; chkrootkitをインストール</title>
		<link>http://ore.saizensen.net/archives/277</link>
		<comments>http://ore.saizensen.net/archives/277#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:08:48 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=277</guid>
		<description><![CDATA[				
				chkrootkitをインストール &#038;&#038; 実行。
				
# aptitude install chkrootkit
# aptitude clean

				chkrootki [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>chkrootkitをインストール &#038;&#038; 実行。</strong>
				<pre>
# aptitude install chkrootkit
# aptitude clean
</pre>
				<p>chkrootkit実行</p>
				<pre>
# chkrootkit | grep INFECTED
</pre>
				<p>実行結果として、&#8221;INFECTED&#8221;という行が表示されなければ問題なし
				</li>
				<li><strong>cron登録用にchkrootkitシェルスクリプトを作成。</strong>
				<pre>
# vi chkrootkit
</pre>
				<pre>
#!/bin/bash

LANG=C

PATH=/usr/bin:/bin:/usr/sbin

TMPLOG=`mktemp`

# chkrootkit実行
chkrootkit > $TMPLOG

# ログ出力
cat $TMPLOG | logger -t chkrootkit

# SMTPSのbindshell誤検知対応
if [ ! -z "$(grep 465 $TMPLOG)" ] &#038;&#038; \
   [ -z $(/usr/sbin/lsof -i:465|grep bindshell) ]; then
        sed -i '/465/d' $TMPLOG
fi

# rootkit検知時のみroot宛メール送信
[ ! -z "$(grep INFECTED $TMPLOG)" ] &#038;&#038; \
grep INFECTED $TMPLOG | mail -s "chkrootkit report in `hostname`" root

rm -f $TMPLOG
</pre>
				<pre>
# chmod 700 chkrootkit
# mv chkrootkit /etc/cron.daily/
</pre>
				</li>
				<li><strong>chkrootkitで使用する安全なコマンドの確保</strong>
				<pre>
# mkdir chkrootkitcmd
# cp `which -a awk cut echo egrep find head id ls netstat ps strings sed uname` chkrootkitcmd/
</pre>
				<p>退避したchkrootkit使用コマンドを使用してchkrootkit実行</p>
				<pre>
# chkrootkit -p /root/chkrootkitcmd|grep INFECTED
# aptitude install zip sharutils
# zip -r chkrootkitcmd.zip chkrootkitcmd/
# rm -rf chkrootkitcmd
# uuencode chkrootkitcmd.zip chkrootkitcmd.zip|mail root
# rm -f chkrootkitcmd.zip
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/277/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; iptablesを設定</title>
		<link>http://ore.saizensen.net/archives/275</link>
		<comments>http://ore.saizensen.net/archives/275#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:08:29 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=275</guid>
		<description><![CDATA[				
				/etc/network/if-post-down.d/iptables-downを新規作成します。
				
# vi /etc/network/if-post-down.d/iptables-dow [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>/etc/network/if-post-down.d/iptables-downを新規作成します。</strong>
				<pre>
# vi /etc/network/if-post-down.d/iptables-down
</pre>
				<pre>
#!/bin/sh

LANG=C

# iptablesコマンドのパス
IPTABLES='/sbin/iptables'

# 初期化
$IPTABLES -F
$IPTABLES -Z
$IPTABLES -X

# 基本ポリシー(全部通過)
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
</pre>
				</li>
				<li><strong>実行権限を付与。</strong>
				<pre>
# chmod 700 /etc/network/if-post-down.d/iptables-down
</pre>
				</li>
				<li><strong>/etc/network/if-pre-up.d/iptables-upを新規作成します。</strong>
				<pre>
# vi /etc/network/if-pre-up.d/iptables-up
</pre>
				<pre>
#!/bin/sh -e

CONFIG=/etc/iptables/filter.rule

. /lib/lsb/init-functions

[ -x /sbin/iptables ] || exit 0
[ -e ${CONFIG} ] || exit 0

iptables-restore $CONFIG
</pre>
				</li>
				<li><strong>実行権限を付与。</strong>
				<pre>
# chmod 700 /etc/network/if-pre-up.d/iptables-up
</pre>
				</li>
				<li><strong>/root/iptables.shを新規作成します。</strong>
				<pre>
# vi /root/iptables.sh
</pre>
				<pre>
#!/bin/bash

LANG=C

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

# インタフェース名定義
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

# 初期化
iptables -F
iptables -Z
iptables -X

# デフォルトルール(以降のルールにマッチしなかった場合に適用するルール)設定
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 /tmp/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 /tmp/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
}

# IPアドレスリスト取得
. /root/iptables_functions
IPLISTGET

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

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

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

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

# 外部からの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_COUNTRY

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

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

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

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

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

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

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

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

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

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

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

# 拒否IPアドレスからのアクセスはログを記録せずに破棄
# ※拒否IPアドレスは/root/deny_ipに1行ごとに記述しておくこと
# (/root/deny_ipがなければなにもしない)
if [ -s /root/deny_ip ]; then
    for ip in `cat /root/deny_ip`
    do
        iptables -I INPUT -s $ip -j DROP
    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

iptables-save > /etc/iptables/filter.rule
</pre>
				</li>
				<li><strong>実行権限を付与。</strong>
				<pre>
# chmod 700 /root/iptables.sh
</pre>
				</li>
				<li><strong>ファイアウォール設定スクリプト外部関数作成</strong>
				<pre>
# vi /root/iptables_functions
</pre>
				<pre>
LANG=C

# IPアドレスリスト取得関数定義
IPLISTGET(){
    # http://nami.jp/ipv4bycc/から最新版IPアドレスリストを取得する
    wget -q http://nami.jp/ipv4bycc/cidr.txt.gz
    gunzip cidr.txt.gz
    # 最新版IPアドレスリストが取得できなかった場合
    if [ ! -f cidr.txt ]; then
        if [ -f /tmp/cidr.txt ]; then
            # バックアップがある場合はその旨をroot宛にメール通知して処理を打ち切る
            echo cidr.txt was read from the backup! | mail -s $0 root
            exit 1
        else
            # バックアップがない場合はその旨をroot宛にメール通知して処理を打ち切る
            echo cidr.txt not found!|mail -s $0 root
            exit 1
        fi
    fi
    # 最新版IPアドレスリストを /tmpへバックアップする
    /bin/mv cidr.txt /tmp/cidr.txt
}
</pre>
				</li>
				<li><strong>IPアドレスリスト更新チェック</strong>
				<pre>
# vi /etc/cron.daily/iplist_check.sh
</pre>
				<pre>
#!/bin/bash

LANG=C

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# チェック国コード
COUNTRY_CODE='JP CN KR TW'

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

# IPアドレスリスト最新化
rm -f IPLIST.new
IPLISTGET
for country in $COUNTRY_CODE
do
    if [ -f /tmp/cidr.txt ]; then
        grep ^$country /tmp/cidr.txt >> IPLIST.new
    else
        grep ^$country /tmp/IPLIST >> IPLIST.new
    fi
done

# IPアドレスリスト更新チェック
diff -q /tmp/IPLIST IPLIST.new > /dev/null 2>&#038;1
if [ $? -ne 0 ]; then
    /bin/mv IPLIST.new /tmp/IPLIST
    $IPTABLES > /dev/null
else
    rm -f IPLIST.new
fi
</pre>
				</li>
				<li><strong>IPアドレスリストチェックスクリプトに実行権限付加</strong>
				<pre>
# chmod +x /etc/cron.daily/iplist_check.sh
</pre>
				</li>
				<li><strong>iptables設定の保存先作成</strong>
				<pre>
# mkdir /etc/iptables
</pre>
				</li>
				<li><strong>実行 &#038;&#038; 確認</strong>
				<pre>
# /root/iptables.sh
# iptables -L
</pre>
				</li>
				<li><strong>/etc/init.d/iptablesを作成する。</strong>
				<pre>
# vi /etc/init.d/iptables
</pre>
				<pre>
#!/bin/sh -e

CONFIG=/etc/iptables/filter.rule

. /lib/lsb/init-functions

[ -x /sbin/iptables ] || exit 0
[ -e ${CONFIG} ] || exit 0

case "$1" in
start)
       log_daemon_msg "Configuration iptables"
       iptables-restore $CONFIG
       ;;

stop)
       log_daemon_msg "Deconfiguration iptables"
       iptables -F
       iptables -Z
       iptables -X
       iptables -P INPUT   ACCEPT
       iptables -P OUTPUT  ACCEPT
       iptables -P FORWARD ACCEPT
       ;;

*)
       echo "Usage: /etc/init.d/iptables {start|stop}"
       exit 1
       ;;
esac

exit 0
</pre>
				</li>
				<li><strong>/etc/init.d/iptablesへ実行権を付与。</strong>
				<pre>
# chmod +x /etc/init.d/iptables
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/275/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; sudoをインストール</title>
		<link>http://ore.saizensen.net/archives/268</link>
		<comments>http://ore.saizensen.net/archives/268#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:07:55 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=268</guid>
		<description><![CDATA[				
				sudoをインストール。
				
# aptitude install sudo
# aptitude clean

				
# visudo

				hogeは適当な一般ユーザーへ
				
# [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>sudoをインストール。</strong>
				<pre>
# aptitude install sudo
# aptitude clean
</pre>
				<pre>
# visudo
</pre>
				<p>hogeは適当な一般ユーザーへ</p>
				<pre>
# User privilege specification
root    ALL=(ALL) ALL
hoge    ALL=(ALL) ALL
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/268/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; ntpdateをインストール</title>
		<link>http://ore.saizensen.net/archives/266</link>
		<comments>http://ore.saizensen.net/archives/266#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:07:40 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=266</guid>
		<description><![CDATA[				
				ntpdateをインストール。
				
# aptitude install ntpdate
# aptitude clean

				ntpサーバーを設定するなら/etc/default/ntpd [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>ntpdateをインストール。</strong>
				<pre>
# aptitude install ntpdate
# aptitude clean
</pre>
				<p>ntpサーバーを設定するなら/etc/default/ntpdateを編集。デフォルトのままでも使えるので私は未編集。</p>
				<pre>
# vi /etc/default/ntpdate
</pre>
				<p>cronへ登録。</p>
				<pre>
# crontab -e
</pre>
				<pre>
0 * * * * /etc/network/if-up.d/ntpdate > /dev/null
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/266/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; /etc/apt/sources.listを編集</title>
		<link>http://ore.saizensen.net/archives/262</link>
		<comments>http://ore.saizensen.net/archives/262#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:07:13 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=262</guid>
		<description><![CDATA[				
				/etc/apt/sources.listを編集。
				
# vi /etc/apt/sources.list

				
deb http://ftp.jp.debian.org/debian lenny main contrib non-free
deb-src http://ftp.jp.debian.org/debian lenny main contrib non-free
deb http://security.debian.org lenny/updates main contrib non-free
deb-src http://security.debian.org lenny/updates main contrib non-free
deb http://ftp.jp.debian.org/debian-volatile lenny/volatile main contrib
deb-src http://ftp.jp.debian.org/debian-volatile lenny/volatile main contrib
deb http://www.jp.backports.org lenny-backports main contrib non-free
deb-src http://www.jp.backports.org lenny-backports main contrib non-free

				
# aptitude install debian-backports-keyring
# aptitude update
# aptitude upgrade

				
				
]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>/etc/apt/sources.listを編集。</strong>
				<pre>
# vi /etc/apt/sources.list
</pre>
				<pre>
deb http://ftp.jp.debian.org/debian lenny main contrib non-free
deb-src http://ftp.jp.debian.org/debian lenny main contrib non-free
deb http://security.debian.org lenny/updates main contrib non-free
deb-src http://security.debian.org lenny/updates main contrib non-free
deb http://ftp.jp.debian.org/debian-volatile lenny/volatile main contrib
deb-src http://ftp.jp.debian.org/debian-volatile lenny/volatile main contrib
deb http://www.jp.backports.org lenny-backports main contrib non-free
deb-src http://www.jp.backports.org lenny-backports main contrib non-free
</pre>
				<pre>
# aptitude install debian-backports-keyring
# aptitude update
# aptitude upgrade
</pre>
				</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/262/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; sshをインストール</title>
		<link>http://ore.saizensen.net/archives/257</link>
		<comments>http://ore.saizensen.net/archives/257#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:06:51 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=257</guid>
		<description><![CDATA[				
				sshをインストール。
				
# aptitude install ssh
# aptitude clean

				
				[SSH鍵の作成]
				
				PuTTY付属の「puttyg [...]]]></description>
			<content:encoded><![CDATA[				<ul>
				<li><strong>sshをインストール。</strong>
				<pre>
# aptitude install ssh
# aptitude clean
</pre>
				</li>
				<li><strong>[SSH鍵の作成]</strong>
				<ol>
				<li>PuTTY付属の「puttygen.exe」を実行します。</li>
				<li>鍵の種類を選択します。SSH1よりSSH2が、DSAよりRSAが安全です。「Parameters」から[SSH-2 RSA]を選択し、「Generate」を押します。</li>
				<li>乱数を生成します。マウスカーソルをダイアログ上でぐりぐりと動かし続けます。</li>
				<li>パスフレーズを入力します。パスフレーズはパスワードと違い文字制限が無く、スペースも有効です。</li>
				<li>鍵を保存します。秘密鍵は「Save private key」、公開鍵は「Save public key」を押し、保存します。ここでは秘密鍵を「ssh2_rsa.ppk」、公開鍵を「ssh2_rsa.pub」と保存しました。</li>
				</ol>
				</li>
				<li><strong>[公開鍵の登録]</strong>
				<ol>
				<li>ログインする一般ユーザーティレクトリ直下に「.ssh」ディレクトリが無ければ作成します。パーミッションは700にします。
				<pre>
$ mkdir .ssh
$ chmod 700 .ssh
</pre>
				</li>
				<li>公開鍵「ssh2_rsa.pub」を、WinSCPなどで一般ユーザのホームディレクトリの「.ssh」へコピーします。</li>
				<li>PuTTYで作成した公開鍵を、OpenSSH用に変換します。
				<pre>
$ cd .ssh
$ ssh-keygen -i -f ssh2_rsa.pub >> authorized_keys
</pre>
				</li>
				<li>authorized_keysのパーミッションを600にします。
				<pre>
$ chmod 600 authorized_keys
</pre>
				</li>
				<li>変換前のファイルを削除します。
				<pre>
$ rm ssh2_rsa.pub
</pre>
				</li>
				</ol>
				</li>
				<li><strong>[/etc/ssh/sshd_configを編集]</strong>
				<pre>
# vi /etc/ssh/sshd_config
</pre>
				<pre>
PermitRootLogin yes
↓
PermitRootLogin no

#PasswordAuthentication yes
↓
PasswordAuthentication no
</pre>
				</li>
				<pre>
# /etc/init.d/ssh restart
</pre>
				<p>ここからはsshでリモートログインして作業する。
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/257/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Debian]Debian lennyで１からサーバーを作ってみる &#8211; インストールと初期設定</title>
		<link>http://ore.saizensen.net/archives/244</link>
		<comments>http://ore.saizensen.net/archives/244#comments</comments>
		<pubDate>Thu, 13 Aug 2009 17:05:52 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=244</guid>
		<description><![CDATA[				
				Debian 5.02 lennyをインストールする。
				念の為、ソフトウェアRAIDを使ってインストールします。
				
				まず、2台のHD両方とも同じ設定にする(パーティション設定)↓ [...]]]></description>
			<content:encoded><![CDATA[				<ol>
				<li><strong>Debian 5.02 lennyをインストールする。</strong><br />
				<strong>念の為、ソフトウェアRAIDを使ってインストールします。</strong></p>
				<ul>
				<li>まず、2台のHD両方とも同じ設定にする(パーティション設定)↓
				<pre>
sda
	1. 基本		128MB		B	K	raid	(起動フラグON)
	2. 基本		残り容量		K	raid
sdb
	1. 基本		128MB		B	K	raid	(起動フラグON)
	2. 基本		残り容量		K	raid
</pre>
				</li>
				<li>パーティションを切ったら、「ソフトウェアRAIDの設定」を選択。</li>
				<li>「MDデバイスの作成」を選択。</li>
				<li>「RAID1」を選択。</li>
				<li>「RAID1アレイのアクティブデバイスの数」に「<strong>2</strong>」を入力する。</li>
				<li>「RAID1アレイのスペアデバイスの数」に「<strong>0</strong>」を入力する。</li>
				<li>「RAID1マルチディスクデバイスのアクティブデバイス」に「/dev/sda1」と「/dev/sdb1」を選択する。</li>
				<li>上の「MDデバイスの作成」から「RAID1マルチディスクデバイスのアクティブデバイス設定」と同じ事をもう一度行う。2度目は「/dev/sda2」と「/dev/sdb2」と設定する。</li>
				<li>RAID1デバイス0をマウントポイント「/boot」と設定。</li>
				<li>RAID1デバイス1を「LVM」と設定。</li>
				<li>「論理ボリュームの設定」を選択。</li>
				<li>「論理ボリュームの作成」を選択。ボリュームグループ名を「VolGroup00」として作成。</li>
				<li>「論理ボリュームの作成」を選択。「VolGroup00」を選択し、論理ボリューム名「LogVol00」として2048MBの領域を作成。</li>
				<li>「論理ボリュームの作成」を選択。「VolGroup00」を選択し、論理ボリューム名「LogVol01」として残り全容量で領域を作成。</li>
				<li>2048MBの容量を「swap」としてマウント設定。残り全容量領域を「/」としてマウント。</li>
				</ul>
				</li>
				<li><strong>インストール後、RAID状況を確認する。RAIDが異常時にメール通知する設定も行う。</strong>
				<ul>
				<li>RAID状況を確認
				<pre>
# df -h
# cat /proc/mdstat
# mdadm --detail /dev/md0
# mdadm --detail /dev/md1 (Rebuild Statusが100%になって同期処理が完了するまで待った方がいいのかも？一応放置して待ってみた。)
</pre>
				</li>
				<li>RAID異常時、メール送信先を設定する。
				<pre># vi /etc/mdadm/mdadm.conf</pre>
<pre>MAILADDR hogehoge@gmail.com</pre>
				<p>hogehoge@gmail.comは適当なメールアドレスへ変えてね。
				</li>
				</ul>
				</li>
				<li><strong>vimをインストール。</strong>
				<pre>
# aptitude install vim
# aptitude clean
</pre>
				<p>vimを標準エディターへ設定。</p>
				<pre>
# update-alternatives --config editor
</pre>
				<pre>
There are 4 alternatives which provide `editor'.

  Selection    Alternative
-----------------------------------------------
          1    /bin/ed
*+        2    /bin/nano
          3    /usr/bin/vim.tiny
          4    /usr/bin/vim.basic

Press enter to keep the default[*], or type selection number: 3  ←選択します。
Using `/usr/bin/vim.tiny' to provide `editor'.
</pre>
				</li>
				<li><strong>コンソール画面で日本語が文字化けするため対処する。</strong>
				<ul>
				<li>日本後表示しない設定にする場合。(英語表示のみ)
				<pre>
# dpkg-reconfigure locales
</pre>
				<p>を実行し、どのロケールをシステム標準にするか (Default locale for the system environment) という質問で「なし (None)」を選択します。<br />
				次に /etc/default/locale かつ /etc/environment に</p>
				<pre>
LANG=C
</pre>
				<p>を設定または LANG をコメントアウトします。
				</li>
				<li>日本後表示する場合。
				<pre>
# modprobe vga16fb
# jfbterm -c UTF-8
# export LANG=ja_JP.UTF-8
# vi /etc/modules
</pre>
				<pre>
# at boot time, one per line. Lines beginning with "#" are ignored.

loop
vga16fb ←追加
</pre>
				</li>
				</ul>
				</li>
				<li><strong>root宛メールを転送する</strong>
				<pre>
# vi /etc/aliases
</pre>
				<pre>
root: hoge
↓
root: hogehoge@gmail.com
</pre>
				<pre>
# newaliases
</pre>
				</li>
				<li><strong>rootになれるユーザーを限定。</strong><br />
				hogeは適当な一般ユーザーへ変えてね。</p>
				<pre>
# groupadd -g 11 wheel
# usermod -G wheel hoge
# vi /etc/pam.d/su
</pre>
				<pre>
# auth       required   pam_wheel.so
↓
auth       required   pam_wheel.so
</pre>
				</li>
				<li><strong>ネットワーク設定。(こんな感じで↓)</strong>
				<ul>
				<li>[IPアドレス設定]
				<pre>
# vi /etc/network/interfaces
</pre>
				<pre>
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.2
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
</pre>
				<pre>
# /etc/init.d/networking restart
</pre>
				</li>
				<li>[resolv.conf設定]
				<pre>
# vi /etc/resolv.conf
</pre>
				<pre>
search saizensen.net
nameserver 192.168.0.1
</pre>
				</li>
				<li>[resolvconfインストール]
				<pre>
# aptitude install resolvconf
</pre>
				<p>(/etc/resolv.confはシンボリックリンクに変わります。resolvconfに対する設定は/etc/network/interfacesで行います。)</p>
				<pre>
# vi /etc/network/interfaces　へ追記。
</pre>
				<pre>
dns-search saizensen.net
dns-nameservers 192.168.0.1
</pre>
				<pre>
# /etc/init.d/networking restart
</pre>
				</li>
				<li>[/etc/hosts設定]
				<pre>
# vi /etc/hosts
</pre>
				<p>/etc/hostsの127.0.0.1の行を以下の様に編集。</p>
				<pre>
127.0.0.1		localhost.localdomain	localhost	debian.saizensen.net
</pre>
				<pre>
# reboot
</pre>
				</li>
				</ul>
				</li>
				</ol>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/244/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[CentOS]Unisonをインストールして同期バックアップする。[Unison]</title>
		<link>http://ore.saizensen.net/archives/239</link>
		<comments>http://ore.saizensen.net/archives/239#comments</comments>
		<pubDate>Tue, 28 Jul 2009 17:20:01 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[インストールメモ]]></category>
		<category><![CDATA[バックアップ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=239</guid>
		<description><![CDATA[				土曜日に1TBのHDを買って来たのでCentOSサーバー(ore.saizensen.net)へ追加するとです。
				今、付いてる古いHDをバックアップ専用として同期バックアップを行うとです。
				
		 [...]]]></description>
			<content:encoded><![CDATA[				<p>土曜日に1TBのHDを買って来たのでCentOSサーバー(ore.saizensen.net)へ追加するとです。<br />
				今、付いてる古いHDをバックアップ専用として同期バックアップを行うとです。</p>
				<ol>
				<li>Yumで<strong>unison</strong>をインストール。
				<pre># yum -y install unison</pre>
</li>
<li>同期設定をつくる。
<pre># vi /root/unison.sh</pre>
				<pre>
#!/bin/bash

LANG=C

unison /backup /storage_1/backup -batch -owner -group -force /backup -fastcheck false
unison /storage_2/develop /storage_1/develop -batch -owner -group -force /storage_2/develop -fastcheck false
</pre>
				<p>こんな感じ。<br />
				一番上の例だと、<strong>/storage_2/develop</strong> を <strong>/storage_1/develop</strong> へ同期します。<br />
				また同期先（この例だと<strong>/storage_1/develop</strong>）のdevelopディレクトリは先に作成しておきます。<br />
				※以下オプション詳細↓<br />
				-batch:バッチ処理します。何も聞かれずに最後まで終了します。<br />
				-owner:オーナー情報も同期します。<br />
				-group:グループ情報も同期します。<br />
				-force xxx:指定したディレクトリを基準にして同期します。ミラーリングのような動作です。<br />
				-fastcheck {true,false,defalut}:trueの場合、ファイルの日付で比較します。unixの場合のデフォルトの動作です。心配ならばfalseでチェックしましょう。</p>
				<pre># chmod 700 /root/unison.sh</pre>
</li>
<li>cronへ登録。
<pre>#crontab -e</pre>
				<pre>00 05 * * * /root/unison.sh</pre>
</li>
</ol>
<p>おわり。<br />
そういや、iphone3GS買いました。発売日の次の日に。<br />
macbookのUSキーボードモデルは買ってもらいました。月曜、うちの社長に。</p>
<p>なにしよーかなーなにしよーかなー</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/239/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Linux]文字化け等で削除できなくなったファイルの削除の仕方[TIPS]</title>
		<link>http://ore.saizensen.net/archives/237</link>
		<comments>http://ore.saizensen.net/archives/237#comments</comments>
		<pubDate>Tue, 28 Jul 2009 16:59:52 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=237</guid>
		<description><![CDATA[				
				i-node番号を調べる
				$ ls -li

名前を読める名前に変更する
$ find . -inum 99999 -ok mv '{}' hoge.txt \;
				変更してよければ&#8 [...]]]></description>
			<content:encoded><![CDATA[				<ol>
				<li>i-node番号を調べる
				<pre>$ ls -li</pre>
</li>
<li>名前を読める名前に変更する
<pre>$ find . -inum 99999 -ok mv '{}' hoge.txt \;</pre>
				<p>変更してよければ&#8221;y&#8221;で続行。<br />
				99999はi-node番号。<br />
				文字化けしたファイルをhoge.txtへ変更する。</p>
				</li>
				<li>削除する
				<pre>$ rm hoge.txt</pre>
</li>
</ol>
<p>以上でちゅ。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/237/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Linux]Repair filesystem中にReadOnlyモードになっちゃったら。[TIPS]</title>
		<link>http://ore.saizensen.net/archives/234</link>
		<comments>http://ore.saizensen.net/archives/234#comments</comments>
		<pubDate>Tue, 28 Jul 2009 12:21:54 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=234</guid>
		<description><![CDATA[				# mount -o rw,remount /
でファイルへ書き込めるようになる。
新しく買ったHDをサーバーへ追加して、LABEL付けせずに/etc/fstab/へLABEL表記しちゃった。テヘ
]]></description>
			<content:encoded><![CDATA[				<pre># mount -o rw,remount /</pre>
<p>でファイルへ書き込めるようになる。</p>
<p>新しく買ったHDをサーバーへ追加して、LABEL付けせずに/etc/fstab/へLABEL表記しちゃった。テヘ</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/234/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[PostgreSQL]PostgreSQLチューニング方法まとめサイト[Ubuntu]</title>
		<link>http://ore.saizensen.net/archives/228</link>
		<comments>http://ore.saizensen.net/archives/228#comments</comments>
		<pubDate>Wed, 20 May 2009 05:08:47 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[DB]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=228</guid>
		<description><![CDATA[				昨日、Ubuntu9.04のPostgreSQL8.3をチューニングしてみました。
				すでにチューニング方法を詳細に載せていてくれるサイトがいくつか有るので、今回はそのサイトの紹介です。
				
				 [...]]]></description>
			<content:encoded><![CDATA[				<p>昨日、<strong>Ubuntu9.04</strong>の<strong>PostgreSQL8.3</strong>をチューニングしてみました。<br />
				すでにチューニング方法を詳細に載せていてくれるサイトがいくつか有るので、今回はそのサイトの紹介です。</p>
				<ul>
				<li><a href="http://php.y-110.net/wiki/index.php?PostgreSQL%A1%A7%A5%C1%A5%E5%A1%BC%A5%CB%A5%F3%A5%B0%B4%AA%BD%EA">Y-110&#8217;s Wiki &#8211; PostgreSQL：チューニング勘所</a></li>
				<li><a href="http://www.tsujita.jp/blojsom/blog/default/Linux/2007/07/23/PostgreSQL-%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%BE%E3%81%A8%E3%82%81.html">徒然なるままにBlog &#8211; PostgreSQL パフォーマンスチューニングまとめ</a></li>
				<li><a href="http://www.asahi-net.or.jp/~aa4t-nngk/pgsql5.html">Stray Penguin &#8211; Linux Memo(PostgreSQL-5)</a></li>
				<li><a href="http://postgresql.g.hatena.ne.jp/umitanuki/20090224/1235485047">象と戯れ &#8211; 空気を読まずにPostgreSQLのを高速化する10のポイント</a></li>
				<li><a href="http://www.nonsensecorner.com/wp25/?p=3888">独り言v6 &#8211; PostgreSQLを本当に高速化したい人のための10のポイント</a></li>
				<li><a href="http://d.hatena.ne.jp/nekoruri/20090226/">めもおきば &#8211; PostgreSQL小ネタ</a></li>
				<li><a href="http://neta.ywcafe.net/000960.html">Web屋のネタ帳 &#8211; PostgreSQLを高速化する16のポイント</a></li>
				<li><a href="http://prepro.wordpress.com/2009/01/08/postgresql%E3%81%AEshmmax%E3%81%AE%E8%A8%88%E7%AE%97%E5%BC%8F%E3%81%AE%E6%A4%9C%E8%A8%BC/">ひよっこ &#8211; PostgreSQLのSHMMAXの計算式の検証</a></li>
				</ul>
				<p>ここまで細かく載せていてくれると、私なんかが言えることはございません。<br />
				まま使わせてもらってチューニングしました。</p>
				<p>あ、一つだけ。<br />
				ubuntuで/proc/sys/kernel/shmmaxへ値を上書きしても再起動時に元の値へ戻ってしまっていました。<br />
				ということで↓のように。</p>
				<pre>
# sudo vi /etc/sysctl.conf
##ファイル末尾へ
kernel.shmmax = 設定値
</pre>
				<p>ファイル保存後、</p>
				<pre>
# sysctl -p
</pre>
				<p>としましょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/228/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[チャリンコ]Kuota Kharma カルマっていうロードバイクをポチッちゃったwktk</title>
		<link>http://ore.saizensen.net/archives/220</link>
		<comments>http://ore.saizensen.net/archives/220#comments</comments>
		<pubDate>Wed, 25 Feb 2009 03:06:40 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[雑記]]></category>
		<category><![CDATA[チャリンコ]]></category>
		<category><![CDATA[ロードバイク]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=220</guid>
		<description><![CDATA[				この円高のおかげで、ついついポチッちゃいました。Kuota Kharma カルマ。
				国内で買うと30万のチャリンコが海外から買うと17万なんだもん。
				初めてのロードバイクだから10万円台の安いアル [...]]]></description>
			<content:encoded><![CDATA[				<p>この円高のおかげで、ついついポチッちゃいました。<strong>Kuota Kharma カルマ</strong>。<br />
				国内で買うと30万のチャリンコが海外から買うと<strong>17万</strong>なんだもん。<br />
				初めてのロードバイクだから10万円台の安い<a href="http://www.anchor-bikes.com/bikes/09rcs5eq.html">アルミのアンカー</a>買おうと思ってたけど、同じ値段で<a href="http://www.intermax.co.jp/products/kuota/kuota_kharma.html">フルカーボンのカルマ</a>が買えるとなるとねぇ。</p>
				<p style="text-align: center;"><a href="http://ore.saizensen.net/wp-content/uploads/2009/02/kuota_kharma.jpg" rel="lightbox[pics220]" title="2009 Kuota Kharuma カルマ"><img src="http://ore.saizensen.net/wp-content/uploads/2009/02/kuota_kharma.thumbnail.jpg" alt="" width="200" height="133" class="attachment wp-att-222 centered" /></a></p>
				<p>身長：176? 177? cm<br />
				股下：80cm<br />
				で、↓の仕様にしました。</p>
				<ul>
				<li>Kharma Carbon</li>
				<li>M  53,5 cm c/t</li>
				<li>Shimano 105 compact</li>
				<li>Wheels Fulcrum Racing 7 black</li>
				<li>170 Crankset</li>
				<li>Sprockets Shimano 105  12/25</li>
				<li>Handlebar Ritchey Comp OS  42cm</li>
				<li>Stem Ritchey Comp OS 110mm</li>
				<li>Saddle Fizik Arione Titan</li>
				</ul>
				<p>というわけで届くまで約2週間くらいですかねwktk</p>
				<p>あ、多分もうSCOTT SUB30 Classic乗らなくなるからヤフオクにでも出そう。全然乗ってないけどクロスバイク卒業www</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/220/feed</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>[Ubuntu]Ubuntu8.10へObjective-C環境をインストールしてみた。[Objective-C]</title>
		<link>http://ore.saizensen.net/archives/200</link>
		<comments>http://ore.saizensen.net/archives/200#comments</comments>
		<pubDate>Fri, 06 Feb 2009 09:15:56 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Lang]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=200</guid>
		<description><![CDATA[				1週間くらい前からObjective-Cを触り始めて見ました。Cすら一度も触ったことないから分からんことだらけですけど・・・
				で、前は初代Macbookを持っていたんですけどThinkpadX61へ乗り換 [...]]]></description>
			<content:encoded><![CDATA[				<p>1週間くらい前から<strong>Objective-C</strong>を触り始めて見ました。Cすら一度も触ったことないから分からんことだらけですけど・・・<br />
				で、前は初代Macbookを持っていたんですけどThinkpadX61へ乗り換えと同時に手放してしまったので<br />
				X61上の<strong>Ubuntu8.10でObjective-C</strong>を学習しときます。<br />
				学習用に「<strong>詳解Objective-C2.0</strong>」という本を用意しました。この本を終えたら新しくMacbookを購入し直そうと思います。<br />
				iPhoneだって持ってないんですけどね・・・・</p>
				<div style="text-align: center;">
				<div class="imageframe centered" style="width: 200px;"><a title="詳解Objective-C2.0" rel="lightbox[pics200]" href="http://ore.saizensen.net/wp-content/uploads/2009/02/51kl8v91cel_ss400_.jpg"><img class="attachment wp-att-203" src="http://ore.saizensen.net/wp-content/uploads/2009/02/51kl8v91cel_ss400_.thumbnail.jpg" alt="" width="200" height="200" /></a></p>
				<div class="imagecaption"><a href="http://www.amazon.co.jp/gp/product/4797346809/ref=sib_rdr_dp">詳解Objective-C2.0</a></div>
				</div>
				</div>
				<p>とりあえずいつも通り、<strong>Ubuntu8.10へのObjective-C環境のインストール方法</strong>をまとめておきます。</p>
				<ol>
				<li>いろいろとインストール。こんだけ入れると取り合えず<strong>Objective-C</strong>の環境は整います。
				<pre>sudo apt-get install build-essential gobjc gobjc-multilib libgnustep-base-dev gnustep gnustep-devel gnustep-dl2 doxygen</pre>
</li>
<li>↑だけインストールするだけだとNSObjectが使えないので↓も行う。（Objective-C2.0本を進めていると、どうしてもNSObjectが必要だったので・・・つかNSObjectが使えないとretain、releaseとかが無い！）<br />
・Foundationフレームワークを使えるようにパスが通るディレクトリへリンクを張る為に↓を作成。</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/sh</span>
&nbsp;
<span style="color: #007800;">frompath</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>GNUstep
<span style="color: #007800;">topath</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>gcc<span style="color: #000000; font-weight: bold;">/</span>i486-linux-gnu<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">4.3</span><span style="color: #000000; font-weight: bold;">/</span>include
&nbsp;
<span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #ff0000;">&quot;AppKit&quot;</span> <span style="color: #ff0000;">&quot;Cocoa&quot;</span> <span style="color: #ff0000;">&quot;Cynthiune&quot;</span> <span style="color: #ff0000;">&quot;DBKit&quot;</span> <span style="color: #ff0000;">&quot;EOAccess&quot;</span> <span style="color: #ff0000;">&quot;EOControl&quot;</span> <span style="color: #ff0000;">&quot;EOInterface&quot;</span> <span style="color: #ff0000;">&quot;EOModeler&quot;</span> <span style="color: #ff0000;">&quot;FSNode&quot;</span> <span style="color: #ff0000;">&quot;Foundation&quot;</span> <span style="color: #ff0000;">&quot;Frameworks&quot;</span> <span style="color: #ff0000;">&quot;GNUMail&quot;</span> <span style="color: #ff0000;">&quot;GNUstepBase&quot;</span> <span style="color: #ff0000;">&quot;GNUstepGUI&quot;</span> <span style="color: #ff0000;">&quot;GormCore&quot;</span> <span style="color: #ff0000;">&quot;GormObjCHeaderParser&quot;</span> <span style="color: #ff0000;">&quot;GormPrefs&quot;</span> <span style="color: #ff0000;">&quot;HighlighterKit&quot;</span> <span style="color: #ff0000;">&quot;Inspector&quot;</span> <span style="color: #ff0000;">&quot;InterfaceBuilder&quot;</span> <span style="color: #ff0000;">&quot;Operation&quot;</span> <span style="color: #ff0000;">&quot;PostgreSQLEOAdaptor&quot;</span> <span style="color: #ff0000;">&quot;ProjectCenter&quot;</span> <span style="color: #ff0000;">&quot;Renaissance&quot;</span> <span style="color: #ff0000;">&quot;TalkSoupBundles&quot;</span> <span style="color: #ff0000;">&quot;WizardKit&quot;</span> <span style="color: #ff0000;">&quot;gnustep&quot;</span>
<span style="color: #000000; font-weight: bold;">do</span>
	<span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #007800;">$frompath</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$i</span> <span style="color: #007800;">$topath</span>
<span style="color: #000000; font-weight: bold;">done</span></pre></div></div>
				
				<p>リンク張っているのは/usr/include/GNUstep以下にある全てをリンクしてるだけです。勉強始めたばっかなんで各ファイルにどんな機能、役割があんのかは全くもって不明ですwww<br />
				で、作成したスクリプトファイルを実行。</p>
				<pre>sudo sh /保存したスクリプトのパス/link_libobjc.sh</pre>
</li>
</ol>
<p>以上で<strong>Ubuntu8.10へのObjective-C環境構築</strong>はおわりです。<br />
これで「<strong>詳解Objective-C2.0</strong>」に載ってるソースそのままで動くと思います。（どっかで躓いたらまた記事修正しときます。）<br />
最後に、Ubuntu8.10上でソースをコンパイルする時なんですが</p>
<pre>gcc ソースファイル名 -o コンパイル後ファイル名 -lobjc -lgnustep-base</pre>
				<p>としてください。<br />
				あと、分からんというか面倒くさいというか、mainソースファイルから自前で作成したヘッダファイル(.hファイル)を読み込んでコンパイルするとき</p>
				<pre>gcc ソースファイル名 -o コンパイル後ファイル名 -lobc -lgnustep-base -include ヘッダファイル名1 -include ヘッダファイル名2</pre>
<p>みたいにしないとコンパイル出来んのですが、複数のヘッダファイルを読み込むとき、「-include ヘッダファイル名」を何度も書くのは面倒くさいですな・・・なんか良い方法あるんですかねぇ？</p>
<p><strong>2009/02/17 追記</strong><br />
Tomuteさんコメントありがとうございます。助かりました。<br />
<strong>詳解Objective-C2.0</strong>を読み進めていると、Tomuteさんのブログにも書いてるようにコンパイル時に</p>
<pre> error: cannot find interface declaration for ‘NXConstantString</pre>
				<p>とエラー返してくるので、コンパイルオプションに&#8221;-fconstant-string-class=NSConstantString&#8221;を追加しないとダメみたいです。またTomuteさんに教えてもらった-Iオプションも追加。</p>
				<pre>gcc ソースファイル名1 ソースファイル名2 ソースファイル名3 -o コンパイル後ファイル名 -lobjc -lgnustep-base -I/指定ディレクトリ -fconstant-string-class=NSConstantString</pre>
<p>こんな風にするみたいです。</p>
<p>< 参考にしたサイト： <a href="http://d.hatena.ne.jp/tomute/20090112/1231809116">Tomute’s Notes [Linux] Ubuntu LinuxでObjective-C></p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/200/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[CakePHP]CakePHP1.2のfind時にDBカラムを型変換して検索条件にする方法。</title>
		<link>http://ore.saizensen.net/archives/197</link>
		<comments>http://ore.saizensen.net/archives/197#comments</comments>
		<pubDate>Mon, 22 Dec 2008 07:56:51 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=197</guid>
		<description><![CDATA[				
				$cond&#91;&#34;to_char(Hoge.date, 'YYYYMMDD') LIKE '%20081222%' and \&#34;Hoge\&#34;.\&#34;id\&#038;qu [...]]]></description>
			<content:encoded><![CDATA[				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$cond</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;to_char(Hoge.date, 'YYYYMMDD') LIKE '%20081222%' and <span style="color: #000099; font-weight: bold;">\&quot;</span>Hoge<span style="color: #000099; font-weight: bold;">\&quot;</span>.<span style="color: #000099; font-weight: bold;">\&quot;</span>id<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$hoge</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;Hoge&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;id&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></pre></div></div>

<p>こんな感じで。<br />
私、PostgreSQLしか使わんのでMySQLはよく分からんけど、<br />
どっちもDB関数使いたければ検索条件のカラム名の前に突っ込んだらイイんじゃないかと。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/197/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[CakePHP]CakePHP1.2の日付選択リストの月表記を英語から数字へ変更する方法。[FormHelper]</title>
		<link>http://ore.saizensen.net/archives/191</link>
		<comments>http://ore.saizensen.net/archives/191#comments</comments>
		<pubDate>Mon, 22 Dec 2008 07:53:16 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Lang]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=191</guid>
		<description><![CDATA[				
				&#60; ?php
$form-&#62;options&#91;'month'&#93; = array_combine&#40;range&#40;1, 12&#41;, range&#40;1, 1 [...]]]></description>
			<content:encoded><![CDATA[				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">options</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'month'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_combine</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">range</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">range</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">12</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">year</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hoge.date&quot;</span><span style="color: #339933;">,</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>年
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">month</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hoge.date&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>月
<span style="color: #339933;">&lt;</span> ?php <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">day</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Hoge.date&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>日</pre></div></div>
				
				<p><a href="http://fdays.blogspot.com/2008/09/form-select-echo-form-mdy-none.html"><br />
				floatingdays &#8211; CakePHP 1.2 のFormHelperで日付選択リストを作る </a></p>
				
				<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> <span style="color: #000088;">$form</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">datetime</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'cal'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'YMD'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'NONE'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'monthNames'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>っていう方法もそういえば有りましたねぇ。ということでメモメモ。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/191/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Ubuntu]Ubuntu8.10でRailsをアップデートしたよ。[Rails]</title>
		<link>http://ore.saizensen.net/archives/187</link>
		<comments>http://ore.saizensen.net/archives/187#comments</comments>
		<pubDate>Fri, 12 Dec 2008 02:51:05 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[Lang]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=187</guid>
		<description><![CDATA[				Rails2.1.0をインストールしていたけど、新しいRails2.2.2をインストールするよ。
				
				rubygemsのバージョンをアップデートする。
				
% sudo gem install [...]]]></description>
			<content:encoded><![CDATA[				<p><strong>Rails2.1.0</strong>をインストールしていたけど、新しい<strong>Rails2.2.2</strong>をインストールするよ。</p>
				<ol>
				<li><strong>rubygems</strong>のバージョンをアップデートする。
				<pre>
% sudo gem install rubygems-update
% sudo gem update rubygems-update
</pre>
				</li>
				<li><strong>Rails</strong>をインストールする。
				<pre>% sudo gem update rails</pre>
<p>MySQLのドライバーがねーよ！とか言われた人はMysqlのドライバーもインストールする。↓</p>
<pre>
%sudo apt-get install libmysqlclient15-dev
%sudo gem install mysql
</pre>
				<p>他にもインストールしたいのあれば参考に→<a href="http://ore.saizensen.net/archives/148">[Ubuntu]Ubuntu8.10へRailsをインストールしたよ。[Rails]</a>
				</li>
				<li>既存のアプリケーションが利用している<strong>Rails</strong>のバージョンを上げる。
				<pre>
% cd /var/www/rails/app  ## Railsアプリケーションまで移動する。移動先は自分の環境に合わせて
% vi config/environment.rb
RAILS_GEM_VERSION = '2.1.0'
↓ ## 使いたいRailsのバージョンへ修正。
RAILS_GEM_VERSION = '2.2.2'
% rake rails:update
</pre>
				</li>
				</ol>
				<p>以上で<strong>Rails</strong>のバージョンが上がったよと。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/187/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Ubuntu]ThinkpadX61へUbuntu8.10をインストールしたら日本語入力出来なかった。[ThinkpadX61]</title>
		<link>http://ore.saizensen.net/archives/179</link>
		<comments>http://ore.saizensen.net/archives/179#comments</comments>
		<pubDate>Thu, 04 Dec 2008 12:41:29 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[SCIM]]></category>
		<category><![CDATA[ThinkpadX61]]></category>
		<category><![CDATA[インストールメモ]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=179</guid>
		<description><![CDATA[				昨日、重い腰を起こして家のThinkpadX61へUbuntu8.10をインストールしました。
				[Ubuntu]Ubuntu8.10をインストールしてみたよ。で、インストール設定メモ。[Linux]を、そ [...]]]></description>
			<content:encoded><![CDATA[				<p>昨日、重い腰を起こして家の<strong>ThinkpadX61</strong>へ<strong>Ubuntu8.10</strong>をインストールしました。<br />
				<a href="http://ore.saizensen.net/archives/115">[Ubuntu]Ubuntu8.10をインストールしてみたよ。で、インストール設定メモ。[Linux]</a>を、そのままに色々とインストールし初期設定を終えました。</p>
				<p>で、テキストエディタで<strong>日本語入力</strong>をしようと[Ctrl]+[Space]を押して<strong>scim</strong>を起動しようとしても起動しない。連打しても起動しない。<br />
				キーボード設定、SCIM入力メソッド設定と無限ループのように設定しなおし続けても・・・沈黙。</p>
				<p>ということで、Google先生の出番です。見つかったのは以下のページ↓。<br />
				<a href="http://http://www.ashineko.com/index.php?option=com_content&#038;view=article&#038;catid=43%3Agadgets&#038;id=214%3Aubuntu-804-hardy-heron&#038;Itemid=57&#038;lang=ja">Ubuntu 8.04 Hardy Heronで日本語入力</a><br />
				ここに載ってることをそのままやったら<strong>日本語入力</strong>出来るようになりました。<br />
				一応メモっとく。</p>
				<ul>
				<li>Synaptic Package Managerを起動</li>
				<li>&#8220;<strong>SCIM</strong>&#8220;でパッケージを検索
				<pre>
scim-anthy
scim-bridge-agent
scim-bridge-agent-gtk
scim-bridge-agent-qt
scim-bridge-agent-qt4
scim-gtk2-immodule
scim-qtimm
</pre>
				<p>をインストールするパッケージとしてマーク。インストール済みのは再インストール指定。</li>
				<li>&#8220;<strong>ANTHY</strong>&#8220;でパッケージを検索
				<pre>kasumi</pre>
<p>をインストールするパッケージとしてマーク。インストール済みのは再インストール指定。</li>
<li>インストール実行。</li>
<li>次に、<strong>Ubuntuの起動時にSCIMを標準の言語入力インターフェイスとして定義するため</strong>にファイル作成 or 編集
<pre># vi gedit /etc/X11/Xsession.d/74custom-scim_startup</pre>
				<p>74custom-scim_startupが既に存在する場合は以下の行を追加、ない場合は新規に作成します。</p>
				<pre>
export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE="scim"
export XIM_PROGRAM="scim -d"
export QT_IM_MODULE="scim"
</pre>
				</li>
				<li>OS再起動。</li>
				</ul>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/179/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[CentOS]PostfixでSubmissionポート(587番)を使う。[Postfix]</title>
		<link>http://ore.saizensen.net/archives/172</link>
		<comments>http://ore.saizensen.net/archives/172#comments</comments>
		<pubDate>Fri, 28 Nov 2008 04:44:30 +0000</pubDate>
		<dc:creator>bubbkis</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Postfix]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://ore.saizensen.net/?p=172</guid>
		<description><![CDATA[				先日のエントリー[CentOS]いつの間にかCentOS4.7サーバーからGmailへメール送信出来なくなってた。[Postfix]で、
				OP25B対策にIPマスカレード対応ルーターで、ルーター外側のポー [...]]]></description>
			<content:encoded><![CDATA[				<p>先日のエントリー<a href="http://ore.saizensen.net/archives/155">[CentOS]いつの間にかCentOS4.7サーバーからGmailへメール送信出来なくなってた。[Postfix]</a>で、<br />
				<strong>OP25B対策</strong>にIPマスカレード対応ルーターで、ルーター外側のポート587を、ルーター内側のポート25に対応させるってっ書いて、一部のサーバーのルーターに設定したのですが全くポートが開かず・・・って感じでハマッってしまった。<br />
				そのルーターが<a href="http://www.mrl.co.jp/product/nwgopt100e.htm">NetGenesis SuperOPT100E</a>なのですが、よく商品詳細ページを見ていると「<strong>静的IPマスカレード対応</strong>」って書いてある・・・・・ポート変換出来んのかい！！</p>
				<p>ということで、587番→25番へポート変換はやめて、587番→587番とそのままで<strong>Postfix側でSubmissionポート(587番)を対応させる</strong>ことにします。</p>
				<ul>
				<li># vi /etc/postfix/master.cf<br />
				以下の行のコメントアウトを外して有効にする。</p>
				<pre>
submission inet n - n - - smtpd
</pre>
				</li>
				<li>/etc/services に以下の行があるか確認。
				<pre>
submission 587/tcp msa # mail message submission
submission 587/udp msa # mail message submission
</pre>
				</li>
				<li>ルーターのIPマスカレード設定（ポート変換）でTCP587→TCP587を開ける。</li>
				<li>iptablesのTCP587ポートも開ける。
				<pre>iptables -A INPUT -p tcp --dport 587 -j ACCEPT</pre>
</li>
</ul>
<p>これで、PostfixがSubmissionポート(587番)で待ち受け開始します。</p>
]]></content:encoded>
			<wfw:commentRss>http://ore.saizensen.net/archives/172/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
