Webアプリケーション環境のインストール

サーバー情報

【さくらのVPS】
メモリ:8GB
ストレージ:SSD 400GB
CPU:6コア

OS

CentOS7 x86_64

インストール

- Nothing -

Webアプリケーションの開発に必要なソフトウェアのインストールを行います。

まずは既にインストールされているソフトウェアのバージョンを確認しましょう。

python3 -V

Pythonのバージョンを確認

開発に用いるPythonのバージョン確認を行います。

現時点ではPythonはバージョン「3.6.8」を用います。

PythonはPython2からPython3へ移行する際に大幅な変更があったため“Python3”と明記します。

pip3 -V

pipのバージョンを確認

pipはPythonのパッケージを管理するためのツールのことを指します。

このパッケージには、公式が配布しているものサードパーティが配布しているものの2種類あります。

サードパーティのパッケージはPyPIというサイトで配布されています。

公式サイトURL: https://pypi.org/

公式が配布しているものはPythonをインストールする時点で自動的にインストールされますが、サードパーティが配布しているパッケージは別にインストールをする必要があります。

このサードパーティが配布しているパッケージをインストールするために、pipを使います。

またPython3のパッケージが対象の場合には、“pip3”を用います。

git --version

gitのバージョンを確認

gitをインストールすることで、変更履歴の管理とオフラインでもプログラムの編集などができます。

チームで作業を行う際には必要な機能なので、インストールしておきましょう。

psql --version

PostgreSQLのバージョンを確認

Webアプリケーションで用いるデータベースをある程度は任意に選択することが出来ます。

今回はPostgreSQLを用いるため、そのバージョン確認を行います。

service nginx status

Nginx(エンジンエックス)のバージョンを確認

今回のWebアプリケーションではWebサーバーとしてNginxを用いるため、そのバージョン確認を行います。

Apacheを使用する場合は、Apacheのバージョン確認をするようにして下さい。

1.インストール前に"root"権限を取得

Linuxシステムの更新作業を行うためには、”root”権限を持ったユーザーでしか実行することが出来ません。

ここまでの作業では新規追加した”root”権限を持たないユーザーで処理を行っていたため、一時的に”root”権限を取得します。

TeraTeam

「su -l」コマンドを実行し、パスワードとしてサーバー会社から通知される”root”権限のパスワードを入力して下さい。

ログインに成功すると”root”権限を持った状態となります。

 

「su -l」コマンドは比較的よく使用するので、この際に覚えておきましょう。

“root”権限が不要になれば、ターミナル上で「exit」と入力すると”root”権限を持たないログイン時のユーザーに戻すことが出来ます。

2.一括インストール

必要なソフトウェアを一括でインストールするため、下記コマンドを実行します。

yum install python3-pip python3-dev libpq-dev postgresql postgresql-contrib postgresql-server nginx python3-venv -y

長文ですが、やりたいことは次の通りです。

一括でソフトウェアをインストールすることが出来るのは便利ですね。

※末尾の”-y”は、インストール時に確認表示される”Yes or No”をすべて”Yes”で処理します。

python3-pip

pipを利用するために必要

python3-dev

Pythonの開発環境作成に必要

libpq-dev

Postgresの開発環境に必要なライブラリ群

postgresql

Postgres

postgresql-contrib

Postgresの開発環境に必要なモジュール群

postgresql-server

Postgresサーバー

nginx

Nginx

python3-venv

Pythonの仮想環境作成に必要

実行後に各ソフトウェアのバージョンを確認すると、次のようになりました。

Python

Python 3.6.8

pip

pip 9.0.3

git

git version 1.8.3.1

psql

psql (PostgreSQL) 9.2.24

postgres

postgres (PostgreSQL) 9.2.24

nginx

nginx/1.16.1