GSHダラダラBlog

CloudCoreの備忘録的に書いてるブログ

gitの環境構築中

http://pkgs.repoforge.org/rpmforge-release/

$ wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
$ sudo rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
$ sudo vi /etc/yum.repos.d/rpmforge.repo

[rpmforge]
enabled = 0 → enabled = 1

$ sudo yum --enablerepo=rpmforge install git git-daemon



$ mkdir /var/git



$ ssh-keygen -t rsa
パスフレーズなしで作成
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

      • -

http://d.hatena.ne.jp/Dltn/20121114/1352905191
http://www.atmarkit.co.jp/fjava/rensai4/devtool26/devtool26_2.html

Maven2環境をあれこれ

社内リポジトリ作成

自前のライブラリだけならローカルリポジトリで事足りるけど、折角サーバを借りてるんだし。
まずはApacheWebDAVを設定。
mod_dav.soとmod_dav_fs.soがインストされてなければインストを。
今回公開するWebDAVMavenのデプロイ先になるリポジトリなので…。

# mkdir /var/mvn/release
# mkdir /var/mvv/snapshot
# chown apache:apache /var/mvn/release
# chown apache:apache /var/mvn/snapshot

リリース用とスナップショット用を適当な場所に作成。
所有者とかをWebDAV操作できるようにapacheに変更。
今度はApacheの設定ファイルを作成。

# vi /etc/httpd/conf.d/mod_dav.conf
<IfModule mod_dav.c>
    Alias /maven "/var/mvn/release/"
    Alias /maven-snapshot "/var/mvn/snapshot/"

    <Location /maven>
        Options Indexes FollowSymLinks
        Dav On
        DavMinTimeout 600
        AuthUserFile "/etc/httpd/passwd/.htpasswd-maven"
        AuthType Basic
        AuthName "WebDAV"
        Require valid-user
    </Location>
    <Location /maven-snapshot>
        Options Indexes FollowSymLinks
        Dav On
        DavMinTimeout 600
        AuthUserFile "/etc/httpd/passwd/.htpasswd-maven"
        AuthType Basic
        AuthName "WebDAV"
        Require valid-user
    </Location>
</IfModule>

httpd.conf側でLoadModuleはされてるのでWebDAVの設定のみ記述。
他のサイトやブログでみるとVirtualHost使ってたりが多かったのでちょいと悩んだり。
Basic認証をかけるのでファイル作成後にhtpasswdコマンドでAuthUserFileに指定したファイルを作る。
Apacheを再起動してWebからアクセスしてパスワードが聞かれればまあ成功。

クライアント側のインストール

Maven - Download Mavenここから2.2.1と3.0.4のBinary zipをDL。
2系と3系でどうかわったのかいまいちわからなかったので両方。
ZIPを解凍したら環境変数に「M2_HOME」を設定してPATHにも追加。

settings.xmlの作成

ユーザホーム配下に.m2/settings.xmlを作る。
Windows環境だと「C:\Document and Settings\{ユーザ名}\.m2\settings.xml」

<?xml version="1.0" encoding="utf-8"?>
<settings>
  <servers>
    <server>
      <id>mvn.dav.serv</id>
      <username>{WebDAVのユーザ名}</username>
      <password>{WebDAVのパスワード}</password>
    </server>
  </servers>
</settings>

settings.xmlにdeployするサーバ(WebDAV)の設定を記述。

m2eclipseのインストール

eclipseの新規ソフトウェアのインストールから。
リポジトリに「http://download.eclipse.org/technology/m2e/releases」を追加。
もしくは作業対象に直接入力。
f:id:gsh-kz:20120318000355j:plain
Maven統合にチェックをいれてインスト開始。
最近のはプラグイン内部にMaven同梱してるぽい。


eclipseの再起動後Mavenプラグインの設定を変更。
f:id:gsh-kz:20120318000934j:plain
『始動時にリポジトリー・インデックス更新をダウンロード』はチェック外した方がいいかも。
f:id:gsh-kz:20120318001450j:plain
インストールの項目で先にDLしてたやつを設定。
デフォルトで2系を使うように。

pom.xmlの作成

プラグインが入ってるのでプロジェクト作成もウィザードでできるので。
プロジェクトを作成したらpom.xmlにデプロイ先の設定を追加。

    <distributionManagement>
        <repository>
            <id>mvn.dav.serv</id>
            <url>dav:http://{ホスト名}/maven</url>
        </repository>
        <snapshotRepository>
            <id>mvn.dav.serv</id>
            <uniqueVersion>false</uniqueVersion>
            <url>dav:http://{ホスト名}/maven-snapshot</url>
        </snapshotRepository>
    </distributionManagement>

settings.xmlで記述したサーバidと合わせること。
あとURLの先頭に『dav:』をつける。
これがWebDAVへのデプロイという命令ぽい。
あとはMavenビルドからゴールに「deploy」を指定すればリモート鯖にアップロードされる(はず)。
他のサイトをみてたときにプラグインが必要な感じだったけど、記述なしで動いてるから…いいのかな?

phpMyAdminのあぷで

久しぶりにアクセスしたらアップデートがありますて表示されたので更新してみた。
といっても難しいこともなく、公式サイトから最新版のZIPをダウンロードしてきて解凍。
あとはconfig.inc.phpの内容を移したら完了。

ログ監視をする

logwatchのインスト

yumでさくっと。

# yum install logwatch

設定の変更

# vi /usr/share/logwatch/default.conf/logwatch.conf

MailTo = {結果の送信先}
mailer = "/usr/sbin/sendmail -t" <-修正

mailerを「sendmail -t」となっているところにパスを追加。
こうしないとメール送信で失敗に。

設定ファイル関係

logwatchの設定ファイルの場所とかで混乱したので自分用にメモ。
デフォルトの設定ファイル
/usr/share/logwatch/default.conf ディレクトリ配下。
デフォルトのスクリプトファイル
/usr/share/logwatch/scripts ディレクトリ配下。
ユーザ編集のファイル格納場所
/etc/logwatch/conf
/etc/logwatch/scripts


/etc/logwatch以下にファイルがあればそちらが優先されるぽい。


デフォルトでlogwatchは毎日朝4時に実行されるはずが、されない。
よくよく調べるとcrondがインストされてなかったというオチ。

# yum install vixie-cron

postfixのインスト

ログ管理で結果をメール送信するためにpostfixをインストしてみた。
(CloudCoreじゃsendmailも入ってないぽい)

smtpgmailを使う方法

# yum install postfix cyrus-sasl-plain

gmailTLS認証はPLAINらしく、postfixのみの依存関係だとcyrus-sasl-plainがインストされないので個別に指定。

main.cfの編集

DNSをつかっても借りてもいないので独自ドメインはないので思い切ってデフォルトで。
サーバ内からの送信のみで使用するのであまり関係なかったぽい?

# vi /etc/postfix/main.cf

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain <-追加

relayhost = [smtp.gmail.com]:587 <- relayhostに追加

smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt

smtp_xxxはファイルの末文に追記。

Gmailのアカウントとパスワード

GMailの認証で使用するファイル/etc/postfix/sasl_passwdを作成。

# vi /etc/postfix/sasl_passwd
[smtp.gmail.com]:587 {username}@gmail.com:{password}

# chmod 600 /etc/postfix/sasl_passwd
# postmap /etc/postfix/sasl_passwd

sasl_passwdの所有者をrootのみにしてpostmapコマンドでハッシュ化。

エイリアスの設定

rootの転送先メアドの設定

# vi /etc/aliases
root: {転送先メールアドレス}

# newaliases <-適用

メール送信

postfixを再起動してメールをだしてみる。

# /etc/init.d/postfix restart

# mail root

CloudCoreにこれまたmailコマンドが入ってなかったので「yum install mailx」でインスト。

subversionのインストール

インストール

# yum -y subversion

リポジトリの作成

# mkdir /var/svn/reps
# svnadmin create /var/svn/reps/test

testリポジトリが作成される。

svnserveの設定

httpdでの連携はせずにsvn://でアクセスするようにする。
起動スクリプトは以下のサイトのをコピー。
svnserve Init script | Mohanjith's Blog
スクリプトの中でOPTIONS変数を定義して「-r /var/svn」を追加。
「-r」オプションはURLのルートパスを設定できるため。
この場合は、svn://localhost/reps/testでアクセスできる。
(-rがない場合はsvn://localhost/var/svn/reps/testとなる)

自動起動するようにchkconfigに追加

# cp svnserve /etc/init.d/
# chmod 755 /etc/init.d/svnserve
# chkconfig -add svnserve
# chkconfig svnserve on

リポジトリの設定

以下のページを参考にリポジトリ内のconf/svnserve.confとpasswdを編集する。
ICHIBA BLOG: CentOSにsubversionサーバ設定メモ