LoginSignup
0
0

Pleskでdeployerを使う

Last updated at Posted at 2024-02-04

概要

Pleskは一台のサーバーに複数のウェブサイトをGUIで管理できるアプリケーションです。
https://www.plesk.com/

複数バージョンのphpやcomposerが導入でき、とても便利なのですが、deployerのデフォルト設定では動かないため、便利に使う手順をここに残します。

deployer.phpの設定全体

(user)は、Pleskのユーザー名。
(pem)は、ローカルに置いたSSHのpemファイルのファイル名。
(org)/(**repo**)は、GitHubのレポジトリ名。

<?php

namespace Deployer;

require 'recipe/laravel.php';

// Config

set('repository', 'git@github.com:(**org**)/(**repo-name**)');

add('shared_files', []);
add('shared_dirs', []);
add('writable_dirs', []);

// Hosts
host('(**hostname**)')
    ->set('stage', 'dev')
    ->set('remote_user', '(**user**)')
    ->set('deploy_path', '~(**user**)')
    ->set('identity_file', '~/.ssh/(**pem**)')
    ->set('bin/composer', '/usr/local/psa/var/modules/composer/composer.phar')
    ->set('bin/php', '/opt/plesk/php/8.2/bin/php');

// Tasks

task('deploy:dotenv', function () {
    $stage = get('stage');
    $src = ".env.{$stage}";
    $deployPath = get('deploy_path');
    $sharedPath = "{$deployPath}/shared";
    run("cp -f {{release_path}}/{$src} {$sharedPath}/.env");
});

task('ks-plesk-webapp-restart', function () {
    run("/usr/local/bin/ks-plesk-webapp-restart");
});

// Hooks

after('deploy:failed', 'deploy:unlock');
before('deploy:shared', 'deploy:dotenv');

after('deploy:success', 'ks-plesk-webapp-restart');

SSHの有効化

sshでのアクセスを有効にする。

  • Pleskの管理画面で、ウェブサイトとドメインから、ホスティングするドメインの「接続情報」をクリックする。
  • アクセス管理をクリックする。
  • SSH アクセスの「タイプ」を/bin/bashに設定する。

証明書の配置

sshでログインして、.sshディレクトリにsshでアクセスするための公開鍵を配置する。

~/.ssh/authorized_keys
ssh-ed25519 ******************************************************

GitHub

GitHubに登録した公開鍵に対応した秘密鍵を配置する。

~/.ssh/id_ed25519
-----BEGIN OPENSSH PRIVATE KEY-----
******************************************************
******************************************************
-----END OPENSSH PRIVATE KEY-----

ks-plesk-webapp-restartの導入

opcacheを使っていると、反映されないことがあるので、下記のツールを導入する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0