[Vagrant]LAMP環境にSSL(オレオレ証明書)を入れてアクセスする方法

[Vagrant]LAMP環境にSSL(オレオレ証明書)を入れてアクセスする方法
2021年05月05日2023年10月10日

Vagrantで構築したLAMP環境にSSL(オレオレ証明書)を入れてアクセスする方法を紹介します。

まずはじめに

VagrantのLAMP環境を構築したい、これからという方は下記記事を参考に構築してみてください。

WindowsのVagrantにCentOS7.4を構築するする方法を紹介します。
Vagrantを使って本番環境に近いLAMP(CeontOS+Apache+Mysql+PHP...

SSLの設定

SSLのインストール

$ sudo yum -y install mod_ssl openssl

ディレクトリ移動

$ cd /etc/pki/tls/certs

秘密鍵の作成(パスワードなんでもよい)

$ sudo make server.key

秘密鍵からパスフレーズを削除する(先ほどのパスワードを入力)

$ sudo openssl rsa -in server.key -out server.key

証明書の作成

$ sudo make server.csr

umask 77 ; \
/usr/bin/openssl genrsa -aes128 2048 > server.key
Generating RSA private key, 2048 bit long modulus
..................+++
.......................................................................................................................+++
e is 65537 (0x10001)
Enter pass phrase:
Verifying - Enter pass phrase:
[root@localhost certs]# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:
writing RSA key
[root@localhost certs]# make server.csr
umask 77 ; \
/usr/bin/openssl req -utf8 -new -key server.key -out server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP ←「JP」を入力
State or Province Name (full name) []:Okinawa ←都道府県を入力
Locality Name (eg, city) [Default City]:Naha ← 市町村を入力
Organization Name (eg, company) [Default Company Ltd]:Test ←「Test」を入力
Organizational Unit Name (eg, section) []:Test ←「Test」を入力
Common Name (eg, your name or your server's hostname) []:192.168.33.10 ←VagrantのIPを入力
Email Address []: ←入力せずEnter

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: ←入力せずEnter
An optional company name []: ←入力せずEnter

有効期限が10年の自己証明書を作成する

$ sudo openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650

Apacheの設定

つぎにApache側の設定をおこないます。Virtual HostにSSLの記述を追加します。SSLの場合ポートが443となるので、80ポートの記述をコピーしてSSL用のVirtual Hostを作成する必要があります。

vi /etc/httpd/conf.d/vhosts-test.local.jp.conf
/etc/httpd/conf.d/vhosts-test.local.jp.conf
<VirtualHost *:80>
    DocumentRoot "/var/www/test.local.jp/public"
    ServerName test.local.jp
    ErrorLog "logs/test.local.jpz-error.log"
    CustomLog "logs/test.local.jp-access.log" common
    <Directory "/var/www/test.local.jp/public">
       AllowOverride All
       Require all granted
    </Directory>
</VirtualHost>

# 上記の80ポートをコピーして下記を追記する

<VirtualHost *:443>
    DocumentRoot "/var/www/test.local.jp/public"
    ServerName test.local.jp
    ErrorLog "logs/test.local.jpz-error.log"
    CustomLog "logs/test.local.jp-access.log" common
    <Directory "/var/www/test.local.jp/public">
       AllowOverride All
       Require all granted
    </Directory>
    # 下記3行はそのままコピーして追記してください
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/server.crt
    SSLCertificateKeyFile /etc/pki/tls/certs/server.key
</VirtualHost>
Virtual Hostのconfファイル名やドキュメントルートはご自身の環境に書き換えてください。

Apacheを再起動

systemctl restart httpd

Webブラウザからhttpsでアクセス。

警告が表示されたら「詳細設定」→「〇〇 にアクセスする(安全ではありません)」をクリックします。

23423412

URLがhttpsでアクセス出来ているか確認してください。

23084234

SSLの設定は以上になります。

コメント

コメントを残す

お名前(任意)
コメント:新規