3.1 sudo のパスワード省略設定(自動化)
以下のコマンドを実行し、ymatsuki ユーザーにパスワードなしの sudo 権限を付与せよ。
echo "ymatsuki ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ymatsuki && sudo chmod 440 /etc/sudoers.d/ymatsuki
3.2 ISPConfig 3 のインストール
以下のコマンドを一括で実行せよ。
wget -O - https://get.ispconfig.org | sudo sh -s -- \
--use-ftp-ports=40110-40210 \
--use-php=5.6,7.0,7.1,7.2,7.3,7.4,8.1,8.2,8.3,8.4,8.5 \
--monit \
--unattended-upgrades
【警告】 Ubuntu 24.04 標準の PHP 8.3 環境では、ISPConfig 3.3.1p1 のフォーム保存処理に不備がある。日本語化や設定変更を行う前に、以下のパッチを必ず執行せよ。これを怠ると設定が保存されない。
3.2.1 【必須】PHP 8.3 互換性パッチの適用
sed -i "s/if(count($this->formDef\\[tabs\\]\\[$tab\\]\\[fields\\]) == 0)/if(empty($this->formDef\\[tabs\\]\\[$tab\\]\\[fields\\]))/g" /usr/local/ispconfig/interface/lib/classes/tform_base.inc.php\nsystemctl restart php8.3-fpm
3.3 管理画面への初回ログインと確認
インストールが正常に終了したら、ブラウザから管理コンソールへアクセスし、ログインを確認する。
- URL: https://192.168.200.227:8080
- ID: admin / PW: (3.2で控えたもの)
- 設定: 「Tools」メニューより、管理者パスワードを直ちに変更すること。
3.4 管理コンソール(8080)のアクセス制限
上段F/Wに加え、サーバー自身でもプライベートIP(192.168.0.0/16)以外の接続を拒否する設定を行う。
1. UFWの設定
sudo ufw insert 1 allow from 192.168.0.0/16 to any port 8080 comment 'ISPConfig Local Only'
2. Apache設定の変更
ファイル: /etc/apache2/sites-available/ispconfig.vhost
<Directory /usr/local/ispconfig/interface/web>
# ...既存設定...
<RequireAny>
Require ip 127.0.0.1
Require ip 192.168.0.0/16
</RequireAny>
</Directory>
注意: ISPConfigをアップデート(Reconfigure Services)すると、Apacheの .vhost ファイルは上書きされる場合がある。その際は再設定が必要だ。