vagrant php 환경 mailcatcher 설정 비망록(도중)
◆php 연습을 위해 vagrant 서버를 하나 만든다
※메일 송신의 테스트를 하고 싶기 때문에 mailcatcher를 사용해 연습용으로 설정한다
사실 postfix를 설정하여 gmail을 통해 메일을 보낼 수있는 것이 바람직합니다. . .
우선 연습처럼 mailcatcher를 사용해 본다.
◆vagrant 설정
필요한 도구 설치 및 구성 절차
설정 1sudo yum -y update
설정 2sudo 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
설정 3sudo /etc/rc.d/init.d/yum-cron start
sudo chkconfig yum-cron on
설정 4wget 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
설정 5wget 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
설정 6sudo 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 = [email protected]
# 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 = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]';
mail($to, $subject, $message, $headers);
?>
실행※phpコマンドでテスト
php mail.php
실행 결과
비망록
◆mailcatcher 실행 방법
실행mailcatcher --http-ip=192.168.33.10
※만약 실수하면 top명령으로 실행중의 pid를 확인해 kill할 수 밖에 없다(조사한 곳)
kill 명령 예제kill -9 1625
Reference
이 문제에 관하여(vagrant php 환경 mailcatcher 설정 비망록(도중)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/taiti/items/681f9a395323af1af62c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
sudo yum -y update
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
sudo /etc/rc.d/init.d/yum-cron start
sudo chkconfig yum-cron on
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
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
sudo yum -y install mysql-devel.x86_64 --enablerepo=remi
◆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
◆◆◆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
◆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
◆◆◆◆◆◆◆◆◆◆ 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
◆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 = [email protected]
# 961行目 sendmail_pathをmailcatcherに変更する。
sendmail_path = /usr/bin/env catchmail
※ちなみにデフォルトはこうなっています。
sendmail_path = /usr/sbin/sendmail -t -i
◆mail.php
※例によって、$toと$headersの中身を変更する
<?php
$to = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]';
mail($to, $subject, $message, $headers);
?>
※phpコマンドでテスト
php mail.php
mailcatcher --http-ip=192.168.33.10
kill -9 1625
Reference
이 문제에 관하여(vagrant php 환경 mailcatcher 설정 비망록(도중)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/taiti/items/681f9a395323af1af62c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)