LoginSignup
8
7

More than 5 years have passed since last update.

vagrant php環境 mailcatcherの設定 備忘録 (途中)

Last updated at Posted at 2015-07-18

◆phpの練習のためにvagrantサーバを一つ作る

※メール送信のテストをしたいのでmailcatcherを使って練習用に設定する
本当はpostfixを設定してgmail経由でメールが送信できるのが望ましいが。。。
とりあえず練習ようなのでmailcatcherを使ってみる。

◆vagrantの設定

必要なツールインストールと設定手順

設定1
sudo yum -y update
設定2
sudo yum -y install yum-cron wget vim install openssl-devel httpd mysql mysql-libs vim-enhanced bind-utils tree ImageMagick-devel mysql-devel libxml2-devel libxslt-devel libcurl-devel git gcc mysql-devel mysql2 libffi-devel ruby-devel gcc-c++ httpd httpd-devel apr-devel apr-util-devel libcurl-devel mariadb-server mariadb-devel ImageMagick ImageMagick-devel ipa-pgothic-fonts ruby-devel rubygems sqlite sqlite-devel
設定3
sudo /etc/rc.d/init.d/yum-cron start
sudo chkconfig yum-cron on
設定4
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo rpm -Uvh epel-release-6-8.noarch.rpm

wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6.rpm
設定5
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar xvfz libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/Cellar/libiconv/1.13.1
make
sudo make install
設定6
sudo yum -y install mysql-devel.x86_64 --enablerepo=remi

以下ファイルの設定

設定7
◆apacheの設定ファイル編集
-バックアップを作成する
sudo cp -pr /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org

-以下のファイルを編集
sudo vim /etc/httpd/conf/httpd.conf

# 44行目 OS情報を表示しないようにする
ServerTokens Prod

# 331行目 -(ハイフン)を追加
Options -Indexes FollowSymLinks

# 402行目 index.phpとindex.cgiを追加する
index.php index.cgi

# 536行目 OS情報を表示しないようにする
ServerSignature Off

# 990行目 コメントを外す(バーチャルホストを使えるようにする)
NameVirtualHost *:80

◆apacheの編集後確認コマンド
apachectl configtest
設定8
◆◆◆PHPとMYSQLのインストールおよび・設定をおこなう。◆◆◆
◆◆remiとepelのインストール 各インストールできるパッケージが最新かどうか確認する。
yum info php
→この時に5.3.3になることを確認する。

◆設定ファイル変更
sudo vim /etc/yum.repos.d/epel.repo

※最初に出てくる↓の部分だけを変更するそれ以外は不要!!!
enables = 0

remiを使用してphpをインストールした時のバージョン確認
yum info --enablerepo=remi php
→この時に「Version:5.4.34」になればOK※もしくはバージョンが新しくなっていればOK

◆phpインストールコマンド
sudo yum --enablerepo=remi install -y php php-devel php-mysql php-mbstring php-gd

◆php.ini設定ファイルの編集 ※各設定箇所をコピーして検索してください。
-バックアップ取得
sudo cp -pr /etc/php.ini /etc/php.ini.org

sudo vim /etc/php.ini

※errorログの出力場所
error_log = /var/log/php.log

◆文字コード設定
検索:mbstring
1628行目:コメント削除:mb-string

1634行目:文字コードを変更:sjis → UTF-8

1638行目:コメント削除:http_input

1644行目:コメント削除:http_output

1656行目:コメント削除:detect-order

366行目:expose_php = Off

869行目:タイムゾーン変更:timezone Asia/Tokyo

◆変更したら保存して終了します。※このコマンドはvi,vimのコマンドです。各コマンドは調べてください。
:wq
設定9
◆mysql install
sudo yum install -y --enablerepo=remi mysql-server

◆設定ファイ編集
-バックアップファイルの取得
sudo cp -pr /etc/my.cnf /etc/my.cnf.org

-設定ファイルの編集
sudo vim /etc/my.cnf

◆設定
※1行目からこちらに上書きしてください。全部で22行入る

-----
[client]
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log_slow_queries
long_query_time = 1
slow_query_log_file=mysql-slow.log
log-queries-not-using-indexes

character_set_server=utf8
default-storage-engine=InnoDB
innodb_file_per_table

[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8
-----

◆DB起動
sudo service mysqld start

◆DBをつねに起動しておく
sudo chkconfig mysqld on

◆◆◆DBを初期化◆◆◆
mysql_secure_installation

◆◆◆DBを確認◆◆◆
mysql -u root -p

rbenvを使ってrubyをインストール

設定10
◆◆◆◆◆◆◆◆◆◆ rubyをrbenvで導入する手順 ◆◆◆◆◆◆◆◆◆◆◆
vagrant userでrubyのバージョン確認
ruby -v
→必ずコマンドがないと聞かれるので慌てないでください。

※rbenvはgitからインストールする
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

※実行ファイルにpathを通す以下コマンド実行
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
exec $SHELL -l

◆rbenvがインストールされているか確認
rbenv -v

◆ruby-buildインストール
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

◆rbenvで最新のbバージョンを確認
rbenv install --list

◆補足:rubyの最新バージョンをインストール※バージョンは任意に選ぶことが可能です。その際は下のv以降を変更してください。
rbenv install -v 2.1.2
※新バージョンをインストールすることも可能です。

◆インストールしたら必ず以下のコマンドを実行する。※もしなにかしたら「rbenv rehash」
rbenv rehash

◆設定確認
rbenv versions

◆バージョンを選択
rbenv global 2.1.2

◆インストールしたら必ず以下のコマンドを実行する。※もしなにかしたら「rbenv rehash」
rbenv rehash

→この後もう一度バージョン確認

◆gemファイルをアップデート
gem update --system

◆バージョン確認
rails -v

◆gemの確認
gem env

◆必ずここでrehashすること。
rbenv rehash

◆bundleをインストールする。
gem install bundler

◆mailcatcherをインストール
gem install mailcatcher

mailcatcherの設定

設定11
◆php.iniの設定
sudo vim /etc/php.ini

# 950行目 localhostから127.0.0.1に変更する
SMTP = 127.0.0.1

# 952行目 port番号を25→1025に変更する
smtp_port = 1025

# 957行目 sendmail_fromを追加する(メールアドレスは適宜変更する。)
sendmail_from = no-reply@example.com

# 961行目 sendmail_pathをmailcatcherに変更する。
sendmail_path = /usr/bin/env catchmail

※ちなみにデフォルトはこうなっています。
sendmail_path = /usr/sbin/sendmail -t -i

メール送信テスト

◆phpのファイルを作ってテスト

php
◆mail.php
※例によって、$toと$headersの中身を変更する
<?php
$to      = 'tet@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: no-replay@example.com';
mail($to, $subject, $message, $headers);
?>
実行
※phpコマンドでテスト
php mail.php

実行結果

2015-07-19_185933.png

備忘録

◆mailcatcherの実行方法

実行
mailcatcher --http-ip=192.168.33.10

※もし間違えたらtopコマンドで実行中のpidを確認してkillするしかない(調べたところ)

killコマンド例
kill -9 1625
8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7