#
Panelの構築方法
まず初めに,依存関係をインストールします。
# 「add-apt-repository」コマンドを追加
apt -y install software-properties-common curl apt-transport-https ca-certificates gnupg
# PHP,Redis,MariaDBを追加
LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php
# Redis公式APTリポジトリを追加
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
# Ubuntu 22.04 では MariaDB リポジトリ設定スクリプトをスキップ可能
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
# リポジトリ一覧を更新
apt update
# 依存関係のインストール
apt -y install php8.1 php8.1-{common,cli,gd,mysql,mbstring,bcmath,xml,fpm,curl,zip} mariadb-server nginx tar unzip git redis-server
composerといわれるパネルの操作に必要なものをインストールします。
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
パネルのファイルをダウンロードします。
# フォルダを作成
mkdir -p /var/www/pterodactyl
# 作成したフォルダに移動
cd /var/www/pterodactyl
# パネルをダウンロード
curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/latest/download/panel.tar.gz
# ダウンロードしたパネルを展開
tar -xzvf panel.tar.gz
# 権限を設定
chmod -R 755 storage/* bootstrap/cache/
データベースの作成を行います。
mysql -u root -p
# 'あなたのパスワード' は,パスワードに置き換えてください。難しめのほうがいいです。
# ユーザーを作成
CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'あなたのパスワード';
# データベースを作成
CREATE DATABASE panel;
# 権限を設定
GRANT ALL PRIVILEGES ON panel.* TO 'pterodactyl'@'127.0.0.1' WITH GRANT OPTION;
# データベースを閉じる
exit
環境設定等を設定します。
# ファイルの例をコピー
cp .env.example .env
# 依存関係をインストール
composer install --no-dev --optimize-autoloader
注意
以下のコマンドは,初めてパネルをインストールし,データベースをパネルに紐づけていない場合にのみ実行してください。.envファイルは大切に保管してください。暗号化キーを紛失すると,データベースのバックアップがあっても普及は困難です。
php artisan key:generate --force
環境設定を行います。
# パネルに情報を入力します。
php artisan p:environment:setup
# データベースの接続情報を入力します。
php artisan p:environment:database
# メールサーバーを“今”設定する場合にのみ実行してください。
# 後でも設定できます。
php artisan p:environment:mail
データベースのセットアップを行います。
php artisan migrate --seed --force
ユーザーを作成します。
ユーザーのパスワードは,8文字以上かつ大文字,小文字,数字を含んでいるものでないと登録できません。
php artisan p:user:make
ウェブサーバーへ権限を設定します。
# Nginx (CentOS以外の場合)
chown -R www-data:www-data /var/www/pterodactyl/*
スケジュールの設定を行います。この設定を行わないと,スケジュールが使えません。
crontab -eの一番下に書き込んでください。
* * * * * php /var/www/pterodactyl/artisan schedule:run >> /dev/null 2>&1
メールの送信などの設定を行います。メールを使用しない場合でもこの設定は行ってください。
/etc/systemd/system/に,pteroq.serviceというファイル名で書き込みます。
# Pterodactyl Queue Worker File
# ----------------------------------
[Unit]
Description=Pterodactyl Queue Worker
After=redis-server.service
[Service]
# On some systems the user and group might be different.
# Some systems use `apache` or `nginx` as the user and group.
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/pterodactyl/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3
StartLimitInterval=180
StartLimitBurst=30
RestartSec=5s
[Install]
WantedBy=multi-user.target
パネルのサーバーの起動後,自動的に起動するようにします。
sudo systemctl enable --now redis-server
sudo systemctl enable --now pteroq.service
#
ウェブサーバーの設定を行います。
SSLの有無により,このあとの作業内容が異なります。以下から選択して進んでください。
Nginx(SSLあり)
Nignx(SSLなし)