Category Archives: Mac

こんにちは!イッシーです(。・ω・)ノ゙


この度の東日本大地震により、被災されました方々に心よりお見舞い申し上げます。

株式会社プラスアールではささやかながら東日本大地震チャリティとして「禁煙なう」ダウンロード数に応じ上限20万円(1万DL)を日本赤十字社に寄付させていただきます。


僕は生産設備を持っていませんので食料をはじめとした物流における支援は難しいのかもしれません。しかしながらシステムエンジニアとして間接的な支援や情報における支援はできます。僕は、天災における「破壊」を修復するのは人々の「生産」と考えるとともに、その「生産」の一部分を担う者として頑張っていきたいと思います。

さて、突然ですが皆さんはバージョン管理に何を使ってますか?プラスアールではGitでバージョン管理をしてます。大抵の方はGitを使っている、もしくはSubversionからGitへの乗り換えを希望しているのではないでしょうか?

そこで今回はGit!といきたいところですが、Subversionもまだまだ現役だと思いますので、Subversionでバージョン管理する方法をまとめておきたいと思います。

  • 開発サーバーにターミナルでログインしての作業になります
  • 分からない人は分かる人に補助してもらってください
  • 解説は、プロジェクト名:sample.plusr.biz、ユーザ名:ishimotoとしてます
  • ルート権限で作業します

■サーバー側

Subversionは中央集権的に管理するシステムです。大概はサーバーが必要になります。

【step1】グループを作る

プロジェクト名と同じ名前のグループを作りましょう。重複を防ぐためにもドメイン名が最適です。

[cc lang="bash"]
/usr/sbin/groupadd sample.plusr.biz
[/cc]

【step2】グループにユーザを追加

グループにプロジェクトユーザを加えます。

[cc lang="bash"]
gpasswd -a ishimoto sample.plusr.biz
[/cc]

以下のコマンドでも同様の操作が可能ですが、今まで追加したグループを列挙しなければなりません。

[cc lang="bash"]
/usr/sbin/usermod -G sample.plusr.biz,hoge.plusr.biz,fuga.plusr.biz ishimoto
[/cc]

【step3】リポジトリ作成

以下のコマンドを実行しリポジトリを作成します。

[cc lang="bash"]
svnadmin create –fs-type fsfs /usr/local/development/repos/sample.plusr.biz
mkdir /usr/local/development/repos/sample.plusr.biz/trunk
mkdir /usr/local/development/repos/sample.plusr.biz/tags
mkdir /usr/local/development/repos/sample.plusr.biz/branches
[/cc]

【step4】権限設定

グループのユーザに書き込み権限を与えます。

[cc lang="bash"]
chmod -R 0775 /usr/local/development/repos/sample.plusr.biz/
chgrp -R sample.plusr.biz /usr/local/development/repos/sample.plusr.biz/
[/cc]

【step5】インポート

デフォルトの初期状態の雛形がある場合は以下のコマンドでインポートします。

[cc lang="bash"]
svn import /user/local/development/repos/skeleton file:///usr/local/development/repos/sample.plusr.biz/trunk -m
[/cc]

svn import A B でAをBにインポートします。

【参考】

■Windowsクライアント側

クライアント側も基本的にはコマンドで操作可能ですが、TortoiseSVNなどを利用すると非常に作業が楽になります。

【step1】TortoiseSVNのインストール

サイトからダウンロードしてきてインストールします。

サーバのSSHのポートを変更している場合

C:\Users\[your name]\AppData\Roaming\Subversion\configの[tunnels]セクションに以下を追記します。

[cc lang="bash"]
sshdev = “C:/Program Files/TortoiseSVN/bin/TortoisePlink.exe” -ssh -l [username] -P 1234
[/cc]

【step2】puttyのインストール

step2までの手順で使用することはできますが、接続の度に煩雑なパスワード入力が必要になりまし、SSHで接続する際に鍵を使用している方はputtyを使用した方が断然に楽に作業できますので、サイトからダウンロードします。

次にダウンロードしたファイル内の「plink.exe」を「C:\WINDOWS\system32」にコピーしてください。

【step3】puttyの設定ファイルの編集

コマンドプロンプトで以下のコマンドを実行し、svnのconfigファイルのパスを探しconfigファイルを編集します。

[cc lang="bash"]
echo %APPDATA%
[/cc]

出力したフォルダの中の「Subversion\config」ファイルを編集します。以下の記述を

[cc lang="bash"]
#ssh=$SVN_SSH ssh
[/cc]

以下のように記述します。

[cc lang="bash"]
ssh=plink
#ssh=$SVN_SSH ssh
[/cc]

【step4】秘密鍵の登録

puttyフォルダのpageant.exeを起動し、タスクトレイから右クリックで「AddKey」を選択しパスワードを入力します。

【使用方法】

リポジトリの追加
エクスプローラ上の何も無い部分で右クリック > チェックアウト
コミット等の操作
編集したファイル・ディレクトリで右クリック > コミット

【参考】

■Macクライアント側

Macはデフォルトでsvnコマンドが使用できます。しかし、TortoiseSVNが存在しませんので個人的な趣味によりEclipseのプラグイン(Subversive)を使用します。Windows版のEclipseでも同様に使えるので好みに応じて使い分けると良いかもしれません。

【使用方法】

リポジトリの追加(SVNリポジトリのビュー上)
新規 > リポジトリ・ロケーション > 必要項目の入力 > 右クリックしてチェックアウト
コミット等の操作(プロジェクト・エクスプローラのビュー上)
右クリック > チーム > コミット

※コミットをはじめロックの取得など操作が可能

サーバのSSHのポートを変更している場合

Subversiveを使用するときには問題ありませんが、コマンドラインから操作する場合にはポートの指定で上手くいかないかと思います。以下のコマンドを実行して設定ファイルを編集します。

[cc lang="bash"]
vi ~/.subversion/config
[/cc]

[tunnels]セクションに以下を追記します。

[cc lang="bash"]
sshdev = ssh -p 1234 -l ishimoto
[/cc]

すると以下のコマンドでチェックアウトなどの操作ができるようになると思います。

[cc lang="bash"]
svn checkout svn+sshdev://123.123.123.123/usr/local/development/repos/sample.plusr.biz
[/cc]

いかがでしょうか?多少粗雑な部分もあったかと思いますが参考にしていただければと思います。実は自分のプロジェクトでは諸事情によりまして1プロジェクトだけSubversionを使用してますが、今後はGitに統一します。次回はGitでのバージョン管理を解説できればと思います。

こんにちはイッシーです\(^o^)/。たまにミッチャンて呼ぶ人もいますが、まぁ好きな方で呼んでください♪

普段はスマートフォン事業部でiPhoneやandroidのアプリを開発してるのでクライアントはMacです。今まではWindowsを使用してたので、戸惑うこともチラホラ・・・そこでMacでのWebアプリケーションの開発環境を本日はメモっておきます。

と思ったのですがWindowsユーザにも読んでほしいので、Windows用の設定も書いておくことにします。

  • テキストエディタはwindowsのメモ帳を使用せず、秀丸・サクラエディター・emeditorなどを使用し、Macの場合はターミナルでそのまま編集してください
  • プロジェクト名は「hoge.plusr.biz」とします

【step1】xamppをインストール

Win

http://www.apachefriends.org/jp/xampp-windows.html

Mac

http://www.apachefriends.org/jp/xampp-macosx.html

【step2】apacheの設定 – その一

Win
C:\xampp\apache\conf\httpd.conf
Mac
vi /Applications/XAMPP/xamppfiles/etc/httpd.conf

以下の記述の部分を

[cc lang="c"]
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
[/cc]

以下のように変更しローカルからのアクセスのみ許可します。

[cc lang="c"]
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from 192.168.
Allow from 127.0.0.1
[/cc]

【step3】apacheの設定 – その二

Win
C:\xampp\apache\conf\extras\httpd-vhosts.conf
Mac
vi /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf

バーチャルホストの設定

以下の部分の記述を

[cc lang="c"]
#NameVirtualHost*:80
[/cc]

以下のようにしてコメントを外します。

[cc lang="c"]
NameVirtualHost*:80
[/cc]

次に、行末に以下を追記します。

Win

[cc lang="xml"]

ServerName hoge.plusr.biz
DocumentRoot “C:\xampp\htdocs\hoge.plusr.biz\trunk\public_html”

[/cc]

Mac

[cc lang="xml"]

DocumentRoot “/Applications/XAMPP/xamppfiles/htdocs/hoge.plusr.biz/trunk/public_html”
ServerName hoge.plusr.biz

[/cc]

【step4】mysqlの設定

Win
C:\xampp\mysql\bin\my.ini
Mac
vi /Applications/XAMPP/xamppfiles/etc/my.conf

それぞれのセクションに以下を追記します。

[cc lang="c"]
[mysqld]
character_set_server = utf8
[client]
default-character-set=utf8
[/cc]

以下のような記述も見られますがセキュリティの観点から推奨はしません。といっても開発環境なんだけど。。。

[cc lang="c"]
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
default-character-set = utf8
init-connect = SET NAMES utf8
[/cc]

【step5】phpの設定

Win
C:\xampp\php\php.ini
Mac
vi /Applications/XAMPP/xamppfiles/etc/php.ini

mbstringのセクションにある以下の項目を変更し、文字コードをUTF-8ベースに変更します。

[cc lang="c"]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = off
[/cc]

但し、開発するシステムの仕様に依存しますので携帯サイトなどはこの限りではありません。

また、開発環境では問題とならないが以下の項目を変更してPHPの情報をレスポンスヘッダから隠します。

[cc lang="c"]
expose_php = Off
[/cc]

【step6】Apatch, MySQLの再起動

XAMPPのコントロールパネルから再起動してください。

【step7】hostsファイルの設定

Win
C:\WINDOWS\system32\drivers\etc\hosts
Mac
http://www.apple.com/jp/downloads/macosx/tools/hoster.html

ちなみにiPhoneのシミュレータはデフォルトでhostsファイルを参照するようなのですが、androidのシミュレータはhostsファイルを参照させるために別途設定が必要なようです。

Win

以下のように記述することで任意のドメインでアクセスしたときにローカルを参照するようになります。

[cc lang="c"]
[自分のIPアドレス] hoge.plusr.biz
[/cc]

Mac

基本的な概念は変わりませんがhosterを起動して設定してください。

基本的な内容ではありましたがいかがでしょうか?基本的にはファイルパスが違うだけで設定項目は変わりません。次回は遊び心あるトピックにしようかと思います。