Xcode5でProvisioning Profileの確認

Xcode5以前はOrganizerから、更新や削除ができたのですが、Xcode5になってから、Preferencesから参照、更新、削除を行うようです。

Xcodeの[Preferences..]から、設定を開き、[Accounts]タブを開きます。
Accounts

対象のApple IDを選択し、View Details..からProvisioning Profileの更新や確認、削除ができます。

スクリーンショット_2014_04_27_15_53

新しいMacのXcode5にインストールしたプラグイン

プラグインディレクトリ作成

$ mkdir -p ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins

Alcatraz

プラグイン管理用のプラグイン。

Alcatraz : Xcode Package Manager.

XVim

XcodeのVimプラグイン。

Nothing But Programming – Software.

Alcatrazからインストールを試みてみたが、インストールが上手くいかないので、手動でインストール。

5/13追記

XVim を Xcode 5.1 にインストール – Unmotivated.

Xcode5.1にアップデートしたら動かなくなったので上記方法でインストール。

Obsidian Code Theme for Xcode

カラーテーマ。

Obsidian Code Theme for Xcode.

Alcatrazからインストール。
Fontサイズがすべて18ptに、なってしまってたので、11ptに変更。

5/21追記

すべてAlcatrazからインストール。

XTodo

TODOや、FIXMEなどのコード内の注釈を抜き出して表示してくれるプラグイン。

https://github.com/trawor/XToDo.

KSImageNamed-Xcode

UIImageのファイル名を補完してくれるプラグイン

https://github.com/ksuther/KSImageNamed-Xcode.

XAlign

コードを自動的に整列するプラグイン

https://github.com/qfish/XAlign.

その他

秘密鍵のエクスポート・インポート

http://www.lastday.jp/2012/09/02/multiple-mac-ios-application
http://sbkro.hatenablog.jp/entry/2012/06/05/225631

ターミナルの自動エンコード

MacのターミナルでEUCのサーバーに繋いだ場合、日本語が文字化けしてしまします。
cocotを使用すると、自動でサーバーのエンコードに変換してくれるので文字化けを解消できます。

cocotインストール

$ sudo port install cocot

cocotを使用する

$ cocot ssh xxx.xxx.xxx.xxx

Macbook Pro Retina 13 Late 2013 インストール・設定メモ

今まで使っていたMacbookから移行はせず、新規にインストールしました。
Macbookはクリーンインストールして、iPhone、iPadのバックアップ用にでもしようかと考えてます。

インストールしたもの

  • Firefox
  • Google Chrome
  • Google IME
  • Alfred
  • TotalTerminal
  • Yummy FTP
  • ClamXav
  • Xcode
  • Dropbox
  • MacPorts
  • Skitch
  • MacVim
  • AppCleaner
  • KeyRemap4MacBook
  • HyperSwitch
  • jre
  • eclipse
  • Virtual Box
  • Vagrant
  • Skype
  • Remote Desktop Connection
  • Thunderbird
  • 夜フクロウ
  • shiftit
  • Cowsee
  • CopyClip
  • CodEditor
  • DiffFork
  • Remote Desktop Connection
  • Sequel Pro

設定

隠しファイルを表示
ドットファイルコピー
vagrant boxファイル作成(package)→box add→vagrant init→Vagrantfileコピー→vagrant up→Synced folderコピー

Windows版SourceTreeを設定する

前提条件

  • gitサーバーが既に用意してある(今回はGithub等のホスティングサービスではなく自分で構築したもの)
  • gitリポジトリに既にソースがPushされている状態

やったこと

  • Window版SourceTreeでソースをCloneする
  • 変更を加えてソースをPushする
  • WindowsからPushしたソースを別PC(mac)からPullする

Window版SourceTreeでソースをCloneする

秘密鍵作成

macから秘密鍵をもってきて、[Tools]->[Create or Import SSH Keys]でPuTTY Key Generatorを起動する。loadボタンで秘密鍵を選択し新たに秘密鍵を作成する。
スクリーンショット_010514_075814_PM

秘密鍵登録

[Tools]->[Launch SSH Agent..]からPagentを起動する。Add Keyボタンで作成した秘密鍵を登録し、パスフレーズを入力します。
スクリーンショット_010514_080341_PM

リモートの設定

[Clone/New]からリポジトリを登録します。[Clone]ボタンをクリックするとcloneが始まります。
スクリーンショット_010514_081753_PM

変更を加えてソースをPushする

WindowsからPushしたソースを別PC(mac)からPullする

Gitリポジトリサーバーの構成変更

先日、Gitリポジトリを取り合えず作成したのですが、Gitユーザーでアクセスするようにしたり、SSHの鍵も作りなおした。

suusuke – blog – CentOS5へGitリポジトリの作成.

gitグループから外す

wheelグループのみに戻した。

$ usermod -G wheel suusuke

gitユーザーの作成

既にgitグループを作成していたので、-gでグループを指定して追加する。

$ adduser -g git git

ssh鍵の作成と設定

localにて

$ ssh-keygen

作成した、公開鍵(id_rsa.pub)をコピーする。

remoteにて

$ su - git
$ mkdir ~/.ssh/
$ vi ~/.ssh/authorized_keys #公開鍵(id_rsa.pub)をコピペ
$ chmod 700 /home/git/.ssh
$ chmod 600 /home/git/.ssh/*

リモートの変更

$ git remote -v
origin	ssh://[username]@[servername]:[port]/var/lib/git/repos/project.git (fetch)
origin	ssh://[username]@[servername]:[port]/var/lib/git/repos/project.git (push)

$ git remote rm origin
$ git remote add origin ssh://git@[servername]:[port]/var/lib/git/repos/project.git

pushを試してみて成功。

gitユーザーのログインシェルをgit-shellに変更するとよりセキュリティ的に良いみたいだけど、シェル変更しただけだとエラーになってしまったので取り合えず変更しなかった。

参考サイト

Git – サーバーのセットアップ.

CentOS5へGitリポジトリの作成

会社と自宅で作業しているとソースコード同期するに、いちいちサーバーから取ってきてとかっていうのやってたのですが、めんどくさいなと思って折角なのでGitサーバー立てることにした時の覚書。

環境

OS CentOS5.10

目次

  1. Gitインストール
  2. クライアントからソースコミット

Gitインストール

yumリポジトリ追加

$ wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
$ rpm -Uvh rpmforge-release-0.5.3-1.el5.rf.i386.rpm 

git-daemonインストール

gitは既にインストールされていたのでdaemonのみインストール

$ yum install git-daemon --enablerepo=rpmforge

xinetd設定

gitプロトコルでアクセスした場合に、git-daemonが起動するようにxinetdに設定ファイルを作成する。

$ cp /etc/xinetd.d/git /etc/xinetd.d/git-daemon
$ vi /etc/xinetd.d/git-daemon

# default: off
# description: The git dæmon allows git repositories to be exported using \
#       the git:// protocol.

service git
{
        disable         = no     #noに変更
        socket_type     = stream
        wait            = no
        user            = nobody
        server          = /usr/bin/git-daemon
        server_args     = --base-path=/var/lib/git --export-all --user-path=public_git --syslog --inetd --verbose
        log_on_failure  += USERID
        # xinetd does not enable IPv6 by default
        flags           = IPv6
}

$ /etc/rc.d/init.d/xinetd restart #再起動

gitレポジトリ作成

/var/lib/git/の下にgitのレポジトリを作成した。

$ mkdir /var/lib/git/repos
$ mkdir /var/lib/git/repos/project.git
$ cd /var/lib/git/repos/project.git
$ git --bare init --shared
Initialized empty shared Git repository in /var/lib/git/repos/project.git/
  • –bare:git に対するオプション。管理ファイル等を作成する。
  • –shared:init に対するオプション。グループ書きこみ権限を追加する。

git用グループ作成

$ groupadd git
$ usermod -G wheel,git suusuke
$ chown -R root.git /var/lib/git/

wheelグループから外れないように、wheelも追加する。

クライアントからソースコミット

ローカルリポジトリ作成

$ cd ~/home/project/
$ git init

ローカルリポジトリコミット

$ git add .
$ git commit -m "First Commit"

リモートリポジトリの登録

$ git remote add origin ssh://[username]@[servername]:[port]/var/lib/git/repos/project.git

リモートリポジトリへpush

$ git push origin master

参考

gitweb

引用元: CentOS – Git サーバ構築! – mk-mode BLOG.

取り合えず構築した感じなので、後は会社のPCからgit cloneを試してみる。

MySQLとバーチャルホストディレクトリのバックアップ

バックアップシェル

$ vim /root/backup.sh

#!/bin/sh

# 何日分保存するか
period=3
# バックアップしたいディレクトリ(バーチャルホストディレクトリ)
wwwdir=/home
# バックアップ保存先ディレクトリ
dirpath=/root/backup
# 今日のバックアップを保存するディレクトリ
todaydir=`date '+%Y%m%d'`
# DBユーザー
dbuser=user
# DBパスワード
dbpassword=xxxxxxxx

# 今日のバックアップを保存するディレクトリを作成
mkdir $dirpath/$todaydir

# MySQLバックアップ
for i in `mysql -u$dbuser -p$dbpassword -e "show databases"`
do
    if [ $i == "Database" ]; then
        continue
    fi;
    mysqldump --single-transaction $i -u$dbuser -p$dbpassword --opt | gzip > $dirpath/$todaydir/mysql.$i.sql.tar.gz
done;

# ディレクトリバックアップ
for i in `ls $wwwdir`
do
   tar cvfz $dirpath/$todaydir/www.$i.tar.gz $wwwdir/$i
done
tar cvfz $dirpath/$todaydir/www.$i.tar.gz /var/www


olddir=`date -d "$period days ago" '+%Y%m%d'`
rm -rf $dirpath/$olddir

実行

$ chmod 0700 /root/backup.sh
$ /root/backup.sh

$ ll /root/backup
合計 4
drwxr-xr-x 2 root root 4096 12月 31 01:17 20131231

cron追加

$ crontab -e

0 4 * * * /root/backup.sh 1> /dev/null

WordPressの管理画面にBasic認証を設定する際のhtaccessの書き方

.htaccessでBasic認証設定をした場合、WordPressの予約投稿に失敗したり、Flashアップローダーが正常に動作しなかったりするので、.htaccessに予約投稿やFlashアップローダーのプログラムを除外するように記述する。

User:Hakre/Htaccess Auth Excludes « WordPress Codex.


AuthName "Input ID & Password"
AuthType Basic
AuthUserFile /home/blog/.htpasswd
Require valid-user

# Exclude the file upload and WP CRON scripts from authentication
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
</FilesMatch>