公開資料
仮想開発環境の構築 (Windows 10 + CentOS 7/8)
概略
下図は仮想開発環境の概念図です.
Windows 上で動作する MS-Word や MS-Excel と同じように,VirtualBox, Vagrant, PuTTY, Cybercudk, Visual Studio Code などのソフトウェアをインストールします.
- VirtualBox
- VirtualBox はホストOS(今回はWindows OS)上で,仮想マシン(CentOS や Windows)を動作させることができるソフトウェアです.VirtualBox を操作すれば,CentOS をインストールしたり,起動/シャットダウンの操作,CentOS の操作などを行うことができます.ただし,今回は,VirtualBox を直接操作することなく,Vagrant から仮想マシンの操作を行います.
- Vagrant
- VirtualBox 上で仮想マシンを動かすために,新規の仮想マシンを設定したり,起動/シャットダウンなどの操作をコマンドベースで行うことができるソフトウェアです.VirtualBox で新規の仮想マシンを設定するためには多くの手順(設定作業)が必要になりますが,Vagrant を使えば適当な設定ファイルをダウンロードして実行するだけ,わずか数行のコマンドで完了します.今回は Vagrant を使って仮想マシンの設定,起動/シャットダウンを行います.
- PuTTY
- リモートにある OS にログインしてコマンドラインで遠隔操作をするためのソフトウェアです.今回は仮想マシンを遠隔操作して,システム開発などを行います.また,学内 LAN からであれば rin06.ba.kobegakuin.ac.jp へログインすることもできます.ただ,Windows 10 では 2017年10月の Windows 10 Fall Creators Update により公式に SSH がサポートされたため,PuTTY をインストールすることなく,SSH コマンドで rin06.ba.kobegakuin.ac.jp や 仮想マシンに接続できるようになりました.
- Cyberduck
- リモートにある OS のファイルをダウンロード,アップロードするためのソフトウェアです.Cyberduck でファイルをダブルクリックすると,Visual Studio Code エディタが起動し,仮想マシン上のファイルを編集することができます.上書き保存すれば Cyberduck が仮想マシンにアップロードしてくれます.
- Visual Studio Code (VS Code)
- ファイルを編集するためのテキストエディタです.Visual Studio Code 以外に秀丸エディタや Atom などを利用しても構いません.
例えば,Laravel で Web システムを開発するには,仮想マシンを操作して殆どの作業を行います.Laravel のシステムは仮想マシン上にあり,SSH を使って(または PuTTY から)遠隔操作して様々な処理を実行します.また,Cyberduck から仮想マシン上のファイルを選択して,Visual Studio Code (または Atom) で編集します.SSH から仮想マシンを遠隔操作して仮想マシン上で Web サーバを起動し,Windows 上の Web ブラウザから開発した Web システムにアクセスして動作を確かめます.
なお,下図は学内LANにおいてサーバ室のゼミサーバと情報処理実習室のPCで作業をするときの概念図です.rin06 を使うときには,Windows のエクスプローラ(ファイル共有機能)を使ってファイルの操作ができます.仮想開発環境では Windows のファイル共有機能を使わず,Cyberduck を使って SFTP プロトコルでファイルにアクセスします.また,Cyberduck で rin06 に接続することも可能です.
Windows 10 での CentOS 7 系構築方法
ここでは,自宅の Windows PC で Laravel や Ruby on Rails などを用いたシステム開発ができるように環境を整える方法を説明します.仮想マシンには CentOS 7 系を使います.インストールにはかなりの時間(場合によっては数時間)を要しますが,次の手順を順に行ってください.なお,CentOS 7 のサポートが2024年6月30日で終了することに注意してください.
- VirtualBox のダウンロードとインストール
- Vagrant のダウンロードとインストール
- Visual Studio Code のダウンロードとインストール
- Vagrant から CentOS をインストール
- CentOS の基本設定
- PuTTY のダウンロードとインストール
- Cyberduck のダウンロードとインストール
- CentOS の設定(各種ソフトウェアのインストール)
Windows 10 での CentOS 8 系構築方法
ここでは,自宅の Windows PC で Laravel や Ruby on Rails などを用いたシステム開発ができるように環境を整える方法を説明します.仮想マシンには CentOS 8 系を使います.インストールにはかなりの時間(場合によっては数時間)を要しますが,次の手順を順に行ってください.なお,CentOS 8 のサポートは2021年12月31日で終了していることに注意してください.
- VirtualBox のダウンロードとインストール
- Vagrant のダウンロードとインストール
- Visual Studio Code のダウンロードとインストール
- Vagrant から CentOS をインストール
- CentOS の基本設定
- PuTTY のダウンロードとインストール
- Cyberduck のダウンロードとインストール
- CentOS の設定(各種ソフトウェアのインストール)
仮想開発環境を利用したシステム開発
以下では構築した仮想開発環境を用いた開発の例を示します.
- Laravel で Web システムを開発する
- Ruby on Rails で Web システムを開発する
- MariaDBの 基本操作と Mroonga による日本語全文検索
仮想マシンの作成と削除
- 仮想マシンの作成と削除
サポートの終了
CentOS は Red Hat Enterprise Linux (RHEL) 系統のディストリビューションです.CentOS 8 のサポートが2021年末に終了し,CentOS 7 のサポートも2024年6月末で終了します.また CentOS 7/8 の後継が CentOS Stream になりますが,その立ち位置が変わることになり CentOS Stream を継続して安定的に利用できるかどうか疑問です.一方で現在の CentOS 7/8 に代わる可能性のある RHEL 系統のディストリビューションとして AlmaLinux や Rocky Linux などが話題になっています.さらに Intel ではない M1 Mac で (M1 Pro や M1 Max でも) 動作する Asahi Linux なども候補になるかもしれません.
また,RHEL 系統ではない Debian 系統で人気の高いディストリビューションが Ubuntu です.Ubuntu 22.04 を使って仮想開発環境を構築する方法はここで説明しています.