はじめに

私は普段、VSCodeのRemote SSH機能を使ってサーバーに接続し、Djangoアプリの開発・運用を行っています。
ただ、SSH接続のたびに以下の作業を毎回手動で行うのがとても面倒でした。

  • プロジェクトディレクトリへ移動(cdコマンド)
  • 仮想環境の有効化(source venv/bin/activate)
  • 環境変数の設定(exportコマンド)

そこで、.bashrcファイルを使うことでSSH接続時に自動で行われるようにしてみました。

動作環境
  • OS:Ubuntu(VPS)
  • 接続方法:VSCode Remote SSH
  • アプリ:Django
  • サーバー構成:Gunicorn + Nginx

目次


1. .bashrcとは何か

.bashrcとは、ターミナル(bash)が起動したときに自動で実行される設定ファイルです。

つまり、SSHで接続した直後に実行したいコマンドを書いておけば、毎回手動で入力する必要がなくなります。

今回のようなケースでは、

  • ディレクトリ移動
  • 仮想環境の有効化
  • 環境変数の設定

をまとめて自動化できるのが大きなメリットです。


2. .bashrcの場所と開き方

.bashrcは、ユーザーのホームディレクトリにあります。
パスは以下の通りです。

/home/ユーザー名/.bashrc

以下のコマンドで開くことができます。

nano ~/.bashrc

基本操作は以下。

  • 保存:Ctrl + O → Enter
  • 終了:Ctrl + X

ファイルの一番下に追記する形で設定を書いていきます。


3. 自動実行の設定方法

以下が今回の設定コードです。
プロジェクト名や仮想環境名は環境によって異なるため、適宜読み替えてください。

# === プロジェクト自動設定 ===
if [ -d "$HOME/プロジェクトディレクトリ名" ]; then
    cd "$HOME/プロジェクトディレクトリ名"

    if [ -f "仮想環境名/bin/activate" ]; then
        source 仮想環境名/bin/activate
    fi

    export DJANGO_SETTINGS_MODULE=設定ファイルパス
fi

それぞれの意味

  • if [ -d "..."]
    ディレクトリが存在するか確認しています。存在しない場合のエラー防止。
  • cd
    プロジェクトのルートディレクトリへ移動。
  • if [ -f "...activate" ]
    仮想環境が存在するか確認。
  • source~
    仮想環境を有効化。
  • export~
    環境変数の設定。Djangoでは設定ファイルを指定するために必要。

この設定により、SSH接続した瞬間に開発環境が整った状態になります。


4. 反映と動作確認

設定を書いただけではすぐには反映されません。
以下のいずれかを行ってください。

  • SSHを再接続する
  • 以下のコマンドを実行する
source ~/.bashrc

その後、正しく動作しているか確認します。

pwd

→ プロジェクトディレクトリになっているか確認

which python

→ 仮想環境のPythonが使われているか確認

echo $DJANGO_SETTINGS_MODULE

→ 環境変数が設定されているか確認

すべて正しければ、今後はSSH接続するだけで開発環境が自動で整います。


5. おわりに

今回紹介した.bashrcの設定を使うことで、毎回の面倒な初期コマンド入力を省略できるようになります。