Então, eu estava tentando reinstalar o MAMP para desenvolver drupal localmente após minha falha no HD, e tive alguns problemas. Alguém me disse para não usar o MAMP, mas sim o nginx. yay. parece divertido. Ou como transformar um processo de clique para instalar em algo muito complicado. O problema é que gosto de coisas complicadas. De qualquer forma, foi uma luta fazer isso, mas graças ao primeiro e único chipotle (que passou 5 horas depurando isso comigo), consegui colocá-lo em execução. Grito enorme para ele.
Tentei colar as instruções à medida que vinham aqui, algumas podem ter mudado, Como tive que ir e voltar, mas se você as usar e ocorrer um erro, sinta-se à vontade para entrar em contato comigo, talvez eu me lembre do que Eu fiz.
dica rápida: para colar algo diretamente em um arquivo foo, use pbpaste > foo
CONFIGURAÇÃO
[brew tap homebrew/versions && brew tap homebrew/homebrew-php]
brew install composer
brew install --without-apache --with-fpm --with-mysql php53
brew install --HEAD drush
brew switch drush HEAD
brew install mysql
[ mysql_secure_installation ]
brew install 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
Salve como /usr/local/etc/nginx/nginx.conf:
worker_processes 1;
error_log /usr/local/etc/nginx/logs/error.log debug;
events {
worker_connections 256;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /usr/local/etc/nginx/logs/access.log main;
sendfile on;
keepalive_timeout 65;
index index.html index.php;
include /usr/local/etc/nginx/sites-enabled/*;
}
Salve como /usr/local/etc/nginx/conf.d/php-fpm
location ~ .php$ {
try_files $uri = 404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
salve isso como modelo em / usr / local / etc / nginx
#Drupal specific rewriting configuration
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
#Do not allow to view .htaccess and .htpassword
location ~ /.ht {
deny all;
}
ADICIONE UM NOVO SITE
Para adicionar um novo site, adicione um arquivo com o nome do site em / usr / local / etc / nginx / sites-enabled
server {
listen 80;
server_name foo.dev;
root /Users/Gaston/Sites/foo;
index index.php;
#setup logging
access_log /usr/local/etc/nginx/logs/foo.access.log;
error_log /usr/local/etc/nginx/logs/foo.error.log;
location / {
include /usr/local/etc/nginx/conf.d/php-fpm;
include template;
}
location = /info {
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
error_page 404 /404.html;
error_page 403 /403.html;
}
}
e adicione-o aos seus anfitriões
sudo echo "127.0.0.1 foo.dev" >> /etc/hosts
DEPURAR
Composer necessário: execute
cd /usr/local/Cellar/drush/HEAD/libexec/
composer install
Se você quiser php no login, faça o seguinte:
echo 'export PATH="$(brew --prefix josegonzalez/php/php55)/bin:$PATH"' >> ~/.bash_profile
cp /usr/local/Cellar/php53/<tab complete>/homebrew.mxcl.php53.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php53.plist
cp /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
Caso contrário, se como eu, você gosta de executá-lo sob demanda, basta escrever um pequeno script ou uma função em seu ~ / .bash_profile ao longo dessas linhas. <EM BREVE>
Mais uma vez, obrigado ao chipotle por dedicar seu tempo a isso comigo.