テストで使うサーバーはいつも、調子の悪くなったクライアントPCを使っている。今回Access2016 64bit版の試験用に2011年に購入したPCをテストサーバーとして使っていたが、立ち上がらなくなってしまい、HDを交換して再セットアップした。

いつも同じようなセットアップなのだが、トラブルは付き物で、今回もはまってしまったところがあったので、改めてメモしておく。

CentOS7のインストール(CentOS-7-x86_64-Minimal-1611.iso)
最小インストール版をダウンロードしてきて、CD(DVDではなく)に焼いた。
最小インストールなので「開発ツール」はインストールされていない。
パーティションは自分で設定する。自動で作成すると「/home」に400Gも割り当てられて、「/」には50Gしか割り当てられなかった。
「セキュリティー」はOFFにして、ネートワーク設定を忘れないこと。「IPv4の場合はアドレス変換が必要」にチェックを入れること。

(1)emacsのインストール
vi を使うなら不要
#yum -y install emacs

(2)SELinuxを止める
/etc/sysconfig/selinuxを編集
SELINUX=disabled
#SELINUXTYPE=targeted コメントアウトした

(3)ファイアフォールを止める
#sysctl disable firewalld.service
#systemctl disable firewalld

(4)sambaのインストール
#yum -y install samba samba-common
#mkdir /home/pub
#chmod 777 /home/pub
#chown nobody:nobody /home/pub

/etc/samba/smb.confの編集(今回ここではまった)
プリンター関係の設定は全てコメントアウトした
[global]
workgroup = DOMAIN
security = user (shareはサポートされなくなった!!!)
map to guest = Bad User(これがないと、ユーザー認証画面が表示されてしまう)
[public]
path = /home/pub
public = yes
writable = yes
printable = no
guest ok = yes
guest only = yes
create mask = 0777 (今回から新たに追加)
directory mask = 0777 (今回から新たに追加)

編集後
#systemctl enable smb
#systemctl enable nmb

再起動は
#service smb restart

(5)telnetサーバーのインストール
#yum -y install telnet-server
#systemctl enable telnet.socket


(6)その他のインストール
#yum -y install unzip
#yum -y install gcc (「開発ツール」がインストールされていないので)
#yum -y install readline readline-devel (PostgreSQLのコンパイルに必要)
#yum -y install zlib zlib-devel  (PostgreSQLのコンパイルに必要)

(7)不要なサービスの停止
とりあえず
#systemctl disable postfix
#systemctl disable crond

(8)usbメモリーのマウント
/etc/fstabに下記を追加
/dev/sdb /mnt auto noauto,user 0 0

(9)PostgreSQLのインストール
ソースをmakeしてインストール
データフォルダは/usr/local/pgsql/data

・アカウントの作成
rootでログイン
#/usr/sbin/adduser postgres
#/usr/bin/passwd postgres

・フォルダーの作成
#mkdir /usr/local/pgsql
#chown postgres:postgres /usr/local/pgsql
#chown posrgres:postgres /usr/local/src (フォルダーは既にあるので、オーナーだけ変更)

・ソースの展開
/mntに圧縮されたソース(.tar.gz)を用意して
$cd /usr/local/src
$tar xfz /mnt/ソースファイル名

・コンパイル
$cd /usr/local/src/p*
$./configure オプション無し
$make all
$make install

・初期化
postgresで/home/postgres/.bashrcに下記を追加
PATH="$PATH":/usr/local/pgsql/bin
export PGDATA=/usr/local/pgsql/data

$source ~/.bashrc

PGDATAが環境変数として設定されているか確認
$printenv


$initdb --no-locale --encoding=UTF8 

(2017/4/6
オプション無しで使ってみるとソートした時に並びが変だった)

/usr/local/pgsql/data/pg_hba.confの編集(編集前に元ファイルを.bkを付けて保存しておく)
下記を追加
host all all 0.0.0.0/0 trust

/usr/local/pgsql/data/postgresql.confの編集(編集前に元ファイルを.bkを付けて保存しておく)
listen_addresses = '*'
以下はいつも設定しいるが、今回はテストサーバーなので既定のままで変更しなかった。
shared_buffers = 160MB
temp_buffers = 40MB
work_mem = 10MB
max_connection = 32

・postgresql.serviceの自動起動
下記を/lib/systemd/systemディレクトリに作成し"postgresql.service"というファイル名で保存

[Unit]
Description=PostgreSQL database server
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/pgsql/data/postmaster.pid
User=postgres
ExecStart=/usr/local/pgsql/bin/pg_ctl -s -D /usr/local/pgsql/data start
ExecStop=/usr/local/pgsql/bin/pg_ctl -s -D /usr/local/pgsql/data stop -m fast

[Install]
WantedBy=multi-user.target

#chown postgres:postgres /lib/systemd/system/postgresql.service
#systemctl enable postgresql.service

として登録。再起動してpostgresql.serviceが起動しているか確認。

#systemctl --type service
#top

・データベースの作成
$createdb DataBaseMei -E UTF-8 -l ja_JP.UTF-8 -T template0
$psql DataBaseMei -e < ダンプデータ

・ユーザーの作成(スーパーユーザーとして)
$createuser -s Namae

・ユーザーの削除
$dropdb Namae

------------------------------------------------------------

2019/8/21
1.sambaが開かなかった、telnetがつながらなかったので、
#systemctl disable firewalld

2.ホスト名の変更
#hostnamectl set-hostname [ホスト名]

あるいは下記を編集
/etc/hostname

3.IPアドレスの変更
デバイスを確認
#nmcli d

IPアドレス、サブネットマスクを変更
/etc/sysconfig/network-scripts/ifcfg-enp6s0 (例えば)を修正

インストール終了後、テスト環境ではクライアントPCとピアツーピアになる。その際、クラアントPCからの接続が遅くなってしまう時
で設定したDNSは見えなくなっているので。コメントアウト(#を付ける)する。
それでも遅い場合は/hostsにクライアントPCを追加する。