質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

解決済

3回答

3365閲覧

Ubuntuのvar/www/html/にあるubuntuのindexページは皆さん何に置き換えていますか?

kipipipi

総合スコア60

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

1クリップ

投稿2020/10/28 10:08

編集2020/10/28 10:09

今初めてubuntuを用いてサーバーを用意しています。
ドメインを設定してhttps://mysite.comにアクセスすると
Ubuntuのindex.htmlが表示されます。
私はこのサーバーにLaravelのプロジェクトを置いているので、Ubuntuのindex.htmlなんか見せたくないので.htaccessでLaravelのプロジェクトに飛ばそうと考えました。
そこで下記のものを用意しました。
(.htaccessは見よう見まねであることをご理解ください。)

<IfModule mod_rewrite.c> Options -Indexes RewriteEngine on # wwwを削除 RewriteCond %{HTTP_HOST} ^www.mysite.com # httpからの通信を、httpsにリダイレクト RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://mysite.com/$1 [R=301,L] RewriteRule ^(.*)$ https://mysite.com/LaravelProject [L,R=301] ↑ubuntuのindex.htmlを見せたくなくて苦肉の策です。。。 </IfModule>

また、SSLの証明書は今回はLets Encryptを使用しています。
はじめ導入した時エラーが出ましたが、.htaccessがリダイレクトしてしまうせいと分かり、一時的にOFFにしてLets Encryptの導入を再度やってみると成功しました。

ここで疑問が問題が発生。
Lets Encryptは3ヶ月で有効期限が切れてしまうので自動更新をcronで設定しましたが、上記の.htaccessのままではリダイレクトされて更新ができ無いはずです。

####聞きたいこと

  1. Lets Encrypt(SSL)を自動更新するにあたって問題ない.htaccessの書き方

->リダイレクトさせなきゃ良いのだと思いますが。。。

  1. そもそもUbuntuのindex.htmlを見せたくないから.htaccessでリダイレクトを使おうと思った発想が間違いで、別のページ置くとかすれば良い?(var/www/html/LaravelProject 内にあるトップページを引きづり出す??)

普通はどうするのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

ドキュメントルートを別の場所にする、ってのではいけませんか?

投稿2020/10/28 10:30

y_waiwai

総合スコア87747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kipipipi

2020/10/28 10:40

それも考えたのですが、ドキュメントルートを変えるとvar/www/htmlをドキュメントルートとしているモジュールなどが動かなくなる可能性などあるからあまりやらない方が良い とどこかの記事で拝見して、ムムム。。。と怖くて手が出せていませんでした。。。
y_waiwai

2020/10/28 10:44 編集

> var/www/htmlをドキュメントルートとしているモジュール ってあるんでしょうか。 私は、ドキュメントルートは自分の都合で変えるべきもの、と言う認識ですが。。
kipipipi

2020/10/28 10:53

私の解釈違いか、その記事を書かれた方の方針なのかでしょうか。。。 最終的には動くならその方法が楽チンだろうなとは思っています! さらに質問を重ねて申し訳ありません。 ドキュメントルートを変えた場合に起こるデメリットはありますでしょうか?
y_waiwai

2020/10/28 10:55

変えた場合のデメリットって思いつきませんねー 新規にサイトを構築する、ってのであれば不具合はないと思いますよ。
kipipipi

2020/10/28 11:09

ありがとうございます!それであれば私にも挑戦できそうです! 1度やってみます!
guest

0

表示させたくなくて、URLは/LaravelProjectのままで良いのであれば、単純にindex.htmlを削除なりすればよいのでは?

投稿2020/10/28 10:31

Takumiboo

総合スコア2534

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Takumiboo

2020/10/28 10:32

もちろん、Apacheの設定を変更して/LarevelProjectをルートにする(example.com/にアクセスしたときに表示できるようにする)ことも可能です。ただしその場合はLet's Encryptの更新時に少し工夫がいるかも知れませんが。
kipipipi

2020/10/28 10:36

ご回答ありがとうございます! やはりそうなりますか。。。 一般的に example.com/ にアクセスがきた場合は皆さん404なり表示しているのでしょうか?(Laravelやcakephp、djangoなどプロジェクトディレクトリ単位で管理する場合)
Takumiboo

2020/10/28 10:39

それは要件次第でしょうね。例えばteratail.comだって普通にトップページが表示されますよね。 一つのドメインで複数のプロジェクトを使いたい、しかしドメインルートは必要ないとかであれば、サブドメインを使うのもありかもしれないですね。(Let's Encryptはそれぞれに必要orワイルドカードの設定が必要) 例えばproject1.example.comproject2.example.com…などとして、example.com直はそもそもDNSレコードを向けなければ、アクセスされることもなくなります。 ちなみにこのように複数のドメインを一つのサーバで扱う場合はバーチャルホストという設定が必要になるので、そちらも調べてみてください。
kipipipi

2020/10/28 11:12

実はcakephp3のプロジェクトも中にあるので、サブドメインの方法も考えてみます! バーチャルホストは、まだ分からない。。。と思ってちょっと避けていました(苦笑) 避けては通れなさそうなので勉強してみます! DNSの設定は私ではない方が設定しているので、その方に相談してみます! あとでどうしたかご報告いたします。ありがとうございます!
guest

0

基本的に、設定ファイルである「/etc/apache2/sites-available/000-default.conf」や、デフォルトのDocumentRootである「/var/www/html」以下のファイルはいじりません。

  1. /etc/apache2/sites-available/000-default.conf」を別のファイルにコピー(仮に、「/etc/apache2/sites-available/000-myhost.conf」とします)
  2. /etc/apache2/sites-available/000-myhost.conf」の「DocumentRoot」を別のディレクトリに変更
  3. a2dissite 000-default」を実行して、「000-default.conf」を無効化
  4. a2ensite 000-myhost」を実行して、「000-myhost.conf」を有効化

上記のようにして、デフォルトの設定を無効にして、自分の設定を有効にします。

インストールしてできたファイルは、できる限り触らないのが流儀です。
もっとも全てが全て触らないで済むかと言えばそんな事はありませんが、ubuntuのapacheに関して言えば、上記のような手順が用意されているので、それを使うべきです。

投稿2020/10/28 11:48

編集2020/10/28 12:08
katsuko

総合スコア3469

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問