Ubuntu18.04にWebminをインストールする方法
著者は、 Write forDOnationsプログラムの一環として寄付を受け取るためにTechEducationFundを選択しました。
###序章
Webmin は、最新のWebベースのインターフェイスを介してサーバーを管理できるLinuxマシン用のWebベースのコントロールパネルです。 Webminを使用すると、Webサーバーやデータベースなどの一般的なパッケージの設定をその場で変更したり、ユーザー、グループ、ソフトウェアパッケージを管理したりできます。
このチュートリアルでは、サーバーにWebminをインストールして構成し、 Let’s Encrypt とApacheを使用して、有効な証明書を使用してインターフェイスへのアクセスを保護します。 次に、Webminを使用して新しいユーザーアカウントを追加し、ダッシュボードからサーバー上のすべてのパッケージを更新します。
前提条件
このチュートリアルを完了するには、次のものが必要です。
- Ubuntu18.04初期サーバーセットアップガイドに従ってセットアップされた1つのUbuntu18.04サーバー(sudo非rootユーザーとファイアウォールを含む)。
- Ubuntu 18.04 にLinux、Apache、MySQL、PHP(LAMP)スタックをインストールする方法に従ってインストールされたApache。 Apacheを使用して、Let’s Encryptのドメイン検証を実行し、Webminのプロキシとして機能します。 このチュートリアルに従うときは、ファイアウォールを介したApacheへのアクセスを構成してください。
- サーバーのIPアドレスを指すDNSA レコードを含む完全修飾ドメイン名(FQDN)。 これを構成するには、チュートリアルDigitalOceanを使用してホスト名を設定する方法に従ってください。
- Ubuntu18.04でLet’sEncryptを使用してApacheを保護する方法のステップ1に従ってインストールされたCertbot。 Certbotを使用して、WebminのTLS/SSL証明書を生成します。
ステップ1—Webminのインストール
まず、パッケージマネージャーを使用してWebminを簡単にインストールおよび更新できるように、Webminリポジトリを追加する必要があります。 これを行うには、リポジトリを/etc/apt/sources.list
ファイルに追加します。
エディターでファイルを開きます。
- sudo nano /etc/apt/sources.list
次に、この行をファイルの最後に追加して、新しいリポジトリを追加します。
. . .
deb http://download.webmin.com/download/repository sarge contrib
ファイルを保存して、エディターを終了します。
次に、システムが新しいリポジトリを信頼するようにWebminPGPキーを追加します。
wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
次に、パッケージのリストを更新して、Webminリポジトリを含めます。
- sudo apt update
次に、Webminをインストールします。
- sudo apt install webmin
インストールが完了すると、次の出力が表示されます。
OutputWebmin install complete. You can now login to
https://your_server_ip:10000 as root with your
root password, or as any user who can use `sudo`.
それでは、WebminをApache Webサーバーの背後に配置し、有効なTLS / SSL証明書を追加して、Webminへのアクセスを保護しましょう。
ステップ2—ApacheでWebminを保護してLet’sEncrypt
Webminにアクセスするには、ポート10000
を指定し、ファイアウォールでポートが開いていることを確認する必要があります。 これは、特にwebmin.your_domain
のようなFQDNを使用してWebminにアクセスしている場合は不便です。Apache仮想ホストを使用して、ポート10000
で実行されているWebminのサーバーにリクエストをプロキシします。 次に、Let’sEncryptのTLS/SSL証明書を使用して仮想ホストを保護します。
まず、Apacheの構成ディレクトリに新しいApache仮想ホストファイルを作成します。
- sudo nano /etc/apache2/sites-available/your_domain.conf
以下をファイルに追加し、メールアドレスとドメインを独自のものに置き換えます。
<VirtualHost *:80>
ServerAdmin your_email
ServerName your_domain
ProxyPass / http://localhost:10000/
ProxyPassReverse / http://localhost:10000/
</VirtualHost>
この構成は、Webminサーバーであるhttp://localhost:10000
にリクエストを渡すようにApacheに指示します。 また、Webminから生成された内部リンクもApacheを通過するようにします。
ファイルを保存して、エディターを終了します。
次に、WebminにTLS / SSLの使用を停止するように指示する必要があります。これは、Apacheが今後提供するためです。
エディターでファイル/etc/webmin/miniserv.conf
を開きます。
- sudo nano /etc/webmin/miniserv.conf
次の行を見つけます。
...
ssl=1
...
1
を0
に変更します。これにより、WebminにSSLの使用を停止するように指示されます。
次に、許可されたドメインのリストにドメインを追加します。これにより、Webminは、ドメインからパネルにアクセスするときに、クロスサイトスクリプティング(XSS)攻撃のような悪意のあるものではないことを理解します。
エディターでファイル/etc/webmin/config
を開きます。
- sudo nano /etc/webmin/config
ファイルの最後に次の行を追加し、your_domain
を完全修飾ドメイン名に置き換えます。
. . .
referers=your_domain
ファイルを保存して、エディターを終了します。
次に、Webminを再起動して、構成の変更を適用します。
- sudo systemctl restart webmin
次に、Apacheのproxy_http
モジュールを有効にします。
- sudo a2enmod proxy_http
次の出力が表示されます。
OutputConsidering dependency proxy for proxy_http:
Enabling module proxy.
Enabling module proxy_http.
To activate the new configuration, you need to run:
systemctl restart apache2
出力は、Apacheを再起動することを示していますが、最初に、作成した新しいApache仮想ホストをアクティブ化します。
- sudo a2ensite your_domain
サイトが有効になっていることを示す次の出力が表示されます。
OutputEnabling site your_domain.
To activate the new configuration, you need to run:
systemctl reload apache2
次に、Apacheを完全に再起動して、proxy_http
モジュールと新しい仮想ホストをアクティブにします。
- sudo systemctl restart apache2
注:前提条件のチュートリアル Linux、Apache、 MySQL、PHP(LAMP)スタック(Ubuntu 18.04 )。 これは、コマンドsudo ufw allow in "Apache Full"
を使用して実行できます。
ブラウザでhttp://your_domain
に移動すると、Webminログインページが表示されます。
警告: SSLを有効にしていないため、まだWebminにログインしないでください。 今すぐログインすると、資格情報がクリアテキストでサーバーに送信されます。
次に、Webminの使用中に接続が暗号化されるように証明書を構成しましょう。 これを行うために、Let’sEncryptを使用します。
ドメインのTLS/SSL証明書を生成し、トラフィックを安全なサイトにリダイレクトするようにApacheを構成するようにCertbotに指示します。
- sudo certbot --apache --email your_email -d your_domain --agree-tos --redirect --noninteractive
次の出力が表示されます。
OutputSaving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for your_domain
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/your_domain-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/your_domain-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/your_domain-le-ssl.conf
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/your_domain.conf to ssl vhost in /etc/apache2/sites-available/your_domain-le-ssl.conf
-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://your_domain
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=your_domain
-------------------------------------------------------------------------------
出力は、証明書がインストールされ、Apacheがhttp://your_domain
からhttps://your_domain
にリクエストをリダイレクトするように構成されていることを示しています。
これで、Webminの安全で動作するインスタンスがセットアップされました。 使い方を見てみましょう。
ステップ3–Webminを使用する
Webminには、BIND DNSサーバーから、システムにユーザーを追加するだけの簡単なものまで、すべてを制御できるモジュールがあります。 新しいユーザーを作成する方法を見てから、Webminを使用してソフトウェアパッケージを更新する方法を見てみましょう。
Webminにログインするには、http://your_domain
に移動し、rootユーザーまたはsudo権限を持つユーザーのいずれかでサインインします。
ユーザーとグループの管理
サーバー上のユーザーとグループを管理しましょう。
まず、システムタブをクリックし、ユーザーとグループボタンをクリックします。 ここから、ユーザーを追加するか、ユーザーを管理するか、グループを追加または管理することができます。
Webアプリケーションのホスティングに使用できるdeployという新しいユーザーを作成しましょう。 ユーザーを追加するには、usersテーブルの上部にある Create a newuserをクリックします。 これにより、ユーザーの作成画面が表示され、ユーザー名、パスワード、グループ、およびその他のオプションを指定できます。 次の手順に従って、ユーザーを作成します。
- ユーザー名に
deploy
を入力します。 - ユーザーIDで自動を選択します。
- 本名に
Deployment user
のようなわかりやすい名前を入力します。 - ホームディレクトリで、自動を選択します。
- Shell の場合、ドロップダウンリストから / bin /bashを選択します。
- パスワードには、通常パスワードを選択し、お好みのパスワードを入力してください。
- プライマリグループで、ユーザーと同じ名前の新しいグループを選択します。
- セカンダリグループの場合、すべてのグループリストから sudo を選択し、->ボタンを押してグループをに追加します。 ]グループリスト。
- Create を押して、この新しいユーザーを作成します。
ユーザーを作成するときに、パスワードの有効期限、ユーザーのシェル、またはホームディレクトリを許可するかどうかのオプションを設定できます。
次に、システムにアップデートをインストールする方法を見てみましょう。
パッケージの更新
Webminを使用すると、ユーザーインターフェイスを介してすべてのパッケージを更新できます。 すべてのパッケージを更新するには、ダッシュボードリンクをクリックし、パッケージ更新フィールドを見つけます。 利用可能な更新がある場合は、次の図に示すように、利用可能な更新の数を示すリンクが表示されます。
このリンクをクリックし、選択したパッケージの更新を押して更新を開始します。 サーバーの再起動を求められる場合があります。これは、Webminインターフェイスからも実行できます。
結論
これで、セキュリティで保護されたWebminのインスタンスが作成され、インターフェイスを使用してユーザーを作成し、パッケージを更新しました。 Webminを使用すると、通常はコンソールからアクセスする必要のある多くのものにアクセスでき、直感的な方法でそれらを整理できます。 たとえば、Apacheがインストールされている場合は、サーバー、Apacheの順に構成タブが表示されます。
インターフェイスをさらに詳しく調べるか、公式Webmin wiki をチェックして、Webminを使用したシステムの管理の詳細を確認してください。