日本時間8/23にRedmine 1.0.1が正式リリースされました。
前回1.0.0 RCをインストールしたのでこれをアップデートします。(開発版です)
私がインストールした手順についてはこちらです。(CentOS+PostgreSQL)
データベースのバックアップ
# /usr/local/pgsql/bin/pg_dump -U [db username] -Fc --file=[backup filename] [dbname]
Redmineのインストールディレクトリへ移動
# cd /home/redmine/
SVN レポジトリからチェックアウト
# svn update
U test/unit/issue_status_test.rb
A test/unit/helpers/issue_moves_helper_test.rb
U test/unit/helpers/application_helper_test.rb
U test/unit/lib/redmine/menu_manager_test.rb
U test/unit/lib/redmine/scm/adapters/git_adapter_test.rb
U test/unit/lib/redmine/menu_manager/menu_item_test.rb
U test/unit/lib/redmine_test.rb
U test/unit/user_test.rb
U test/unit/query_test.rb
U test/unit/mailer_test.rb
U test/exemplars/attachment_exemplar.rb
U test/test_helper.rb
U test/functional/issues_controller_test.rb
A test/functional/auto_completes_controller_test.rb
A test/functional/context_menus_controller_test.rb
U test/functional/account_controller_test.rb
U test/functional/calendars_controller_test.rb
U test/functional/journals_controller_test.rb
U test/functional/gantts_controller_test.rb
U test/functional/users_controller_test.rb
A test/functional/issue_moves_controller_test.rb
A test/functional/activities_controller_test.rb
U test/functional/projects_controller_test.rb
A test/functional/files_controller_test.rb
A test/functional/previews_controller_test.rb
U test/functional/auth_sources_controller_test.rb
U test/functional/versions_controller_test.rb
U test/integration/issues_api_test.rb
U test/integration/routing_test.rb
U test/integration/issues_test.rb
A test/integration/layout_test.rb
U test/fixtures/enabled_modules.yml
U app/helpers/projects_helper.rb
A app/helpers/calendars_helper.rb
U app/helpers/issues_helper.rb
U app/helpers/queries_helper.rb
U app/helpers/journals_helper.rb
A app/helpers/issue_moves_helper.rb
U app/helpers/application_helper.rb
U app/models/change.rb
U app/models/query.rb
U app/models/member.rb
U app/models/mailer.rb
U app/models/user.rb
U app/models/issue_status.rb
U app/models/changeset.rb
U app/controllers/issues_controller.rb
A app/controllers/auto_completes_controller.rb
A app/controllers/context_menus_controller.rb
U app/controllers/journals_controller.rb
U app/controllers/timelog_controller.rb
U app/controllers/users_controller.rb
A app/controllers/issue_moves_controller.rb
A app/controllers/files_controller.rb
U app/controllers/application_controller.rb
A app/controllers/previews_controller.rb
U app/controllers/versions_controller.rb
U app/controllers/boards_controller.rb
U app/controllers/groups_controller.rb
U app/controllers/projects_controller.rb
U app/controllers/account_controller.rb
U app/controllers/calendars_controller.rb
U app/controllers/gantts_controller.rb
A app/controllers/activities_controller.rb
A app/views/auto_completes
A app/views/auto_completes/issues.html.erb
A app/views/context_menus
A app/views/context_menus/issues.html.erb
U app/views/welcome/index.rhtml
A app/views/journals/index.rxml
U app/views/layouts/base.rhtml
A app/views/issue_moves
A app/views/issue_moves/new.rhtml
U app/views/users/_memberships.rhtml
U app/views/users/show.rhtml
A app/views/files
A app/views/files/index.html.erb
A app/views/previews
A app/views/previews/issue.html.erb
U app/views/messages/show.rhtml
A app/views/versions/index.html.erb
U app/views/versions/show.rhtml
U app/views/boards/index.rhtml
U app/views/attachments/_form.rhtml
U app/views/news/_news.rhtml
U app/views/news/index.rhtml
U app/views/repositories/diff.rhtml
U app/views/admin/_menu.rhtml
U app/views/admin/projects.rhtml
D app/views/projects/activity.rhtml
D app/views/projects/list_files.rhtml
D app/views/projects/roadmap.rhtml
U app/views/projects/show.rhtml
U app/views/projects/_form.rhtml
A app/views/projects/_members_box.html.erb
U app/views/projects/index.rhtml
U app/views/calendars/show.html.erb
U app/views/gantts/show.html.erb
U app/views/wiki/special_date_index.rhtml
A app/views/activities
A app/views/activities/index.html.erb
D app/views/issues/changes.rxml
D app/views/issues/preview.html.erb
D app/views/issues/move.rhtml
D app/views/issues/context_menu.rhtml
D app/views/issues/auto_complete.html.erb
U app/views/issues/_relations.rhtml
U app/views/issues/_action_menu.rhtml
U app/views/issues/_history.rhtml
U app/views/issues/_form.rhtml
U app/views/issues/bulk_edit.rhtml
U app/views/issues/index.rhtml
U app/views/issues/_sidebar.rhtml
U app/views/issues/show.rhtml
U app/views/issues/_changesets.rhtml
U app/views/issues/_list_simple.rhtml
U app/views/issues/_edit.rhtml
U app/views/issues/new.rhtml
A db/migrate/20100819172912_enable_calendar_and_gantt_modules_where_appropriate.rb
U db/migrate/20100705164950_change_changes_path_length_limit.rb
U vendor/plugins/open_id_authentication/lib/open_id_authentication.rb
U config/settings.yml
D config/locales/sr-CY.yml
U config/locales/lt.yml
A config/locales/sr-YU.yml
U config/locales/ro.yml
U config/locales/lv.yml
U config/locales/zh.yml
U config/locales/pt.yml
U config/locales/ca.yml
U config/locales/pt-BR.yml
U config/locales/tr.yml
U config/locales/ru.yml
U config/locales/en-GB.yml
U config/locales/id.yml
U config/locales/el.yml
U config/locales/en.yml
U config/locales/gl.yml
U config/locales/cs.yml
U config/locales/es.yml
A config/locales/mk.yml
U config/locales/zh-TW.yml
U config/locales/eu.yml
U config/locales/ko.yml
U config/locales/mn.yml
U config/locales/it.yml
U config/locales/sk.yml
U config/locales/sl.yml
U config/locales/uk.yml
U config/locales/sr.yml
U config/locales/da.yml
U config/locales/sv.yml
U config/locales/de.yml
U config/locales/bg.yml
U config/locales/ja.yml
U config/locales/he.yml
U config/locales/fi.yml
U config/locales/bs.yml
U config/locales/fr.yml
U config/locales/nl.yml
U config/locales/hr.yml
U config/locales/pl.yml
U config/locales/th.yml
U config/locales/no.yml
U config/locales/hu.yml
U config/locales/vi.yml
U config/routes.rb
U doc/CHANGELOG
U lib/redmine/export/pdf.rb
U lib/redmine/scm/adapters/git_adapter.rb
U lib/redmine/version.rb
U lib/redmine/helpers/gantt.rb
U lib/redmine.rb
A lib/tasks/permissions.rake
U lib/tasks/yardoc.rake
A lib/tasks/ci.rake
U public/javascripts/jstoolbar/lang/jstoolbar-mk.js
A public/javascripts/jstoolbar/lang/jstoolbar-sr-yu.js
U public/javascripts/jstoolbar/lang/jstoolbar-it.js
U public/javascripts/jstoolbar/lang/jstoolbar-sr.js
D public/javascripts/calendar/lang/calendar-sr-CY.js
U public/javascripts/calendar/lang/calendar-mk.js
A public/javascripts/calendar/lang/calendar-sr-yu.js
U public/javascripts/calendar/lang/calendar-it.js
U public/javascripts/calendar/lang/calendar-sr.js
U public/javascripts/application.js
U public/stylesheets/calendar.css
A public/stylesheets/context_menu_rtl.css
A public/stylesheets/rtl.css
G public/stylesheets/application.css
Updated to revision 4051.
db:migrateの実行
# rake db:migrate RAILS_ENV="production"
(in /home/redmine)
== ChangeChangesPathLengthLimit: migrating ===================================
-- change_column(:changes, :path, :text, {:null=>true, :default=>nil})
-> 0.2495s
-- change_column(:changes, :path, :text, {:null=>false})
-> 0.0728s
-- change_column(:changes, :from_path, :text)
-> 0.0443s
== ChangeChangesPathLengthLimit: migrated (0.3670s) ==========================
== EnableCalendarAndGanttModulesWhereAppropriate: migrating ==================
== EnableCalendarAndGanttModulesWhereAppropriate: migrated (0.0298s) =========
プラグイン関連(0.8.xから継続してアップグレードしてきた場合)
# rake db:migrate:upgrade_plugin_migrations RAILS_ENV=production
ちなみに私は1.0.0 からですので実行する必要がないのですが、どうなるか行ってみたところ・・・旧バージョンに関するものがないので実行する必要なしと表示されました。
(in /home/redmine)
Cannot find old migration table - assuming nothing needs to be done
プラグイン関連
# rake db:migrate_plugins RAILS_ENV=production
(in /home/redmine)
Migrating engines...
Migrating acts_as_activity_provider...
Migrating acts_as_attachable...
Migrating acts_as_customizable...
Migrating acts_as_event...
Migrating acts_as_list...
Migrating acts_as_searchable...
Migrating acts_as_tree...
Migrating acts_as_versioned...
Migrating acts_as_watchable...
Migrating awesome_nested_set...
Migrating classic_pagination...
Migrating coderay-0.9.2...
Migrating gravatar...
Migrating open_id_authentication...
Migrating prepend_engine_views...
Migrating rfpdf...
Migrating ruby-net-ldap-0.0.4...
Migrating trunk...
Clean upの実行
# rake tmp:cache:clear
# rake tmp:sessions:clear
アプリケーションサーバの再起動(Apache)
# /usr/local/apache/bin/apachectl restart
完了です。
参照した本家のページ http://www.redmine.org/wiki/redmine/RedmineUpgrade
日々業務で接しているLinux,PostgreSQL,SQLServer,FortiGateなどに関することの覚え書きや個人的に気になったことなどを綴っています。
もし、ここの情報があなたのお役に立てるならば幸いです。
2010年9月1日水曜日
2010年7月21日水曜日
CentOS+Redmine+PostgreSQL
Redmine 1.0.0 release candidateがリリースされたのでインストールしてみました。
また、RORがApache上で稼働できるようPassengerをインストールしています。
※Apacheではバーチャルホストを利用して公開
●構成
CentOS 5.5
Apache 2.2.15 + Passenger(mod_rails)
PostgreSQL 8.4.3
Ruby 1.8.7-p299
RubyGems 1.3.7
Rails 2.3.5
Redmine Checked out revision 3858.
※私は、Apache, PostgreSQLをソースからインストールしていますがRPMでの構成でもいけると思います。(試していないので保障はできません)
●準備
OSのインストールは省略します。
開発ツール群やその他ライブラリが必要
# yum -y groupinstall "Development Tools"
# yum -y install openssl-devel readline-devel zlib-devel
※RPMでhttpd・postgresqlをインストールした方は、以下も必要かと・・・
# yum -y install httpd-devel postgresql-devel
●Rubyのインストール
# cd /usr/local/src/
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p299.tar.gz
# tar xzvf ruby-1.8.7-p299.tar.gz
# cd ruby-1.8.7-p299
# ./configure --prefix=/usr/local
# make
# make install
# ruby -v
1.8.7
●RubyGemsのインストール
# cd ../
# pwd
/usr/local/src
# wget http://rubyforge.org/frs/download.php/55066/rubygems-1.3.1.tgz
# tar xzvf rubygems-1.3.1.tgz
# cd rubygems-1.3.1
# ruby setup.rb
# gem -v
1.3.1
※以下db:migrateの時にわかるのですがRubyGems1.3.2以上が必要です。
私は、gem update --systemで最新版にしてしまいました。
# gem update --system
# gem -v
1.3.7
●Railsのインストール
# gem install rails -v=2.3.5
# gem install rake -v=0.8.3
# export PATH=$PATH:/usr/local/pgsql/bin/ ← PostgreSQL
# gem install postgres-pr
# gem install pg -- --with-pgsql-dir=/usr/local/pgsql
●Redmine
# mkdir /home/redmine
# cd /home/redmine
# svn checkout http://redmine.rubyforge.org/svn/trunk/ ./
# cp ./config/database.yml.example ./config/database.yml
# vi ./config/database.yml
事前に空データベースと運用ユーザを作成しておく(こちらを参照ください)
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "redmine"
encoding: utf8
schema_search_path: public
セッションストアの作成
# rake generate_session_store
※/home/redmine/config/initializers/session_store.rbが作成されます
# rake db:migrate RAILS_ENV=production
(in /home/redmine)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
== Setup: migrating ==========================================================
-- create_table("attachments", {:force=>true})
-> 0.0519s
-- create_table("auth_sources", {:force=>true})
-> 0.0609s
-- create_table("custom_fields", {:force=>true})
-> 0.0806s
-- create_table("custom_fields_projects", {:force=>true, :id=>false})
-> 0.0020s
・
・
・
デフォルトデータ
# rake redmine:load_default_data RAILS_ENV="production"
Select language: bg, ca, cs, da, de, en, es, fi, fr, he, hu, it, ja, ko, lt, nl, no, pl, pt, pt-br, ro, ru, sk, sr, sv, th, tr, uk, vn, zh, zh-tw [en] ja ← 入力
●Passenger(mod_rails)のインストール
# gem install passenger
# export APXS2=/usr/local/apache/bin/apxs
# export PATH=/usr/local/apache/bin:$PATH
# passenger-install-apache2-module
ビルドに成功すると、Passengerを組み込むためのhttpd.confの設定が表示されるのでコピーしておく。
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /usr/local/bin/ruby
次にvirtualhostの設定のサンプルが表示されるのでコピーしておく。
<VirtualHost *:80>
ServerName www.yourhost.com
DocumentRoot /somewhere/public
<Directory "/home/somewhere/pubic">
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
●Apacheの変更
# vi /usr/local/apache/conf/httpd.conf
末尾にでも追記する
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /usr/local/bin/ruby
バーチャルホスト
# vi /usr/local/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /home/redmine/public
<Directory "/home/redmine/public">
AllowOverride All
Options -MultiViews
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Apache運用ユーザがredmineディレクトリの読み書きができるようにパーミッションを設定する。
# cd /home/redmine
# mkdir tmp public/plugin_assets
mkdir: cannot create directory `tmp': File exists ← 既に存在している(無視)
mkdir: cannot create directory `public/plugin_assets': File exists ← 既に存在している(無視)
# chown -R daemon:daemon files log tmp public/plugin_assets config/environment.rb
# chmod -R 755 files log tmp public/plugin_assets
Apacheの再起動
# vi /usr/local/apache/bin/apachectl restart
http://redmine.example.comにアクセスしてみましょう。
初回はadmin/adminです。
参考サイト(本家)
また、RORがApache上で稼働できるようPassengerをインストールしています。
※Apacheではバーチャルホストを利用して公開
●構成
CentOS 5.5
Apache 2.2.15 + Passenger(mod_rails)
PostgreSQL 8.4.3
Ruby 1.8.7-p299
RubyGems 1.3.7
Rails 2.3.5
Redmine Checked out revision 3858.
※私は、Apache, PostgreSQLをソースからインストールしていますがRPMでの構成でもいけると思います。(試していないので保障はできません)
●準備
OSのインストールは省略します。
開発ツール群やその他ライブラリが必要
# yum -y groupinstall "Development Tools"
# yum -y install openssl-devel readline-devel zlib-devel
※RPMでhttpd・postgresqlをインストールした方は、以下も必要かと・・・
# yum -y install httpd-devel postgresql-devel
●Rubyのインストール
# cd /usr/local/src/
# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p299.tar.gz
# tar xzvf ruby-1.8.7-p299.tar.gz
# cd ruby-1.8.7-p299
# ./configure --prefix=/usr/local
# make
# make install
# ruby -v
1.8.7
●RubyGemsのインストール
# cd ../
# pwd
/usr/local/src
# wget http://rubyforge.org/frs/download.php/55066/rubygems-1.3.1.tgz
# tar xzvf rubygems-1.3.1.tgz
# cd rubygems-1.3.1
# ruby setup.rb
# gem -v
1.3.1
※以下db:migrateの時にわかるのですがRubyGems1.3.2以上が必要です。
私は、gem update --systemで最新版にしてしまいました。
# gem update --system
# gem -v
1.3.7
●Railsのインストール
# gem install rails -v=2.3.5
# gem install rake -v=0.8.3
# export PATH=$PATH:/usr/local/pgsql/bin/ ← PostgreSQL
# gem install postgres-pr
# gem install pg -- --with-pgsql-dir=/usr/local/pgsql
●Redmine
# mkdir /home/redmine
# cd /home/redmine
# svn checkout http://redmine.rubyforge.org/svn/trunk/ ./
# cp ./config/database.yml.example ./config/database.yml
# vi ./config/database.yml
事前に空データベースと運用ユーザを作成しておく(こちらを参照ください)
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "redmine"
encoding: utf8
schema_search_path: public
セッションストアの作成
# rake generate_session_store
※/home/redmine/config/initializers/session_store.rbが作成されます
# rake db:migrate RAILS_ENV=production
(in /home/redmine)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
== Setup: migrating ==========================================================
-- create_table("attachments", {:force=>true})
-> 0.0519s
-- create_table("auth_sources", {:force=>true})
-> 0.0609s
-- create_table("custom_fields", {:force=>true})
-> 0.0806s
-- create_table("custom_fields_projects", {:force=>true, :id=>false})
-> 0.0020s
・
・
・
デフォルトデータ
# rake redmine:load_default_data RAILS_ENV="production"
Select language: bg, ca, cs, da, de, en, es, fi, fr, he, hu, it, ja, ko, lt, nl, no, pl, pt, pt-br, ro, ru, sk, sr, sv, th, tr, uk, vn, zh, zh-tw [en] ja ← 入力
●Passenger(mod_rails)のインストール
# gem install passenger
# export APXS2=/usr/local/apache/bin/apxs
# export PATH=/usr/local/apache/bin:$PATH
# passenger-install-apache2-module
ビルドに成功すると、Passengerを組み込むためのhttpd.confの設定が表示されるのでコピーしておく。
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /usr/local/bin/ruby
次にvirtualhostの設定のサンプルが表示されるのでコピーしておく。
<VirtualHost *:80>
ServerName www.yourhost.com
DocumentRoot /somewhere/public
<Directory "/home/somewhere/pubic">
AllowOverride all
Options -MultiViews
</Directory>
</VirtualHost>
●Apacheの変更
# vi /usr/local/apache/conf/httpd.conf
末尾にでも追記する
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15
PassengerRuby /usr/local/bin/ruby
バーチャルホスト
# vi /usr/local/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /home/redmine/public
<Directory "/home/redmine/public">
AllowOverride All
Options -MultiViews
Order allow,deny
Allow from all
</Directory>
Apache運用ユーザがredmineディレクトリの読み書きができるようにパーミッションを設定する。
# cd /home/redmine
# mkdir tmp public/plugin_assets
mkdir: cannot create directory `tmp': File exists ← 既に存在している(無視)
mkdir: cannot create directory `public/plugin_assets': File exists ← 既に存在している(無視)
# chown -R daemon:daemon files log tmp public/plugin_assets config/environment.rb
# chmod -R 755 files log tmp public/plugin_assets
Apacheの再起動
# vi /usr/local/apache/bin/apachectl restart
http://redmine.example.comにアクセスしてみましょう。
初回はadmin/adminです。
参考サイト(本家)
2010年7月20日火曜日
PostgreSQL ソースからインストール
●構成
CentOS 5.5
PostgreSQL 8.4.3
●運用ユーザ
今さらですがpostgresqlはrootでは運用できませんので、専用ユーザを作成します。
ここでは専用ユーザをpostgresとします。
# adduser postgres
# passwd postgres ※ログオンしなければパスワードを設定する必要はありません。
●作業ディレクトリ
# mkdir /usr/local/src/postgresql
# chown postgres:postgres /usr/local/src/postgresql
●インストール先ディレクトリ
# mkdir /usr/local/pgsql
# chown postgres:postgres /usr/local/pgsql
●インストール
# cd /usr/local/src/postgresql
# wget ftp://ftp2.jp.postgresql.org/pub/postgresql/source/v8.4.3/postgresql-8.4.3.tar.gz
# chown postgres:postgres ./postgresql-8.4.3.tar.gz
# chmod 755 postgresql-8.4.3.tar.gz
# yum -y install readline readline-devel zlib-devel
【readlineについて】
psqlコマンドによるコマンドの記憶やコマンド履歴の参照を使わない場合readlineとreadline-develは不要です。ただしconfigureで--without-readlineオプションを指定します。
【zlibについて】
pg_dumpおよびpg_restore内の圧縮アーカイブサポートを無効化にしたい場合zlib-devel(zlib含む)は不要です。ただしconfigureで--without-zlibオプションを指定します。
(ここからはpostgresユーザで作業します)
# su - postgres
$ cd /usr/local/src/postgresql
$ tar zxvf postgresql-8.4.3.tar.gz
$ cd ./postgresql-8.4.3
$ ./configure
(デフォルトのインストールディレクトリは/usr/local/pgsqlとなります)
$ gmake
All of PostgreSQL successfully made. Ready to install.
$ gmake check
All 120 tests passed.
$ gmake install
PostgreSQL installation complete.
環境変数の設定
$ cd /home/postgres
$ vi .bashrc
最後に追記
PATH="$PATH":/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":$PGLIB
再読み込み→pathチェック
$ source .bashrc
$ printenv
●初期化
デフォルト文字コードはEUC_JPですが、DB作成時に指定すればUTF8も大丈夫です。
ロケールは設定しません(日本語ソートがおかしくなるので必須です)。
$ initdb --encoding=EUC_JP --no-locale
●アクセス権限等の設定
$ vi /usr/local/pgsql/data/postgresql.conf
ローカルホスト以外からのアクセスを許可(私は別途WindowsPCからエディタを接続するため)
#listen_addresses = 'localhost' → listen_addresses = '*'
※IPv4のみに強制にしたい場合はlisten_addresses = '0.0.0.0'
ログはsyslog
#log_destination = 'stderr' → log_destination = 'syslog'
$ vi /usr/local/pgsql/data/pg_hba.conf
host all all 192.168.0.0/24 md5の1行を追記(アクセス可能なネットワーク)
●syslog設定
(ここからはrootで作業します)
$ exit
# vi /etc/syslog.conf
※ちなみにCentOS6では、/etc/rsyslog.confです。
以下を最終行に追記する
local0.* /var/log/postgresql.log
#/etc/init.d/xinetd restart
※ちなみにCentOS6では、/etc/init.d/rsyslog restartでよいかも。
ログローテーション設定
# vi /etc/logrotate.d/postgresql
/var/log/postgresql.log {
rotate 12
weekly
missingok
sharedscripts
postrotate
/usr/bin/killall -HUP syslogd (CentOS6ではrsyslogd)
endscript
}
●起動
(ここからはpostgresで作業します)
# su - postgres
$ pg_ctl -w start
●データベースユーザの追加
---------------------------------------------------
因みにPostgreSQL9.2ではロールの割り当て方法が変わった
DB作成許可のユーザを作成
$ createuser username -d -P
-d:DB作成許可
-P:パスワード設定
詳しいオプションは、createuser --help
---------------------------------------------------
$ createuser -P username
Enter password for new role:パスワード入力(username)
Enter it again:確認のためもう一回入力
※スーパーユーザにしますか?
Shall the new role be a superuser? (y/n) n
※データベース作成を許可しますか?
Shall the new role be allowed to create databases? (y/n) y
※新しいユーザを作成できるよう許可しますか?
Shall the new role be allowed to create more new roles? (y/n) n
●データベースの作成
$ createdb DB名 --owner=username --encoding=UNICODE --template=template0
$ psql -l
●停止
$ pg_ctl -w stop
●自動起動
(ここからはrootで作業します)
$ exit
# cd /etc/rc.d/init.d/
# cp -p /usr/local/src/postgresql/postgresql-8.4.3/contrib/start-scripts/linux postgresql
# chown root.root postgresql
# chmod 755 postgresql
# chkconfig --level 2345 postgresql on
これでサーバ起動時PostgreSQLも起動します。
rootによる起動・停止方法
# /etc/init.d/postgresql start
# /etc/init.d/postgresql stop
●PL/pgsqlのインストール(開発言語なので開発をしない方は不要)
# su - postgres
$ pg_ctl -w start (/usr/local/pgsql/bin/pg_ctl)
postmaster started
$ createlang plpgsql template1
9.0からPL/pgsqlはデフォルトでインストールされています。
CentOS 5.5
PostgreSQL 8.4.3
●運用ユーザ
今さらですがpostgresqlはrootでは運用できませんので、専用ユーザを作成します。
ここでは専用ユーザをpostgresとします。
# adduser postgres
# passwd postgres ※ログオンしなければパスワードを設定する必要はありません。
●作業ディレクトリ
# mkdir /usr/local/src/postgresql
# chown postgres:postgres /usr/local/src/postgresql
●インストール先ディレクトリ
# mkdir /usr/local/pgsql
# chown postgres:postgres /usr/local/pgsql
●インストール
# cd /usr/local/src/postgresql
# wget ftp://ftp2.jp.postgresql.org/pub/postgresql/source/v8.4.3/postgresql-8.4.3.tar.gz
# chown postgres:postgres ./postgresql-8.4.3.tar.gz
# chmod 755 postgresql-8.4.3.tar.gz
# yum -y install readline readline-devel zlib-devel
【readlineについて】
psqlコマンドによるコマンドの記憶やコマンド履歴の参照を使わない場合readlineとreadline-develは不要です。ただしconfigureで--without-readlineオプションを指定します。
【zlibについて】
pg_dumpおよびpg_restore内の圧縮アーカイブサポートを無効化にしたい場合zlib-devel(zlib含む)は不要です。ただしconfigureで--without-zlibオプションを指定します。
(ここからはpostgresユーザで作業します)
# su - postgres
$ cd /usr/local/src/postgresql
$ tar zxvf postgresql-8.4.3.tar.gz
$ cd ./postgresql-8.4.3
$ ./configure
(デフォルトのインストールディレクトリは/usr/local/pgsqlとなります)
$ gmake
All of PostgreSQL successfully made. Ready to install.
$ gmake check
All 120 tests passed.
$ gmake install
PostgreSQL installation complete.
環境変数の設定
$ cd /home/postgres
$ vi .bashrc
最後に追記
PATH="$PATH":/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":$PGLIB
再読み込み→pathチェック
$ source .bashrc
$ printenv
●初期化
デフォルト文字コードはEUC_JPですが、DB作成時に指定すればUTF8も大丈夫です。
ロケールは設定しません(日本語ソートがおかしくなるので必須です)。
$ initdb --encoding=EUC_JP --no-locale
●アクセス権限等の設定
$ vi /usr/local/pgsql/data/postgresql.conf
ローカルホスト以外からのアクセスを許可(私は別途WindowsPCからエディタを接続するため)
#listen_addresses = 'localhost' → listen_addresses = '*'
※IPv4のみに強制にしたい場合はlisten_addresses = '0.0.0.0'
ログはsyslog
#log_destination = 'stderr' → log_destination = 'syslog'
$ vi /usr/local/pgsql/data/pg_hba.conf
host all all 192.168.0.0/24 md5の1行を追記(アクセス可能なネットワーク)
●syslog設定
(ここからはrootで作業します)
$ exit
# vi /etc/syslog.conf
※ちなみにCentOS6では、/etc/rsyslog.confです。
以下を最終行に追記する
local0.* /var/log/postgresql.log
#/etc/init.d/xinetd restart
※ちなみにCentOS6では、/etc/init.d/rsyslog restartでよいかも。
ログローテーション設定
# vi /etc/logrotate.d/postgresql
/var/log/postgresql.log {
rotate 12
weekly
missingok
sharedscripts
postrotate
/usr/bin/killall -HUP syslogd (CentOS6ではrsyslogd)
endscript
}
●起動
(ここからはpostgresで作業します)
# su - postgres
$ pg_ctl -w start
●データベースユーザの追加
---------------------------------------------------
因みにPostgreSQL9.2ではロールの割り当て方法が変わった
DB作成許可のユーザを作成
$ createuser username -d -P
-d:DB作成許可
-P:パスワード設定
詳しいオプションは、createuser --help
---------------------------------------------------
$ createuser -P username
Enter password for new role:パスワード入力(username)
Enter it again:確認のためもう一回入力
※スーパーユーザにしますか?
Shall the new role be a superuser? (y/n) n
※データベース作成を許可しますか?
Shall the new role be allowed to create databases? (y/n) y
※新しいユーザを作成できるよう許可しますか?
Shall the new role be allowed to create more new roles? (y/n) n
●データベースの作成
$ createdb DB名 --owner=username --encoding=UNICODE --template=template0
$ psql -l
●停止
$ pg_ctl -w stop
●自動起動
(ここからはrootで作業します)
$ exit
# cd /etc/rc.d/init.d/
# cp -p /usr/local/src/postgresql/postgresql-8.4.3/contrib/start-scripts/linux postgresql
# chown root.root postgresql
# chmod 755 postgresql
# chkconfig --level 2345 postgresql on
これでサーバ起動時PostgreSQLも起動します。
rootによる起動・停止方法
# /etc/init.d/postgresql start
# /etc/init.d/postgresql stop
●PL/pgsqlのインストール(開発言語なので開発をしない方は不要)
# su - postgres
$ pg_ctl -w start (/usr/local/pgsql/bin/pg_ctl)
postmaster started
$ createlang plpgsql template1
9.0からPL/pgsqlはデフォルトでインストールされています。
2010年7月13日火曜日
デフォルトencodeと違う文字コードでDB作成
CentOS5.4にPostgreSQL8.4を構築する機会があり、initdbでencodingをEUC_JPにして構築していた。Redmineを同データベースで運用するため今まで通りデータベース作成コマンドを実行したらエラーが出た。いつもなら大丈夫なのに・・・8.4から仕様が変わったみたい。
$ createdb redmine --owner redmine --encoding=UNICODE
createdb: database creation failed: ERROR: new encoding (UTF8) is incompatible with the encoding of the template database (EUC_JP)
HINT: Use the same encoding as in the template database, or use template0 as template.
UTF8はテンプレートと互換性がない
ヒント:同じ文字コードにするかテンプレートとしてテンプレート0を使用してください。
と表示された。initdbと異なる値でcreatedbするときは個別にオプション指定しないとダメみたいです。なので以下のようにクリアなテンプレート0データベースを使い解決。
$ createdb redmine --owner redmine --encoding=UNICODE --template=template0
また8.4からデータベースごとにロケールも持てるようになったようです。
こちらに詳しく解説がされています。
※リンク先の「Let's Postgres」ですが非常に優しく書かれていてわかりやすいと思います。今年で開設3年目ということなのでこれから期待できそうですね。
$ createdb redmine --owner redmine --encoding=UNICODE
createdb: database creation failed: ERROR: new encoding (UTF8) is incompatible with the encoding of the template database (EUC_JP)
HINT: Use the same encoding as in the template database, or use template0 as template.
UTF8はテンプレートと互換性がない
ヒント:同じ文字コードにするかテンプレートとしてテンプレート0を使用してください。
と表示された。initdbと異なる値でcreatedbするときは個別にオプション指定しないとダメみたいです。なので以下のようにクリアなテンプレート0データベースを使い解決。
$ createdb redmine --owner redmine --encoding=UNICODE --template=template0
また8.4からデータベースごとにロケールも持てるようになったようです。
こちらに詳しく解説がされています。
※リンク先の「Let's Postgres」ですが非常に優しく書かれていてわかりやすいと思います。今年で開設3年目ということなのでこれから期待できそうですね。
2010年7月9日金曜日
Windows 7 BCDEdit コマンドラインツール
Windows Vista 以降のOSで利用できるBoot環境を操作するコマンド
XPまではboot.iniがありましたがVista以降は存在しません。すべての情報はバイナリデータベースとなり直接操作できなくなりました。それを補うToolがBCDEditです。
----------
BCDEDIT - ブート構成データ ストア エディター
Bcdedit.exe コマンド ライン ツールは、ブート構成データ ストアを修正します。ブート構成データ ストアにはブート構成パラメーターが含まれ、オペレーティングシステムのブート方法を制御します。これらのパラメーターは、以前は Boot.iniファイル (BIOS ベースのオペレーティング システム内) か、不揮発性 RAM エントリ (拡張ファームウェア インターフェイスベースのオペレーティング シスシステム内)にありました。Bcdedit.exe を使用して、ブート構成データ ストアのエントリを追加、削除、編集、および付加することができます。
詳細なコマンドとオプション情報については、「bcdedit.exe /? / <コマンド>を入力してください。たとえば、/createstore コマンドについて詳細情報を表示するには以下のように入力します。
※コマンドプロンプトは管理者権限で実行する必要があります。
bcdedit.exe /? /createstore
ヘルプ ファイルのトピック順の一覧を参照するには、"bcdedit /? TOPICS" を実行します。
ストアの操作のコマンド
======================
/createstore 新しい空のブート構成データ ストアを作成します。
/export システム ストアの内容をファイルにエクスポートします。
このファイルは、システム ストアの状態を復元するために後から使用することができます。
/import /export コマンドで作成されたバックアップ ファイルを使用して、
システム ストアの状態を復元します。
/sysstore システム ストア デバイスを設定します (EFI システムにのみ有効
です。設定内容は再起動後は維持されません。システムストア
デバイスが明確に指定されていない場合にのみ使用されます)。
ストア内のエントリの操作のコマンド
==================================
/copy ストアにエントリのコピーを作成します。
/create ストアに新しいエントリを作成します。
/delete ストアからエントリを削除します。
/mirror ストアにエントリのミラーを作成します。
これらのコマンドで使用する ID の情報については bcdedit /? ID を実行してください。
エントリ オプションの操作のコマンド
===================================
/deletevalue ストアからエントリ オプションを削除します。
/set ストアにエントリ オプションの値を設定します。
これらのコマンドで使用するデータの種類の一覧については bcdedit /? TYPES を実行 してください。
有効なデータ形式の一覧については bcdedit /? FORMATS を実行してください。
出力を制御するコマンド
======================
/enum ストアのエントリを一覧表示します。
/v 既知の識別子名を使用するのではなく、エントリ識別子を完全な
形式で表示するコマンド ライン オプションです。
ACTIVE な種類のエントリ識別子の完全な形式を表示するコマンド
として /v を使用します。
"bcdedit" の実行は "bcdedit /enum ACTIVE" の実行と同じです。
ブート マネージャーを制御するコマンド
===================================
/bootsequence ブート マネージャーの 1 回限りのブート シーケンスを設定します。
/default ブート マネージャーが使用する既定のエントリを設定します。
/displayorder ブート マネージャーがマルチブート メニューを表示する順序を設定します。
/timeout ブート マネージャーのタイムアウト値を設定します。
/toolsdisplayorder ブート マネージャーがツール メニューを表示する順序を設定
します。
ブート アプリケーションの緊急管理サービスを制御するコマンド
===========================================================
/bootems ブート アプリケーションの緊急管理サービスを有効または無効にします。
/ems オペレーティング システム エントリの緊急管理サービスを有効または無効にします。
/emssettings グローバルな緊急管理サービスのパラメーターを設定します。
デバッグを制御するコマンド
==========================
/bootdebug ブート アプリケーションのブート デバッグを有効ままたは無効にします。
/dbgsettings グローバル デバッガー パラメーターを設定します。
/debug オペレーティング システム エントリのカーネル デバッグを有効または無効にします。
/hypervisorsettings ハイパーバイザー パラメーターを設定します。
----------
これを使用することにより仮想化されたVHD形式のディスクから起動したりすることもできます。
XPまではboot.iniがありましたがVista以降は存在しません。すべての情報はバイナリデータベースとなり直接操作できなくなりました。それを補うToolがBCDEditです。
----------
BCDEDIT - ブート構成データ ストア エディター
Bcdedit.exe コマンド ライン ツールは、ブート構成データ ストアを修正します。ブート構成データ ストアにはブート構成パラメーターが含まれ、オペレーティングシステムのブート方法を制御します。これらのパラメーターは、以前は Boot.iniファイル (BIOS ベースのオペレーティング システム内) か、不揮発性 RAM エントリ (拡張ファームウェア インターフェイスベースのオペレーティング シスシステム内)にありました。Bcdedit.exe を使用して、ブート構成データ ストアのエントリを追加、削除、編集、および付加することができます。
詳細なコマンドとオプション情報については、「bcdedit.exe /? / <コマンド>を入力してください。たとえば、/createstore コマンドについて詳細情報を表示するには以下のように入力します。
※コマンドプロンプトは管理者権限で実行する必要があります。
bcdedit.exe /? /createstore
ヘルプ ファイルのトピック順の一覧を参照するには、"bcdedit /? TOPICS" を実行します。
ストアの操作のコマンド
======================
/createstore 新しい空のブート構成データ ストアを作成します。
/export システム ストアの内容をファイルにエクスポートします。
このファイルは、システム ストアの状態を復元するために後から使用することができます。
/import /export コマンドで作成されたバックアップ ファイルを使用して、
システム ストアの状態を復元します。
/sysstore システム ストア デバイスを設定します (EFI システムにのみ有効
です。設定内容は再起動後は維持されません。システムストア
デバイスが明確に指定されていない場合にのみ使用されます)。
ストア内のエントリの操作のコマンド
==================================
/copy ストアにエントリのコピーを作成します。
/create ストアに新しいエントリを作成します。
/delete ストアからエントリを削除します。
/mirror ストアにエントリのミラーを作成します。
これらのコマンドで使用する ID の情報については bcdedit /? ID を実行してください。
エントリ オプションの操作のコマンド
===================================
/deletevalue ストアからエントリ オプションを削除します。
/set ストアにエントリ オプションの値を設定します。
これらのコマンドで使用するデータの種類の一覧については bcdedit /? TYPES を実行 してください。
有効なデータ形式の一覧については bcdedit /? FORMATS を実行してください。
出力を制御するコマンド
======================
/enum ストアのエントリを一覧表示します。
/v 既知の識別子名を使用するのではなく、エントリ識別子を完全な
形式で表示するコマンド ライン オプションです。
ACTIVE な種類のエントリ識別子の完全な形式を表示するコマンド
として /v を使用します。
"bcdedit" の実行は "bcdedit /enum ACTIVE" の実行と同じです。
ブート マネージャーを制御するコマンド
===================================
/bootsequence ブート マネージャーの 1 回限りのブート シーケンスを設定します。
/default ブート マネージャーが使用する既定のエントリを設定します。
/displayorder ブート マネージャーがマルチブート メニューを表示する順序を設定します。
/timeout ブート マネージャーのタイムアウト値を設定します。
/toolsdisplayorder ブート マネージャーがツール メニューを表示する順序を設定
します。
ブート アプリケーションの緊急管理サービスを制御するコマンド
===========================================================
/bootems ブート アプリケーションの緊急管理サービスを有効または無効にします。
/ems オペレーティング システム エントリの緊急管理サービスを有効または無効にします。
/emssettings グローバルな緊急管理サービスのパラメーターを設定します。
デバッグを制御するコマンド
==========================
/bootdebug ブート アプリケーションのブート デバッグを有効ままたは無効にします。
/dbgsettings グローバル デバッガー パラメーターを設定します。
/debug オペレーティング システム エントリのカーネル デバッグを有効または無効にします。
/hypervisorsettings ハイパーバイザー パラメーターを設定します。
----------
これを使用することにより仮想化されたVHD形式のディスクから起動したりすることもできます。
2010年7月5日月曜日
FortiGateライセンス確認
FortiGateでは購入時、FortiGate S/N(シリアルNO)をFortiNet社に登録します(ユーザー登録)。
これは購入者自身が行う場合と販売店などが行う場合があります。購入者自身で登録する場合が問題ないと思われるが、ごく稀に販売店が登録を忘れていたりします。
この登録がされていないと、アンチウイルスなどの定義ファイル更新ができません。これでは何の意味もありません。
Web画面で簡単にチェックできますので、確認しておきましょう。ここではFortiGate110C V3.0系(Fortigate-110C 3.00-b5418)を例にご説明しますがV4.0系も同様です。
ログイン後、システム>メンテナンス>FortiGuardと辿ります。
・サポート契約が有効になっており期限は大丈夫か?
・契約のFortiGuardサービスが有効になっており期限は大丈夫か?
また、更新日に問題はないか?
・定期更新にチェックが入っているか?(手動で行う方は必須ではありませんが通常はONにします)
これは購入者自身が行う場合と販売店などが行う場合があります。購入者自身で登録する場合が問題ないと思われるが、ごく稀に販売店が登録を忘れていたりします。
この登録がされていないと、アンチウイルスなどの定義ファイル更新ができません。これでは何の意味もありません。
Web画面で簡単にチェックできますので、確認しておきましょう。ここではFortiGate110C V3.0系(Fortigate-110C 3.00-b5418)を例にご説明しますがV4.0系も同様です。
ログイン後、システム>メンテナンス>FortiGuardと辿ります。
・サポート契約が有効になっており期限は大丈夫か?
・契約のFortiGuardサービスが有効になっており期限は大丈夫か?
また、更新日に問題はないか?
・定期更新にチェックが入っているか?(手動で行う方は必須ではありませんが通常はONにします)
2010年7月2日金曜日
BitNami::Redmine 0.9.5対応版
WindowsPCに簡単構築できるオールインワンタイプのRedmine、BitNami::RedmineがRedmine0.9.5に対応しています。
構築済VMware Virtual MachinesのUbuntuが10.04 版になっています。
構成
- Redmine 0.9.5
- Apache 2.2.14
- ImageMagick 6.5.8
- MySQL 5.1.30
- Subversion 1.6.6
- Ruby 1.8.7-p249
- Rails 2.3.5
- RubyGems 1.3.6
============= CHANGELOG =============
Version: 0.9.5-0 2010-06-30
* Update Remdine to 0.9.5
BITNAMIへはこちらからどうぞ。
構築済VMware Virtual MachinesのUbuntuが10.04 版になっています。
構成
- Redmine 0.9.5
- Apache 2.2.14
- ImageMagick 6.5.8
- MySQL 5.1.30
- Subversion 1.6.6
- Ruby 1.8.7-p249
- Rails 2.3.5
- RubyGems 1.3.6
============= CHANGELOG =============
Version: 0.9.5-0 2010-06-30
* Update Remdine to 0.9.5
BITNAMIへはこちらからどうぞ。
登録:
投稿 (Atom)




