Homebrew Apache publica remoção de MacPorts

0

Eu removi o MacPorts completamente seguindo sua diretriz aqui . desinstala todas as portas e depois remove todas as pastas

sudo rm -rf \ /opt/local \ /Applications/DarwinPorts \ /Applications/MacPorts \ /Library/LaunchDaemons/org.macports.* \ /Library/Receipts/DarwinPorts*.pkg \ /Library/Receipts/MacPorts*.pkg \ /Library/StartupItems/DarwinPortsStartup \ /Library/Tcl/darwinports1.0 \ /Library/Tcl/macports1.0 \ ~/.macports

Eu então instalei o homebrew, o dnsmasq e o MySQL. Os dois últimos que eu instalei usando Brew e Apache eu queria rodar nativamente. Agora parece que o Apache ainda está rodando via Macports.

ps ax | grep httpd
  254   ??  Ss     0:00.72 /opt/local/apache2/bin/httpd -k start
  258   ??  S      0:00.02 /opt/local/apache2/bin/httpd -k start
  259   ??  S      0:00.01 /opt/local/apache2/bin/httpd -k start
  262   ??  S      0:00.01 /opt/local/apache2/bin/httpd -k start
 1811   ??  S      0:00.01 /opt/local/apache2/bin/httpd -k start
 1812   ??  S      0:00.01 /opt/local/apache2/bin/httpd -k start
 1818   ??  S      0:00.01 /opt/local/apache2/bin/httpd -k start
 1820   ??  S      0:00.01 /opt/local/apache2/bin/httpd -k start
 1826   ??  S      0:00.02 /opt/local/apache2/bin/httpd -k start
 1857   ??  S      0:00.02 /opt/local/apache2/bin/httpd -k start
 2336   ??  S      0:00.01 /opt/local/apache2/bin/httpd -k start
 3720 s000  S+     0:00.00 grep httpd

Isto apesar de todas as portas terem sido removidas, assim como todas as pastas relacionadas com o MacPorts. Eu também acho que todos os lançadores foram removidos. Como o httpd pode ser carregado agora?

Outro problema é que o DocumentRoot não carrega o documentRoot padrão DocumentRoot "/Library/WebServer/Documents" de /etc/apache2/httpd.conf nor /private/etc/apache2/httpd.conf . Parece carregar o antigo MacPorts documentRoot, mas de onde? Todos os arquivos e pastas sumiram até onde eu sei. E quando eu verifico, ele mostra o novo DocumentRoot

sudo apachectl -V | grep -i SERVER_CONFIG_FILE | cut -f2 -d'"' | xargs grep -i '^DocumentRoot' | cut -f2 -d'"'
/Library/WebServer/Documents

E quando eu descarreguei e carreguei o Apache da OSX, recebi uma mensagem de erro mostrando que meu vhost estava carregado:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Password:
jaspersmbp:etc jasper$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
jaspersmbp:etc jasper$ apachectl
AH00112: Warning: DocumentRoot [/usr/docs/dummy-host.example.com] does not exist
AH00112: Warning: DocumentRoot [/usr/docs/dummy-host2.example.com] does not exist
AH00526: Syntax error on line 41 of /private/etc/apache2/extra/httpd-vhosts.conf:
Invalid command 'VirtualDocumentRoot', perhaps misspelled or defined by a module not included in the server configuration

Mas abrir o host local ainda carrega DocumentRoot errado ou antigo

Aqui o arquivo hosts atm

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost jaspersmbp.local wordpress.local joomla.local
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0 localhost

# My local aliases

E aqui o VirtualHost em /etc/apache2/extra/httpd-vhosts.conf I foi adicionado aos domínios locais carregados com * dev on the fly

<Virtualhost *:80>
    DocumentRoot "/Users/jasper/webdesign"
    ServerName vhosts.dev
    ServerAlias *.dev
    UseCanonicalName Off
    LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
    ErrorLog "/Users/jasper/webdesign/vhosts-error_log"
    <Directory "/Users/jasper/webdesign/*">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</Virtualhost>

A execução do apachectl parece reiniciar o Apache do MacPorts, mas não consigo encontrá-lo no .bashrc nem no .bash_profile no meu $ PATH.

E meu PATH

echo $PATH
/Users/jasper/.rvm/gems/ruby-2.1.1/bin:/Users/jasper/.rvm/gems/ruby-2.1.1@global/bin:/Users/jasper/.rvm/rubies/ruby-2.1.1/bin:/usr/local/heroku/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/jasper/.rvm/bin

As perguntas são:

  1. Como posso parar o daemon Apache fantasma errado
  2. Como posso encontrar onde a raiz do documento é realmente carregada e alterada?
por rhand 24.11.2014 / 12:05

1 resposta

0

Eu encontrei o link indicando que para impedir que ambos os processos do httpd interrompessem e parassem o erro que vi em meu log informando

11/24/14 4:53:29.105 PM com.apple.xpc.launchd[1]: (org.apache.httpd) Service only ran for 0 seconds. Pushing respawn out by 10 seconds.

que eu tive que usar

sudo apachectl stop
sudo killall -9 httpd

as principais coisas parecem ter sido que eu precisava matar todos os processos antigos de execução do httpd. Depois que os novos hosts criados no arquivo host começaram a funcionar bem.

E quando eu verifiquei o daemon, vi:

ps ax |grep httpd
 5798   ??  Ss     0:00.30 /usr/sbin/httpd -D FOREGROUND
 5799   ??  S      0:00.00 /usr/sbin/httpd -D FOREGROUND
 5800   ??  S      0:00.00 /usr/sbin/httpd -D FOREGROUND
 5801   ??  S      0:00.00 /usr/sbin/httpd -D FOREGROUND
 5802   ??  S      0:00.00 /usr/sbin/httpd -D FOREGROUND

novamente. Finalmente OSX está executando o show do Apache novamente.

    
por 24.11.2014 / 14:58