カテゴリー
Linux

Ansible で CentOS 7 の自己署名の SSL 証明書を作成するタスク 2 種の方法をメモ

まとめ

sudo bash /etc/pki/tls/certs/make-dummy-cert filename を使う方法

  • PRIVATE KEY と CERTIFICATE が一つのファイルに出力される。
  • Nginx 設定ファイルで使えるようにするために、シンボリックリンクを作って ssl_certificate と ssl_certificate_key に指定する。

Ansible の openssl_privatekey, openssl_csr, openssl_certificate モジュールを使う方法

カテゴリー
Linux

Amazon Lightsail 低スペックインスタンスのメモリ不足を解消するために Swap を作り、快適になりました♪

はじめに

Amazon Lightsail に WordPress サーバを引越しした騒動まとめ – oki2a24 で感じていたメモリ不足を、 Swap を作ることで解消できるのではないかと考え、実施しました。

カテゴリー
Linux

Ansible で CentOS 7 に MySQL 5.7 を構築する時のお勉強メモ

構築の進め方

まず、日本語で流れを確認しました。

mysql_secure_installation 時において、Ansible 的に、初期パスワードを入れる必要があるのが辛そうでした。

次に本家ドキュメントに従って構築していきました。

その後、Ansible プレイブックを確認しながら書いていく、という順番です。

カテゴリー
Linux

#ConoHa5周年 CentOS 7.5 で SELinux をオン(Enforcing)にしてログインもできました♪

ConoHa では CentOS 7.5 で SELinux をオン(enforcing)にすると再起動後、ログインできなくなりました>< – oki2a24 を投稿したところ、次のアドバイスをいただきました。ありがとうございます!

早速、SELinuxの状態を変更する | 2done.org の内容を実践し、うまく行きましたのでその記録を残そうと思います。

カテゴリー
Linux

【CentOS7】SDKMAN! をシステムワイド (全ユーザが使えるよう) にインストールする方法

root ユーザで SDKMAN! を使ってインストールした Java や Grails を、他のユーザ使用できるのならシステムワイドにインストールする必要はない。

そのように考え試してみましたところ、ダメ!

具体的には root ユーザで Java をインストールして、別ユーザで java コマンド確認したら無いって言われてしまいました。

  • 全ユーザが sdk コマンドで SDK をインストール等できる。
  • 全ユーザが sdk コマンドで使用可能にした Java 等を利用できる。

という環境を作成してみました。

まずは従来の普通の方法を見た後、システムワイドに SDKMAN! をインストールする方法書いていきます。

カテゴリー
Linux

CentOS 7 に PostgreSQL 9.2 をインストール、設定のノート

インストール

yum -y install postgresql-devel postgresql-server

特にリポジトリの追加等は行っておりません。

次のバージョンがインストールされました。

# psql --version
psql (PostgreSQL) 9.2.15
#

初期設定

CentOS 6 では、initdb は postgresql-setup ではなく、service postgresql initdb でした。

CentOS 7 となり、サービスの起動等以外にも変更となり、この点がとくに分かり辛く、調べるのに時間を使ってしまいました><。

# 初期化
postgresql-setup initdb
# 自動起動を有効
systemctl enable postgresql.service
# 起動
systemctl start postgresql.service

設定ファイル編集 1. パスワード認証へ変更

# バックアップ
cp -a /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf.org
# パスワード認証へ変更
sed -i -i 's|local   all             all                                     peer|local   all             all                                     md5|' /var/lib/pgsql/data/pg_hba.conf
sed -i -i 's|host    all             all             127.0.0.1/32            ident|host    all             all             127.0.0.1/32            md5|' /var/lib/pgsql/data/pg_hba.conf
sed -i -i 's|host    all             all             ::1/128                 ident|host    all             all             ::1/128                 md5|' /var/lib/pgsql/data/pg_hba.conf

次のように変更されました♪

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

設定ファイル編集 2. パスワード暗号化 (設定変更せず)

password_encryption (boolean)
ENCRYPTEDもしくはUNENCRYPTEDの指定なしで、CREATE USER もしくはALTER USERにてパスワードが指定されている場合、このパラメータはパスワードを暗号化するか否かを決定します。 デフォルトはon(パスワードを暗号化)です。

デフォルトでオンのため、次の修正は行いませんでした。

# バックアップ
cp -a /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.conf.org
# パスワード暗号化
sed -i -e 's/#password_encryption = on/password_encryption = on/' /var/lib/pgsql/data/postgresql.conf

設定ファイル編集 3. スーパーユーザに (postgres) にパスワード設定

ヒアドキュメントを使って、シェルから実行しました。

su - postgres <<EOT
psql -U postgres
ALTER USER postgres encrypted password 'vagrant';
\q
exit
EOT

確認は、次の SQL で行うことができました。

SELECT * FROM pg_shadow;

設定変更の反映

PostgreSQL を再起動して、変更した設定を反映させています。

# 再起動して設定反映
systemctl restart postgresql.service

おわりに

次の Vagrant のテンプレート作成のために、久しぶりに PostgreSQL のインストールを行いました。

調べる中で覚えておきたいこともございましたので、Github にコードを反映させる以外にノートいたしました。

以上です。

カテゴリー
Linux

【Vagrant】最小限の CentOS 7 から Web サーバ環境の整った Vagrant Box の Provisioning シェルファイルを作る

方針

進め方

  1. 最小限の CentOS 7 の Vagrant Box を立てる。
  2. Web サーバを構築していくコマンドをシェルファイルに記録していく。
  3. vagrant up 時にシェルファイルがプロビジョニングされるようにする。

構築内容

次と同様とする。

カテゴリー
Linux

【Linux】「sudo: sudo を実行するには tty がなければいけません。すみません」への対応。改行コードに注意!

エラー内容

  • Windows 10 マシンで packer を使用して CentOS 7 の Vagrant Box を作成し、動作を確認した。
  • 別のマシンで vagrant up するとエラーが発生した。
    vagrant ssh は正常に動き、ログインできた。
  • 改行コードが CRLF のコードで packer build を実行してしまったことが原因
カテゴリー
Linux

CentOS 7 インストール後に Packer から SSH で繋がらないエラーにつまづくことなく Vagrant ボックスを作る手順

手順ポイント

  1. packer を使用せず手動で仮想マシンを作る。
  2. 仮想マシンをからキックスタートファイルを入手
  3. 入手したキックスタートファイルをそのまま Vagrant ボックス作成に使う。
  4. ボックスを作れたことを確認してから、カスタマイズ
カテゴリー
Linux

【CentOS7】yum の $releasever、$basearch と $infra を知る方法

環境

  • CentOS Linux release 7.2.1511 (Core)

知りたいこと

... 略 ...
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
... 略 ...

の変数 $releasever、$basearch と $infra の値が知りたいですの!調査して、まとめた結果をノートいたします。