ラベル CentOS の投稿を表示しています。 すべての投稿を表示
ラベル CentOS の投稿を表示しています。 すべての投稿を表示

2014/07/15

Vagrant で Bitnami Redmine の環境を作る

検証環境として Vagrant 上に bitnami redmine を構築したのでメモ。

Vagrant

% vagrant box add centos65 https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box
% vagrant init centos65
これで Vagrantfile が作成されたので少し編集。
起動して最新状態にしておく
% vagrant up
% vagrant ssh
$ sudo yum check-update
$ sudo yum update

Bitnami のインストール

$ sudo yum install wget
# 公式サイトでは 32bit が Recommended されているが、こっちでないと動かない
$ wget https://bitnami.com/redirect/to/38030/bitnami-redmine-2.5.2-0-linux-x64-installer.run
$ chmod 775 bitnami-redmine-2.5.2-0-linux-x64-installer.run
$ sudo ./bitnami-redmine-2.5.2-0-linux-x64-installer.run
ウィザード形式でインストールが完了するが、最初に英語を選ばないと、表示が怪しい

Redmine を自動起動に

$ sudo cp /opt/redmine-2.5.2-0/ctlscript.sh /etc/init.d/bitnami-redmine
$ sudo vi /etc/init.d/bitnami-redmine
こちらを参考に少しスクリプトを編集
$ chkconfig --add bitnami-redmine # ついでに起動しておく $ sudo sh /etc/init.d/bitnami-redmine

アクセス

いちいち ip 打つのはめんどくさいので hosts に 192.168.33.10 vm を追加して、http://vm/redmine にアクセス。
無事表示された。
こんな感じ。さすが All in one、かなりフルで入る。

2012/04/19

MySQL で接続、停止、開始ができない場合

こんな場合。
$ mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
$ /etc/init.d/mysql stop
MySQL manager or server PID file could not be found!       [FAILED]
$ /etc/init.d/mysql start
MySQL,Manager of pid-file quit without updating file       [FAILED]
MySQL のプロセスが生き残っているのが原因なので、ps ax | grep mysql して kill してやればいい。

2010/07/16

ServerMan@VPSにてRedmine+passengerを設定

ServersMan@VPS に Redmine を導入しましょう。
passenger で動かすので、passenger の導入・設定なども

[passengerのインストール]
% yum -y install httpd-devel
% gem -y install passenger
% /usr/bin/passenger-install-apache2-module
% vi /etc/httpd/conf.d/passenger.conf
    # passenger の設定
    LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
    PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15
    PassengerRuby /usr/bin/ruby

[redmine の配置]
% mkdir /var/lib/rails
% wget http://rubyforge.org/frs/download.php/71530/redmine-0.9.6.tar.gz
% tar zxf redmine-0.9.6.tar.gz
% mv redmin-0.9.6 /var/lib/rails/redmine
% ln -s /var/lib/rails/redmine/public /var/www/html/redmine

[redmine の設定]
% cd /var/lib/rails/redmine
# データベースを作る
% su - postgres
$ createdb redmine
$ exit
# database.yml を作成
% mv config/database.yml.example config/database.yml
% vi config/database.yml
    production:
      adapter: postgresql
      database: redmine
      host: localhost
      username: rails
      password: password
      encoding: utf8
% vi vendor/rails/actionpack/lib/action_controller.rb
    gem 'rack', '~> 1.1.0'   # gem 'rack', '~> 1.0.1'から変更
# マイグレーション前にセッション情報を作っておく必要がある
# 作らずにマイグレーションを行うと下記のようなエラーが出る
# A key is required to write a cookie containing the session data. Use config.action_controller.session = { :key => "_myapp_session", :secret => "some secret phrase" } in config/environment.rb
% rake config/initializers/session_store.rb
% rake db:migrate RAILS_ENV=production
# ログのローテーション設定
% vi /etc/logrotate.d/redmine
    /var/lib/rails/redmine/log/*log {
        weekly
        missingok
        notifempty
        copytruncate
    }

ServerMan@VPSにてSubversion+WebDAVを設定

ServersMan@VPS に Subversion を WebDAV 経由で利用できるように設定する。

[インストール等]
# 本体
% yum -y install subversion
# apache 用モジュール
% yum -y install mod_svn_dav

[設定]
# ベースディレクトリを作成
% mkdir /var/lib/svn
% chown apache:apache /var/lib/svn
% vi /etc/httpd/conf.d/subversion.conf
# ファイル自体はモジュールインストール時点で作成されているため、下記を追加
<Location /svn>
    DAV svn
    SVNParentPath /var/lib/svn
    SSLRequireSSL
    AuthType Basic
    AuthName "svn repository"
    AuthUserFile /etc/httpd/conf/svnusers
    Require valid-user
</Location>
# AuthUserFile を作成する
% htpasswd -c /etc/httpd/conf/svnusers admin

[apache再起動]
% /etc/init.d/httpd restart

[リポジトリの新規登録]
# サンプルとして sample リポジトリを作成
% mkdir /var/lib/svn/sample
% svnadmin create --fs-type fsfs /var/lib/svn/sample
# 所有者変更(再帰)
% chown -R apache:apache /var/lib/svn/sample

[クライアントにて trunk, branches, tags の登録]
# trunk, branches, tags を登録するだけなので temp で行う
$ cd ~/temp
$ svn co https://server/svn/sample
$ cd sample
$ mkdir trunk
$ mkdir branches
$ mkdir tags
$ svn add trunk branches tags
$ svn commit -m "add sub directories"
# 実際に開発するプロジェクトディレクトリに移動
$ cd ~/projects
$ svn co https://server/svn/sample/trunk sample

trunk, branches, tags の初期登録はこんなめんどくさい感じで本当にいいのだろうか?
サーバ側で単純に mkdir するだけでもできるのだろうか?
今度試してみよう

ServerMan@VPSにてWebDAVを設定

ServersMan@VPS に WebDAV を設定しよう。
別に Subversion ができればいいんだけど、ついでと言うことで。

[apache 実行ユーザ・グループの変更]
# デフォルトでは daemon:daemon だけど、使い慣れている apache:apache へ変更
% vi /etc/httpd/conf/httpd.conf
    User apache     # daemon から apache へ変更
    Group apache  # daemon から apache へ変更

[WebDAV設定]
% mkdir /var/www/webdav
% chown apache:apache /var/www/webdav
% vi /etc/httpd/conf.d/webdav.conf
# 中身はこんな感じ
Alias /dav/ "/var/www/webdav/"
<IfModule mod_dav.c>
    DAVMinTimeout 600
    <Location /dav>
        DAV On
        SSLRequireSSL
        AuthType Basic
        AuthName "Login WebDAV"
        AuthUserFile /etc/httpd/conf/davusers
        Require valid-user
    </Location>
</IfModule>
# AuthUserFile を作成する
% htpasswd -c /etc/httpd/conf/davusers admin

[apache再起動]
% /etc/init.d/httpd restart

ServerMan@VPSにてSSLを設定

ServerMan@VPS で Apache に SSL を設定する。
ほぼコチラのままです。ありがとうございます。

[SSLモジュールのインストール]
% yum -y install mod_ssl

[秘密鍵の作成]
% cd /etc/pki/tls/certs
% make server.key
  Enter pass phrase: password
  Verifying – Enter pass phrase: password     # 再入力
% openssl rsa -in server.key -out server.key

[公開鍵の作成]
% openssl x509 -in server.csr -out server.pem -req -signkey server.key -days 3650

[パーミッション設定]
% chmod 400 server.key
% chmod 400 server.csr
% chmod 400 server.pem

[SSL証明書の作成]
% vi /etc/httpd/conf/httpd.conf
    DocumentRoot "/var/www/html"
    SSLCertificateFile /etc/pki/tls/certs/server.pem
    SSLCertificateKeyFile /etc/pki/tls/certs/server.key

[apache 再起動]
% /etc/init.d/httpd restart

ServersMan@VPSを始めた

ServersMan@VPS で開発用に使うサーバを借りたので、環境設定。
とりあえず、Web サーバと Subversion と Redmine をセッティングするのが目的。

まずは環境設定から。
[管理者ユーザの設定]
# 管理者ユーザを追加
% useradd -G wheel admin
# 管理者ユーザにパスワードを設定
% passwd admin
# ついでに root のパスワードも変えておく
% passwd
# 一応 sudo できるように
% visudo
    admin ALL=(ALL) ALL # 追加

[細々した環境設定]
# ホスト名を設定
% vi /etc/sysconfig/network
    HOSTNAME を設定する
% /etc/init.d/network restart
# プロンプトの表示も変えたければ、DTIのコントロールパネルから停止→起動

# ロケールを変更
% vi /etc/sysconfig/i18n
    LANG="ja_JP.UTF-8"  # "en_US.UTF-8"
# 必要ないサービスの停止
% /etc/init.d/saslauthd stop
% /etc/init.d/inetd stop
% /sbin/chkconfig saslauthd off
% /sbin/chkconfig xinetd off

[ssh の設定]
% su admin
# admin ユーザで ssh の設定
$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh
$ vi ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ exit
# sshd_config を設定
% vi /etc/ssh/sshd_config
    PermitRootLogion no        # 設定
    PasswordAuthentication no  # 設定

[ここらでいろいろインストール]
% yum -y install gcc
% yum -y install gcc-c++
% yum -y install rpm-build
% yum -y install openssl-devel
% yum -y install zlib-devel
% yum -y install zsh
% yum -y install lv

[RPMforgeの設定]
% wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
% wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
% rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
% rpm -import RPM-GPG-KEY.dag.txt

[checkinstall]
% yum -y install checkinstall

[rubyのインストール]
% wget http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p299.tar.gz
% tar zxvf ruby-1.8.7-p299.tar.gz
% cd ruby-1.8.7-p299
% ./configure --prefix=/usr
% make
% checkinstall --fstrans=no
% rpm -Uvh /usr/src/redhat/RPMS/i386/ruby-1.8.7-p299-1.i386.rpm

[rubygems のインストール]
# RPM 作った方がいいかもしれないけど、インストールできればいいや
% wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz
% tar zxvf rubygems-1.3.7.tgz
% cd rubygems-1.3.7.tgz
% ruby setup.rb

[PostgreSQL のインストール]
# yum のリポジトリは古いので、最新を取得できるように
% wget http://yum.pgsqlrpms.org/reporpms/8.4/pgdg-centos-8.4-2.noarch.rpm
% rpm -ivh ./pgdg-centos-8.4-2.noarch.rpm
% yum -y install postgresql
% yum -y install postgresql-server
% yum -y install postgresql-devel

[PostgreSQL の設定]
% passwd postgres
% su postgres
$ export PGDATA=/var/lib/pgsql/data
$ initdb --no-locale --encoding=UTF8
$ vi /var/lib/pgsql/data/pg_hba.conf
    #host    all         all         127.0.0.1/32          trust      # コメントアウト
    host    all         all         127.0.0.1/32          password    # パスワードアクセスに変更
$ exit
# PostgreSQL をスタートする
% /etc/init.d/postgresql start
% chkconfig postgresql on
# 再度 posgres ユーザになって、パスワードの設定など
$ psql
    postgres-# alter user postgres with password 'password';
    postgres-# create role new_user with login password 'password';
    postgres-# ¥q

とりあえずここまで。
SSL, webdav, subversion の設定は後日。

2010/05/23

CentOS 5.4 で 英語キーボードを使い、CapsLock を Ctrl にする

前回は Windows7 と Ubuntu 10.04 で英語キーボードに変更し、CapsLock を Ctrl に変えたけど、今度は CentOS で同じ事をしよう。
ただし、これはサーバマシンなので GUI なし。
既に root になっている前提。

まずは英語キーボードに変更しよう。
# vi /etc/sysconfig/keyboard
で、KEYTABLE="jp106" になっているのを KEYTABLE="us" にする。
これだけ。

次は、CapsLock を Ctrl に変えよう。
# cd /lib/kbd/keymaps/i386/qwerty
# cp us.map.gz us.map.original.gz
# gzip -d us.map.gz
# vi us.map
で、keycode 58 = Caps_Lock を keycode 58 = Control とする。
そして、us.map.gz を作る。
# gzip us.map

あとは再起動すれば完了。
ちなみに日本語キーボードで CapsLock を Ctrl にしたい場合は、us.map.gz じゃなく jp106.map.gz に対して同じことすればいい。
ようするに /etc/sysconfig/keyboard の KEYTABLE の値に対応したファイルってことですね。