MacのPhpStormからUbuntuへSSH接続してリモート開発する方法

, , , ,

本記事は広告が含まれる場合があります。

いつもブログをご覧くださり、ありがとうございます。

これまで、UbuntuにDockerを導入し、PHP 8.4とMySQL 8.4を使った開発環境を構築しました。
さらに前回は、MacのVisual Studio Code(VS Code)からRemote SSHを利用してUbuntuへ接続し、Ubuntu上のPHPファイルを直接編集できる環境を構築しました。今回は同じUbuntuの開発環境へ、MacのPhpStormからSSH接続してリモート開発できる環境を構築してみます。

私は普段、PHPの開発ではPhpStormを利用することも多いため、VS CodeだけではなくPhpStormからも同じUbuntu上のプロジェクトを編集できるようにしてみました。
今回構築する環境は、次のようなイメージです。

Mac
 │
 └── PhpStorm
       │
       │ Remote Development
       │ SSH公開鍵認証
       ▼
Ubuntu 24.04
 │
 └── /home/ubuntuuser/workspace/php-test
       │
       ├── compose.yaml
       ├── Dockerfile
       ├── hello.php
       ├── db-test.php
       └── users.php
              │
              ▼
        Docker Compose
        ├── PHP 8.4
        └── MySQL 8.4

Mac側にプロジェクトファイルをコピーするのではなく、Ubuntu上にあるプロジェクトをPhpStormから直接開いて編集するのが今回のポイントです。

今回の環境

今回使用した主な環境は次のとおりです。

クライアントPC:Mac
IDE:PhpStorm 2026.2.3
接続方法:JetBrains Remote Development / SSH
Ubuntu:Ubuntu 24.04 LTS
Docker:Docker Engine
PHP:PHP 8.4
MySQL:MySQL 8.4

なお、本記事に掲載しているIPアドレスやユーザー名などは、実際の環境とは異なる説明用の値に置き換えています。ご自身の環境に合わせて読み替えてください。

事前準備:MacからUbuntuへSSH接続できるようにする

PhpStormのRemote Developmentを利用する前に、MacからUbuntuへSSH接続できる必要があります。今回は、前回VS CodeのRemote SSH環境を構築した際に、SSH公開鍵認証を設定済みです。

Mac側にはUbuntu接続用として、

~/.ssh/ubuntu-dev
~/.ssh/ubuntu-dev.pub

というSSH鍵を作成しています。

それぞれ、

ubuntu-dev      秘密鍵
ubuntu-dev.pub  公開鍵

です。

公開鍵はUbuntu側の、

~/.ssh/authorized_keys

へ登録しています。

Mac側の ~/.ssh/config には、例えば次のような設定を行っています。

Host ubuntu-dev
    HostName 192.168.1.100
    User ubuntuuser
    IdentityFile ~/.ssh/ubuntu-dev

Macのターミナルから、

ssh ubuntu-dev

を実行し、パスワードを入力せずUbuntuへログインできれば、SSH公開鍵認証は正常に設定されています。

今回は、このSSH鍵をPhpStormでも利用します。

PhpStormのRemote Developmentを開く

MacでPhpStormを起動します。

Welcome画面から、

Remote Development

を選択します。

Remote Developmentの画面には、

SSH Connection
Docker Dev Containers

などが表示されます。

今回はDockerコンテナそのものへIDEを接続するのではなく、UbuntuへSSH接続してUbuntu上のプロジェクトを開くため、「SSH Connection」を使用します。

「New Connection」をクリックします。

UbuntuへのSSH接続情報を設定する

「Connect to SSH」画面が表示されたら、Ubuntuへの接続情報を入力します。

例えば、

Username:ubuntuuser
Host:192.168.1.100
Port:22

と設定します。

今回はSSH公開鍵認証を使用するため、

Specify private key

にチェックを入れます。

秘密鍵にはMac側の、

/Users/ユーザー名/.ssh/ubuntu-dev

を指定します。

ここで指定するのは、

ubuntu-dev

という秘密鍵です。

ubuntu-dev.pub

ではありません。

.pub ファイルは公開鍵なので、接続元であるPhpStormに指定するのは秘密鍵の方になります。

設定できたら、

Check Connection and Continue

をクリックします。

SSH接続を確認する

SSH公開鍵認証が正常に行われると、

Successfully connected to:
ubuntuuser@192.168.1.100:22 key

のようなメッセージが表示されます。

今回はパスワードを入力することなく接続できました。

これで、

Mac
 ↓
PhpStorm
 ↓ SSH公開鍵認証
Ubuntu

までの接続が確認できました。

Ubuntu上のプロジェクトを指定する

SSH接続に成功すると、「Choose IDE and Project」という画面が表示されます。

今回はUbuntu上に、

/home/ubuntuuser/workspace/php-test

というプロジェクトを作成済みなので、「Project directory」にこのディレクトリを指定します。

今回のプロジェクトには、

php-test
├── compose.yaml
├── Dockerfile
├── hello.php
├── db-test.php
└── users.php

といったファイルがあります。

プロジェクトディレクトリを指定したら、

Start IDE and Connect

をクリックします。

PhpStormのバージョンに注意する

今回、Remote Developmentの設定中に一度、

PhpStorm 2026.3 EAP

が選択されました。

EAPは、

Early Access Program

の略で、正式リリース前の開発版です。

新機能を早く試せるメリットがありますが、今回は普段の開発環境として利用したいため、安定版のPhpStormを使用することにしました。

最終的には、

PhpStorm 2026.2.3

でRemote Development環境を構築しました。

使用中のバージョンは、PhpStormの「About PhpStorm」から確認できます。

今回の環境では、

PhpStorm 2026.2.3
Build #JBC-262.10968.76

となっており、EAPではない安定版で接続できていることを確認しました。

Remote Developmentで利用するIDEを選択する際には、EAP表記があるかどうかも確認しておくとよいでしょう。

Ubuntu上のプロジェクトがPhpStormで開いた

接続に成功すると、PhpStormのProject画面にUbuntu上のファイルが表示されました。

php-test
├── compose.yaml
├── compose.yaml.bak
├── db-test.php
├── Dockerfile
├── hello.php
└── users.php

ここで表示されているファイルは、Macへコピーされたファイルではありません。

Ubuntu上の、

/home/ubuntuuser/workspace/php-test

にあるファイルをRemote Development経由で開いています。

そのため、VS CodeのRemote SSHで開いていたものと同じプロジェクトをPhpStormからも編集できます。

PhpStormのターミナルもUbuntu上で動作する

Remote Developmentで接続したPhpStormからターミナルを開くと、

ubuntuuser@ubuntu-server:~/workspace/php-test$

のように表示されます。

つまり、このターミナルもMac上ではなくUbuntu側で実行されています。

例えば、

pwd

を実行すると、

/home/ubuntuuser/workspace/php-test

となります。

Docker Composeの状態を確認したい場合も、

sudo docker compose ps

と実行できます。

Macのターミナルを別途開いてSSH接続しなくても、PhpStorm内からUbuntuのコマンドを実行できるので便利です。

PhpStormからPHPファイルを編集する

実際にPhpStormからPHPファイルを変更してみます。

hello.php を開いて、

<?php
echo "Hello from PhpStorm!";

と変更して保存しました。

今回のDocker Compose環境では、Ubuntu上のプロジェクトディレクトリをPHPコンテナへマウントしています。

compose.yaml では、次のように設定しています。

volumes:
  - .:/app

そのため、

MacのPhpStorm
       ↓
Ubuntu上のhello.php
       ↓
Dockerコンテナの/app/hello.php

という流れで変更内容が反映されます。

Macのブラウザから確認する

PHPコンテナではPHPの開発用Webサーバーを起動しており、

ports:
  - "8001:8000"

としてUbuntuの8001番ポートからアクセスできるようにしています。
Macのブラウザから、

http://192.168.1.100:8001/hello.php

へアクセスします。すると、

Hello from PhpStorm!

と表示されました。

これで、

PhpStormで編集
      ↓
Ubuntu上へ保存
      ↓
Dockerコンテナへ反映
      ↓
PHPで実行
      ↓
Macのブラウザで確認

という一連の流れが正常に動作していることを確認できました。

VS CodeとPhpStormの両方から同じプロジェクトを編集できる

今回の環境では、前回設定したVS CodeのRemote SSHも利用できます。

そのため、

Mac
├── VS Code
│    └── Remote SSH
│
└── PhpStorm
     └── Remote Development
          │
          │ SSH
          ▼
      Ubuntu
          │
          └── workspace/php-test
                 │
                 ▼
            Docker Compose
            ├── PHP 8.4
            └── MySQL 8.4

という構成になりました。

VS CodeとPhpStormのどちらを使っても、Ubuntu上の同じプロジェクトを編集できます。

PHPをしっかり開発するときはPhpStorm、ちょっとしたファイル編集ではVS Code、といった使い分けもできそうです。

ただし、同じファイルをVS CodeとPhpStormの両方で同時に編集する場合は、保存内容の競合には注意が必要です。

VS CodeのRemote SSHとの違い

今回、VS CodeとPhpStormの両方でUbuntuへのリモート開発環境を構築してみました。

どちらも、

Mac
 ↓ SSH
Ubuntu
 ↓
Ubuntu上のプロジェクト

という基本的な考え方は同じです。

一方で、仕組みには違いがあります。

VS Codeの場合は、Ubuntu側に、

~/.vscode-server

がインストールされ、Mac側のVS Codeと連携します。

PhpStormのRemote Developmentでは、Ubuntu側でJetBrainsのリモートIDE環境が動作し、Mac側がその環境へ接続する形になります。

そのため、見た目としてはどちらもMac上でIDEを操作していますが、通常の「Mac上のファイルを編集する」のとは異なる構成になっています。

SSH公開鍵認証にしておくと便利

今回、VS CodeのRemote SSHを構築した際に作成したSSH鍵を、そのままPhpStormでも使用できました。

Mac側には秘密鍵、

~/.ssh/ubuntu-dev

を保存し、Ubuntu側には対応する公開鍵を登録しています。

一度公開鍵認証を設定しておけば、

ssh ubuntu-dev

によるターミナルからのSSH接続だけでなく、

VS Code Remote SSH
PhpStorm Remote Development

の両方で利用できます。

開発用のUbuntuサーバーを用意する場合は、パスワード認証だけでなくSSH公開鍵認証も設定しておくと便利です。

まとめ

今回は、MacのPhpStormからRemote Developmentを利用してUbuntuへSSH接続し、Ubuntu上のPHPプロジェクトを直接編集できる環境を構築しました。

最終的な構成は次のようになりました。

Mac
 │
 └── PhpStorm 2026.2.3
       │
       │ Remote Development
       │ SSH公開鍵認証
       ▼
Ubuntu 24.04
 │
 └── workspace/php-test
       │
       └── Docker Compose
             ├── PHP 8.4
             └── MySQL 8.4

PhpStormで hello.php を編集して保存するとUbuntu上のファイルが更新され、その変更がDockerコンテナへ反映されました。

Macのブラウザからアクセスすると、

Hello from PhpStorm!

と表示され、正常に動作していることも確認できました。

これで、

MacのPhpStormでコードを書く → Ubuntu上のDockerで実行する → Macのブラウザで確認する

というPHPの開発環境が完成しました。
前回構築したVS CodeのRemote SSHもそのまま利用できるため、用途に応じてVS CodeとPhpStormを使い分けながら、Ubuntu上の同じDocker開発環境を利用できます。
今後は、この環境を使ってPHPとMySQLを利用したWebアプリケーションの開発も進めていきたいと思います。

お問い合わせはこちらから

南大阪を中心に活動しているシステムエンジニアです。これまでの経験から、ビジネス課題について一緒になって考え、課題解決のためにサポートさせていただきます。些細なご相談でも構いません。当方に期待することやご相談内容についてお聞かせください。

トップへ戻る