рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░ рдЬреЛ рдореИрдХ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реЗрдЯрдЕрдк рдХреЗ рдмрд╛рдж, рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЯреВрд▓ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИред рдФрд░ рдЕрдЧрд░ рдЖрдИрдбреАрдИ рдФрд░ рд╕рдВрдкрд╛рджрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рддреЛ рдореБрдлреНрдд рдореЗрдВ рдЬреАрдд-рдбрд┐рдВрдЧ
рдУрдкрдирд╕реЗрд╡рд░ рдпрд╛
рдбреЗрдирд╡рд░ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХреБрдЫ рднреА рдЦреЛрдЬрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ
рдПрдордПрдордкреА рдкреНрд░реЛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдХреАрдордд рджреЛ рд╣рдЬрд╛рд░ рд▓рдХрдбрд╝реА рд╣реИред рд╣рд╛рдВ, рдФрд░ рдЕрдкрд╛рдЪреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдХреБрдЫ рднреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдпрд╛ рдЬреЛ рдХрд┐ 5-10 рдорд┐рдирдЯ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ
рд▓рд┐рдП рдХрдВрд╕реЛрд▓ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░
рд╣реЛрдордмреНрд░реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдХреЛ рдореИрдХ рдЙрдкрдпреЛрдЧреА рдкрд░ рд╡реЗрдм рд╡рд╛рддрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдорд┐рд▓реЗрдВрдЧреЗред

тАЬрдореБрдЭреЗ рдЕрднреА рдПрдХ рдирдпрд╛ рдореИрдХрдмреБрдХ рдкреНрд░реЛ рдорд┐рд▓рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЙрд╕реА рдЯрд╛рдЗрдо рдорд╢реАрди рдмреИрдХрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рдЧрднрдЧ рдЪрд╛рд░ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╡реЗрдм рд╕рд░реНрд╡рд░ / LAMP рд╕реНрдЯреИрдХ (
L inux
A pache
M ySQL
P HP) рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдореМрдХрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ FastCGI рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ Nginx рдФрд░ PHP-FPM рд╕реЗ рдмрджрд▓ рджреЗрдВред рдиреАрдЪреЗ рдЖрдк рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ Nginx, PHP-FPM, MySQL рдФрд░ PhpMyAdmin рдХреЛ OS X 10.9 / Mavericks рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
Xcode
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдХ рдРрдк рд╕реНрдЯреЛрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
Xcode рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
рдбрд╛рдЙрдирд▓реЛрдб Xcode.app (рдореИрдХ рдРрдк рд╕реНрдЯреЛрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)рдПрдХ рдмрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж,
/Applications
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ Xcode рдЦреЛрд▓реЗрдВ рдФрд░ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рд╣реЛрдВред
рдПрдХ рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Xcode рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
xcode-select --install
Install
рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд╛рдкрдирд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВред
Xcode рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ,
рд╕реЗрдЯрд┐рдВрдЧ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП to
тМШ + ,
рдФрд░
рд╕реНрдерд╛рди рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВред рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдирд╡реАрдирддрдо рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕реНрдХрд░рдг
Xcode 5.0.2 (5A3005) рдкрд░
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

homebrew
рдЕрдм рдЖрдкрдХреЛ
Homebrew рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ OS X рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╣реИред рдЖрдкрдиреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреБрд▓ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдкрд░
apt-get
рдпрд╛
aptitude
рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рд╕реБрдирд╛ рд╣реЛрдЧрд╛ред
brew
рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ред рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдирд╡реАрдирддрдо рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЪреБрдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдпрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдЫреЗрджреЛрдВ, рдХрд╛рд░рдирд╛рдореЛрдВ рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рдиреА рд╣реЛрдЧреАред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ Xquarz рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
curl http://xquartz-dl.macosforge.org/SL/XQuartz-2.7.5.dmg -o /tmp/XQuartz.dmg open /tmp/XQuartz.dmg
рдЕрдм рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╣реЛрдордмреНрд░реЗ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
рд╣рдо рдХрд┐рд╕реА рднреА рд╕рдВрдШрд░реНрд╖ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЗрдВрдЧреЗ:
brew doctor
рд╣реЛрдордмреНрд░реЗ рдХреЗ рд╕рд╛рде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
brew update brew upgrade
рдкреАрдПрдЪрдкреА-рдПрдл рдкреА рдПрдо
рдХреНрдпреЛрдВрдХрд┐ Homebrew рдореЗрдВ PHP-FPM рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдирд╣реАрдВ рд╣реИ, рд╣рдореЗрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
brew tap homebrew/dupes brew tap josegonzalez/homebrew-php
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реНрдХ рдХреЗ рд╕рд╛рде PHP-FPM рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
brew install --without-apache --with-fpm --with-mysql php55
Homebrew PHP-FPM рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдЧрд╛ред рдЙрд╕реЗ рдХреБрдЫ рд╕рдордп рджреЗрдВ, рдЗрд╕рдореЗрдВ рдХрдИ рдорд┐рдирдЯ рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВред
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ PHP рд╡рд┐рдиреНрдпрд╛рд╕
рдпрджрд┐ рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ
~/.bash_profile
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
$PATH
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
echo 'export PATH="$(brew --prefix josegonzalez/php/php55)/bin:$PATH"' >> ~/.bash_profile
рдСрдЯреЛрд╕реНрдЯрд╛рд░реНрдЯ рд╕реЗрдЯрдЕрдк
mkdir -p ~/Library/LaunchAgents cp /usr/local/Cellar/php55/5.5.9/homebrew-php.josegonzalez.php55.plist ~/Library/LaunchAgents/
рдФрд░ PHP-FPM рдХреА рд╢реБрд░реБрдЖрдд:
launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php55.plist
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ PHP-FPM рдкреЛрд░реНрдЯ 9000 рдкрд░ рд╕реБрди рд░рд╣рд╛ рд╣реИ:
lsof -Pni4 | grep LISTEN | grep php
рдЖрдЙрдЯрдкреБрдЯ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
php-fpm 69659 frdmn 6u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN) php-fpm 69660 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN) php-fpm 69661 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN) php-fpm 69662 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
MySQL
рдЕрдЧрд▓рд╛ рдХрджрдо MySQL рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИ:
brew install mysql
рдСрдЯреЛрд╕реНрдЯрд╛рд░реНрдЯ рд╕реЗрдЯрдЕрдк
cp /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░реЗрдВ:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдерд╛рдкрдирд╛
рд╣рдорд╛рд░реЗ MySQL рд╕рд░реНрд╡рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рд░реВрдЯ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рдиреЗ, рдЕрдирд╛рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ, рдФрд░ рд░реВрдЯ рдХреЗ рддрд╣рдд рд░рд┐рдореЛрдЯ рд▓реЙрдЧрд┐рди рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
secure_mysql_installation
рдореЗрдВ safe_mysql_installation рдмрд╛рдЗрдирд░реА рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВрдЧреЗ:
mysql_secure_installation
> Enter current password for root (enter for none):
рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╕реЗрдЯ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╡рд░реНрддрдорд╛рди рдкрд╛рд╕рд╡рд░реНрдб рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВред
> Change the root password? [Y/n]
рдкреНрд░реЗрд╕ рджрд░реНрдЬ рдХрд░реЗрдВ, рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЗрд╕реЗ LastPass рдпрд╛ 1Password рдкрд╛рд╕рд╡рд░реНрдб рдореИрдиреЗрдЬрд░реЛрдВ рдореЗрдВ рд╕реЗрд╡ рдХрд░реЗрдВред
> Remove anonymous users? [Y/n]
рд╣рд╛рдВ, рд╡реЗ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИрдВред
> Disallow root login remotely? [Y/n]
рд╣рд╛рдВ, 127.0.0.1 рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЖрдИрдкреА рд╕реЗ рд░реВрдЯ рдСрдерд░рд╛рдЗрдЬреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
> Remove test database and access to it? [Y/n]
рд╣рд╛рдВред рд╣рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
> Reload privilege tables now? [Y/n]
рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рдиреЗ рд╕реЗ рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдорд┐рд▓реЗрдЧрд╛ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рднрд╛рд╡реА рд╣реЛрдВред
рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдВрдЪ
mysql -uroot -p
рдКрдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд░реВрдЯ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рдЖрдк MySQL рдХрдВрд╕реЛрд▓ рджреЗрдЦреЗрдВрдЧреЗ:
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
\q
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рддреНрд░ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ:
mysql> \q Bye
phpMyAdmin
autoconf
рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдЬреЛ phpMyAdmin рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
brew install autoconf
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ $ PHP_AUTOCONF рд╕реЗрдЯ рдХрд░реЗрдВ:
echo 'PHP_AUTOCONF="'$(which autoconf)'"' >> ~/.bash_profile
рдЖрдЗрдП рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ phpMyAdmin:
brew install phpmyadmin
nginx
рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде
Nginx рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
brew install nginx
рдСрдЯреЛрд╕реНрдЯрд╛рд░реНрдЯ рд╕реЗрдЯрдЕрдк
рдЪреВрдВрдХрд┐ рд╣рдо рдкреЛрд░реНрдЯ 80 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдореЗрдВ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирдЧреНрдиреЗрдХреНрд╕ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ
Nginx рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
HTTP рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдкреЛрд░реНрдЯ 80 рдХреЗ рдмрдЬрд╛рдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди 8080 рдкреЛрд░реНрдЯ рдкрд░ рд╕реБрдирддрд╛ рд╣реИред рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ:
curl -IL http://localhost:8080
рдЬрд╡рд╛рдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
HTTP/1.1 403 Forbidden Server: nginx/1.4.4 Date: Sun, 08 Dec 2013 03:33:41 GMT Content-Type: text/html Content-Length: 168 Connection: keep-alive
рдлрд┐рд░ рд╕реЗ Nginx рдмрдВрдж рдХрд░реЛ:
sudo launchctl unload /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
рдЖрдЧреЗ рдЕрдиреБрдХреВрд▓рди
nginx.conf
рдЕрдЧрд▓реЗ Nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рд╣рдореЗрдВ рдЬрд┐рди рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЙрдиреНрд╣реЗрдВ рдмрдирд╛рдПрдБ:
mkdir -p /usr/local/etc/nginx/logs mkdir -p /usr/local/etc/nginx/sites-available mkdir -p /usr/local/etc/nginx/sites-enabled mkdir -p /usr/local/etc/nginx/conf.d mkdir -p /usr/local/etc/nginx/ssl sudo mkdir -p /var/www sudo chown :staff /var/www sudo chmod 775 /var/www
рд╡рд░реНрддрдорд╛рди
nginx.conf
рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдПрдБ (рдЬреЛ рд╣рдореЗрд╢рд╛
nginx.conf
рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреА рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдХреЛрдб рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ) рдФрд░ GitHub рд╕реЗ
curl
рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд▓реЛрдб рдХрд░реЗрдВ:
rm /usr/local/etc/nginx/nginx.conf curl -L https://gist.github.com/frdmn/7853158/raw/nginx.conf -o /usr/local/etc/nginx/nginx.conf
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рдФрд░ рд╣рд▓реНрдХреА рд╣реИ: рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рд▓реЙрдЧ рдкрде / рдкреНрд░рд╛рд░реВрдк рдФрд░ рдХрдИ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
nginx.conf.default
рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВред
PHP FPM рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
GitHub рд╕реЗ рдореЗрд░реА PHP-FPM рд╕реЗрдЯрд┐рдВрдЧ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
curl -L https://gist.github.com/frdmn/7853158/raw/php-fpm -o /usr/local/etc/nginx/conf.d/php-fpm
рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдмрдирд╛рдирд╛
curl -L https://gist.github.com/frdmn/7853158/raw/sites-available_default -o /usr/local/etc/nginx/sites-available/default curl -L https://gist.github.com/frdmn/7853158/raw/sites-available_default-ssl -o /usr/local/etc/nginx/sites-available/default-ssl curl -L https://gist.github.com/frdmn/7853158/raw/sites-available_phpmyadmin -o /usr/local/etc/nginx/sites-available/phpmyadmin
рдкрд░реАрдХреНрд╖рдг рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдХреНрд▓реЛрди рдХрд░реЗрдВ (404, 403 рдФрд░
phpinfo()
рд▓рд┐рдП рдкреБрдирд░реНрд▓реЗрдЦрди рд╕рд╣рд┐рдд)
git
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░:
git clone http://git.frd.mn/frdmn/nginx-virtual-host.git /var/www rm -rf /var/www/.git
рдФрд░
/var/www/.git
рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рддрд╛рдХрд┐ рдЧрд┐рдЯ рдмрд╛рдж рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рди рдХрд░реЗрдВред
рдПрд╕рдПрд╕рдПрд▓ рд╕реЗрдЯрдЕрдк
рд╣рдорд╛рд░реЗ рдПрд╕рдПрд╕рдПрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдФрд░ рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдБ:
mkdir -p /usr/local/etc/nginx/ssl
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде 4096bit RSA рдХреБрдВрдЬрд┐рдпрд╛рдБ рдФрд░ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдмрдирд╛рдПрдВ:
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=US/ST=State/L=Town/O=Office/CN=phpmyadmin" -keyout /usr/local/etc/nginx/ssl/localhost.key -out /usr/local/etc/nginx/ssl/localhost.crt openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=US/ST=State/L=Town/O=Office/CN=localhost" -keyout /usr/local/etc/nginx/ssl/phpmyadmin.key -out /usr/local/etc/nginx/ssl/phpmyadmin.crt
рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рд╕рдХреНрд╖рдо рдХрд░рдирд╛
рдЕрдм рд╣рдореЗрдВ
sites-enabled
рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП
sites-enabled
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рд┐рдореНрд▓рд┐рдВрдХ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
ln -sfv /usr/local/etc/nginx/sites-available/default /usr/local/etc/nginx/sites-enabled/default ln -sfv /usr/local/etc/nginx/sites-available/default-ssl /usr/local/etc/nginx/sites-enabled/default-ssl ln -sfv /usr/local/etc/nginx/sites-available/phpmyadmin /usr/local/etc/nginx/sites-enabled/phpmyadmin
Nginx рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛:
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
рдирд╡реАрдирддрдо рдкрд░реАрдХреНрд╖рдг
рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ, рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ:
рд╕реЗрд╡рд╛ рдкреНрд░рдмрдВрдзрди
рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЖрдкрдХреЛ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдирд╛рдореЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ:
curl -L https://gist.github.com/frdmn/7853158/raw/bash_aliases -o /tmp/.bash_aliases cat /tmp/.bash_aliases >> ~/.bash_aliases echo "source ~/.bash_aliases" >> ~/.bash_profile
рдЖрдк рдпрд╛ рддреЛ рдПрдХ рдирдИ рд╡рд┐рдВрдбреЛ / рдЯрд░реНрдорд┐рдирд▓ рд╕рддреНрд░ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреБрдирдГ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
~/.bash_profile
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░:
source ~/.bash_profile
рдЕрдм рдЖрдк рдЙрдкрд░реНрдпреБрдХреНрдд рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдВрдмреЗ
launchctl
рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
nginx
рдЖрдк Nginx рдХреЛ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рдмрдВрдж рдФрд░ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
nginx.start nginx.stop nginx.restart
рд▓реЙрдЧ рддрдХ рддреНрд╡рд░рд┐рдд рдкрд╣реБрдБрдЪ:
nginx.logs.access nginx.logs.default.access nginx.logs.phpmyadmin.access nginx.logs.default-ssl.access nginx.logs.error nginx.logs.phpmyadmin.error
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
[sudo] nginx -t
рдкреАрдПрдЪрдкреА-рдПрдл рдкреА рдПрдо
PHP-FPM рдХреЛ рдкреНрд░рд╛рд░рдВрдн, рд░реЛрдХреЗрдВ рдФрд░ рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ:
php-fpm.start php-fpm.stop php-fpm.restart
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
[sudo] php-fpm -t
MySQL
MySQL рд╕рд░реНрд╡рд░ рдХреЛ рдкреНрд░рд╛рд░рдВрдн, рдмрдВрдж рдХрд░реЗрдВ рдФрд░ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ:
mysql.start mysql.stop mysql.restart
"рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЕрдЯрдХ рдЧрдП рд╣реИрдВ рдпрд╛ рдХреЛрдИ рдРрдб-рдСрди рд╣реИ!"
рдЕрдкрдиреЗ рджрдо рдкрд░, рдореИрдВ рдпрд╣ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдбреЛрдореЗрди рдмрдирд╛рддреЗ рд╕рдордп рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Nginx рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рддреЗ рд╕рдордп,
sudo vi /etc/hosts
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
hosts
рдореЗрдВ "IP domain.name" рдЬреЛрдбрд╝реА рд▓рд┐рдЦрдирд╛ рди рднреВрд▓реЗрдВред
PS рд╕рд╣рдХрд░реНрдореА рдиреЗ
рдЙрди рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЛ
рдЧрд▓рдд рдмрддрд╛рдпрд╛, рдЬрд┐рдирдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рдереА:
github.com/mrded/brew-emp