Люди, которые сталкивались с этой проблемой поймут всю соль. При установке MacOS X вместе с WebServer устанавливается Apache2, который раскидан по всей системе и прописан в автозагрузке. Управлять им не то что не удобно, а даже сложно. Поэтому многие устанавливают отдельный Apache2, например, из MacPorts. Но после установки возникает проблема конфликта двух инстанций Apache2.
Поиск в Интернете не дает ничего особо толкового в вопросе «Удаление Apache2 в MacOSX», и многие ответы предлагают смириться с этим. Но выход все же есть. Он не идеален, но работает «на ура» уже достаточно долгое время. Стандартная инстанция Apache2 размещает свои исполняемые файлы в /usr/sbin, в то время как MacPorts в /opt/local/apache2/bin, и решение кроется в том, чтобы заменить в /usr/sbin основные исполняемые файлы ссылками на MacPorts.
Данный shell-скрипт сохраняет старые версии файлов и заменяет основные файлы apachectl, apxs, httpd ссылками. После его выполнения необходимо перезагрузить компьютер. Если после перезагрузки все еще отображается не та страница, что Вы ожидаете, обновите ее, так как браузер мог его закешировать.
#!/bin/sh # Заменяем apachectl sudo mv /usr/sbin/apachectl /usr/sbin/apachectl-save sudo ln -Ffs /opt/local/apache2/bin/apachectl /usr/sbin/apachectl # Заменяем httpd sudo mv /usr/sbin/httpd /usr/sbin/httpd-save sudo ln -Ffs /opt/local/apache2/bin/httpd /usr/sbin/httpd # Заменяем apxs sudo mv /usr/sbin/apxs /usr/sbin/apxs-save sudo ln -Ffs /opt/local/apache2/bin/apxs /usr/sbin/apxs
При установке некоторые пакетов обновления MacOS X иногда восстанавливает стандартные файлы в папке /usr/sbin, в этом случае необходимо выполнить скрипт еще раз.
ShareFile API PHP
Музей Исходного Кода
Java EE Dev
Блог о Java технологиях
Блог о программировании