Ubuntu18.04にWebminをインストールする方法

提供:Dev Guides
移動先:案内検索

著者は、 Write forDOnationsプログラムの一環として寄付を受け取るためにTechEducationFundを選択しました。

###序章

Webmin は、最新のWebベースのインターフェイスを介してサーバーを管理できるLinuxマシン用のWebベースのコントロールパネルです。 Webminを使用すると、Webサーバーやデータベースなどの一般的なパッケージの設定をその場で変更したり、ユーザー、グループ、ソフトウェアパッケージを管理したりできます。

このチュートリアルでは、サーバーにWebminをインストールして構成し、 Let'sEncryptと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

次に、この行をファイルの最後に追加して、新しいリポジトリを追加します。

/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

以下をファイルに追加し、メールアドレスとドメインを独自のものに置き換えます。

/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

次の行を見つけます。

/etc/webmin/miniserv.conf

...
ssl=1
...

10に変更します。これにより、WebminにSSLの使用を停止するように指示されます。

次に、許可されたドメインのリストにドメインを追加します。これにより、Webminは、ドメインからパネルにアクセスするときに、クロスサイトスクリプティング(XSS)攻撃のような悪意のあるものではないことを理解します。

エディターでファイル/etc/webmin/configを開きます。

sudo nano /etc/webmin/config

ファイルの最後に次の行を追加し、your_domainを完全修飾ドメイン名に置き換えます。

/ etc / webmin / config

 . . . 
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をクリックします。 これにより、ユーザーの作成画面が表示され、ユーザー名、パスワード、グループ、およびその他のオプションを指定できます。 次の手順に従って、ユーザーを作成します。

  1. ユーザー名deployを入力します。
  2. ユーザーID自動を選択します。
  3. 本名Deployment userのようなわかりやすい名前を入力します。
  4. ホームディレクトリで、自動を選択します。
  5. Shell の場合、ドロップダウンリストから / bin /bashを選択します。
  6. パスワードには、通常パスワードを選択し、お好みのパスワードを入力してください。
  7. プライマリグループで、ユーザーと同じ名前の新しいグループを選択します。
  8. セカンダリグループの場合、すべてのグループリストから sudo を選択し、->ボタンを押してグループをに追加します。 ]グループリスト。
  9. Create を押して、この新しいユーザーを作成します。

ユーザーを作成するときに、パスワードの有効期限、ユーザーのシェル、またはホームディレクトリを許可するかどうかのオプションを設定できます。

次に、システムにアップデートをインストールする方法を見てみましょう。

パッケージの更新

Webminを使用すると、ユーザーインターフェイスを介してすべてのパッケージを更新できます。 すべてのパッケージを更新するには、ダッシュボードリンクをクリックし、パッケージ更新フィールドを見つけます。 利用可能な更新がある場合は、次の図に示すように、利用可能な更新の数を示すリンクが表示されます。

このリンクをクリックし、選択したパッケージの更新を押して更新を開始します。 サーバーの再起動を求められる場合があります。これは、Webminインターフェイスからも実行できます。

結論

これで、Webminの安全で動作するインスタンスが作成され、インターフェイスを使用してユーザーを作成し、パッケージを更新しました。 Webminを使用すると、通常はコンソールからアクセスする必要のある多くのものにアクセスでき、直感的な方法でそれらを整理できます。 たとえば、Apacheがインストールされている場合は、サーバーの下に[構成]タブがあり、次にApacheがあります。

インターフェイスをさらに詳しく調べるか、公式Webmin wiki をチェックして、Webminを使用したシステムの管理の詳細を確認してください。