Apache統合スレ 12 (HTTPServer以外も含む)
HTTP ServerだけでなくAntやTomcatなどApache全般に関するスレだ!
■公式
Apache Software Foundation http://www.apache.org/
■HTTP Serverの最新Version
Apache/2.4.4
Apache/2.2.24
Apache/2.0.64
■前スレ
Apache統合スレ 11 (HTTPServer以外も含む)
http://engawa.2ch.net/test/read.cgi/mysv/1286137109/ すごくおもしろいPCさえあれば幸せ小金持ちになれるノウハウ
一応書いておきます
グーグルで検索するといいかも『金持ちになりたい 鎌野介メソッド』
4CMCA 質問いたします。
OSはubuntu16.04.4、Apacheのバージョンは2.4.7です。
このサイトを参考に名前ベースのバーチャルホストで複数サイトを運用しようとしたのですが期待した結果になりませんでした。
http://httpd.apache.org/docs/2.4/vhosts/name-based.html
ドメインを2つ取得して、それぞれのドメインを使って異なるサイトを運用することはできたのですが、IPアドレスからそのままアクセスした時にサーバーが応答しません。
参考サイトの「名前ベースのバーチャルホストを利用する」セクションの最後のほうに
「マッチするバーチャルホストが見つからなければ、マッチしたIPアドレスのリストの最初にあるバーチャルホストが使われます。」とあるのでIPアドレスから直接アクセスしてもリストで先になったどちらかのサイトにアクセスできるのを期待していました。
レスの最後に設定を書きます。
何か原因に心当たりはないでしょうか?
もう一つ曖昧な部分があります。
参考サイトの例では設定ファイルがひとつにまとまっているようなのですが、自分の環境ではバーチャルホストの設定はサイトごとに別ファイルに分けられ、apache2/直下にあるディレクトリにまとめられていました。
メインの設定ファイルを見ると、それらを、ディレクトリを指定してまとめてincludeしているようでした。
これだと、もし参考サイトの通りリストで先になったサイトが使われるのであれば、それはIncludeされた順番に依存してしまうはずです。これを回避する方法はあるのでしょうか?
よろしくお願いします。
-ports.conf
Listen 0.0.0.0:80
NameVirtualHost *:80
-site1.conf
<VirtualHost *:80>
ServerName site1.net
DocumentRoot /www/site1
</VirtualHost>
-site2.conf
<VirtualHost *:80>
ServerName site2.net
DocumentRoot /www/site2
</VirtualHost> 経験則からだけども応答しないのであれば原因はApacheじゃないところじゃないかな
Proxy噛んでるとかDNSが間違ってるとか >>521
> Includeされた順番に依存してしまう
だから000-default.confみたいなファイル名的に先に読まれるものを使うわけです >>521
> これを回避する方法はあるのでしょうか?
ディレクトリ指定をやめて個々のファイルを指定する
もしくはバーチャルホストの設定ファイルを別ディレクトリに移してそれをインクルードするファイルを作るとか 回答ありがとうございます。
>>523
なるほどありそうな話ですね。
Apache以外も見直してみます。
>>524
000-default.confの名前にはそういう意味があったのですか。
ということはincludeされるときに一応内部でソートされているんですね。勉強になりました。
>>525
include専用ファイルを作るのが一番確実でスッキリしそうです。
どうしても設定ファイルのファイル名を変えられないときに試してみます。 むしろIPベースでのアクセスは受け付けないほうが良いのでは
俺はそうしている
一番始めにIPベースのルールを書いて403を出すようにしている >>521ですが解決しました
nslookupの見方を間違えて全く関係ないIPにアクセスしていたというアホなオチでした
回答していただいた方々ありがとうございますそして申し訳ありません
>>528
なるほどそういう考え方もあるのですか
確かに製作者の意図しないアクセス方法は遮断したほうがいいのかもしれませんね https://exmaple.com/archive/storage/thumb/[ファイル]
にアクセスしたときに[ファイル]が
/mnt/hdd1/storage
に存在するときには
/mnt/hdd1/storage/[ファイル]
を取得して、存在しないときには
/home/pi/public_html/archive/no_thumb.jpg
を取得するようにするには、どのディレクトリにどのような内容の.htaccessを設置すればよいでしょうか。
[現在のApacheのconfでの設定]
DocumentRoot /home/pi/public_html/
Alias /archive/storage /mnt/hdd1/storage /mnt/hdd1/storage
の部分を
/mnt/hdd1/storage/thumb
に訂正します。 連投ですみません。ややこしいので訂正後の全文を再掲します。
https://exmaple.com/archive/storage/thumb/[ファイル]
にアクセスしたときに[ファイル]が
/mnt/hdd1/storage /thumb
に存在するときには
/mnt/hdd1/storage/thumb/[ファイル]
を取得して、存在しないときには
/home/pi/public_html/archive/no_thumb.jpg
を取得するようにするには、どのディレクトリにどのような内容の.htaccessを設置すればよいでしょうか。
[現在のApacheのconfでの設定]
DocumentRoot /home/pi/public_html/
Alias /archive/storage /mnt/hdd1/storage >>533
.htaccess
内容
ErrorDocument 404 /home/pi/public_html/archive/no_thumb.jpg
設置場所
トップディレクトリ
httpd.confなら
DocumentRoot /home/pi/public_html/
Alias /archive/storage /mnt/hdd1/storage
ErrorDocument 404 /home/pi/public_html/archive/no_thumb.jpg >>534
回答ありがとうございます。
説明不足で申し訳ないですが、
/mnt/hdd1/storage/thumb/[ファイル] .jpg
なら
/home/pi/public_html/archive/no_thumb.jpg
/mnt/hdd1/storage/thumb/[ファイル] .png
なら
/home/pi/public_html/archive/no_thumb.png
/mnt/hdd1/storage/thumb/[ファイル] .gif
なら
/home/pi/public_html/archive/no_thumb.gif
それ以外は規定のエラーページにしたい場合はどうすればよういでしょうか。 FilesMatchディレクティブ使えばいいんじゃねぇの /aaa/bbb/file が存在しない場合、
/aaa/file も存在しないなら /aaa/bbb/hoge にリダイレクト
/aaa/file が存在するなら /aaa/bbb/fuga にリダイレクト
させるにはどうすればいいですか? とあるサイトの一部ディレクトリ以下が
サーバ移転したのでApacheでリダイレクトしたいと思います思ってます
Redirect permanent /hoge/hoge1/ http://www.new.html
とhtaccessに書いたところ
トップページから飛ぶのですが
サブディレクトリから飛ぶと
http://www.new.html/hogesub/
となってないディレクトリに行き404エラーとなってしまいます
やりたいのは
/hoge/hoge1/のディレクトリは全てnewページに行くようにしたいのです
どこが間違っているか教えていただけませんか? 今頃apache使ってるのが間違い
しかもどうせcentosだろ サブディレクトリにもhtaccessを
個別に追加すれば 403ページで
Forbidden
You don't have permission to access / on this server.
Apache Server at xxxx.xxx Port 80
と出てしまうのですが、Apacheと出さないようにすることはできますか? >>539
Apacheスレまで出張して何言ってんの?
Nginx厨はお帰りください mod_rewriteの正規表現って /[^/]+/ って使えます?
それとも単に /.+/ で誤動作せずに問題ないですか? もう20年かぁ…
Sendmailは流石にもう消えたよな? 実質的に。 webサーバー関連で出来ないことはないってぐらい多機能じゃん。
高性能が必要なところは他を使えば良い。 ユーザ側でいじれる範囲を広くできるのは強みだよね
WordPressとかでパーマリンク構造変更するのにnginxじゃ管理者権限でconf編集しなきゃいけない >>556
そうは言っても、Web屋さんの技術ブログみたいなので、
.htaccessに記述しますとか書いてあると萎えるけどね。
プロならパフォーマンス考えてconfだろと。
どんだけショボいサイトなんだよと。 >>559
> Web屋さんの技術ブログ
フロントエンドエンジニアじゃん
バックエンドは富豪的解決でもいいんだよ
「こうあるべき」って思い込みが強い人みたいだね .htaccessはApacheへのベンダロックインみたいなもんだからなー ベンチマークスコアだけ見て実際の運用を知らない人が多いよね 実際の運用なんて千差万別なのに
自分の運用≡世間の運用
で語る奴 w 国内のホスティング大手はたいていApache使ってるのが現実だしねぇ むしろapacheしか使えないからだろう。同様の理由でCentOSも 客の自由度を確保するには結局Apacheが最適なのさ https://www.example.com/
で、.htaccessを以下のように二つ置く場合、
https://www.example.com/ に置いた.htaccess
https://www.example.com/sub/ に置いた.htaccess
sub側の.htaccessには上位フォルダの.htaccessの内容は一切引き継がれないという理解で良いですか? 逆
すべて引き継がれて、下のディレクトリの.htaccessによって設定したものだけ上書きされる。
忘れたが、上書きできないディレクティブもあったかも。 >>573
>すべて引き継がれて、下のディレクトリの.htaccessによって設定したものだけ上書きされる。
本当ですか?
実は www.example.com の .htaccessに以下の記述をしているのですが、
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
これでは
http://www.example.com/sub/ へのアクセスが
https://www.example.com/sub/ へ行かずに http:// のまま表示されてしまいます。
それで、subの.htaccessにも上の設定を書いたら期待通り https へ行って表示されたのです。
なので、上位の設定は一切引き継がれないと思ったのですが。。。
私の環境で引き継がれないのは何が原因でしょうか? mod_rewriteはわけのわからん動きをするから本当に難しい。
何らかの理由でURIが渡ってないんじゃない?
これで動くと思う。
https://help.sakura.ad.jp/hc/ja/articles/206054622--htaccess#ac09 まずDocumentRootかLocation /で.htaccess有効になってるかから始めようぜ 皆さん、アドバイスありがとうございます
>>575
教えて頂いたページにはWordPressを使っている場合と使っていない場合の二種類の設定がありますが、
どちらをやれば良いのか分かりませんでした。
使っているのはエックスサーバーなのですが、
フォルダ /example.com/public_html/
URL https://www.example.com/ WordPressではない単なる index.htmlのページ
フォルダ /example.com/public_html/sub/
URL https://www.example.com/sub/ WordPressサイト
と対応しています。
/ .htaccessはありません。
/example.com .htaccessはありません。
/example.com/public_html/ ここの.htaccessに httpをhttpsにリダイレクト設定を書いたが
/example.com/public_html/sub/ ここに引き継がれないので、ここにも.htaccessを置いて同じリダイレクト設定を書いた。
こんな感じです。
何かおかしいですか? WordるるPressが独自にrewriteの.htaccess持ってるから、
それと何かが競合して結果的に今の挙動に至ってるんじゃない?
これだけだと難しくてわかんね。
鯖屋に問い合わせてみなよ。 一緒くたにして一度にまとめてぐちゃぐちゃすると誰でも変わらなくなるもんよ。
ひとつずつバラして検証するしかない。
WordPressじゃないディレクトリだとどうなるかとか。 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。 以下のように書いてもうまく動かない(ipが許可されない)原因は何ですか?
ちなみにApache2.4&Windows10
<Directory "C:/WWW/public_html">
Require ip 100.100.100.100
</Directory> フロントサーバ nginx 固定コンテンツ・キャッシュ・リバースプロキシ・ロードバランス
おもに動的コンテンツのサーバ apache
これが普通だよね
最初nginxで受けて、処理できないものをapacheに投げる >>589
Apacheスレで言うことじゃないけど、 mod_php 的なやつはもう使わず、
Nginx + wsgi / passenger / php-fpm とかで inet proxy するか socket で使うのが今時じゃないか?
俺は慣れてるからApache使うけど 特殊な炭素素材で水を水素と酸素に分解 ゼビオHDのグループ企業、クロステクノロジーラボが開発 (35分〜)
ナッツ類、アーモンドですね、被曝させるとカビ生えないんです、米国内流通禁止です、なぜ日本に入ってくるんですか。
http://egg.5ch.net/test/read.cgi/agri/1547281780/l50 超初心者ですががんばってラズパイでhomeassistantというアプリを構築するためapache2とlets encryptでssl対応のサーバーを作ろうとおもっています。
http://itemy.net/?p=1052
ここを見てやってみてインストール完了し、apache2に証明書の設定も追記したものの、どうしてもhttpsでアクセスできません。
HttpでApache2にアクセスまでは出来ています。
ポートやファイアウォールなど確認したり半日費やしてもわかりません…
どなたかわかる方いらっしゃらないでしょうか?
よろしくお願い致します。 >>594
何からアクセスしようとしてる?
netstat コマンドとか使える? >>595
ありがとうございます。
ネットワーク中と外からiphoneやpcでアクセスしようとしてます。。。
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.1.80:51827 0.0.0.0:* LISTEN 2323/python3
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 739/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 955/master
tcp 0 0 0.0.0.0:8123 0.0.0.0:* LISTEN 2323/python3
tcp6 0 0 :::80 :::* LISTEN 824/apache2
tcp6 0 0 :::3218 :::* LISTEN 2675/docker-proxy
tcp6 0 0 :::22 :::* LISTEN 739/sshd
tcp6 0 0 :::443 :::* LISTEN 824/apache2
netstatはこれでいいんですかね?ちゃんと443はlistenしてるんですが。。。 >>594
> http://itemy.net/?p=1052
> ここを見てやってみてインストール完了し、apache2に証明書の設定も追記したものの、どうしてもhttpsでアクセスできません。
そこには
>> RASPBIAN JESSIE LITEにApacheが既にセットアップ済みで、http(ポート80/tcp)とhttps(ポート443/tcp)が接続可能なように、適切にルーターやファイヤーウォールなどの設定が行われている。
ことが前提って書いてあるから、どうやってApacheのセットアップしたかを書いてよ ありがとうございます。
>>597
apache2.confを
5 Listen 192.168.1.90:80
6
7 <IfModule ssl_module>
8������ Listen 192.168.1.90:443
9 </IfModule>
10
11 <IfModule mod_gnutls.c>
12������ Listen 192.168.1.90:443
のようにいじってipv4にしてもだめでした…
>>598
sudo apt-get install apache2
でインストールし、ページに書いてある通り証明書の設定、sslモジュールオン、再起動
したのみです 何か特別な方法があるんでしょうか?? >>599
aptだとDebian系かな
ports.confはいじらずListen 80、Listen 443だけでIPv4もIPv6もlistenしてくれるはず
sudo lsof -i | grep apache2 | grep rootしてみて そりゃRaspbianなんだからDebian系だろ 世の中アフィかもしれんURLいちいち踏む馬鹿ばかりではありません Apacheの減少が続く - 2019年2月Webサーバシェア 2019/03/01 14:23:39 後藤大地
https://news.mynavi.jp/article/20190301-779845/
2月28日(米国時間)、Netcraftに掲載された記事「February 2019 Web Server
Survey|Netcraft」が2019年2月におけるWebサーバのシェア調査の結果を伝えた。
2019年2月はWebサイトの数が減少した。2016年まではWebサイト数の増加が続いてきたが、
2017年からはシェアは横ばいであるか、特定時期に一気にサイトが減るという状況になって
いる。2018年5月、2019年1月は大きくWebサイトのシェアが減ったが、2019年2月も引き
続き減少傾向が見られた。
主要Webサーバの中でApacheは依然として減少傾向を続けている。ドメインベースでは
2019年2月に21万6000件ほど減少しており、昨年1年間ではドメイン名ベースで730万の
サイトを失った。 フロントサーバがnginxで、動的コンテンツはリバースプロキシ機能でApacheが処理するサイトは、
どういった集計になってるんだ? 環境変数に詳しい方、教えてください。
PHPで$_SERVER['CONTENT_LENGTH']を使いたいのですが、
Apacheの環境変数でCONTENT_LENGTHが定義されておらず使用することができません。
定義されていない場合は使うことができないのでしょうか。
アドバイスをください。
よろしくお願いします。 以前使ってたサーバから切り替えるために作り直してるんだが
Apacheにルート権限与えたくて以前はAPACHE_RUN_USERをrootにしてたんよね
これで実行できてた
https://i.imgur.com/mLe73bv.jpg
同じOSでアパッチのバージョンもそろえてる
それなのにシンタックスエラーになって動かないんよね
どうやらApache2.confの150行目が悪さしてるらしいんだが
www-dataではエラーは出ないんよね
ユーザーをrootに変えたらエラーが出る
なんでーーーー、教えてエロい人
https://i.imgur.com/LAXsBEs.jpg
https://i.imgur.com/VEXBgSo.jpg >>607
Apache has not been designed to serve pages while running as root.
って書いてあるのが全てだと思うが 答え:
#ifdef BIG_SECURITY_HOLE TransferLogとCustomLogの使い分けって考えたことありますか !? apache 2.4に今回初めてバージョンアップしたのですが。
https://qiita.com/morumoru72/items/df6fa1d9631cd5fcfcee
macro機能が便利で早速使いました。
一つのドメインだけ、redirectとか追加の記述をしたいのですが、何か方法はないでしょうか。 いじめはどこの町にもあるが島本町は特に酷い
「大阪府三島郡島本町のいじめはいじめられた本人が悪い 」なんて
公言する町は他に無い 急に起動できなくなったわ
サービスでもコマンドプロンプトでもできなくてエラーも起きない
結局アンインストールしてまた入れ直したら普通に使えたけど同じ様になった人いる? 弄り始めた超初心者です、ちょっと質問。
Apache、ActivePerlを(C直下に)インストールして各動作は確認してます。
DocumentRootとDirectoryを"C:/Apache24/htdocs"に設定しました(httpd.conf)。
で、ローカルでテストしようと簡単なCGIを拾ってきたんですが以下配置例が表記されてます。
public_html / index.html (トップページ)
|
+-- light / light.cgi [705] ... 掲示板本体
| admin.cgi [705] ... 管理画面
| regist.cgi [705]
| captcha.cgi [705]
| init.cgi [604]
これってhtdocsフォルダ内にpublic_htmlフォルダを作って
各ファイルを配置って事で良いんでしょうか?それとも
"C:/Apache24/htdocs"を"C:/Apache24/public_html"に変えた方が良いですか?