Marlock Homes Diary

備忘録。忘れないように書きます。

PostgreSQL 10 インストールメモ

2017/10/5にPostgreSQLのバージョン 10がリリースされたので、
インストールして、新機能を試したいと思います。

環境情報

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)


1.環境準備
1.1.make

# gmake -version
GNU Make 3.82
[省略]


1.2.gcc

# gcc -v
[省略]
gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)


1.3. Readline

# yum install readline
Package readline-6.2-10.el7.x86_64 already installed and latest version
Nothing to do

# yum install readline-devel
Package readline-devel-6.2-10.el7.x86_64 already installed and latest version
Nothing to do

1.4. zlib

# yum install zlib
Package zlib-1.2.7-17.el7.x86_64 already installed and latest version
Nothing to do
# yum install zlib-devel
Package zlib-devel-1.2.7-17.el7.x86_64 already installed and latest version
Nothing to do

2.PostgreSQLインストール

2.1.postgresユーザ作成

# useradd postgres10

2.2.ソースの入手と解凍

# cd /usr/local/src/
# wget https://ftp.postgresql.org/pub/source/v10.0/postgresql-10.0.tar.gz
# tar xvzf postgresql-10.0.tar.gz
# chown -R postgres10:postgres10 postgresql-10.0

2.3.コンパイル

# su - postgres10
$ cd /usr/local/src/postgresql-10.0/
$ ./configure
$ gmake world ※
(省略)
PostgreSQL, contrib, and documentation successfully made. Ready to install.

※ドキュメント(HTMLやman)や追加モジュール(contrib)を含め、構築可能なもの全てを構築したい場合、上記の様にworldを付与して実行

2.4.リグレーションテスト

$ gmake check
(省略)
=======================
 All 178 tests passed.
=======================
(省略)

2.5.インストール

$ su
# gmake install-world
(省略)
PostgreSQL, contrib, and documentation installation complete.


2.6.インストールディレクトリの所有者変更

# cd /usr/local/
# chown -R postgres10:postgres10 pgsql/

2.7.postgres用ユーザの環境変数設定

# su - postgres10
$ vi .bash_profile
(下記を設定)

# PostgreSQL
export POSTGRES_HOME=/usr/local/pgsql
export PGDATA=/home/postgres10/data
export PATH=$PATH:$POSTGRES_HOME/bin
export PGLIB=/usr/local/pgsql/lib
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH

2.7.postgresユーザの環境変数設定読み込み

$ source .bash_profile

2.8.データベースクラスタの作成

$ initdb -E UTF8 --no-locale

2.9.ログ出力設定
# ログのみ出力(その他の設定は省略)

$ vi /home/postgres10/data/postgresql.conf
#logging_collector = off                # Enable capturing of stderr and csvlog
logging_collector = on

2.10.PostgreSQL起動

$ pg_ctl start
waiting for server to start....2017-10-21 22:38:12.421 JST [12521] LOG:  listening on IPv6 address "::1", port 5432
2017-10-21 22:38:12.421 JST [12521] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2017-10-21 22:38:12.622 JST [12521] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2017-10-21 22:38:13.032 JST [12521] LOG:  redirecting log output to logging collector process
2017-10-21 22:38:13.032 JST [12521] HINT:  Future log output will appear in directory "log".
. done
server started


以上

pgAdmin4 インストール手順 CentOS 7

「pgAdmin 4」がリリースされてしばらく時間がたったので、
CentOS 7上にインストールし、試したい考えています。
まずはインストールです。

環境情報は下記の通りです。

# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
# uname -r
3.10.0-514.2.2.el7.x86_64
# python --version
Python 2.7.5

yumコマンドを利用した手順

1.SELinuxの無効化確認(Permissive)

# getenforce
Permissive


2.PostgreSQLレポジトリRPMダウンロード

# cd /usr/local/src/
# wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat96-9.6-3.noarch.rpm
# ls -l /usr/local/src/pgdg-redhat96-9.6-3.noarch.rpm
-rw-r--r--. 1 root root 4816  9月 27 15:59 /usr/local/src/pgdg-redhat96-9.6-3.noarch.rpm

3.PostgreSQLレポジトリ追加

# rpm -ivh /usr/local/src/pgdg-redhat96-9.6-3.noarch.rpm
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:pgdg-redhat96-9.6-3              ################################# [100%

4.EPELレポジトリの追加

# yum install epel-release -y
[省略]
# rpm -qa | grep epel
epel-release-7-8.noarch

5.pgAdmin4用ユーザの作成

# useradd pgadmin
# passwd pgadmin
ユーザー pgadmin のパスワードを変更。
新しいパスワード:[任意の文字列]
新しいパスワードを再入力してください:[任意の文字列]
passwd: すべての認証トークンが正しく更新できました。

6.pgAdmin4のインストール

# yum install pgadmin4-v1-web -y
[省略]
# yum list installed pgadmin4-v1-web 
pgadmin4-v1-web.noarch                    1.1-5.rhel7                    @pgdg96

7.pgAdmin4の設定変更

# vi /usr/lib/python2.7/site-packages/pgadmin4-web/config_distro.py

#SERVER_MODE = False # 修正箇所
MINIFY_HTML = False
HELP_PATH = '/usr/share/doc/pgadmin4-v1-docs/en_US/html'

8.pgAdminのセットアップ

# su - pgadmin
$ python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py
pgAdmin 4 - Application Initialisation
======================================


The configuration database - '/home/pgadmin/.pgadmin/pgadmin4.db' does not exist.
Entering initial setup mode...
NOTE: Configuring authentication for SERVER mode.


    Enter the email address and password to use for the initial pgAdmin user     account:

Email address: [管理者のメールアドレス]
Password:[管理者のパスワード]
Retype password:[管理者のパスワード]

The configuration database has been created at /home/pgadmin/.pgadmin/pgadmin4.db

9.Apache httpdの設定変更
※ 必要に応じて下記ファイル修正を実施

1. /usr/lib/python3.5/ → /usr/lib/python2.7/
2. アクセス可能なサーバの制御

# cp -p /etc/httpd/conf.d/pgadmin4-v1.conf.sample /etc/httpd/conf.d/pgadmin4-v1.conf
# vi /etc/httpd/conf.d/pgadmin4-v1.conf


10.サービスファイルの修正

# cp -p /usr/lib/systemd/system/pgadmin4-v1.service /etc/systemd/system/
# vi /etc/systemd/system/pgadmin4-v1.service
[下記箇所を修正]

#User=root
#Group=root

User=pgadmin
Group=pgadmin

# systemctl daemon-reload

11.pgAdmin4の起動

# systemctl start pgadmin4-v1.service
# systemctl status pgadmin4-v1.service
[省略]
   Active: active (running) since 日 2016-12-18 02:07:58 JST; 1s ago
[省略]


12.Apache httpdの起動

# systemctl start httpd.service
# systemctl status httpd.service
[省略]
   Active: active (running) since 日 2016-12-18 02:11:24 JST; 9s ago
[省略]

13.pgAdmin4へアクセス

下記URLにアクセスし、pgAdmin4にログインできることを確認
http://サーバのIPアドレス/pgadmin4

※ 80ポートをアクセス可能な状態にしておいてください。
fiwarewalld利用時のコマンド例

# firewall-cmd --add-port=80/tcp
success
# firewall-cmd --permanent --add-port=80/tcp
success

下記の画面が表示されますので、メールアドレスとパスワードを入力してログインします。
f:id:masanori19871105:20161218022650p:plain

ログイン後、PostgreSQLが動作するサーバに接続すると下記のような画面が表示されます。
f:id:masanori19871105:20161218032123p:plain


■ EDB社が提供するインストーラを利用
EDB社が提供するPostgreSQL 9.6のインストーラを利用し、
PostgreSQLをインストールするとpgAdmin4も同時にインストールされ利用することが可能です。下記URLよりダウンロード可能です。

www.enterprisedb.com


以上です、インストールが完了しのたでpgAdmin4の機能を試していきます。

Dockerコマンド(よく利用するもの)

Dockerを利用する際にコマンドを忘れてしまうため、
忘れないようにメモしておきます。(記載中)


環境

# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
# docker -v
Docker version 1.7.1, build 786b29d


1. Docker イメージの削除
docker imageの「TAG」列がとなっている、不要なイメージを削除します。
DockerのFIXMEに下記のように記載されており、将来のバージョンでは、
下記のような正規表現ではなく、コマンドオプション等で削除できるようになる予定です。

Simple command to remove all untagged images (`docker rmi $(docker images | awk '/^/ { print $3 }')`)


github.com

# docker rmi $(docker images | awk '/^<none>/ { print $3 }')

2. DockerコンテナのIPアドレス確認方法
DockerコンテナのIPアドレスは下記のコマンド確認可能です。

# docker inspect --format '{{ .NetworkSettings.IPAddress }}' [コンテナ名もしくはコンテナID]
# docker inspect --format '{{ .NetworkSettings.IPAddress }}' postgresreplication92_slave_1
172.17.0.15
# docker inspect --format '{{ .NetworkSettings.IPAddress }}' postgresreplication92_slave_2
172.17.0.14


3. Dockerコンテナにログイン

# docker exec -ti postgresreplication92_slave_1 /bin/bash
[root@99381b5d7bb7 postgresql-9.2.14]#

追記します。

DockerをGUIから利用する(Kitematicの導入)

こんばんは!!

Docker Engine上のコンテナをGUIから操作したいと考え、
Kitematicを試してみました。

環境情報は下記の通りです。

OS : Windows 10 ※1

下記のURLに「Windows 10 is not currently supported. 」と記載されているが、
マシンが1台しかないため、試してみる。(2015/10/15時点)

https://docs.docker.com/installation/windows/


DockerToolboxのインストール

1. 下記のURLからDockerToolboxをダウンロード
https://www.docker.com/toolbox

f:id:masanori19871105:20151015231202j:plain

2. ダウンロードしたDockerToolbox(1.8.3)をダブルクリック

f:id:masanori19871105:20151015231242j:plain

3. 表示されるウィンド上で「Next >」を押下。

f:id:masanori19871105:20151015231242j:plain

4. 任意のフォルダを選択し、「Next >」を押下。

f:id:masanori19871105:20151015231317j:plain

5. インストールするコンポーネント(Full installation)を選択し、「Next >」を押下。

f:id:masanori19871105:20151015231339j:plain

6. デスクトップアイコンの作成およびdocker.exeおよびdocker-machine.exeをPATHに追加する設定で、「Next >」を押下。

f:id:masanori19871105:20151015231349j:plain

7. インストール設定を確認し、「Install」を押下。

f:id:masanori19871105:20151015231545j:plain

8. インストールが完了すると下記が表示されるため、「Finish」を押下。



これで導入は完了する。

Kitematicの利用

1. デスクトップ上の「Kitematic(Alpha)」をダブルクリック。
# Docker用の仮想マシンがOracleVM Virturalbox上に作成される。
仮想マシンの名前は、[default」

f:id:masanori19871105:20151016001408j:plain


2. ログイン画面が表示されるので、ユーザ名、パスワードを入力し、ログイン。

f:id:masanori19871105:20151016001416j:plain

3. イメージ一覧が表示される。本手順では、「postgres」を選択。(「create」を押下)

f:id:masanori19871105:20151016001439j:plain

f:id:masanori19871105:20151016001502j:plain

4. 「Setting」を押下。

f:id:masanori19871105:20151016001548j:plain

5. LANGをCに変更し、「SAVE」を押下。

f:id:masanori19871105:20151016001528j:plain

6. 「Ports」を押下。仮想マシン上の稼働ポートを確認。

f:id:masanori19871105:20151016001658j:plain

7. 「START」を押下し、「EXEC」を押下。

8. 表示される画面でPostgreSQLに接続

f:id:masanori19871105:20151016001850j:plain



・Kitematicを導入してみての所感
1. Linux(CentOS上)で利用するほうが使いやすい。(コマンドラインのほうがよい気がする。)
 2. Kitematicはα版のため、正式版が公開された後にもう一度使ってみます。

また、下記のエラーが発生したこともあり、スムーズに導入できませんでした。
https://github.com/kitematic/kitematic/issues/1008


GUIを利用しようとKitematicを導入しましたが、自身としてはLinux上のコマンドラインの方が利用しやすい結果となりました。

Docker 1.7 インストール(CentOS 7.1)

こんばんは!!

Docker 1.7をCentOS 7.1にインストールします。

https://docs.docker.com/installation/centos/

# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
# uname -r
3.10.0-123.el7.x86_64


1. OSのアップデート

# yum update

2. Dockerインストールスクリプトの実行

# curl -sSL https://get.docker.com/ | sh
+ sh -c 'sleep 3; yum -y -q install docker-engine'
警告: /var/cache/yum/x86_64/7/docker-main-repo/packages/docker-engine-1.7.1-1.el7.centos.x86_64.rpm: ヘッダー V4 RSA/SHA1 Signature、鍵 ID 2c52609d: NOKEY
docker-engine-1.7.1-1.el7.centos.x86_64.rpm の公開鍵がインストールされていません
Importing GPG key 0x2C52609D:
 Userid     : "Docker Release Tool (releasedocker) <docker@docker.com>"
 Fingerprint: 5811 8e89 f3a9 1289 7c07 0adb f762 2157 2c52 609d
 From       : https://yum.dockerproject.org/gpg

If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker your-user

Remember that you will have to log out and back in for this to take effect!

3. Dockerの起動

# service docker start
Starting docker (via systemctl):                           [  OK  ]
# service docker status
docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled)
   Active: active (running) since 木 2015-07-30 20:15:57 JST; 9s ago
     Docs: https://docs.docker.com
 Main PID: 14352 (docker)
   CGroup: /system.slice/docker.service
           mq14352 /usr/bin/docker -d -H fd://

 7月 30 20:16:04 localhost.localdomain docker[14352]: time="2015-07-30T20:16...
 7月 30 20:16:05 localhost.localdomain docker[14352]: time="2015-07-30T20:16...
 7月 30 20:16:05 localhost.localdomain docker[14352]: time="2015-07-30T20:16...
 7月 30 20:16:05 localhost.localdomain docker[14352]: time="2015-07-30T20:16...
 7月 30 20:16:05 localhost.localdomain docker[14352]: time="2015-07-30T20:16...
 7月 30 20:16:05 localhost.localdomain docker[14352]: time="2015-07-30T20:16...
 7月 30 20:16:06 localhost.localdomain python[14397]: SELinux is preventing ...

                                                       *****  Plugin catchall...
 7月 30 20:16:06 localhost.localdomain python[14397]: SELinux is preventing ...

                                                       *****  Plugin catchall...
 7月 30 20:16:06 localhost.localdomain python[14397]: SELinux is preventing ...

                                                       *****  Plugin catchall...
 7月 30 20:16:07 localhost.localdomain python[14397]: SELinux is preventing ...

                                                       *****  Plugin catchall...
Hint: Some lines were ellipsized, use -l to show in full.

4. Dockerコマンドの確認

# docker -v
Docker version 1.7.1, build 786b29d

捕捉
# : rootで実行
$ : 一般ユーザで実行 

CentOS 6.5からCentOS 7.0へのアップグレード(補足トラブル:対処)

CentOS 7.0がリリースされしばらく経つので、CentOS 6.5をCentOS 7.0にアップグレードし、CentOS7.0 の新機能を学ぶことにしました。

現行のCentOS

# cat /etc/redhat-release
CentOS release 6.5 (Final)

参考URL
下記の情報を参考にしました。
http://wiki.centos.org/TipsAndTricks/CentOSUpgradeTool
http://abi.io/blogs/in-place-upgrade-centos-6-5-to-7-0-using-preupg.html

前提条件
CentOSで提供されるアップグレードを使用します。
・ 事前にシステムのバックアップを取得しておきます。
必ずしもアップグレードが成功するわけではないようです。
・ 自己責任で実施して下さい。
失敗した場合は、再インストールもしくはバックアップから復旧して下さい

今回は壊れてよい試験環境で実施しています。

手順
アップグレードのために実施した手順を記載します。

1. yumによるパッケージの最新化(必要であれば)

# yum -y update

2. 再起動(必要であれば)

# reboot

3.アップグレードツール用のレポジトリ作成

# vi /etc/yum.repos.d/upgradetool.repo
[下記を追加]
[upg]
name=CentOS-$releasever - Upgrade Tool
baseurl=http://dev.centos.org/centos/6/upg/x86_64/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

4.アップツールのインストール

# yum install redhat-upgrade-tool preupgrade-assistant-contents

5.Preupgrade Assistantツールを実行

# preupg -l
CentOS6_7
# preupg -s CentOS6_7
Preupg tool doesn't do the actual upgrade.
Please ensure you have backed up your system and/or data in the event of a failed upgrade
 that would require a full re-install of the system from installation media.
Do you want to continue? y/n
[yを入力]

Gathering logs used by preupgrade assistant:
All installed packages : 01/11 ...finished (time 00:01s)
All changed files      : 02/11 ...finished (time 06:10s)
Changed config files   : 03/11 ...finished (time 00:00s)
All users              : 04/11 ...finished (time 00:00s)
All groups             : 05/11 ...finished (time 00:00s)
Service statuses       : 06/11 ...finished (time 00:00s)
All installed files    : 07/11 ...finished (time 00:05s)
All local files        : 08/11 ...finished (time 00:28s)
All executable files   : 09/11 ...finished (time 00:04s)
RedHat signed packages : 10/11 ...finished (time 00:00s)
CentOS signed packages : 11/11 ...finished (time 00:00s)
Assessment of the system, running checks / SCE scripts:
001/096 ...done    (Configuration Files to Review)
002/096 ...done    (File Lists for Manual Migration)
003/096 ...done    (Bacula Backup Software)
004/096 ...done    (MySQL configuration)
005/096 ...done    (Migration of the MySQL data stack)
006/096 ...done    (Changes related to moving from MySQL to MariaDB)
007/096 ...done    (PostgreSQL upgrade content)
008/096 ...running (GNOME Desktop Environment underwent several design modificatdone    (GNOME Desktop Environment underwent several design modifications in CentOS 7 release)
009/096 ...running (KDE Desktop Environment underwent several design modificatiodone    (KDE Desktop Environment underwent several design modifications in CentOS 7 release)
010/096 ...done    (several graphic drivers not supported in CentOS 7)
011/096 ...done    (several input drivers not supported in CentOS 7)
012/096 ..done    (several kernel networking drivers not available in CentOS 7))
013/096 ...done    (several kernel storage drivers not available in CentOS 7)
014/096 ...done    (Names, Options and Output Format Changes in arptables)
015/096 ...done    (BIND9 running in a chroot environment check.)
016/096 ...done    (BIND9 configuration compatibility check)
017/096 ...running (Move dhcpd/dhcprelay arguments from /etc/sysconfig/* to *.sedone    (Move dhcpd/dhcprelay arguments from /etc/sysconfig/* to *.service files)
018/096 ...done    (DNSMASQ configuration compatibility check)
019/096 ...done    (Dovecot configuration compatibility check)
020/096 ...done    (Compatibility Between iptables and ip6tables)
021/096 ...done    (Net-SNMP check)
022/096 ...done    (Squid configuration compatibility check)
023/096 ...done    (Reusable Configuration Files)
024/096 ...done    (VCS repositories)
025/096 ...done    (Added and extended options for BIND9 configuration)
026/096 ...done    (Added options in DNSMASQ configuration)
027/096 ...done    (Packages not signed by CentOS)
028/096 ...done    (Obsoleted rpms)
029/096 ...done    (w3m not available in CentOS 7)
030/096 ...running (report incompatibilities between CentOS 6 and 7 in qemu-guesdone    (report incompatibilities between CentOS 6 and 7 in qemu-guest-agent package)
031/096 ...done    (Removed options in coreutils binaries)
032/096 ...done    (Removed options in gawk binaries)
033/096 ...done    (Removed options in netstat binary)
034/096 ...done    (Removed options in quota tools)
035/096 ...done    (Removed rpms)
036/096 ...done    (Replaced rpms)
037/096 ...done    (GMP library incompatibilities)
038/096 ...done    (package downgrades)
039/096 ...done    (restore custom selinux configuration)
040/096 ...done    (General)
041/096 ...done    (samba shared directories selinux)
042/096 ...done    (CUPS Browsing/BrowsePoll configuration)
043/096 ...done    (CVS Package Split)
044/096 ...done    (FreeRADIUS Upgrade Verification)
045/096 ...done    (httpd configuration compatibility check)
046/096 ...done    (bind-dyndb-ldap)
047/096 ...done    (Identity Management Server compatibility check)
048/096 ...done    (IPA Server CA Verification)
049/096 ...done    (NTP configuration)
050/096 ...done    (Information on time-sync.target)
051/096 ...done    (OpenLDAP /etc/sysconfig and data compatibility)
052/096 ...done    (OpenSSH sshd_config migration content)
053/096 ...done    (OpenSSH sysconfig migration content)
054/096 ...done    (Configuration for quota_nld service)
055/096 ...running (Disk quota netlink message daemon moved into quota-nld packadone    (Disk quota netlink message daemon moved into quota-nld package)
056/096 ...done    (SSSD compatibility check)
057/096 ...done    (Luks encrypted partition)
058/096 ...done    (Clvmd and cmirrord daemon management.)
059/096 ...done    (State of LVM2 services.)
060/096 ...done    (device-mapper-multipath configuration compatibility check)
061/096 ...done    (Removal of scsi-target-utils)
062/096 ...done    (Configuration for warnquota tool)
055/096 ...running (Disk quota netlink message daemon moved into quota-nld packadone    (Disk quota netlink message daemon moved into quota-nld package)
056/096 ...done    (SSSD compatibility check)
057/096 ...done    (Luks encrypted partition)
058/096 ...done    (Clvmd and cmirrord daemon management.)
059/096 ...done    (State of LVM2 services.)
060/096 ...done    (device-mapper-multipath configuration compatibility check)
061/096 ...done    (Removal of scsi-target-utils)
062/096 ...done    (Configuration for warnquota tool)
063/096 ...running (Disk quota tool warnquota moved into quota-warnquota packagedone    (Disk quota tool warnquota moved into quota-warnquota package)
064/096 ...done    (Architecture Support)
065/096 ...done    (Binary rebuilds)
066/096 ...done    (Debuginfo packages)
067/096 ...done    (Cluster and High Availability)
068/096 ...done    (Quorum implementation)
069/096 ...done    (fix krb5kdc config file)
070/096 ...done    (File Systems, Partitions and Mounts Configuration Review)
071/096 ...done    (Read Only FHS directories)
072/096 ...done    (Sonamebumped libs)
073/096 ...done    (SonameKept Reusable Dynamic Libraries)
074/096 ...done    (Removed .so libs)
075/096 ...done    (In-place Upgrade Requirements for the /usr/ Directory)
076/096 ...done    (CA certificate bundles modified)
077/096 ...done    (Developer Tool Set packages)
078/096 ...done    (Hyper-V)
079/096 ...running (Content for enabling and disabling services based on CentOS done    (Content for enabling and disabling services based on CentOS 6 system)
080/096 ...done    (Check for ethernet interface naming)
081/096 ...done    (User modification in /etc/rc.local and /etc/rc.d/rc.local)
082/096 ...done    (cgroups configuration compatibility check)
083/096 ...done    (Plugable authentication modules (PAM))
084/096 ...done    (Foreign Perl modules)
085/096 ...done    (Python 2.7.5)
086/096 ...done    (Ruby 2.0.0)
087/096 ...done    (SCL collections)
088/096 ...done    (System kickstart)
089/096 ...done    (YUM)
090/096 ...done    (Check for usage of dangerous range of UID/GIDs)
091/096 ...done    (Incorrect usage of reserved UID/GIDs)
092/096 ...done    (NIS ypbind config files back-up)
093/096 ...done    (NIS Makefile back-up)
094/096 ...done    (NIS server maps check)
095/096 ...done    (NIS server MAXUID and MAXGID limits check)
096/096 ...done    (NIS server config file back-up)
Assessment finished (time 09:27s)
Result table with checks and their results for main contents:
---------------------------------------------------------------------------------------------------------------
|Bacula Backup Software                                                                    |notapplicable     |
|MySQL configuration                                                                       |notapplicable     |
|Migration of the MySQL data stack                                                         |notapplicable     |
|Changes related to moving from MySQL to MariaDB                                           |notapplicable     |
|PostgreSQL upgrade content                                                                |notapplicable     |
|GNOME Desktop Environment underwent several design modifications in CentOS 7 release      |notapplicable     |
|KDE Desktop Environment underwent several design modifications in CentOS 7 release        |notapplicable     |
|several graphic drivers not supported in CentOS 7                                         |notapplicable     |
|several input drivers not supported in CentOS 7                                           |notapplicable     |
|Names, Options and Output Format Changes in arptables                                     |notapplicable     |
|BIND9 running in a chroot environment check.                                              |notapplicable     |
|BIND9 configuration compatibility check                                                   |notapplicable     |
|Move dhcpd/dhcprelay arguments from /etc/sysconfig/* to *.service files                   |notapplicable     |
|DNSMASQ configuration compatibility check                                                 |notapplicable     |
|Dovecot configuration compatibility check                                                 |notapplicable     |
|Net-SNMP check                                                                            |notapplicable     |
|Squid configuration compatibility check                                                   |notapplicable     |
|Added and extended options for BIND9 configuration                                        |notapplicable     |
|Added options in DNSMASQ configuration                                                    |notapplicable     |
|w3m not available in CentOS 7                                                             |notapplicable     |
|report incompatibilities between CentOS 6 and 7 in qemu-guest-agent package               |notapplicable     |
|restore custom selinux configuration                                                      |notapplicable     |
|samba shared directories selinux                                                          |notapplicable     |
|CUPS Browsing/BrowsePoll configuration                                                    |notapplicable     |
|FreeRADIUS Upgrade Verification                                                           |notapplicable     |
|bind-dyndb-ldap                                                                           |notapplicable     |
|Identity Management Server compatibility check                                            |notapplicable     |
|IPA Server CA Verification                                                                |notapplicable     |
|OpenLDAP /etc/sysconfig and data compatibility                                            |notapplicable     |
|SSSD compatibility check                                                                  |notapplicable     |
|Clvmd and cmirrord daemon management.                                                     |notapplicable     |
|device-mapper-multipath configuration compatibility check                                 |notapplicable     |
|Removal of scsi-target-utils                                                              |notapplicable     |
|Quorum implementation                                                                     |notapplicable     |
|fix krb5kdc config file                                                                   |notapplicable     |
|cgroups configuration compatibility check                                                 |notapplicable     |
|Ruby 2.0.0                                                                                |notapplicable     |
|System kickstart                                                                          |notapplicable     |
|NIS ypbind config files back-up                                                           |notapplicable     |
|NIS Makefile back-up                                                                      |notapplicable     |
|NIS server maps check                                                                     |notapplicable     |
|NIS server MAXUID and MAXGID limits check                                                 |notapplicable     |
|NIS server config file back-up                                                            |notapplicable     |
|several kernel networking drivers not available in CentOS 7                               |pass              |
|several kernel storage drivers not available in CentOS 7                                  |pass              |
|OpenSSH sshd_config migration content                                                     |pass              |
|Configuration for quota_nld service                                                       |pass              |
|Disk quota netlink message daemon moved into quota-nld package                            |pass              |
|Luks encrypted partition                                                                  |pass              |
|Configuration for warnquota tool                                                          |pass              |
|Architecture Support                                                                      |pass              |
|Debuginfo packages                                                                        |pass              |
|Cluster and High Availability                                                             |pass              |
|Read Only FHS directories                                                                 |pass              |
|In-place Upgrade Requirements for the /usr/ Directory                                     |pass              |
|CA certificate bundles modified                                                           |pass              |
|Developer Tool Set packages                                                               |pass              |
|Hyper-V                                                                                   |pass              |
|Check for ethernet interface naming                                                       |pass              |
|Plugable authentication modules (PAM)                                                     |pass              |
|SCL collections                                                                           |pass              |
|Compatibility Between iptables and ip6tables                                              |informational     |
|VCS repositories                                                                          |informational     |
|Removed options in coreutils binaries                                                     |informational     |
|Removed options in gawk binaries                                                          |informational     |
|Removed options in netstat binary                                                         |informational     |
|Removed options in quota tools                                                            |informational     |
|GMP library incompatibilities                                                             |informational     |
|CVS Package Split                                                                         |informational     |
|httpd configuration compatibility check                                                   |informational     |
|NTP configuration                                                                         |informational     |
|Information on time-sync.target                                                           |informational     |
|Disk quota tool warnquota moved into quota-warnquota package                              |informational     |
|File Systems, Partitions and Mounts Configuration Review                                  |informational     |
|Sonamebumped libs                                                                         |informational     |
|SonameKept Reusable Dynamic Libraries                                                     |informational     |
|Removed .so libs                                                                          |informational     |
|Foreign Perl modules                                                                      |informational     |
|YUM                                                                                       |informational     |
|Reusable Configuration Files                                                              |fixed             |
|Replaced rpms                                                                             |fixed             |
|package downgrades                                                                        |fixed             |
|OpenSSH sysconfig migration content                                                       |fixed             |
|State of LVM2 services.                                                                   |fixed             |
|Configuration Files to Review                                                             |needs_inspection  |
|File Lists for Manual Migration                                                           |needs_inspection  |
|Obsoleted rpms                                                                            |needs_inspection  |
|Binary rebuilds                                                                           |needs_inspection  |
|Python 2.7.5                                                                              |needs_inspection  |
|Check for usage of dangerous range of UID/GIDs                                            |needs_inspection  |
|Incorrect usage of reserved UID/GIDs                                                      |needs_inspection  |
|Packages not signed by CentOS                                                             |needs_action      |
|Removed rpms                                                                              |needs_action      |
|General                                                                                   |needs_action      |
|Content for enabling and disabling services based on CentOS 6 system                      |needs_action      |
|User modification in /etc/rc.local and /etc/rc.d/rc.local                                 |needs_action      |
---------------------------------------------------------------------------------------------------------------
Tarball with results is stored here /root/preupgrade-results/preupg_results-150110180525.tar.gz .
The latest assessment is stored in directory /root/preupgrade .
Summary information:
We found some potential in-place upgrade risks.
Read the file /root/preupgrade/result.html for more details.
Upload results to UI by command:
e.g. preupg -u http://127.0.0.1:8099/submit/ -r /root/preupgrade-results/preupg_results-*.tar.gz .

6.レポートの詳細確認
/root/preupgrade/result.htmlに結果が記載されています。
※ 今回は壊れてもよい試験的な環境で実施したため詳細は確認せず、次の手順に進みました。
本来はすべての内容を確認し、対処方法を検討すべき

7.アップグレードの実施

# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
# centos-upgrade-tool-cli --network 7 --instrepo=http://mirror.centos.org/centos/7/os/x86_64/
# centos-upgrade-tool-cli --network 7 --instrepo=http://mirror.centos.org/centos/7/os/x86_64/
setting up repos...
cmdline-instrepo                                         | 3.6 kB     00:00
cmdline-instrepo/primary_db                              | 4.9 MB     00:03
epel/metalink                                            | 4.9 kB     00:00
epel                                                     | 4.4 kB     00:00
epel/primary_db                                          | 6.4 MB     00:00
upg                                                      | 1.9 kB     00:00
upg/primary_db                                           |  14 kB     00:00
No upgrade available for the following repos: base extras updates
.treeinfo                                                | 1.1 kB     00:00
Preupgrade assistant risk check found risks for this upgrade.
You can run preupg --riskcheck --verbose to view these risks.
Addressing high risk issues is required before the in-place upgrade
and ignoring these risks may result in a broken upgrade and unsupported upgrade.
Please backup your data.

List of issues:
INPLACERISK: HIGH: We detected some non-CentOS signed packages, you can find the list in /root/preupgrade/./kickstart/noncentospkgs. You need to handle them yourself!
INPLACERISK: HIGH: After upgrading to CentOS 7 there are still some el6 packages left. Add --cleanup-post option to redhat-upgrade-tool if you want to remove them automatically.
INPLACERISK: HIGH: There were changes in SELinux policies between CentOS 6 and CentOS 7. Please, check solution in order to resolve this issue.
INPLACERISK: HIGH: The service blk-availability on CentOS 7 is disabled by default. Enable them via commands: systemctl enable blk-availability && systemctl start blk-availability.service .
INPLACERISK: HIGH: The service ip6tables on CentOS 7 is disabled by default. Enable them via commands: systemctl enable ip6tables && systemctl start ip6tables.service .
INPLACERISK: HIGH: The service network on CentOS 7 is disabled by default. Enable them via commands: systemctl enable network && systemctl start network.service .
INPLACERISK: HIGH: The service ntpd on CentOS 7 is disabled by default. Enable them via commands: systemctl enable ntpd && systemctl start ntpd.service .
INPLACERISK: HIGH: The service ntpdate on CentOS 7 is disabled by default. Enable them via commands: systemctl enable ntpdate && systemctl start ntpdate.service .
INPLACERISK: HIGH: File /etc/rc.d/rc.local was changed
INPLACERISK: MEDIUM: We detected some packages installed on the system were removed (obsoleted) between CentOS 6 and CentOS 7. This may break the functionality of the packages depending on them.
INPLACERISK: MEDIUM: We detected some packages installed on the system were removed between CentOS 6 and CentOS 7. This may break the functionality of the packages depending on them.
[省略]
Continue with the upgrade [Y/N]?
[Yを入力]
[省略]
rpm transaction 100% [=========================================================]
rpm install 100% [=============================================================]
setting up system for upgrade

8. 再起動

# reboot

再起動に時間がかかります。

9. バージョンの確認

# cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)

以上で、アップグレードは終了です。

補足:
CentOS 7.0後にupgrade後、下記の問題が発生しました。
a. sshdが起動しないが起動しない

# systemctl start sshd
# systemctl status sshd
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: activating (auto-restart) (Result: exit-code) since 土 2015-01-10 19:47:47 JST; 5s ago
  Process: 1283 ExecStart=/usr/sbin/sshd -D $OPTIONS (code=exited, status=127)
  Process: 1281 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
 Main PID: 1283 (code=exited, status=127)

 1月 10 19:47:47 www9379ue.sakura.ne.jp sshd[1283]: /usr/sbin/sshd: error wh...
 1月 10 19:47:47 www9379ue.sakura.ne.jp systemd[1]: sshd.service: main proce...
 1月 10 19:47:47 www9379ue.sakura.ne.jp systemd[1]: Unit sshd.service entere...
Hint: Some lines were ellipsized, use -l to show in full.

b. yumが実行できない

# yum install postgresql
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   libsasl2.so.2: cannot open shared object file: No such file or directory

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.7.5 (default, Jun 17 2014, 18:11:42)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)]

If you cannot solve this problem yourself, please go to
the yum faq at:
  http://yum.baseurl.org/wiki/Faq

原因特定
libsasl2.so.2 => not foundが原因

# /usr/sbin/sshd
/usr/sbin/sshd: error while loading shared libraries: libsasl2.so.2: cannot open shared object file: No such file or directory
# ldd /usr/sbin/sshd
 [省略]
        libsasl2.so.2 => not found
[省略]

対処

# ln -s /lib64/libsasl2.so.3 /lib64/libsasl2.so.2

今後は、CentOS 7.0の新機能を学んでいこうと思います。

Redmine + PostgreSQL インストール (作成中 2014/11/29)

こんばんは!!
Redmineを使う機会があったので、
下記のURLを参考にインストールを実施してみます。
# DBの設定以外は下記URLの内容をそのまま実施

インストール — Redmine.JP

環境 バージョン
CentOS 6.5

# cat /etc/redhat-release
CentOS release 6.5 (Final)

1. selinuxの無効化

# vi /etc/sysconfig/selinux
(修正)
#   enforcing - SELinux security policy is enforced.
#   permissive - SELinux prints warnings instead of enforcing.
#   disabled - SELinux is fully disabled.
SELINUX=disabled
(再起動)
# reboot
# getenforce
Disabled

2. ファイアウォールの設定追加(80ポートの解放)

# vi /etc/sysconfig/iptables
(追加)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
(iptables再起動)
# service iptables restart
iptables: チェインをポリシー ACCEPT へ設定中filter         [  OK  ]
iptables: ファイアウォールルールを消去中:                  [  OK  ]
iptables: モジュールを取り外し中:                          [  OK  ]
iptables: ファイアウォールルールを適用中:                  [  OK  ]

3. EPELリポジトリの登録

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm を取得中
準備中...                ########################################### [100%]
(省略)
# yum repolist
epel                    Extra Packages for Enterprise Linux 6 - x86_64    11,226

4.開発ツール(Cコンパイラ等)のインストール

# yum groupinstall "Development Tools"

5.RubyとPassengerのビルドに必要なヘッダファイルなどのインストール

# yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel

6.PostgreSQLのインストール

PostgreSQL 9.4 インストール - Marlock Homes Diary

7.Apacheとヘッダファイルのインストール

# yum -y install httpd httpd-devel

8.ImageMagickとヘッダファイル・日本語フォントのインストール

# yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts

9.Rubyのインストール
9.1.ダウンロード

# cd /usr/local/src/
# wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p598.tar.gz

9.2.ビルド

# tar xvzf ruby-2.0.0-p598.tar.gz
# cd ruby-2.0.0-p598
# ./configure --disable-install-doc 
# make
# make install
# cd ..

9.3.インストール確認

# ruby -v
ruby 2.0.0p598 (2014-11-13 revision 48408) [x86_64-linux]

10.Redmine用データベース作成

# su - postgres
$ createdb redmine_db

11.Redmineのインストール

# cd /usr/local/src/
# curl -O http://www.redmine.org/releases/redmine-2.5.0.tar.gz
# tar xvf redmine-2.5.0.tar.gz
# mv redmine-2.5.0 /var/lib/redmine

12.データベースへの接続設定
# vi /var/lib/redmine/config/database.yml

production:
  adapter: postgresql
  database: redmine_db
  host: localhost
  username: postgres
  password: "postgres"


13.設定ファイル config/configuration.yml の作成

# vi /var/lib/redmine/config/configuration.yml
production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: "localhost"
      port: 25
      domain: '[fqdnを設定]'

  rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf

14.bundlerのインストール

# gem install bundler --no-rdoc --no-ri

15.Gemパッケージのインストール

# bundle install --without development test

16.Redmineの初期設定とデータベースのテーブル作成

bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate

17.Passengerのインストール

# bundle install --without development test

18.PassengerのApache用モジュールのインストール

# passenger-install-apache2-module
#  passenger-install-apache2-module --snippet
LoadModule passenger_module /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.53
  PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>

18.1. Apacheの設定

# vi /etc/httpd/conf.d/passenger.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/lib/ruby/gems/2.0.0/gems/passenger-4.0.53
  PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>

19. Apache起動

# service httpd start
httpd を起動中:                                            [  OK  ]

20. サブディレクトリでRedmineを実行
20.1. シンボリックリンクの作成

# ln -s /var/lib/redmine/public /var/www/html/redmine

20.2. Apacheへの設定追加

(追加)
RackBaseURI /redmine

20.3. Apache再起動
# service httpd configtest
Syntax OK
# service httpd graceful


以上でredmaineのインストールは完了。
以下にアクセス。

http://[ipアドレス]/redmine