ここでのガイドラインに従って、MacPortsを完全に削除しました。すべてのポートをアンインストールしてから、すべてのフォルダーを削除する
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
その後、homebrew、dnsmasq、MySQLをインストールしました。後者の2つは、BrewとApacheを使用してインストールし、ネイティブに実行したかったのです。問題は、Apacheがまだ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
これはすべてのポートとMacPortsに関連するすべてのフォルダーが削除されていますが。また、すべてのランチャーが削除されたと思います。httpdをどのようにロードできますか?
他の問題は、DocumentRootがDocumentRoot "/Library/WebServer/Documents"
からデフォルトのdocumentRoot をロードしない
/etc/apache2/httpd.conf
こと/private/etc/apache2/httpd.conf
です。古いMacPorts documentRootをロードするようですが、どこからですか?私の知る限り、すべてのファイルとフォルダーは消えています。そして、チェックすると、新しいDocumentRootが表示されます。
sudo apachectl -V | grep -i SERVER_CONFIG_FILE | cut -f2 -d'"' | xargs grep -i '^DocumentRoot' | cut -f2 -d'"'
/Library/WebServer/Documents
そして、OSXのApacheをアンロードしてロードすると、vhostがロードされたことを示すエラーメッセージが表示されました。
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
ただし、localhostを開くと、間違ったまたは古いDocumentRootが読み込まれます
ここで、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
そして、ここで/etc/apache2/extra/httpd-vhosts.conf
私はVirtualHost を* devでオンザフライでロードされたローカルドメインに追加しました
<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>
apachectlを実行するとMacPortsのApacheが再起動するようですが、$ PATHの.bashrcや.bash_profileで見つけることができません。
そして私のパス
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
質問は次のとおりです。
- 間違ったゴーストApacheデーモンを停止するにはどうすればよいですか
- ドキュメントルートの実際のロード元および変更元を見つけるにはどうすればよいですか?