インストール済みのパッケージを rpm で再度インストールしようとした時、if 無しでもシェルを止めない方法

スポンサードリンク

Vagrant のプロビジョニング時、シェルファイルを幾つか組み合わせます。

シェルには set -eux を書いていますので、エラーが発生したタイミングで停止させております。

汎用性を高めるために、何度か同じパッケージを rpm でインストールするコマンドを書いています。

そうしますと、2 回目の rpm インストールでエラーと扱われてしまい、シェルが止まってしまいました。

この状況を打開すべく、検討し、結果が出ましたのでメモいたします。

ポイント

  • >/dev/null 2>&1 で無視しようとしたが、エラー扱いとなり、シェルは止まってしまった。
  • rpm インストール前後で、シェルのデバッグモードのオンオフを切り替えることで対処した。
  • 具体的には、コマンド前に set +e し、コマンド実行し、最後に set -e する。

“インストール済みのパッケージを rpm で再度インストールしようとした時、if 無しでもシェルを止めない方法”の続きを読む

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

方針

進め方

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

構築内容

次と同様とする。

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


スポンサードリンク

Apache 2.4 では phpMyAdmin で Directory ディレクティブの設定がないとログイン画面にすらたどり着けない問題を解決

Vagrant でどこにも公開しない開発環境を作るとき、LAMP でしたら phpMyAdmin もインストールしております。

CentOS 7 を使うようになって、Apache が 2.2 ではなく、2.4 がデフォルトとなりました。

このとき、今までの phpMyAdmin 設定ではログイン画面に到達できませんでした。

この問題を解消する設定をノートいたします♪

ポイント

  • /usr/share/phpMyAdmin/ の Directory ディレクティブに次の 2 行を設定
    AllowOverride all
    Require all granted
    
  • 開発環境のため、アクセス制限はかけていない点に注意

“Apache 2.4 では phpMyAdmin で Directory ディレクティブの設定がないとログイン画面にすらたどり着けない問題を解決”の続きを読む

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

エラー内容

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

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

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

手順ポイント

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

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

【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 の値が知りたいですの!調査して、まとめた結果をノートいたします。

“【CentOS7】yum の $releasever、$basearch と $infra を知る方法”の続きを読む

【PHP】phpmig で MySQL のマイグレーションをするまでの導入手順

ポイント

  • Pimple もインストールすること。さもないと、phpmig migrate 時に Fatal error: Class ‘Pimpli¥Container’ not found in … とエラーになった。
  • Pimple インストール方法については、phpmig の README には記載されていないので注意。

“【PHP】phpmig で MySQL のマイグレーションをするまでの導入手順”の続きを読む

【MySQL】全クエリをログ出力し、ログローテート設定を行う

環境

  • mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

設定を行うコマンド

  • /etc/my.cnf の [mysqld] に記述することで全クエリをログ出力する。
  • general_log でオンにし、general_log_file でログファイルパスを指定する。
  • ログローテートは、もともとある /etc/logrotate.d/mysqld をほぼそのまま使用した。

“【MySQL】全クエリをログ出力し、ログローテート設定を行う”の続きを読む

【CentOS6】SELinux を無効にできない問題を解決!

ポイント

  • SELINUX=disabled を記述するファイルは、/etc/sysconfig/selinux ではなく /etc/selinux/config が正しい。
  • CentOS 6 で確認した。CentOS 7 でも同様のようだ。CentOS 5 では不明。

“【CentOS6】SELinux を無効にできない問題を解決!”の続きを読む

【WordPress】root ユーザで WP-CLI を使ってインストール・セットアップしたい時のポイント

Vagrant のプロビジョニング時に WordPress をインストールしたいですの。

プロビジョニングは基本的に root ユーザで実行されます。

コマンドラインから WordPress を扱える WP-CLI が、この影響を受けてエラーとなってしまいました><。

いくつかの失敗を経て root ユーザでも WP-CLI を扱えるようになりましたの!

今回は root ユーザでの WP-CLI コマンドと、失敗事例をノートいたします。

環境

  • CentOS 7
  • WP-CLI version: 0.23.1

“【WordPress】root ユーザで WP-CLI を使ってインストール・セットアップしたい時のポイント”の続きを読む