Contents
1. Webサーバー(Apache)SSL化
1.1 Let's Encrypt 用 Certbot ツールのインストール
以下のコマンドを実行して、Certbotパッケージをインストールします
1 |
# pkg install py39-certbot |
1.2 Let's Encrypt証明書の取得
①単一ドメイン[FQDN]のみをカバーする証明書を取得するには、以下のcertbotコマンドを実行する:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# certbot certonly --webroot -w /usr/local/www/apache24/data/[FQDN] -d [FQDN] Saving debug log to /var/log/letsencrypt/letsencrypt.log Requesting a certificate for [FQDN] Successfully received certificate. Certificate is saved at: /usr/local/etc/letsencrypt/live/[FQDN]/fullchain.pem Key is saved at: /usr/local/etc/letsencrypt/live/[FQDN]/privkey.pem This certificate expires on 2024-07-07. These files will be updated when the certificate renews. NEXT STEPS: - The certificate will need to be renewed before it expires. Certbot can automatically renew the certificate in the background, but you may need to take steps to enable that functionality. See https://certbot.org/renewal-setup for instructions. We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
1.3 Apache 設定ファイル編集
①httpd.confファイル編集
1 2 3 4 5 6 7 8 9 10 |
# vi /usr/local/etc/apache24/httpd.conf 92行目 : コメント解除 LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so 148行目あたりコメント解除 LoadModule ssl_module libexec/apache24/mod_ssl.so 528行目 : コメント解除 Include etc/apache24/extra/httpd-ssl.conf |
1.3 Rewriteモジュールを有効にする
HTTPからHTTPSにリダイレクトする際にURLを変更するために必要
1 2 3 4 |
# vi /usr/local/etc/apache24/httpd.conf 181行目あたりコメント解除 LoadModule rewrite_module libexec/apache24/mod_rewrite.so |
Apache24再起動
1 |
# service apache24 restart |
1.4 httpd-ssl.confファイル編集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# vi /usr/local/etc/apache24/extra/httpd-ssl.conf # 124-126行目 : 変更 DocumentRoot "/usr/local/www/apache24/data/[FQDN]" ServerName [FQDN]:443 ServerAdmin [email-address] # 144行目 : 取得した証明書に変更 SSLCertificateFile "/usr/local/etc/letsencrypt/live/[FQDN]/cert.pem" # 154行目 : 取得した証明書に変更 SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/[FQDN]/privkey.pem" # 165行目 : コメント解除して取得した証明書に変更 SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/[FQDN]/chain.pem" |
➁証明書の自動更新
crontabを編集して、更新を1日2回実行する新しいジョブを作成します
1 2 3 4 5 6 |
# crontab -e SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin 0 0,12 * * * /usr/local/bin/certbot renew |
1.5 HTTP 通信を HTTPS へリダイレクト
/usr/local/etc/apache24/extra/bsd-vhost.confを編集
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# vi /usr/local/etc/apache24/extra/bsd-vhost.conf <VirtualHost *:80> ServerAdmin [email-address] DocumentRoot "/usr/local/www/apache24/data/[FQDN]" ServerName [FQDN] RewriteEngine On ←追記 RewriteCond %{HTTPS} off ←追記 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] ←追記 ErrorLog "/var/log/[FQDN]-error_log" CustomLog "/var/log/[FQDN]-access_log" common </VirtualHost> <Directory /usr/local/www/apache24/data/bsd.korodes.com> AddHandler cgi-script .cgi Options FollowSymlinks Includes AllowOverride All Require all granted </Directory> |
apache再起動
1 |
# service apache24 restart |
2. Webminインストール
Webmin(うぇぶみん)は、LinuxなどのUnix系オペレーティングシステム (OS) を設定できるウェブブラウザベースのツールである。 ユーザーやディスク使用上限、サービス、設定ファイル等といったOS内部設定の変更を多数行え、ApacheやPHP、MySQLなどといった多くのオープンソースのアプリケーションの変更や制御を行える。
Webminは主にPerlで構築されており、独自のプロセス、そしてウェブサーバとして動作する。 初期設定では10000番のTCPポートで通信する。
2.1 インストール
オプションはありません
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# cd /usr/ports/sysutils/webmin/ # make # make install ===> Installing for webmin-2.013 ===> Checking if webmin is already installed ===> Registering installation for webmin-2.013 Installing webmin-2.013... After installing Webmin for the first time you should perform the following steps as root: * Configure Webmin by running /usr/local/lib/webmin/setup.sh * Add webmin_enable="YES" to your /etc/rc.conf * Start Webmin for the first time by running "service webmin start" The parameters requested by setup.sh may then be changed from within Webmin itself. |
2.2 セットアップ
ログインユーザー ; admin
パスワード ; 任意(hyu6kon)
その他はデフォルトでEnter
以下の要領で初期セットアップを行います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# /usr/local/lib/webmin/setup.sh *********************************************************************** Welcome to the Webmin setup script, version 2.013 *********************************************************************** Webmin is a web-based interface that allows Unix-like operating systems and common Unix services to be easily administered. Installing Webmin in /usr/local/lib/webmin *********************************************************************** Webmin uses separate directories for configuration files and log files. Unless you want to run multiple versions of Webmin at the same time you can just accept the defaults. Config file directory [/usr/local/etc/webmin]: Log file directory [/var/db/webmin]: *********************************************************************** Webmin is written entirely in Perl. Please enter the full path to the Perl 5 interpreter on your system. Full path to perl (default /usr/local/bin/perl): Testing Perl .. .. done *********************************************************************** Operating system name: FreeBSD Operating system version: 13.2 *********************************************************************** Webmin uses its own password protected web server to provide access to the administration programs. The setup script needs to know : - What port to run the web server on. There must not be another web server already using this port. - The login name required to access the web server. - The password required to access the web server. - If the web server should use SSL (if your system supports it). - Whether to start webmin at boot time. Web server port (default 10000): Login name (default admin): Login password: ←任意のパスワード Password again: ←再度入力 Use SSL (y/n): y *********************************************************************** Creating web server config files .. .. done Creating access control file .. .. done Creating start and stop init scripts .. .. done Creating start and stop init symlinks to scripts .. .. done Copying config files .. .. done Changing ownership and permissions .. .. done Running postinstall scripts .. .. done Enabling background status collection .. .. done |
2.3 /etc/rc.conf の編集
1 2 |
# sysrc webmin_enable=YES webmin_enable: -> YES |
Webmin のログは
/var/log/webmin/miniserv.error
/var/log/webmin/miniserv.log
に出力されます。
2.4 起動
起動スクリプトは/usr/local/etc/rc.d/webmin
1 2 3 |
# service webmin start Starting webmin. Starting Webmin server in /usr/local/lib/webmin |
2.5 ログイン
事前にFirewallで10000ポートを開放しておく
外部から接続する場合はルータの変更も必要
ブラウザで
https://サーバドメイン名または IP アドレス:10000/にアクセスするとログイン画面が表示されます。
設定しておいたユーザとパスワードでログインします。
Webmin のメイン画面
左メニューで [Webmin] - [Change Language and Theme] をクリックし、右ペインの [Personal choice] から日本語に変更
メニューが日本語に変わりました