Не зная, что мой Mac пришел с Apache2.4 и не проверил, на какой ОС я работал, я последовал этому руководству, чтобы получить Apache/MySQL/PHP на моей машине с помощью Homebrew : https://echo.co/blog/os-x-109-local-development-environment-apache-php-and-mysql-homebrewУстановка/удаление Apache2 на MacOS Sierra 10.12.1
Это привело к тому, что у меня были две версии Apache2, работающие на моей машине: 2.2 и 2.4. При запросе в терминале, для которого выполнялся apache, ответ был 2,4, но при попытке открыть экземпляр моей программы на моем виртуальном хосте я не смог дойти до страницы. Что случилось после этого смутно, потому что у меня есть некоторые другие люди, которые работают над этим, пытаясь решить проблему, и они изменили и переместили файлы, поэтому, когда я вернул свой компьютер, я даже не знал, где начать понимать, где я, поэтому я попытался удалить обе версии Apache и переустановить 2.4.
Поскольку я не смог найти руководство, которое помогло мне удалить apache, а команда удаления вируса не работала, я пошел на стирание папок apache, и я искал что-либо в своих каталогах, содержащих слова «apache» или «apache», httpd "(все, что я мог найти, что означает, что я также мог пропустить некоторые файлы, потому что я просто не знал, где их искать).
После этого я переустановил apache 2.4 после этого другого руководства https://getgrav.org/blog/macos-sierra-apache-multiple-php-versions до установки PHP (чего я еще не выполнил).
После повторной установки апача я вставил данные для моего виртуального хоста в HTTPd-vhost.conf следующим образом:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/Users/username/apache_vh/myApp"
ServerName myApp.username.com
ErrorLog "/usr/local/var/log/apache2/myApp-error_log"
CustomLog "/usr/local/var/log/apache2/myApp-access_log" common
<Directory />
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
, а затем я изменил файл httpd.conf в/USR/местные/и т.д./apache2/2,4 папка с Подписок (я опускаю закомментированные строки):
ServerRoot "/usr/local/opt/httpd24"
Listen 80
LoadModule authn_file_module libexec/mod_authn_file.so
[...]
LoadModule authn_core_module libexec/mod_authn_core.so
LoadModule authz_host_module libexec/mod_authz_host.so
LoadModule authz_groupfile_module libexec/mod_authz_groupfile.so
LoadModule authz_user_module libexec/mod_authz_user.so
[...]
LoadModule authz_core_module libexec/mod_authz_core.so
LoadModule access_compat_module libexec/mod_access_compat.so
LoadModule auth_basic_module libexec/mod_auth_basic.so
[...]
LoadModule reqtimeout_module libexec/mod_reqtimeout.so
[...]
LoadModule filter_module libexec/mod_filter.so
[...]
LoadModule mime_module libexec/mod_mime.so
LoadModule log_config_module libexec/mod_log_config.so
[...]
LoadModule env_module libexec/mod_env.so
[...]
LoadModule headers_module libexec/mod_headers.so
[...]
LoadModule setenvif_module libexec/mod_setenvif.so
LoadModule version_module libexec/mod_version.so
[...]
LoadModule unixd_module libexec/mod_unixd.so
[...]
LoadModule status_module libexec/mod_status.so
LoadModule autoindex_module libexec/mod_autoindex.so
[...]
<IfModule mpm_prefork_module>
#LoadModule cgi_module libexec/mod_cgi.so
</IfModule>
<IfModule !mpm_prefork_module>
#LoadModule cgid_module libexec/mod_cgid.so
</IfModule>
[...]
LoadModule dir_module libexec/mod_dir.so
[...]
LoadModule alias_module libexec/mod_alias.so
LoadModule rewrite_module libexec/mod_rewrite.so
<IfModule unixd_module>
User _www
Group staff
</IfModule>
ServerAdmin [email protected]
ServerName localhost
<Directory />
AllowOverride none
Require all denied
</Directory>
<Directory "/Users/username/Sites">
MultiViews
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
<Files ".ht*">
Require all denied
</Files>
ErrorLog "/usr/local/var/log/apache2/error_log"
LogLevel warn
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "/usr/local/var/log/apache2/access_log" common
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/usr/local/var/apache2/cgi-bin/"
</IfModule>
<Directory "/usr/local/var/apache2/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule mime_module>
TypesConfig /usr/local/etc/apache2/2.4/mime.types
#AddType application/x-gzip .tgz
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
#AddHandler cgi-script .cgi
#AddHandler type-map var
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
</IfModule>
# Virtual hosts
Include /usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf
[...]
<IfModule proxy_html_module>
Include /usr/local/etc/apache2/2.4/extra/proxy-html.conf
</IfModule>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
Позже я добавил следующее в файл хостов в/и т.д. папку (это не то же самое, что и/USR/местные/etc, этот находится в корне, один уровень вверх/usr):
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
127.0.0.1 myApp.username.com
И я надеюсь, что «это сработает!» на localhost: 8080 и myApp на localhost: 80. Я вижу, «это работает!» на localhost: 8080, но если я обновляю страницу, я получаю «Этот сайт не может быть достигнут/localhost отказался подключиться». Я начал, остановился, перезапустил apache, но все время получаю такое же поведение. На localhost: 80 вместо этого я получаю myApp, но я не могу его запустить, PHP не анализируется, и я вижу только древовидную структуру папки.
Я запустил apachectl configtest и получил синтаксис OK. Я запустил php -v, и я получил PHP 5.4.45 (cli) (построено: 23 ноября 2016 11:12:05), так что все работает.
Проверка файла httpd.conf, что я вставленный выше, я заметил, что я отсутствовал модуль PHP, так что я добавил LoadModule php5_module libexec/libphp5.so
я все еще получаю те же проблемы.
То, что я действительно не понимаю, это структура папок всего этого, потому что я пытаюсь следовать другим руководствам, но они, похоже, указывают на папку apache2, которую я должен удалить, но я не должен был пытаясь удалить старые версии, и, по-видимому, он не воссоздавался во время переустановки (/ etc/apache2/users). У меня нет папки apache2 в моей папке etc, которая у меня на корневом уровне, поэтому я предполагаю, что мне нужно искать/пользователей в/etc/apache2, которые у меня есть под/usr/local, но в этой папке я только иметь каталог 2.4.
Я очень смущен организацией всех этих каталогов и файлов, и, похоже, я не могу понять, были ли они перемещены людьми, которые пытались мне помочь, если я случайно удалил это/etc/apache2/users при удалении этих предыдущих версий, или если я просто в основном перепутался с слишком большим количеством разных руководств.
Так что мой вопрос:
Могу ли я исправить это как-то, как это должно показать MYAPP на порт 80 в LOCALHOST парсинга PHP правильно?
Если нет, то как я могу удалить apache чистым способом, убедившись, что я не удаляю важные файлы, которые не следует трогать, и в то же время я забираю все те, которые создадут конфликт с недавно установленная версия?
У меня также есть более одного места, где index.html для «он работает!». сообщение: /Library/WebServer/Documents/index.html.en и /usr/local/var/www/htdocs/index.html Я попытался модифицируя их обоих, но я не могу добиться успеха в том, изменение текста, поэтому общая папка apache относится к ответу на localhost: 8080 не является ни одним из двух (или я все еще что-то не хватает). –