カテゴリー
Linux

【phpmig】【MySQL】マイグレーション時に文字化けする時の修正方法

ポイント

  • PDO をインスタンス化する際に、文字コードを指定する。
  • PHP バージョンによって指定方法が異なることに注意

環境

  • PHP 5.3.3 (cli) (built: Aug 11 2016 20:33:53)
  • mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
カテゴリー
Linux

【Vagrant】EC-CUBE 3 環境を Mac で構築した時の共有フォルダ mount_options 設定ポイント

EC-CUBE 3 を Vagrant にインストールするとき、次の問題に遭遇しました><。

  • インストールシェルファイルが実行できない。
  • インストールできても、パーミッションの問題で、どんなページでも表示すらできない。

これを解決しましたので、ノートいたします♪

解決できたコードとそのポイント

  • 共有フォルダ・ファイルのパーミッション設定を、ディレクトリは 777、ファイルは 766 とする。
config.vm.synced_folder "synced_folder/ec-cube/", "/var/www/ec-cube",
  create: true, mount_options: ['dmode=777', 'fmode=766']
カテゴリー
Linux

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

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

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

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

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

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

ポイント

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

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

方針

進め方

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

構築内容

次と同様とする。

カテゴリー
Linux

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
    
  • 開発環境のため、アクセス制限はかけていない点に注意
カテゴリー
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 の値が知りたいですの!調査して、まとめた結果をノートいたします。

カテゴリー
Linux

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

ポイント

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

【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 をほぼそのまま使用した。