PleskのCLIを使ってみよう

やまもとやま
2024-05-13
2024-05-13

どうも、やまもとやまです。
当社サーバーでも採用しているコントロールパネルのPlesk。
通常はブラウザのWeb UIから操作しますが、CLIでの操作も可能です。
というわけで、どんなことができるのか試してみましょう。

環境

AlmaLinux9のサーバーにPleskをインストールした環境です。
2024年4月現在でのPlesk最新バージョンがObsidian18.0.59となります。
また、CLI実行には管理者権限が必要なため、rootユーザでの実行となります。

試してみる

  • Web UIのログインURL表示
    コマンド:login

せっかくCLIの話をしているのにあれですが、Web UIでパスワードなしにログインするURLを発行可能です。
実行例は以下の通りです。

# plesk login
https://clitest.future.local:8443/login?secret=k1bskhVqZf_YBY3EN1a6ODwCcZQSdtu0rZweL6J16G1P97dP
https://192.0.2.200:8443/login?secret=k1bskhVqZf_YBY3EN1a6ODwCcZQSdtu0rZweL6J16G1P97dP

CLIでコマンドを実行するとURLが表示されるので、ブラウザでアクセスするとパスワードなしでPleskのWeb UIへ直接管理者ログインが可能です。
SSHではログインしていてWeb UIも使いたいんだけどパスワード確認するのが面倒、、というときに地味に便利。

  • Pleskのデータベースへログイン
    コマンド:db

PleskのデータベースはMySQL(MariaDB)にpsaデータベースとして存在していますが、このCLIではパスワード入力なしにDBへログインが可能です。

# plesk db
MariaDB [psa]> 

実際は以下のコマンドを実行しているのと同じですね。

# mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa

CLIなら文字数も少なく打ち間違いもないので、楽で便利です。

  • 顧客作成
    コマンド:bin
    ユーティリティ名:customer

CLIで顧客アカウントも作成可能です。
以下、実行例となります。

# export PSA_PASSWORD='xxxxxxxx'
# plesk bin customer --create testaccount -name "テストアカウント" -passwd '' -email test@example.com

SUCCESS: Creation of customer account for 'testaccount' completed.

SUCCESSと表示されれば、無事アカウントの作成が完了です。
パラメータ等で問題があるときはエラーメッセージが表示されますので、解読してコマンドを修正しましょう。

今回のパラメータ例では、testaccountの部分が作成する顧客アカウントのログインユーザとなり、PSA_PASSWORDで設定したパスワードがログインパスワード(安全のため環境変数で指定します)、nameで指定したのがアカウントの表示名、emailで指定したのがメールアドレスとなります。
例では必須項目だけ指定していますが、必要であればその他の項目も設定可能です。
数件程度ならGUIでもさほど面倒ではないですが、例えば数十件登録しようと思うとCLIで一括で登録できた方が便利ですね。

  • 契約作成
    コマンド:bin
    ユーティリティ名:subscription

顧客アカウント作成後、契約(利用するドメイン)もCLIで作成可能です。
実際の作成例は以下になります。

# plesk bin subscription --create test.example.jp -owner testaccount -service-plan Unlimited -ip 192.0.2.200 -login ftpuseraccount -passwd 'xxxxxxxx' -err_docs true

SUCCESS: Creation of domain 'test.example.jp' completed.

ownerパラメータで指定した顧客アカウントに契約が作成されます。
今回はPleskにデフォルトで設定されている無制限のサービスプラン(Unlimited)を利用していますが、カスタムのサービスプランを作成して利用することもできます。
また、サービスプラン自体もCLIで作成可能です。

試してみた

ざっとですが、PleskのCLIを試してみました。
GUIからの操作も勿論便利なのですが、大量に作業が必要な場合はCLIが便利です(スクリプト等と組み合わせて使うことで一括での設定も可能ですね)。
面倒な作業はできるだけ楽をしてやり過ごしたいものです・・・。
その他にも様々なコマンドが利用可能ですので、公式ドキュメントをご参照いただき、ぜひ試してみてください。

公式のCLIリファレンス

それではまた!