読者です 読者をやめる 読者になる 読者になる

技術メモ

業務で調べたこととか...

とあるサービスの開発環境作成

はじめに

ec2で動いているものを物理サーバで再現した時にやったことをメモ(サーバーコピーで済むならそれに越したことはない)。
本番環境の設定を地道に調べていった感じ。
PHPのバージョン、「/usr/lib64/php/modules/」の中身、その他設定ファイルとか(php.ini/httpd.conf等)。

アプリケーション基盤の移行

テストサーバー(ステージング環境)で動いているアプリケーションのディレクトリ構造(「/var/www/」配下)を確認し、ローカル(開発環境)に持ってくる。
その際に、git等でバージョン管理されているディレクトリを確認する。

 利用ツールのインストール

ツール群(apache/php/smarty/postgre/Redis等)を把握して、インストール有無を確認したうえでそれぞれインストールする。
例.
smarty等 → 「/usr/share/php/」をコピペ
php関連 → 「yum -y install php php-mbstring php-pdo php-pgsql php-devel php-mbstring php-pdo php-pgsql php-pecl-yaml.x86_64 php-pecl-apc.x86_64 php-domxml-php4-php5.noarch php-gd.x86_64」

設定ファイル(アプリケーション側)の編集

アプリケーションとツールの接続を修正する
例.
「/smarty/configs」配下のファイル(postgre接続に関する設定)」、「server_list.php(Redis接続に関する設定)」を修正する。

設定ファイル(ツール側)の編集

ツールの挙動を修正する
例.
Apache → 「/etc/httpd/conf/httpd.conf」「/etc/httpd/conf.d/rewrite.conf(アプリケーションのルーティング機能)」「/etc/httpd/conf.d/*.conf」
PHP → 「/etc/php.ini」
Postgresql → 「/var/lib/pgsql/data/postgresql.conf(postgreのクライアント認証、max_connections調整)」「/var/lib/pgsql/data/pg_hba.conf(postgreのクライアント認証)」

 アプリケーション/ツールの調整

本番環境用の挙動を、開発環境用に修正する
例.
アプリケーション → メール送信機能(アカウント登録/APIキー発行時にその旨を伝えるメールが飛ぶ)の無効化
ツール → postgresqlのリストア(+ダンプファイル内のユーザ名置換等)、
smartyのアクセス権限変更(chown apache:apache smarty/templates/、chown apache:apache smarty/templates_c/)