2016-12-01 64 views
5

私のMacにApache2.4が付属していて、どのOSが動作していたかを確認していないことを知らないので、私のマシンでApache/MySQL/PHPを入手するために、 :https://echo.co/blog/os-x-109-local-development-environment-apache-php-and-mysql-homebrewApache2のインストール/アンインストールMacOS Sierra 10.12.1

これは私のマシン上で実行されているApache2の2つのバージョン2.2と2.4を持っていました。どのapacheが実行されているのかを端末で尋ねると、答えは2.4でしたが、私の仮想ホスト上で自分のプログラムのインスタンスを開こうとしたとき、私はそのページにアクセスできませんでした。 それを解決しようとしている他の人々がいて、ファイルを変更して移動させてしまったので、それが混乱した後に起こったことは、コンピュータを取り戻したときに、 Apacheのバージョンをアンインストールして2.4を再インストールしようとしました。

私はApacheのアンインストールに役立つガイドが見つかりませんでしたし、brewコマンドの削除が機能していないため、私はapacheフォルダを消去してしまい、 "apache"または " httpd "(私が見つけることができた何か、つまり、私はちょうど私がそれらを検索する場所を知らなかったので、いくつかのファイルを見逃している可能性があります)。

私がした後、私はこの他のガイドhttps://getgrav.org/blog/macos-sierra-apache-multiple-php-versions(私は実行していない)まで、Apache 2.4を再インストールしました。

<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> 

し、私は/ usr/local/etcにあるhttpd.confファイルを変更/:次のように

は再びApacheをインストールした後、私はhttpdの-vhost.confの私の仮想ホストのデータを挿入しました以下での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/localのと同じではありませんこれは(/ etcフォルダにhostsファイルに次を追加しました/ etc、これはルートにあり、1つ上のレベル/ 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ではmyA​​ppを取得しましたが、実行できません。PHPは解析されていないため、フォルダのツリー構造のみが表示されます。

私はapachectl configtestを実行しましたが、構文はOKです。私はphp -vを実行し、PHP 5.4.45(cli)(ビルド:11月23日2016 11:12:05)を取得しました。私は私の上に貼り付けられたhttpd.confファイルを確認する

は、私はPHPのモジュールがありませんでした気づいたので、私は、私はまだ同じ問題を取得していますLoadModule php5_module libexec/libphp5.so

を追加しました。

私が実際に理解していないのは、他のガイドに従おうとしているので、すべてのフォルダ構造ですが、それらはapache2フォルダを指しているようですが、古いバージョンをアンインストールしようとしましたが、再インストール時に再作成されませんでした(/ etc/apache2/users)。私はrootレベルにある私のetcフォルダにapache2フォルダを持っていないので、/ usr/localの下にある/ etc/apache2の/ usersを検索する必要があると仮定します。ディレクトリ2.4を持っています。

これらのディレクトリとファイルの構成が非常に混乱しています。私が誤ってそのファイルを消去してしまった場合、私を助けようとしている人たちが移動したかどうかわからないようです。 etc/apache2/usersをアンインストールしたり、あまりにも多くの異なるガイドに従ってしまった場合は、

だから私の質問は:それは正しくlocalhostの解析PHPにポート80でMyApp]を示すことであるよう

私は何とかこの問題を解決することはできますか?

もしそうでなければ、どうやってクリーンな方法でApacheをアンインストールすることができますか?私が触れてはいけない重要なファイルを消去しないでください。同時に、新しくインストールされたバージョン?

+0

私はまた、 "it works!"のindex.htmlがある場所が複数あります。メッセージは次のとおりです。 /Library/WebServer/Documents/index.html.en と /usr/local/var/www/htdocs/index.html 私はそれらの両方を変更しようとしたが、私は持っで成功することはできませんテキストが変わるので、パブリックフォルダのapacheはlocalhost:8080に応答するときに参照しています。どちらも2つではありません。 –

答えて

0

多くの研究とコラボレーションの後、Apacheを再び機能させる唯一の方法は、OSを工場出荷時の状態に戻してデフォルトの組織に戻すことでした。 私のフォルダはきれいに見え、apacheは8080ではなくポート80で動作しています。次に、myAppの仮想ホストの作成に進みます。