OSXにHomebrewでRailsをインストールする

(rbenv ruby-buildのインストール) 
brew install ruby-build
brew install rbenv
echo ‘eval “$(rbenv init -)”‘ >> ~/.bash_profile
source ~/.bash_profile

(rubyのインストール) 
rbenv install -l
rbenv install 2.4.2
rbenv rehash
rbenv global 2.4.2

(powのインストール) 
gem install powder
rbenv rehash
powder install

(railsのインストール) 
gem install bundler
gem install rails
rbenv rehash

cd XXX
bundle exec spring binstub –all

OSXにPostgreSQLをHomebrewでインストールする

brew install postgresql

(自動起動にする)
brew services start postgresql

(止める、自動起動も止まる)
brew services stop postgresql

(コンソールからアクセス)
psql -d postgres

(データベースの作成)
CREATE DATABASE sandbox;

(パスワード付でユーザーの作成)
createuser -P rails_user

(データベースの権限確認)
psql -q -c’select * from pg_user’ sandbox

(rails_userに権限付与)
psql -U mac_user sandbox
sandbox=#\du
sandbox=#ALTER ROLE rails_user WITH Superuser;

SierraにHomebrewでMySQL, Apache,PHPをインストール

Homebrew自体の準備

brew update
brew doctor

MySQL

brew install mysql
mysql_secure_installation
mysql.server start
//loginで開始するように設定
brew services start mysql

Apache

brew tap homebrew/dupes
brew tap homebrew/apache
//デフォルト8080で動作
brew install httpd24
//loginで開始するように設定
brew services start homebrew/apache/httpd24

PHP

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
//既存のPHPがあれば
brew unlink php55
//httpd.confに php7_module の行を追加
brew install php71 --with-httpd24

Apacheの設定
/usr/local/etc/apache2/2.4/httpd.conf

//設定済のはず
LoadModule php7_module /usr/local/opt/php71/libexec/apache2/libphp7.so
//修正する
ServerName localhost:8080
//index.phpを書き加える
DirectoryIndex index.php index.html
//コメント解除
Include /usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf
LoadModule rewrite_module libexec/mod_rewrite.so
//末尾に追加
<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>

vhostの設定
/usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf

<VirtualHost *:8080>
    ServerName localhost
    DocumentRoot "/usr/local/var/www/htdocs"
    <Directory "/usr/local/var/www/htdocs">
        AllowOverride All
        Require all granted
    </Directory>
    CustomLog "/usr/local/var/log/apache2/localhost.access.log" common 
    ErrorLog "/usr/local/var/log/apache2/localhost.error.log"
</VirtualHost>
 
<VirtualHost *:8080>
    ServerName SSS.dev
    DocumentRoot "XXX/public"
    <Directory "XXX/public">
        AllowOverride All
        Require all granted
    </Directory>
    CustomLog "/usr/local/var/log/apache2/SSS.dev.access.log" common 
    ErrorLog "/usr/local/var/log/apache2/SSS.dev.error.log"
</VirtualHost>

PHPの設定
/usr/local/etc/php/7.1/php.ini

date.timezone = Asia/Tokyo
default_charset = "UTF-8"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII

その他、PHP開発用

brew install php71-xdebug

brew update で …/kernel_require.rb:55:in `require’: cannot load such file …

brew update で、以下のエラーが出る場合の対処。
Sierra

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require’: cannot load such file — mach (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require’
from /usr/local/Library/Homebrew/extend/pathname.rb:2:in `
….

cd /usr/local
git reset --hard && git clean -df

brew doctor してみると異なるエラーになるので、さらに対処

Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don’t worry and just ignore them. Thanks!

Warning: The /usr/local directory is not writable.

sudo chown -R $(whoami):admin /usr/local

その後に 
brew update
brew upgrade

Laravel 5.2 install

権限追加を忘れずに
/bootstrap/cache/
/strage/

.envの編集

composer.jsonの編集
require
“laravelcollective/html”: “~5.0”
autoload
“files”: [
“app/Helper.php”
]

config/app.phpの編集
‘timezone’ => ‘Asia/Tokyo’
‘locale’ => ‘ja’
‘providers’ =>
Collective\Html\HtmlServiceProvider::class,
‘aliases’ =>
‘Form’ => Collective\Html\FormFacade::class,
‘Html’ => Collective\Html\HtmlFacade::class,

Apache VirtualHost in Yosemite

  • Yosemite 10.10.3
  • Apache 2.4.10
  • laravel5

Include /private/etc/apache2/extra/httpd-vhosts.conf

/etc/apache2/extra/httpd-vhosts.conf を編集する。

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "XXX/Document"
    <Directory "XXX/Document">
        AllowOverride All
        Require all granted
    </Directory>
    CustomLog "/private/var/log/apache2/localhost.access.log" common 
    ErrorLog "/private/var/log/apache2/localhost.error.log" 
</VirtualHost>

<VirtualHost *:80>
    ServerName laraveltest.com
    DocumentRoot "XXX/laravel/public"
    <Directory "XXX/laravel/public">
        AllowOverride All
        Require all granted
    </Directory>
    CustomLog "/private/var/log/apache2/laraveltest.com.access.log" common 
    ErrorLog "/private/var/log/apache2/laraveltest.com.error.log" 
</VirtualHost>

/etc/hosts を編集

127.0.0.1 localhost
127.0.0.1 laraveltest.com

ここから、
httpd.apache.orgの記載より引用

メインホストはなくなります

既にあるウェブサーバにバーチャルホストを追加する場合、 既存のウェブサーバに対しても ブロックを作らなければなりません。このバーチャルホストの ServerName と DocumentRoot は、グローバルな ServerName と DocumentRoot と同じものにします。また、このバーチャルホストを設定ファイルの中で 先頭に置いて、デフォルトホストとして動作するようにします。