<?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>HOORA x BLOG &#187; macosx</title>
	<atom:link href="http://blog.hoorago.com/tag/macosx/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hoorago.com</link>
	<description></description>
	<lastBuildDate>Tue, 20 Jul 2010 03:27:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mac miniサーバでいいんじゃね？</title>
		<link>http://blog.hoorago.com/2009/04/07/mac-mini-server/</link>
		<comments>http://blog.hoorago.com/2009/04/07/mac-mini-server/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 09:05:05 +0000</pubDate>
		<dc:creator>tomoya</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[macosx]]></category>

		<guid isPermaLink="false">http://blog.hoorago.com/?p=240</guid>
		<description><![CDATA[
Hooraエンジニアリング部の平野です。
今回は、Hooraで使用しているサーバ環境の大部分をMac miniサーバに移すことになったので、その時の作業を書いていきます。
まずサーバの用途ですが、Hooraでは、メールやカレンダーなどは最高にクールなGoogle Appsを使用...]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.hoorago.com/wp-content/uploads/2009/04/mac-mini-intel-core.jpg"><img style="display: inline; border: 0px;" title="OLYMPUS DIGITAL CAMERA         " src="http://blog.hoorago.com/wp-content/uploads/2009/04/mac-mini-intel-core-thumb.jpg" border="0" alt="OLYMPUS DIGITAL CAMERA         " width="354" height="255" /></a></p>
<p>Hooraエンジニアリング部の平野です。</p>
<p>今回は、Hooraで使用しているサーバ環境の大部分をMac miniサーバに移すことになったので、その時の作業を書いていきます。</p>
<p>まずサーバの用途ですが、Hooraでは、メールやカレンダーなどは最高にクールなGoogle Appsを使用してるので、ほとんどの場合、</p>
<ol>
<li>ソースのリポジトリをおくSVN</li>
<li>チームのタスク管理を行うredmine</li>
<li>このブログであるwordpress</li>
<li>アプリを動かす実験場</li>
</ol>
<p>という４項目に集約されます。</p>
<p>これまでは、<a href="http://www.slicehost.com/">Slicehost</a>の激安256MBスライス＝月間2000円程度でVPSをレンタルしていました。<br />
Slicehostは非常に使い勝手がよく、開発者としては１スライスくらい持っておいてもけして損はないと思われます。</p>
<p>しかし、さすがにメモリ256MBで上の４用途を全部こなすとなるとかなり重たいです。</p>
<p>特に、redmineはRuby on Rails製で、チーム３人で同時期にアクセスするとあっという間にメモリ使用量が100%に達して、ひどいフリーズ状態に陥っていました。<br />
Railsは作るときは楽で楽しくてよいですが、運用面まで含めると少し大変です…</p>
<p>そこで、Slicehostで満足いくメモリ＋ストレージを確保しようと思ったのですが、</p>
<p><a href="http://blog.hoorago.com/wp-content/uploads/2009/04/20090407-0946.png"><img style="display: inline; border: 0px;" title="2009-04-07_0946" src="http://blog.hoorago.com/wp-content/uploads/2009/04/20090407-0946-thumb.png" border="0" alt="2009-04-07_0946" width="366" height="182" /></a></p>
<p>がーん。</p>
<p>$130は、１万ウン千円で、これが１２回で一年だといくら？と、両手の指を折りながら数えて足りないくらいコストがかかることがわかりました。</p>
<p>そこで、ついに、こんな出費をするくらいなら自前でサーバを作る！ということになり、晴れてMac miniをサーバ化して運用していくことになりました。</p>
<p>ちなみに、Hooraの考える、Mac miniのメリットは、</p>
<p><strong><span style="color: #ff80c0; font-size: x-large;">小さくてかわいい</span></strong></p>
<p>ことに尽きますな。</p>
<p><span id="more-240"></span></p>
<p>さて、今回は、mac miniの開封から、各種のモジュールを取りそろえて、今まで稼働させてきたredmineをmac mini上へ移設するところまでの作業を長々と書いていきます。</p>
<p>redmineをレンタルサーバで使って苦労しているサーバ管理者のみなさまの役に立ちますように。</p>
<h4>1. OS初期設定</h4>
<p>自宅にある古いIOデータのディスプレイにつないで、USBマウスとキーボードをさせば、電源オン！MobileMeなど、サーバ用途にそぐわないものは無視してさっくりと設定を終えます。</p>
<h4>2. ソフトウェアアップデート</h4>
<p>700MBほどダウンロード＆インストール。20-30分待つ。</p>
<h4>3. 基本的な設定</h4>
<p>Mac miniをサーバとして使うことばかりを考えている<a title="http://www.macminiserver.com/" href="http://www.macminiserver.com/">http://www.macminiserver.com/</a> というありがたいサイトの中に、「<a href="http://www.macminiserver.com/how-do-i-set-up-a-mac-mini-server/">どうやって設定すればおK?（原文英語）</a>」という記事があります。<br />
ここには、サーバとしてMac OSXを使うためのTipsがひとつの文書としてまとめられたPDFがあります。<br />
まずは、これに従って、スクリーンセーバはオフであるとか、省電力もしないといった設定を行います。</p>
<h4>4. 共有の設定</h4>
<p>画面共有(VNC)、SSH、FTPくらいはONにしておきました。<br />
あと、ファイアーウォールの設定で、一番下の「特定のサービスおよびアプリケーションにアクセスを設定」を選択しておいてください。</p>
<p>Web(Apache2)は、MacPortsを使用することにしたいので、ここではOFFにしておいてください。</p>
<h4>5. UNIX環境をえるために</h4>
<p><a href="http://blog.hoorago.com/wp-content/uploads/2009/04/20090407-1006.png"><img style="display: inline; border: 0px;" title="2009-04-07_1006" src="http://blog.hoorago.com/wp-content/uploads/2009/04/20090407-1006-thumb.png" border="0" alt="2009-04-07_1006" width="120" height="36" /></a></p>
<p>MacPortsというパッケージ管理システムを導入します。Debianのapt-get、Fedora・CentOSのyumのようなものです。</p>
<p>MacPortsのインストールには、XCodeが必須とのことなので、Mac miniの箱に同梱されていたインストールディスクCD2を取り出して、インストールしておきましょう。終われば、MacPortsのインストールです。（Leopard以前のOSの場合、X11環境を別にインストールする必要があるようです）</p>
<p>[<span style="color: #ff0000;">注意</span>]<br />
インストールディスクからXCodeをインストールすると、3.0系が入る場合があります。その場合には、Apple Developer Connectionから、最新版である3.1系をインストールするようにしてください。<br />
かまわずに作業を進めた僕は、あとで、portsを使ってtiffパッケージをビルドするときに、</p>
<blockquote><p>On Mac OS X 10.5, tiff 3.8.2 requires Xcode 3.1 or later but you have Xcode 3.0.</p></blockquote>
<p>と言われてしまい、非常に悲しい思いをしました。</p>
<h4>6. Apache2 MySQL・phpMyAdmin</h4>
<p><a href="http://blog.hoorago.com/wp-content/uploads/2009/04/image.png"><img style="display: inline; border: 0px;" title="image" src="http://blog.hoorago.com/wp-content/uploads/2009/04/image-thumb.png" border="0" alt="image" width="120" height="107" /></a></p>
<p>Apacheは、デフォルトでもMacOSXにインストールされていますが、バージョンの変更などが容易である、最新のパッチが当たっている点などで、MacPorts版を利用することにしました。</p>
<p><a href="http://blog.hoorago.com/wp-content/uploads/2009/04/image1.png"><img style="display: inline; border: 0px;" title="image" src="http://blog.hoorago.com/wp-content/uploads/2009/04/image-thumb1.png" border="0" alt="image" width="120" height="69" /></a> <a href="http://blog.hoorago.com/wp-content/uploads/2009/04/image2.png"><img style="display: inline; border: 0px;" title="image" src="http://blog.hoorago.com/wp-content/uploads/2009/04/image-thumb2.png" border="0" alt="image" width="96" height="58" /></a> <a href="http://blog.hoorago.com/wp-content/uploads/2009/04/image3.png"><img style="display: inline; border: 0px;" title="image" src="http://blog.hoorago.com/wp-content/uploads/2009/04/image-thumb3.png" border="0" alt="image" width="120" height="70" /></a></p>
<p>DBMSには、redmineが公式に推奨するMySQLを使用しましょう。<br />
また、MySQLをwebから管理するための定番ツール「<a href="http://www.phpmyadmin.net/home_page/index.php">phpMyAdmin</a>」も入れておきます。</p>
<p>インストールには、さきほど入れたばかりのMacPortsを早速活用します（繰り返しになりますが、Xcodeは3.1.0以上であることを確認しておいてください）。</p>
<p>具体的な手順は、<a href="http://trac.macports.org/wiki/howto/MAMP">こちらのページ</a>を参照して、apache2, mysql5, php5, phpmyadminをインストールします。</p>
<blockquote><p>## Apache2<br />
% sudo port install apache2<br />
% sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist</p>
<p>## MySQL(Server)<br />
% sudo port install mysql+server<br />
% sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist<br />
% sudo -u mysql mysql_install_db5<br />
% sudo chown -R mysql:mysql /opt/local/var/db/mysql5/<br />
% sudo chown -R mysql:mysql /opt/local/var/run/mysql5/<br />
% sudo chown -R mysql:mysql /opt/local/var/log/mysql5/<br />
(デーモンを起動する)<br />
% sudo /opt/local/bin/mysqld_safe5 &amp;<br />
(rootのパスワードを設定する)<br />
% mysqladmin5 -u root -p password &lt;new-password&gt; Enter Password: &lt;ENTER&gt;</p>
<p>## PHP5<br />
% sudo port install php5 +apache2 +mysql5<br />
(ApacheのPHPモジュールを有効にする)<br />
% cd /opt/local/apache2/modules<br />
% sudo /opt/local/apache2/bin/apxs -a -e -n &#8220;php5&#8243; libphp5.so<br />
(httpd.confにmod_php.confを含める)<br />
% sudo nano /opt/local/apache2/conf/httpd.conf</p>
<p>#<br />
# Include PHP configurations<br />
#<br />
Include conf/extras-conf/mod_php.conf</p>
<p>(PHP設定ファイルには、recommended版を使用する)<br />
% cd /opt/local/etc<br />
% sudo cp php.ini-recommended php.ini<br />
(Apacheの再起動)<br />
% sudo /opt/local/apache2/bin/apachectl -k restart</p>
<p>## phpMyAdmin<br />
% sudo port install phpmyadmin<br />
(設定ファイルを用意してInclude)</p></blockquote>
<h4>7. Redmineを動かすために</h4>
<p><img class="size-full wp-image-242 alignnone" title="2009-04-07_1809" src="http://blog.hoorago.com/wp-content/uploads/2009/04/2009-04-07_1809.png" alt="2009-04-07_1809" width="114" height="43" /></p>
<p>redmineのバージョンは、2009年4月5日リリースしたての0.8.3を使用することにします。インストール先には、”/usr/local”ディレクトリを使用します。</p>
<p>また、redmine0.8.3を動かすためには、<a href="http://www.redmine.org/wiki/redmine/RedmineInstall">インストールマニュアル</a>によると、ruby1.8.6または1.8.7、rails2.2.2が必要とのことです。</p>
<blockquote><p>% which ruby<br />
/usr/bin/ruby<br />
% ruby –v<br />
ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]<br />
% rails –v<br />
Rails 1.2.6<br />
% sudo gem install rails -v=2.2.2<br />
(Railsのアップグレードを行う)<br />
% rails –v<br />
Rails 2.2.2<br />
(Ruby MySQLバインディングを入れる)<br />
% sudo gem install mysql &#8212; \<br />
&#8211;with-mysql-dir=/opt/local/ \<br />
&#8211;with-mysql-include=/opt/local/include/mysql5/ \<br />
&#8211;with-mysql-lib=/opt/local/lib/mysql5/ \<br />
&#8211;with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config<br />
(RMagickを入れる : <a href="http://rmagick.rubyforge.org/install-osx.html">こちらを参照</a>)<br />
% sudo port install imagemagick +q8 +gs +wmf<br />
(参照ページではtiffを含めていますが、すでにインストール済みなので省いた)<br />
… ここで大量のパッケージがインストールされる。<br />
% sudo gem install rmagick</p></blockquote>
<h4>8. 以前のデータ・ファイルをエクスポート</h4>
<blockquote><p>% mysqldump –u &lt;USER&gt; –p &lt;TABLENAME&gt; &gt; dump.sql<br />
% tar czvf files.tar.gz /var/redmine/files/*.*</p></blockquote>
<h4>9. Redmine/passengerのインストール・設定</h4>
<p>ようやく、Redmineのインストールを行える準備が整いました。<br />
ここからは、Redmineそのものの設定、そして、Apache上でRoRアプリを快適に動かすためのモジュールpassengerの設定を行います。</p>
<p>まずは、Redmineのダウンロード、そして、展開。</p>
<blockquote><p>% sudo port install wget<br />
% cd ~/Download<br />
% wget <a title="http://rubyforge.org/frs/download.php/54503/redmine-0.8.3.tar.gz" href="http://rubyforge.org/frs/download.php/54503/redmine-0.8.3.tar.gz">http://rubyforge.org/frs/download.php/54503/redmine-0.8.3.tar.gz</a><br />
% tar xzvf redmine-0.8.3.tar.gz<br />
% sudo mv redmine-0.8.3 /usr/local/<br />
% sudo ln –s /usr/local/redmine-0.8.3 /usr/local/redmine<br />
(パーミションの設定など)<br />
% sudo chown -R redmine:redmine files log tmp public/plugin_assets<br />
% sudo chmod -R 755 files log tmp public/plugin_assets</p></blockquote>
<p>データベース設定をdatabase.ymlに書く。このとき、socketの設定も忘れずに書いておくこと!</p>
<blockquote><p>production:<br />
user: …<br />
socket: /opt/local/var/run/mysql5/mysqld.sock</p></blockquote>
<p>データのインポート</p>
<blockquote><p>% tar xzvf files.tar.gz –C /usr/local/redmine/files<br />
% mysql –u redmine –p redmine &lt; original_redmine.sql</p></blockquote>
<p><strong>[4月13日追記]</strong></p>
<p>0.8.3版ではデータベースのスキーマ定義に変更が加えられているため、このままインポートしただけでは、SVNリポジトリの閲覧など一部の機能がうまく動作しません。rakeで、dbの構成を最新にしておく必要があります。</p>
<blockquote><p>% sudo rake db:migrate RAILS_ENV=&#8221;production&#8221;</p></blockquote>
<p><img class="alignnone size-full wp-image-244" title="gmail-logo1" src="http://blog.hoorago.com/wp-content/uploads/2009/04/gmail-logo1.jpg" alt="gmail-logo1" width="155" height="63" /></p>
<p>Gmailからメールを送信するように設定</p>
<blockquote><p>% nano config/email.conf<br />
# Outgoing email settings<br />
production:<br />
delivery_method: :smtp<br />
smtp_settings:<br />
address: smtp.gmail.com<br />
port: 587<br />
domain: &#8220;hoorago.com&#8221;<br />
authentication: :login<br />
user_name: &#8220;redmine@hoorago.com&#8221;<br />
password: &#8220;*******&#8221;</p>
<p>(TLSに対応させる)<br />
% sudo gem install tlsmail<br />
% sudo nano config/environment.rb<br />
# 末尾に、<br />
require &#8220;tlsmail&#8221;<br />
Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)<br />
# を追加した</p></blockquote>
<p>試しに起動する</p>
<blockquote><p>% sudo ruby script/server webrick –e production</p></blockquote>
<p><a href="http://localhost:3000/">http://localhost:3000/</a> にアクセスして問題がなければ、passengerを導入する。</p>
<p>Passsenger</p>
<blockquote><p>% gem –v<br />
1.0.1<br />
(gem本体のアップデートを行わないと、passengerのど導入ができない)<br />
% sudo gem update –system<br />
% sugo gem install passenger<br />
(MacPorts版のApacheを環境変数で設定)<br />
% export APXS2=/opt/local/apache2/bin/apxs<br />
% export PATH=/opt/local/apache2/bin:$PATH<br />
% sudo passenger-install-apache2-module</p></blockquote>
<p>そして、httpd.confに、</p>
<blockquote><p>LoadModule passenger_module /Library/Ruby/Gems/1.8/gems/passenger-2.1.3/ext/apache2/mod_passenger.so<br />
PassengerRoot /Library/Ruby/Gems/1.8/gems/passenger-2.1.3<br />
PassengerRuby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby</p></blockquote>
<p>を加える。</p>
<p>さらに、VirtualHostのDocumentRootにredmineのpublicフォルダを指定して、Directoryへのアクセスを許可する設定ファイルを書いて、</p>
<blockquote><p>NameVirtualHost *:80<br />
&lt;VirtualHost *:80&gt;<br />
ServerAdmin admin@redmineexample.com<br />
ServerName your.redmineexample.com<br />
DocumentRoot /usr/local/redmine/public<br />
&lt;Directory &#8220;/usr/local/redmine/public&#8221;&gt;<br />
OPtions FollowSymLinks<br />
Order allow,deny<br />
Allow from all<br />
&lt;/Directory&gt;<br />
&lt;/VirtualHost&gt;</p></blockquote>
<p>という内容で、conf/extra/httpd-redmine.confとして、保存する。</p>
<p>最後に、もう一度、httpd.confを開いて、末尾に、</p>
<blockquote><p>Include conf/extra/httpd-redmine.conf</p></blockquote>
<p>を記述する。Apache2を再起動したら、完了です。</p>
<p><a href="http://blog.hoorago.com/wp-content/uploads/2009/04/20090407-1749.png"><img style="display: inline; border: 0px;" title="2009-04-07_1749" src="http://blog.hoorago.com/wp-content/uploads/2009/04/20090407-1749-thumb.png" border="0" alt="2009-04-07_1749" width="264" height="254" /></a></p>
<p>無事、動いています。</p>
<p>びっくりするくらいに、きびきびしています。redmineがこんなにできる子だとは知りませんでした！</p>
<p>興奮している場合ではない、チケット溜まってますよ！　＞自分</p>
<p>では、おつかれさまでした。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hoorago.com/2009/04/07/mac-mini-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

