Ubuntuサーバー構築入門

  • Ubuntu 20
  • Ubuntu 18
  • Ubuntu 16

Ubuntuを使ってPerlでWebシステム開発ができる環境を構築する手順

Ubuntuを使ってPerlでWebシステム開発ができる環境を構築する手順をここに書いていきます。

Ubuntuを利用できるようにする

まず最初に、Ubuntuを利用できるようにしましょう。

VPSと呼ばれるサービスが価格が安く始めやすいです。

Windows 10であれば、WSLを使うことで、手元のPCでUbuntuを試すことができます。

自作したLinuxパソコンにチャレンジすることも可能です。

コマンドを実行できるコンソール画面を表示するところまで進んで、初期ユーザーでログインするところまで進めましたか。

ユーザーの作成

次は、コンソール画面でユーザーを作成します。Webアプリケーションの実行ユーザー(myapp)を作成するのと、自分自身のユーザー(たとえばkimoto)の二つを作成してみましょう。

ユーザー追加「-m」オプションあり、パスワードの設定、sudoグループへ追加の手順を行いましょう。

グループの作成

Webアプリケーションで必要になる「myapp-group」グループを作成します。これは、データディレクトリにWebアプリケーションのユーザー、開発ユーザー、Apacheユーザーが、アクセスするために必要になります。

次に、myappユーザーと開発者ユーザ(たとえばkimoto)を「myapp-group」に追加しましょう。

タイムゾーンの設定

タイムゾーンを「Asia/Tokyo」に設定しましょう。

パッケージのインストール

PerlにおけるWebシステム開発に必要なパッケージをインストールしましょう。デフォルトパッケージでは、足りないものをインストールしていきます。

インストールがうまくいかない場合があるので、最初にaptを最新のバージョンにしましょう。

まずは、ひとつのマシンの中に、Webサーバー、アプリケーションサーバー、メール送信サーバー、DBサーバーをすべて構築しましょう。

コンパイラ・リンカ

Perlのモジュールのインストールに必要なコンパイラ・リンカのインストール。

SSL通信

画像処理

圧縮・解凍

ネットワーク

Perl

リポジトリ管理

Webサーバー

SSL証明書

データベースサーバー

Redisサーバー

会員登録機能を実装する場合にセッション情報の保存に利用するRedisサーバーです。また、push通知、リアルタイムチャット、リアルタイム更新機能などのリアルタイムWeb対応ができます。

ユーザーPerlとcpanmのインストール

安定性を求める場合は、CPANモジュールのインストールや警告表示などで不具合のない「perl-5.20.3」をインストール。

セキュアな最新版が良い場合は「perl-5.30.3」をインストール。

サーバーの起動確認

インストールしたサーバーの起動確認をしましょう。postfixは、設定ファイルがデフォルトではなく起動していないので、postfix以外のサーバーの起動確認を行います。

cronの起動確認

定期プログラム実行の常駐アプリケーションであるcronの起動確認を行います。

以下の記事の「sudo systemctl status cron」を実行してApacheが起動していることを確認してください。

Apacheの起動確認

WebサーバーであるApacheの起動確認を行います。

以下の記事の「sudo systemctl status apache2」を実行してApacheが起動していることを確認してください。

MariaDBの起動確認

WebサーバーであるMariaDBの起動確認を行います。

以下の記事の「sudo systemctl status mariadb」を実行してMariaDBが起動していることを確認してください。

Redisサーバーの起動確認

揮発性の情報の保存サーバーであるRedisサーバーの起動確認を行います。

以下の記事の「sudo systemctl status redis-server」を実行してRedisサーバーが起動していることを確認してください。

メール送信サーバー

メール送信サーバーのインストールは、少し難しいので、つまった場合は、会員登録などで、メール送信が必要な時になって、設定しても大丈夫です。

もしサーバーが、パブリッククラウドサーバーで、ポート25番からの送信を制限されている場合は、SendGridにリレーすることによって、メール送信ができます。

データ用ディレクトリの作成

Webアプリケーションからアップロードされたファイルを保存したり、バッチ処理でデータを要約したJSONを保存しておくための、データ用のディレクトリを作成します。このディレクトリは「myapp」ユーザー、他の開発ユーザーが立ち上げた、Webアプリケーションが、ファイルをアップロードする場所です。適切なパーミッションを設定しておきましょう。

もし、アタッチされたディスクを使って、それをデータ用のディレクトリにする場合は、こちらの手順を先に行っていください。「/datadrive」というデータ用のディレクトリが作成されます。

アプリケーションサーバーのデフォルトのディスクを使う場合は「/datadrive」をmkdirコマンドで作成してください。

sudo mkdir /datadrive

次に、このデータディレクトリに、アプリケーションユーザーと他の開発ユーザーが書き込めるようにします。

これで、データ用ディレクトリが完成しました。

MariaDBサーバーの初期設定

データベースサーバーであるMariaDBの初期設定を行いましょう。

ここまで完成。