GitLab5.4をCentOS6.4にインストールする。(2)
さて、前回からの続き。・・・忘れたw。次、何するんだっけ?
GitLabのインストール
いよいよ、GitLabのインストール。
基本的にここを見ながら進めていきます・・・が、分からんわwww
https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md
# su - git
$ cd /home/git
$ git clone https://github.com/gitlabhq/gitlabhq.git gitlabInitialized empty Git repository in /home/git/gitlab/.git/ remote: Counting objects: 54488, done. remote: Compressing objects: 100% (18934/18934), done. remote: Total 54488 (delta 39937), reused 48920 (delta 34852) Receiving objects: 100% (54488/54488), 22.59 MiB | 505 KiB/s, done. Resolving deltas: 100% (39937/39937), done.$ cd gitlab
$ git checkout 5-4-stableBranch 5-4-stable set up to track remote branch 5-4-stable from origin. Switched to a new branch '5-4-stable'
GitLabの設定やらディレクトリの作成やら
そしたら、とりあえず設定ファイルのexampleを基にして設定ファイルを作成してちょこちょこっと修正、
・・・と思ったけど、gitlab.ymlを眺めてみたら、なんかデフォルトで大丈夫そう?
$ pwd
/home/git/gitlab$ cp ./config/gitlab.yml.example ./config/gitlab.yml
参考にしているページに従ってディレクトリを作成したりchownしたりchmodしたり。
$ chown -R git log/
$ chown -R git tmp/
$ chmod -R u+rwX log/
$ chmod -R u+rwX tmp/
$ mkdir /home/git/gitlab-satellites
$ mkdir tmp/pids/
$ mkdir tmp/sockets/
$ chmod -R u+rwX tmp/pids/
$ chmod -R u+rwX tmp/sockets/
$ mkdir public/uploads
$ chmod -R u+rwX public/uploads/
さて、ここで「はて」と悩む。
unicornって何?ガンダム?サイコフレーム発動していいの?
あと前回gitの設定もしたけど、以下もやっとく。
git config --global core.autocrlf input
GitLabで使用するDB(MySQL)に関する設定
次はGitLabで使用するDBに関する設定ファイルを作成して修正。
$ cp ./config/database.yml.mysql ./config/database.yml
$ vi ./config/database.yml# # PRODUCTION # production: adapter: mysql2 encoding: utf8 reconnect: false database: gitlabhq_production pool: 10 # username: root # password: "secure password" username: gitlab password: gitlab # host: localhost # socket: /tmp/mysql.sock # # Development specific # development: adapter: mysql2 encoding: utf8 reconnect: false database: gitlabhq_development pool: 5 # username: root # password: "secure password" username: gitlab password: gitlab # host: localhost # socket: /tmp/mysql.sock # socket: /tmp/mysql.sock # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. test: &test adapter: mysql2 encoding: utf8 reconnect: false database: gitlabhq_test pool: 5 # username: root # password: username: gitlab password: gitlab # host: localhost # socket: /tmp/mysql.sockGemのインストール
次の難関。つ〜か、分からん。charlock_holmesって何だ?
シャーロック・ホームズ?探偵?コナンじゃないの?
とりあえずインストールする。
$ su - root
# cd /home/git/gitlab
# gem install charlock_holmes --version '0.6.9.4'Fetching: charlock_holmes-0.6.9.4.gem (100%) Building native extensions. This could take a while... ERROR: Error installing charlock_holmes: ERROR: Failed to build gem native extension. /usr/local/bin/ruby extconf.rb checking for main() in -licui18n... no which: no brew in (/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) checking for main() in -licui18n... no *************************************************************************************** *********** icu required (brew install icu4c or apt-get install libicu-dev) *********** *************************************************************************************** *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/local/bin/ruby --with-icu-dir --without-icu-dir --with-icu-include --without-icu-include=${icu-dir}/include --with-icu-lib --without-icu-lib=${icu-dir}/lib --with-icui18nlib --without-icui18nlib --with-icui18nlib --without-icui18nlib Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/charlock_holmes-0.6.9.4 for inspection. Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/charlock_holmes-0.6.9.4/ext/charlock_holmes/gem_make.out
・・・そして躓く。くぅ。。。
メッセージを見た限りlibicu-devが無いから・・・か?
ならば!libicu.i686 4.2.1-9.1.el6_2 @anaconda-CentOS-201303020136.i386/6.4 libicu-devel.i686 4.2.1-9.1.el6_2 base libicu-doc.noarch 4.2.1-9.1.el6_2 base
なんだこれ?とりあえずlibicu-develをインストールしてから再度ホームズをインストールする。# gem install charlock_holmes --version '0.6.9.4'
Building native extensions. This could take a while... Successfully installed charlock_holmes-0.6.9.4 1 gem installed Installing ri documentation for charlock_holmes-0.6.9.4... Installing RDoc documentation for charlock_holmes-0.6.9.4...
うまくいったっぽい。
続けてbundle install。bundle exec。これ、かなり時間掛かった。。。ちょっと風呂入ってくる。。。# bundle install --deployment --without development test postgres unicorn aws
# chmod 666 /home/git/gitlab/log/production.log
# su - git
$ cd /home/git/gitlab
$ bundle exec rake gitlab:setup RAILS_ENV=production: : : Administrator account created: login.........admin@local.host password......5iveL!feGitLabのサービス起動設定
とりあえずサービス起動用のシェルをどっかから持ってきて起動させてみる。# curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/5-0-stable/init.d/gitlab
# chmod +x /etc/init.d/gitlab
# service gitlab start・・・なんか動いてる気がしない。つ〜か動いてない。とりあえず放置。。。
Apacheで動かすための設定。
なんかよく分からんが、Apacheが/home/git以下にアクセスできるように以下を実施。
# usermod -G git apache
# chmod g+rX /home/git次にバーチャルホストの設定。
httpd.confにGit用のバーチャルホストを定義する。そしてhttpdの再起動。# cd /etc/httpd/conf
# vi httpd.confNameVirtualHost *:80 # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for requests without a known # server name. # ## ServerAdmin webmaster@dummy-host.example.com # DocumentRoot /www/docs/dummy-host.example.com # ServerName dummy-host.example.com # ErrorLog logs/dummy-host.example.com-error_log # CustomLog logs/dummy-host.example.com-access_log common # ServerName www.mngsvr01.gitlab DocumentRoot /home/git/gitlab/public # service httpd restart
とりあえずクライアントPCのhostsファイルに上記で設定したバーチャルホストを書いとく。
クライアントPCがWindows7の場合、まずはメモ帳アイコンを右クリックして表示されるメニューから「管理者として実行...」を選択して起動する。
そしてC:\Windows\System32\drivers\etc\hostsを開いて以下のように追記。192.168.0.11 www.mngsvr01.gitlab # VirtualHost for GitLabさて、これでクライアントPCから以下のURLでアクセスしてみる。
そしたら、こうだぁぁぁ!
やっと画面出た!泣けた!!
もうサービス起動しない時は諦めかけた。
あと巷じゃnginx連携ばかりでApache連携分からなくて諦めかけた。
いやぁ、良かった。
次はGitLabの使い方、つ〜かそもそもGitの使い方って・・・てな感じで。
ん?
ふとGitLabのGitHub覗いてみたんだが・・・
あれ?6.0-stableって・・・
うわぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ
GitLab5.4をCentOS6.4にインストールする。(1)
さて、全然プログラミングはしていないわけだが、ソース管理について考えてみる。
会社じゃあMS系はVisualSourceSafe(以後VSS)が中心なんだけど、WEBアプリ、特にJavaもVSSで管理してたり統一感は取れてるかもしれんが開発時の利便性がかなり損なわれている感じ。
で、ここ数年はWEB関係ではEclipseを使うようにしてソースコードもSubversionで管理するようにして、Eclipse上でソースの取得やコミットするようになって・・・ってこれ、世間じゃ普通なはずなのに結構今まで普通じゃなかった。
でも、ようやく会社でもSubversionが浸透してきたわけだけど・・・
今、gitだよね?
ソーシャルコーディングって感じでgithub?こいつも流行ってるよね?
それなのにSubversionでいいの?いや、いいんじゃね?って話もあるが・・・
俺たちは新しいことを知ってしまったら試さずにはいられない!そんな人種なんだ!いやそうでありたい!
つ〜わけで、gitだな、gitで行くんだな、gitらーーーーーーーーーーーーぶっ、なんだな!
つ〜わけで、GitLabをインストールする。するしかない。ラブ[lab|love]だし。
GitLabとは?
さて、そもそもGitLabってなんなのよ?ってことだが、つまるところソース管理のエンジンとなるgitのフロントエンドって感じでしょうか?
色々なサイトを調べてみると「GitHubのようなサービスをクローズドな環境に構築できるようにする」ものみたい。
しかもRuby on Railsで実装されてます、って・・・Redmine同様インストールに時間が掛かるのでしょうか。仕方ないですね、ラブ[lab|love]ですから。
インストール前の準備
Redmineをインストールしたおかげでepelリポジトリ追加したりRubyインストールしたりってのはもう不要なんだけどRedisってやつをインストールしなきゃいけないっぽい。
Redisというのはデータ構造サーバーとも呼ばれるインメモリデータベースの1つらしい。
・・・まったく分からん。memcachedみたいなもん?・・・まぁmemcachedも、あんま分からんがwww
とりあえずインストールしてみる。そして自動起動も設定。そしてサービス起動。
# yum install redis
# chkconfig redis on
# service redis start
GitLab用のユーザーを作成しておく必要があるらしいので、以下で作成。
# useradd git
GitLab上で登録されるユーザーはすべて上記で作成したgitユーザーのsshキーで管理されるっぽい。
なので、予め作成しておく必要がある。
# su - git
$ cd /home/git/
$ mkdir .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ chmod 700 .ssh
gitのほうも設定しておく。
$ git config --global user.name "GitLab"
$ git config --global user.email "gitlab@localhost"
GitLab shellのインストール
で、GitLab shellをインストールする。これってGitoliteの代わりに出てきたやつですか?
ちなみにチェックアウトのバージョン番号はGithubのgitlab-shellで確認。
$ git clone https://github.com/gitlabhq/gitlab-shell.git
$ cd gitlab-shell/
$ git checkout v1.7.0
$ git checkout -b v1.7.0
$ cp config.yml.example config.yml
$ vi config.yml
$ ./bin/install
$ exit
#
MySQLの設定
MySQLはインストール出来ているんだけど、my.cnfにbind-addressは設定しておく必要があるっぽい。
# vi /etc/my.cnf
[mysqld] bind-address = 127.0.0.1
# service mysqld restart
そんでもってDBを作成。
# mysql -u root -p
> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY 'gitlab';
> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;
> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';
> \q
・・・今日はここまで。
うわ〜、なんか調べながら実行してるからGitLabのインストールまでいってねーよwww
予想通りだ。。。はぁぁぁ。。。ラブって辛い。。。
テキストエディター考(Windows版)
今日はフリーのテキストエディターについて色々考えてみます。
しかもWindows環境で。
さて、Windowsでエディターといえば、秀丸が有名です。
タブ化で複数起動しても扱いやすいしカスタマイズも出来て何よりマクロも使える。
検索も正規表現使えるしGREPでファイル検索できるし便利。
でもね、結構お高いわけです。
で、フリーで使いやすいテキストエディターを探しています。
俺が求めるテキストエディター、それは使いやすいこと。
でもそれじゃ一言過ぎなので、色々とテキストエディターに求める要件を考えてみる。
テキストエディターとして、俺的に必要なもの
テキストエディターに求めるものは以下だろうか。どうだろうか。
- フリーソフト
- タブ化
- 文字色、背景色などのカスタマイズ、特に黒背景で文字色白な設定可能
- 複数文字コード対応だったり
- 拡張子により単語が強調表示されたり
- 検索機能で正規表現使えたり
- GREPも使えたり
- 矩形選択可能だったり
- 対応する括弧が強調表示されたり飛べたり
- マクロは案外使わないけど、あるとやっぱり便利
- デザインがそれなりにかっこよかったりシンプルだったり
普段よく使ってる機能から要件を導き出すとこんなところか。
ちなみにこの記事を書くにあたって使用しているエディターはTeraPad。
これもフリーですが機能的にはかなり揃っている。
ただし、このソフトだけではタブ化できないことが、自分的にマイナス。
で、探してみるとサクラエディタがいけそうか?
サクラエディタと出会う
とりあえずダウンロードして試してみる。
2013年7月28日時点で最新はVer.2.1.0.0みたいです。
でもインストーラパッケージはVer.2.0.5.0みたい。
なのでまずはインストーラパッケージでインストールしてその後Ver.2.1.0.0のexeで上書き、かな。
でもなんかVer.2.1.0.0のインストーラ?これ。。。
やってみる。
なんかインストーラを起動したらavast!が起動してマルウェアなんじゃねぇ?みたいなことを言ってきた。
気にしない。
セットアップ中の追加タスクの選択で「Quick Launchにアイコン作成」「起動時に常駐」以外をチェック。
インストールが終わって起動。
メニューバーにある目玉のアイコンが少し気に入らない。
早速調べる。
1.タブ化
設定の「タブバーを表示」でタブは表示された。
一度サクラエディタを終わらせて再び起動してもタブは表示された。OK。
2.色カスタマイズ
どこで設定するのかよく分からん。タイプ別設定か?
設定の「タイプ別設定」のスクリーンタブで「設定の名前」がテキストに対して、カラータブの画面に移動して・・・ここか。
とりあえず背景色を黒、文字色を白にしたいんだが面倒。
ここでインポート、エクスポートのボタンがあることに気付いた。
多分世の中に設定が落ちてるはず。
・・・30分経過。見つからん。止めた。自分で設定する。
でも出来ることは分かった。OK。
4.強調表示
2の色カスタマイズで拡張子による単語の強調表示も出来そう。
ただし、2とこの4は時間がかかりそうだぜ。。。
6.GREP
問題なし。OK。
7.矩形選択
[Shift]+[F6]で矩形選択モードに突入。これ良いわ!秀丸より良いよ。
8.対応括弧強調表示とか
なんかデフォで括弧の前にカーソル置くと対応する括弧の色が変わるな。OKだぜ。
ちなみに対応括弧にジャンプするには[Ctrl]+[[]または[Ctrl]+[]]。
9.マクロとか
色々充実してる。
以下からいくつか入れてみる。
例えば選択行をコメント、またはコメント解除。
拡張子で制御している部分があるので、定義している拡張子意外だとUndefinedって文字列が補完されるっていう微妙な動作はあるけど・・・いけるぜ!
JenkinsをCentOS6.4にインストールする。
さて、とりあえずJenkinsぅぅぅ!
インストールしてみた。やたら簡単。
rootユーザーになって以下のコマンドでOK!
# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
# rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
# yum install jenkins
そんでもって設定!
まずはJenkinsで使用するポートを!開けるっ!!
# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 18080 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
- INPUT ACCEPT [0
- 0]
- FORWARD ACCEPT [0
- 0]
- OUTPUT ACCEPT [0
- 0]
# service iptables restart
そしてさっき開けたポート番号をJenkinsに割り当てるために設定ファイルを修正修正ぃぃぃ〜
# vi /etc/sysconfig/jenkins
# JENKINS_PORT="8080" JENKINS_PORT="18080"
そして!Jenkinsを起動!Redmineとぜんぜん違う!早い!
# service jenkins start
ついでに自動起動されるように設定。
# chkconfig jenkins on
そしたら以下のURLにアクセス!
http://[サーバーのIPアドレス]:18080/
そしたら、こうだ!
Yes!
今回は簡単だったわ。。。
次はどうするかな。。。
Redmineを設定する
Redmineのインストールは完了した!・・・っぽい。
で、まずは見た目!見た目が大事!
というわけで、テーマを入手&インストールする。
テーマの入手&インストール。それとデフォ設定のロード
テーマはfarend fancyテーマってやつをインストールしよう。
インストール方法は、Redmineのインストールディレクトリで以下のコマンドを実行する。
# git clone git://github.com/farend/redmine_theme_farend_fancy.git public/themes/farend_fancy
そしてhttpdを再起動。
# service httpd restart
で、次はログイン!
http://[サーバーのIPアドレス]/redmine/でアクセスして表示される画面の右上のログインリンクをクリックするとログイン画面が表示されるのでadmin/adminでログイン。
そして次は管理。
するとこんな画面が。
とりあえず「デフォルト設定をロード」ボタンをクリックする。
そして設定!
設定リンクをクリック後、表示タブをクリック。
そこで、テーマをFarend fancyに、規定の言語をJapanese(日本語)に、ユーザー名の表示書式をAdmin Redmineに変更して「保存」ボタンをクリック。
すると・・・
アイコンが表示されたり。
フォントがなんだか綺麗になったり。
テンションちょっと上がってきた。。。
さて次は設定->全般でホスト名を[サーバーのIPアドレス]/redmineに、添付ファイルとリポジトリの円コーディングをutf-8,cp932,euc-jpとして保存。
そして次。メール通知!
ちょいとハマったメール通知
さて、メール通知のリンクをクリック。
・・・あれ?
・・・まぁ、確かに。configuration.ymlちゃんと設定してねぇし。
さて、SMTPサーバーどうしようw
SMTPサーバーを自前で立ち上げようと思って色々調べてみたけど、面倒臭い!
用語がよう分からん!
FQDNって何?!DQNの親戚?!
というわけで、GoogleさんのSMTPサーバーを利用させてもらいましょ。
ここで、WEBブラウザーから離れてまたTeraTermからサーバーに接続。
/var/lib/redmine/configの下のconfiguration.ymlを編集してSMTPサーバーの設定をしちゃう。
# vi /var/lib/redmine/config/configuration.yml
default: email_delivery: delivery_method: :smtp smtp_settings: enable_starttls_auto: true address: "smtp.gmail.com" port: 587 domain: "smtp.gmail.com" authentication: :plain user_name: "****.*******.****@gmail.com" password: "*************" rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf
保存した後はApacheを再起動。
・・・つ〜か、Redmineの再起動ってApacheの再起動でいいんだよな?
# service httpd restart
そしたらWEBブラウザーに戻ってadminでログイン。
メール通知を試す前に管理のユーザーリンククリックでadminに対してメアドを設定。
それからメール通知へ。
お、俺の願いが通じたか?
送信元メールアドレスの欄は適当に。
そしてメールのヘッダまたはフッタに適当に入力。
そして、画面右下の「テストメールを送信」リンクをクリック!
・・・これ、実はかなりたくさんやった。configuration.ymlどう書いたらいいか分からんかった。結構ハマりまくり。
で、ようやくadminに設定したメアドにメール来た!
やっと俺の願いが通じた!
あとはadmin以外に開発ユーザーってことでdevuser01を追加。
あと残ってるのはトラッカーとチケットのステータスだけど・・・これは開発やりながら考えよっと。
とりあえず、こんなところかな。
次は・・・Jenkinsあたりかな。
Redmine2.3.2をCentOS6.4にインストールする。
以下のページを参考にしてRedmineをインストールしたんだが、ところどころ違う箇所があるのでメモっておく。
SELinuxを無効にする
/etc/sysconfig/selinuxを開き編集して再起動
# vi /etc/sysconfig/selinux
SELINUX=enforcing ↓ SELINUX=disabled# reboot now
以下のコマンドでSELinuxが無効(Disabled)になっていることを確認。
# getenforce
iptablesでHTTPを許可
ファイアウォールのデフォ値では外部からHTTPに接続できん。
つ〜わけでiptablesの設定を以下の通りに変更してサービス再起動。
# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
- INPUT ACCEPT [0
- 0]
- FORWARD ACCEPT [0
- 0]
- OUTPUT ACCEPT [0
- 0]
# service iptables restart
EPELリポジトリの登録
Rubyのビルドに必要なlibyamlをyumでインストールできるようにするために、EPEL(エンタープライズ Linux 用の拡張パッケージ)リポジトリを追加する。
まず以下ののURLを開く。
で、2013年7月14日時点でepel-release-6-8.noarchとなっているリンクURLをコピー。
その後は以下のコマンドで、CentOSのyumリポジトリにEPELを追加する。
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
必要なパッケージをインストール
以下のコマンドで既にインストール済みの確認する。
# yum grouplist
すると開発ツールは既にインストール済みなので飛ばす。
で、RubyとPassengerのビルドに必要なヘッダファイルなどを以下のコマンドでインストール。
# yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel
MySQLとApacheはインストール済みなので飛ばす。
日本語フォントもインストール済みなので飛ばす。
あとはImageMagickのみ。
# yum install ImageMagick ImageMagick-devel
Rubyのインストール
RubyのオフィシャルサイトのダウンロードページからRuby 1.9.3の最新のソースコードをダウンロードする。
# mkdir soft
# cd soft
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p448.tar.gz
ダウンロードしたRubyのtarballを展開してconfigureを実行後、ビルドとインストール。
これが結構時間かかる。。。
# tar zxvf ruby-1.9.3-p448.tar.gz
# cd ruby-1.9.3-p448
# ./configure --disable-install-doc
# make
# make install
インストール後、rubyコマンドを実行して正しくインストールされたことを確認
# ruby -v
ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux]
続いてRedmineが使用するGemを一括インストールするためのツール、bundlerをインストール。
# gem install bundler --no-rdoc --no-ri
MySQLの設定
まず以下のようにしてMySQLのデフォルトキャラセットをutf8に設定する。
# vi /etc/my.cnf
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 character-set-server=utf8 innodb_file_per_table query-cache-size=16M [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [mysql] default-character-set=utf8
# service mysqld restart
# chkconfig mysqld on
以下のようにしてMySQLの設定が反映されているか確認。
# mysql -uroot
mysql> show variables like 'character_set%';+--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+8 rows in set (0.00 sec)
そしてそのままrootユーザーのパスワード変更・匿名ユーザー削除を実施。
mysql> use mysql;
mysql> update user set password=password('********') where user = 'root';
mysql> delete from user where user = '';
mysql> flush privileges;
mysql> exit;
※ ******** の部分は任意のパスワードを設定するんだよ。
続いて、Redmine用データベースとユーザーの作成する。
# mysql -uroot -p
Enter password:
mysql> create database db_redmine default character set utf8;
mysql> grant all on db_redmine.* to user_redmine identified by '********';
mysql> flush privileges;
mysql> exit;
※ ******** の部分は任意のパスワードを設定するんだよ。
Redmineのインストール
ようやくRedmineをインストール。
なんと本日2013年7月15日、Ver.2.3.2がリリースされとりました。
こいつをゲットして解凍します。
# cd /root/soft/
# wget http://rubyforge.org/frs/download.php/77023/redmine-2.3.2.tar.gz
# tar zxvf redmine-2.3.2.tar.gz
解凍したRedmineを/var/lib/redmineとして配置する。
次にRedmineからデータベースへ接続するための設定を記述したファイルを作成する。
一応サンプルがあるので、そいつをコピーして作成。
# cd /var/lib/redmine/config
# cp database.yml.example database.yml
# vi database.ymlproduction: adapter: mysql2 database: db_redmine host: localhost username: user_redmine password: ******** encoding: utf8
※ ******** の部分はさっきRedmine用データベースとユーザー作成で設定したパスワードだよ。
ちなみにviで複数行をコメントアウトしたい場合は、
これでOK。べ、べんり〜
続いてRedmineからメールサーバへ接続するための設定や日本語フォントファイルのパスを記述した設定ファイルを作成する。
# cp configuration.yml.example configuration.yml
# vi configuration.ymlproduction: email_delivery: delivery_method: :smtp smtp_settings: enable_starttls_auto: true address: "smtp.gmail.com" port: 587 domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps authentication: :plain user_name: *****.*****@gmail.com password: ******** rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf
※正直、ここは後で設定するんで適当です。
bundlerを使用してRedmineで使用するGemをインストール。
# cd /var/lib/redmine
# bundle install --without development test
Redmineの初期設定とデータベースのテーブル作成
Redmineのインストールディレクトリで以下のコマンドを叩いて、セッションデータ改竄防止用鍵の生成とテーブルを作成する。
# bundle exec rake generate_secret_token
# RAILS_ENV=production bundle exec rake db:migrate
後はPassengerのインストールやらApacheの設定やらが残ってるんだが、ちと休憩。
長ぇぇぇ。。。やべぇ、疲れた。。。
(休憩中)
Passengerのインストール
Apache上でRedmineなどのRailsアプリケーションの実行に必要なPhusion Passengerをインストールする。
# gem install passenger --no-rdoc --no-ri
インストーラを実行してPassengerのApache用モジュールをインストールする。
# passenger-install-apache2-module
インストールが完了すると以下のように表示されるので、太字部分をコピーしておく。
The Apache 2 module was successfully installed. Please edit your Apache configuration file, and add these lines: LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.8/buildout/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.8 PassengerDefaultRuby /usr/local/bin/ruby After you restart Apache, you are ready to deploy any number of Ruby on Rails applications on Apache, without any further Ruby on Rails-specific configuration! Press ENTER to continue.
- -
Apacheの設定
Apacheの設定にPassengerの設定を追加する。
ただし、Passengerの設定はApacheの設定ファイルhttpd.confとは別のファイルにまとめる。
# vi /etc/httpd/conf.d/passenger.conf
# Passengerの基本設定。 # passenger-install-apache2-module --snippet を実行して表示される設定を使用。 # LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.8/buildout/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-4.0.8 PassengerDefaultRuby /usr/local/bin/ruby # Passengerが追加するHTTPヘッダを削除するための設定(任意)。 # Header always unset "X-Powered-By" Header always unset "X-Rack-Cache" Header always unset "X-Content-Digest" Header always unset "X-Runtime" # 必要に応じてPassengerのチューニングのための設定を追加(任意)。 # 詳しくはPhusion Passenger users guide(http://www.modrails.com/documentation/Users%20guide%20Apache.html)を参照 PassengerMaxPoolSize 20 PassengerMaxInstancesPerApp 4 PassengerPoolIdleTime 3600 PassengerHighPerformance on PassengerStatThrottleRate 10 PassengerSpawnMethod smart RailsAppSpawnerIdleTime 86400 PassengerMaxPreloaderIdleTime 0
※赤字のところが、参考にしたサイトとは違うのです。
あとはApache自体のServerNameがまだ設定されていないので以下の通り設定。
# vi /etc/httpd/conf/httpd.conf
#ServerName www.example.com:80 ServerName mngsvr01:80
以下のコマンドでApacheの起動および自動起動の設定を実施
Apache上のPassengerでRedmineを実行するための設定
RedmineをApache実行ユーザー・グループで読み書きできるようにオーナーを変更する。
さて、Redmineの実行のさせ方だが、このサーバーではRedmineだけでなく他にもアプリを動かしたいのでサブディレクトリでRedmineを実行させよう、そうしよう。
つ〜わけで、/var/www/htmlの下にRedmineのpublicへのシンボリックリンクを作成する。
あと/etc/httpd/conf.d/passenger.confに以下を追加。
# vi /etc/httpd/conf.d/passenger.conf
RackBaseURI /redmine
設定後、Apacheを再起動する。
そして!
以下のURLにアクセス!
そしたら、こうだ!
Yes!
よし、次回はRedmineの設定などを。。。
CentOS6.4をインストールする。(2)
さて、前回はメモリーが届いたところまで。
メモリーを増設する。怖い。
ノートPCの裏のパネルを空けると、そこには空のメモリーソケットが。
斜め45度にメモリーをはめた後に水平に押し込む。
「カチッ」
はまった。。。なんか怖い。
外付けDVDドライブを付けてノートPCを起動。
起動時にF2を押してBIOS上でメモリーを確認すると・・・
1GB
に、認識してる。(うれし涙)
そしてインストーラーを起動。
あれ、テキストモードに入った。。。なんで。。。
とりあえずLanguage、KeyboardまでをJapanese、Jp106と選択して。。。
ここまでテキストモード。。。逃れられんのか。。。
しかし、ここでまたDisk Foundと出てGUIモードに!(うれし涙)
というわけで、以下のサイトを見てパッケージ選択。
何も考えない。何も悩まない。
そして選択したパッケージは以下の通り
WEBサービス
PHPサポート(12/12)
Webサーバー(20/20)
Webサーブレットエンジン(/)
アプリケーション
Emacs(4/4)
TeXのサポート
インターネットアプリケーション(8/8)
インターネットブラウザ(3/3)
サーバー
CIFSファイルサーバー(1/1)
FTPサーバー(1/1)
NFSファイルサーバー
ディレクトリサーバー(6/6)
ネットワークインフラストラクチャサーバー(15/15)
ネットワークストレージサーバー(2/2)
バックアップサーバー(2/2)
プリントサーバー(5/5)
識別管理サーバー(10/10)
電子メールサーバー(10/10)
デスクトップ
X Window System(10/10)
グラフィカル管理ツール(16/16)
デスクトップ(16/16)
汎用デスクトップ(GNOMEデスクトップ)(49/49)
データベース
MySQLデータベースサーバー(2/2)
MySQLデータベース接続クライアント(5/5)
PostgreSQLデータベースサーバー(7/7)
PostgreSQLデータベース接続クライアント(7/7)
ベースシステム
Javaプラットフォーム(0/1)
Perlのサポート(5/12)
コンソールインターネットツール(7/7)
ディレクトリ接続クライアント(17/17)
デバッグツール(18/18)
ネットワークファイルシステムクライアント(5/6)
ハードウェア監視ユーティリティ(1/4)
パフォーマンスツール(8/14)
ベース(116/116)
大規模システムのパフォーマンス(5/6)
仮想化
仮想化(2/2)
仮想化クライアント(1/1)
仮想化プラットフォーム(7/7)
言語
日本語のサポート(6/6)
開発
その他の開発(105/105)
開発ツール(46/46)
インストール後、まずはネットワークの設定をする。
とりあえずIPアドレスを192.168.0.11に固定。
次にサービスを見てSSHが動いていることを確認。
で、実はクライアントPCをこの前中古で買った。
ノートPC。すなわちPanasonic Let's note、CF-T8FW1AJR。
Let's noteだらけ。
そのクライアントPCにTeraTermをインストール。
http://www.forest.impress.co.jp/library/software/utf8teraterm/
そしてTeraTermからサーバーへ接続。
接続できた。。。(うれし涙)
というわけで、OSのインストールは完了。
次回は・・・Redmineかな。