<?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>Transrain &#187; サーバ</title>
	<atom:link href="http://transrain.net/blog/tag/%e3%82%b5%e3%83%bc%e3%83%90/feed" rel="self" type="application/rss+xml" />
	<link>http://transrain.net/blog</link>
	<description>悠希のだらだらメモ</description>
	<lastBuildDate>Wed, 01 Feb 2012 06:16:55 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://transrain.net/blog/?pushpress=hub'/>
		<item>
		<title>他のWebサーバを使いつつ「さくらのメールボックス」でメールを管理する方法</title>
		<link>http://transrain.net/blog/2011/06/10/154804</link>
		<comments>http://transrain.net/blog/2011/06/10/154804#comments</comments>
		<pubDate>Fri, 10 Jun 2011 06:48:04 +0000</pubDate>
		<dc:creator>yuki</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[ValueDomain]]></category>
		<category><![CDATA[さくらのメールボックス]]></category>
		<category><![CDATA[サーバ]]></category>

		<guid isPermaLink="false">http://transrain.net/?p=134</guid>
		<description><![CDATA[現在、使用しているWebサーバをCoreServerからさくらのVPSへ変更する為に細々と作業をやっているのですが、メールサーバの管理は面倒かつ踏み台の危険性等を考慮するとあまり自分で管理したくありません。 そこで年間1 &#8230; <a href="http://transrain.net/blog/2011/06/10/154804">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>現在、使用しているWebサーバを<a title="CoreServer" href="http://www.coreserver.jp/">CoreServer</a>から<a title="さくらのVPS" href="http://vps.sakura.ad.jp/">さくらのVPS</a>へ変更する為に細々と作業をやっているのですが、メールサーバの管理は面倒かつ踏み台の危険性等を考慮するとあまり自分で管理したくありません。     <br />そこで年間1000円のメールボックスサービスである<a title="さくらのメールボックス" href="http://www.sakura.ne.jp/mail/">さくらのメールボックス</a>を使用することにしました。</p>
<p><span id="more-134"></span>
<p>ヘルプを見ると、メールアドレスに使用するドメインのDNS管理をさくらに委譲する必要があるように書いていますが、自己責任の上でValue-DomainのDNSを利用して利用することもできます。 </p>
<p>なぜ移管したくないかは人それぞれかと思いますが、ドメインの自動更新設定をしているので移管させたくなかったので、DNSの設定を行うことによって利用できるように設定していきます。 </p>
<p>なお、<a title="Value-Domain" href="http://www.value-domain.com/">Value-Domain</a>を使用していますが、DNSはAレコードとMXレコードが設定できれば問題なく、TXTレコードが設定できればなお良いという感じなので別のDNS管理サービスを使っていてもこの方法は可能かと思われます。 </p>
<h3>目標 </h3>
<table>
<tbody>
<tr>
<th>メールアドレス</td>
</th>
<td>ユーザ名@ドメイン名</td>
</tr>
</tbody>
</table>
<p><strong>ドメインのマッピング </strong>    <br />まずはさくらのメールボックスのコントロールパネルで     <br />ドメイン設定→新しいドメインの追加→     <br />5. 他社で取得したドメインを移管せずに使う・属性型JPドメインを使う（さくら管理も含む）     <br />ドメインの追加へ進む     <br />→ドメイン名に利用したいドメイン名を入力する（サブドメインではないです）</p>
<p>これによってメールボックスが登録できるようになります。 </p>
<h3>DNSの変更 </h3>
<p>本当はメールサーバへのアクセス時にもサブドメインなしでアクセスできると（個人的にには）良いのですが、サブドメインなしのアクセス時にはVPSサーバを表示するようにするので、サブドメインでマッピングします。    <br />メールアドレスは「<em>ユーザ名@ドメイン名</em>」となりますが、メールサーバへのアクセスは「<em>mx.ドメイン名</em>」で行うようにします。 </p>
<p><strong>レコード設定</strong></p>
<table>
<tbody>
<tr>
<td>A</td>
<td>mx</td>
<td>メールボックスのサーバのIPアドレス</td>
</tr>
<tr>
<td>MX </td>
<td>mx.ドメイン名.</td>
<td>10</td>
</tr>
<tr>
<td>TXT</td>
<td>@</td>
<td>v=spf1 ip4:メールボックスのサーバIP -all</td>
</tr>
</tbody>
</table>
<p>IPアドレスはさくらの管理画面の    <br />サーバ情報の表示→サーバに関する情報を見ると書いてあります。 </p>
<p>上記設定はメールサーバへのアクセス可能なFQDNを「<em>mx.ドメイン名</em>」にしつつ、ドメイン名へのメールの送信先を「<em>mx.ドメイン名</em>」にしています。 </p>
<p>DNSを更新したら伝播するのを待ちます。    <br />テストをするには自分のマシンのDNSキャッシュを削除してnslookupやdigでmxレコードとmx.ドメイン名がメールボックスのIPになるまで待ちましょう。 </p>
<h3>確認</h3>
<p>伝播し終わったらメールクライアントでメールサーバにアクセスしてみます。    <br />SSL暗号化での接続の場合、SSL証明書が*.sakura.ne.jpの証明書なのでSSL暗号化が利用できないクライアントもあるのでご注意を。 </p>
<table>
<tbody>
<tr>
<th>ユーザ名</th>
<td>ユーザ名@ドメイン名</td>
</tr>
<tr>
<th>パスワード</th>
<td>さくらのメールボックスで設定したパスワード</td>
</tr>
<tr>
<th>IMAP/POP/SMTPサーバ名</th>
<td>mx.ドメイン名</td>
</tr>
</tbody>
</table>
<p>メールサーバにアクセスできれば成功です。 </p>
<p>ただし、DNSが完全に伝播するまでは最悪数日かかるので、数日間は過去のメールサーバへのメール配信が無いかは確認しておきましょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://transrain.net/blog/2011/06/10/154804/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gitにpushしたwebサイトを自動的に同期させる</title>
		<link>http://transrain.net/blog/2011/04/05/211200</link>
		<comments>http://transrain.net/blog/2011/04/05/211200#comments</comments>
		<pubDate>Tue, 05 Apr 2011 12:12:00 +0000</pubDate>
		<dc:creator>yuki</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[開発]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[hooks]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[サーバ]]></category>

		<guid isPermaLink="false">http://transrain.net/?p=115</guid>
		<description><![CDATA[earthquake_jpに関連して作業したので備考録としてメモ。 前提 gitのリモートリポジトリとHTTPサーバが同一のサーバに存在している状態です。 別サーバで行う場合はgit cloneを行う際にパス無し秘密鍵で &#8230; <a href="http://transrain.net/blog/2011/04/05/211200">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>earthquake_jpに関連して作業したので備考録としてメモ。</p>
<h2>前提</h2>
<p>gitのリモートリポジトリとHTTPサーバが同一のサーバに存在している状態です。</p>
<p>別サーバで行う場合は<code>git clone</code>を行う際にパス無し秘密鍵でcloneして<br />
おかないと上手く動作しないと思われます。</p>
<h2>処理の流れ</h2>
<p>開発者 → コミット → プッシュ → post-receive → Web API → git pull</p>
<h2>失敗</h2>
<ul>
<li>最初はpost-receiveでpullを発行しようとしたが、HTTPサーバとgitosisの権限が異なる。</li>
<li>sudoを発行してみたが、エラーが発生して処理が行えない。</li>
</ul>
<h2>結果</h2>
<ul>
<li>post-receiveはWeb APIへとアクセスする。</li>
<li>Web APIはHTTPサーバの権限で動作する。</li>
<li>Web APIではシェルスクリプトを実行する。</li>
<li>HTTPサーバの権限でpullが行われる。</li>
</ul>
<h2>例</h2>
<h3>リポジトリ.git/hooks/post-receive</h3>
<pre>#!/bin/sh
wget -q -O - http://APIのURL</pre>
<h3>API(update.php)</h3>
<pre>&lt;?php
$cmd = dirname(__FILE__) . '/update.sh';
$res = system($cmd);
if (false === $res) {
    echo "NGn";
} else {
    echo "OK:{$res}n";
}</pre>
<h3>シェルスクリプト(update.sh)</h3>
<pre>#!/bin/sh
cd /var/www/html/
/usr/bin/git --git-dir=/var/www/html/.git pull</pre>
<p>post-receive、update.shは実行権限を付加するのを忘れずに。update.phpはweb上から実行可能であれば問題ない。</p>
<p>念の為、127.0.0.1か自身のグローバルIPでのみアクセス可能にしている。</p>
]]></content:encoded>
			<wfw:commentRss>http://transrain.net/blog/2011/04/05/211200/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AsakusaSatelliteをPassengerで動かしてみる。</title>
		<link>http://transrain.net/blog/2011/03/08/131209</link>
		<comments>http://transrain.net/blog/2011/03/08/131209#comments</comments>
		<pubDate>Tue, 08 Mar 2011 04:12:09 +0000</pubDate>
		<dc:creator>yuki</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Webサービス]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[AsakusaSatellite]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[サーバ]]></category>

		<guid isPermaLink="false">http://transrain.net/?p=112</guid>
		<description><![CDATA[AsakusaSatelliteをまだ個人的な試用中ですが、期待ageしつつ実験してみました。 AsakusaSatellite は、開発者向けのリアルタイムチャットアプリケーションです。開発者間のコミュニケーション品質 &#8230; <a href="http://transrain.net/blog/2011/03/08/131209">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://codefirst.github.com/AsakusaSatellite/">AsakusaSatellite</a>をまだ個人的な試用中ですが、期待ageしつつ実験してみました。</p>
<blockquote title="AsakusaSatellite" cite="http://codefirst.github.com/AsakusaSatellite/"><p>AsakusaSatellite は、開発者向けのリアルタイムチャットアプリケーションです。開発者間のコミュニケーション品質を向上し、ソフトウェア開発にリズムをもたらします</p></blockquote>
<p><a href="http://codefirst.github.com/AsakusaSatellite/">AsakusaSatellite</a>のページを参考にしつつ、Passengerで動くように設定していきます。</p>
<p>Passenger自体はredmine用に入れていたのを利用したので下記資料には書いていません。</p>
<p>また、筆者はruby環境についてはあまり詳しくないので、その辺を考慮に入れておいてください。</p>
<pre><code>
$ cd /vaw/www
$ git clone git://github.com/codefirst/AsakusaSatellite.git
$ cd AsakusaSatellite
$ cp config/filter.yml.example config/filter.yml
$ cp config/websocket.yml.example config/websocket.yml
$ cp config/settings.yml.example config/settings.yml
$ vi config/filter.yml
   1 - name: auto_link
   2 - name: redmine_ticket_link
   3   roots:
   4   project:
   5 - name: twitter_link
   6 - name: code_highlight_filter

$ vi config/websocket.yml
  1 roots: 0.0.0.0/satellite # <a href="http://codefirst.github.com/AsakusaSatellite/">AsakusaSatellite</a>のPassengerでマッピングするURL
  2 websocketPort: 18081
  3 httpPort: 18080
  4 use_rails_ssl: false

$ bundle install --path vendor/bundle
$ rake groonga:migrate RAILS_ENV=production
$ sudo chown -R apache:apache AsakusaSatellite

$ sudo vi /etc/httpd/conf/httpd.conf

   #   ServerName_
      DocumentRoot /var/www/html
      RailsBaseURI /redmine
      RailsBaseURI /satellite
      ErrorLog /var/log/httpd/error.log
      CustomLog /var/log/httpd/access.log combined

         AllowOverride all
         Options -MultiViews

$ ln -s /var/www/AsakusaSatellite/public/ /var/www/html/satellite
$ sudo service httpd restart
$ ruby websocket/server.rb &amp;
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://transrain.net/blog/2011/03/08/131209/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>各リソースをgz圧縮して転送量を抑える</title>
		<link>http://transrain.net/blog/2011/02/22/191352</link>
		<comments>http://transrain.net/blog/2011/02/22/191352#comments</comments>
		<pubDate>Tue, 22 Feb 2011 10:13:52 +0000</pubDate>
		<dc:creator>yuki</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[日記]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[gz圧縮]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[サーバ]]></category>

		<guid isPermaLink="false">http://transrain.net/?p=109</guid>
		<description><![CDATA[ライブラリに関してはCDNのキャッシュを使う事も出来ますが、自作のライブラリやCSS等のリソースはCDNには登録されていないので ファイルの転送サイズが膨れがちです。 そこで対応ブラウザの場合はリソースファイルをgz圧縮 &#8230; <a href="http://transrain.net/blog/2011/02/22/191352">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>ライブラリに関してはCDNのキャッシュを使う事も出来ますが、自作のライブラリやCSS等のリソースはCDNには登録されていないので<br />
ファイルの転送サイズが膨れがちです。</p>
<p>そこで対応ブラウザの場合はリソースファイルをgz圧縮して転送するように設定する方法を備考録として書いておきます。</p>
<h2>参考サイト</h2>
<ul>
<li><a href="http://asiamoth.com/sample/2006-11-25/prototype.js.gz-test.html">亜細亜ノ蛾 &#8211; Weblog &#8211; prototype.jsをgzip圧縮して利用するテスト（Safari 対応版）</a></li>
<li><a href="http://d.hatena.ne.jp/Schuzak/20100422">Schuzak’s Blog &#8211; Webサイトの.htaccessをいじってGZIP圧縮を使う</a></li>
<li><a href="http://d.hatena.ne.jp/cypher256/20100425/p1">C/pHeR Memo &#8211; Java とか。Eclipse とか。 &#8211; [Web]サイト高速化のための JavaScript と CSS 圧縮スクリプト</a></li>
</ul>
<h2>前提</h2>
<p>転送数を減らす為にCSSとかJavaScriptとかで1ファイルにまとめられるものはまとめておく。</p>
<p>それに加えて圧縮をかける事により転送するデータ量を減らします。</p>
<p>また、gz圧縮できるアーカイバが必要。</p>
<h2>ファイルの圧縮</h2>
<p>まずは対象のファイルをgz圧縮します。</p>
<p>gz圧縮は1ファイルしか圧縮できない形式なので、まず、CSSやJavaScriptファイルを1つにまとめておきます。</p>
<p>別にまとめなくともこの手法は有効ですが、転送数が多いままになってしまうことと、読み込み方法によってはシリアルで読み込んでしまうのでまとめておく方が早いです。</p>
<p>まとめたファイルをgz圧縮します。自分の場合、windowsでは<a href="http://www.ponsoftware.com/">Explzh</a>、mac/linuxの場合は<code>gzip -c [ファイル名] &gt; [ファイル名].gz</code>を使用しています。</p>
<h2>.htaccessの作成</h2>
<p>gzファイルが存在する場合はgzファイルを読み込むように設定をします。</p>
<p>最近は使えるサーバが多くなっていますが、mod_rewriteがサーバに入っていないと使えません。</p>
<pre><code>&lt;IfModule mod_rewrite.c&gt;
    RewriteEngine on
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteCond %{REQUEST_FILENAME} !.gz$
    RewriteCond %{REQUEST_FILENAME}.gz -s
    RewriteRule .+ %{REQUEST_URI}.gz

    &lt;FilesMatch ".html.gz$"&gt;
        ForceType text/html
        AddEncoding x-gzip .gz
    &lt;/FilesMatch&gt;

    &lt;FilesMatch ".txt.gz$"&gt;
        ForceType text/plain
        AddEncoding x-gzip .gz
    &lt;/FilesMatch&gt;

    &lt;FilesMatch ".js.gz$"&gt;
        ForceType application/x-javascript
        AddEncoding x-gzip .gz
    &lt;/FilesMatch&gt;

    &lt;FilesMatch ".css.gz$"&gt;
        ForceType text/css
        AddEncoding x-gzip .gz
    &lt;/FilesMatch&gt;
&lt;/IfModule&gt;</code></pre>
<p>まず、mod_rewriteでgzファイルが存在する場合にはアクセスされたファイル名.gzを読み込むように切り替えています。</p>
<p>そして、FileMatchでファイル毎にMIME-TYPEとgzエンコードを指定しています。</p>
<p>これによってgz圧縮ファイルに対応しているブラウザの場合はgzファイルを読み込めるようになります。</p>
<h2>更に高速化</h2>
<p>これだけでファイルのサイズが下がりますが、キャッシュで持たせるようにしておきます。</p>
<p>これも.htaccessに記述する事によって利用可能です。</p>
<pre><code>ExpiresActive on
ExpiresDefault "access plus 1 month"
FileETag None</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://transrain.net/blog/2011/02/22/191352/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

