これまでローカル環境で開発してきた時計サービスを、いよいよインターネットに公開したいと思います。
まずは、サービス公開用のVPSのセットアップと、これまで開発してきた時計サービスのデータをアップロードするまでの手順をまとめました。
サービス公開に使用するVPS
VPSは普段から使い慣れている「ConoHa VPS」を使い、OSのバージョンやPythonの開発環境は、これまで開発してきたローカル環境と統一しています。
- VPS: ConoHa VPS
- OS: Ubuntu Server 24.04 LTS
- Python開発環境: pyenv + uv + Flask
Ubuntuの初期設定
VPS契約後、最初にUbuntuの初期設定を行います。
- 一般ユーザの追加
- SSHの設定
- rootユーザでのログイン禁止
- 鍵認証方式に変更
- 待受ポートをデフォルトポート(22)から変更
- ファイアウォール設定変更
- SSH待受ポートの通信許可
- HTTPポート(80)およびHTTPSポート(443)の通信許可
Ubuntu Server 24.04 LTSの初期設定手順の詳細は、以下のページにまとめています。

Python開発環境の作成
Pythonで開発を行うために必要な、pyenv、uv、Flask をインストールします。
必要なライブラリのインストール
はじめに、Pythonのビルドや各種機能に必要なシステムライブラリをインストールします。
$ sudo apt update $ sudo apt install -y build-essential libbz2-dev libdb-dev \ libreadline-dev libffi-dev libgdbm-dev liblzma-dev \ libncursesw5-dev libsqlite3-dev libssl-dev \ zlib1g-dev uuid-dev
pyenvインストール
Pythonのバージョンを管理するツールであるpyenvをインストールします。
$ curl https://pyenv.run | bash
「~/.bashrc」をバックアップしてから、pyenvのパスを追記します。
$ cp -p ~/.bashrc ~/.bashrc_$(date "+%Y%m%d_%H%M%S") $ vi ~/.bashrc
「~/.bashrc」の最後に以下の内容を追記します。
export PYENV_ROOT="$HOME/.pyenv" [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init - bash)"
設定の再読み込みを行います。
$ source ~/.bashrc
Pythonインストール
pyenvを使用して、開発で使用するバージョン(3.13.3)のPythonをインストールします。
$ pyenv install 3.13.3
時計サービス用ディレクトリの作成
時計サービスのファイルやデータを配置するディレクトリを作成します。
$ sudo mkdir /srv/time_app $ sudo chown ユーザ名:グループ名 /srv/time_app
※ユーザ名とグループ名は適宜置き換える必要があります。
Python開発用仮想環境の作成
プロジェクトごとに独立したPython環境を構築するため、仮想環境を作成します。
まず、プロジェクトディレクトリに移動し、使用するPythonのバージョンを指定します。
$ cd /srv/time_app $ pyenv local 3.13.3
uvインストール
Pythonのパッケージ管理ツールであるuvをインストールします。
uvのインストール後、シェル設定を再読み込みしてuvコマンドを有効にします。
$ curl -LsSf https://astral.sh/uv/install.sh | sh $ source ~/.bashrc
仮想環境作成
「uv venv」コマンドを使って、このプロジェクト専用の仮想環境を作成します。
$ uv venv
作成された仮想環境を有効化します。
$ source .venv/bin/activate
Flaskインストール
PythonのWebアプリケーションフレームワークであるFlaskを、作成した仮想環境内にインストールします。
$ uv pip install flask
クライアント側(今まで開発をしていたPC)の作業
VSCodeインストール
これまではPythonやJavaScriptのソースコードをviで記述していましたが、今回からVSCodeを使用することにしました。
そのため、クライアントとして使用するUbuntuにVSCodeをインストールし、VPSに接続できるように設定を行います。
UbuntuにVSCodeをインストールする方法と、VSCodeでVPSに接続する方法については、以下のページを参考にしてください。
VSCodeインストール
https://vpslife.server-memo.net/ubuntu_vscode_repo_install/
VSCodeとVPSでのリモート開発環境の構築方法
https://vpslife.server-memo.net/conoha_vscode_remote_dev/
VSCodeによるVPSサーバーへの接続とデータアップロード
VSCodeのRemote-SSH拡張機能を使用し、設定済みのVPSサーバーへ接続します。
接続後、VSCodeの「ようこそ」タブ(またはファイルメニューやコマンドパレット)から「フォルダを開く...」を選択し、VPS上に作成したPython開発用ディレクトリ「/srv/time_app」を開きます。
次に、ローカルPCの「~/project/time_app」ディレクトリ内にある開発データを、VSCodeのエクスプローラーに表示されているVPS上の「/srv/time_app」ディレクトリへ、ドラッグ&ドロップしてアップロードします。
データがアップロードされると、下の図のようにVSCodeにデータが表示されます。
これでVPS上で開発を行う環境が準備できました。
コメント