CentOS8にNextcloudをインストールする – 必要なソフトウェアのインストール

NextcloudはDropboxやOneDriveのようなクラウドストレージを提供するアプリケーションです。

サーバに大容量のストレージさえ積んでいれば無料で大容量のクラウドストレージを手に入れられます。(サーバの電気代とか、問題が起きた際に解決する為にかける時間とかを考えると無料……?と思わなくもないですが)

ちなみに、類似アプリにOwncloudというものもありますが、これはNextcloudの元となったアプリケーションになります。

しかし、今はNextcloudの方が開発が活発なので、個人利用に関しては少なくともNextcloudの方が良いでしょう。(また、Nextcloudは有償サポートがあるものの基本的に全部無料なのに対して、Owncloudは一部有償版でないと使えない機能があります)

この記事で行うこと

  1. 前提となるアプリケーション
  2. Nextcloudのダウンロード
  3. Nextcloudの展開・配置
続きを読む CentOS8にNextcloudをインストールする – 必要なソフトウェアのインストール

CentOS8にRedisをインストールする

RedisはKey-Value型のデータベースです。

Key-Value型はその名の通りKey(検索するのに使う情報)とValue(実際に必要な情報の中身)で構成されます。

KeyとValueは1対1ですが、実際にはValueに区切り文字を使って、複数の情報を格納したりします。

以下はKey-Value型のデータベースに天気を格納した例です。

9/20晴れ; 32℃; 24℃; 20%
9/21曇り; 30℃; 23℃; 40%
9/22雨; 28℃; 23℃; 80%
Key-Value型のValueには区切り文字で複数の情報が格納できる

この場合、ソフトウェアでKeyである日付を指定すると、Valueにある「;」で区切られた4つの情報「天気」「最高気温」「最低気温」「降水確率」を得ることが出来ます。

あとは、ソフトウェアの側で「;」で分解した情報を利用するという案配です。

なお、Key-Value型のデータベースではValueの値を検索するのは苦手です。上記の例では「最高気温が30℃以上の日」といった検索はかなり難しいです。

前回インストールしたMariaDBのようなリレーショナルデータベースであれば「日付」「天気」「最高気温」「最低気温」「降水確率」と5列作ればそれぞれで条件を付けて検索出来て便利なのに、なぜわざわざKey-Value型のデータベースを使うのでしょうか。

これはKey-Value型の構造が単純で高速化させやすいからです。

また、Redisも含めたKey-Value型のデータベースの多くはディスクドライブ(HDDやSSD)ではなく、メモリ上にデータを保持しているので、なお早いです。

実際に天気のデータを高速に書き換えたり読み出す必要はあまりないでしょうから天気のデータをKey-Value型にする意義は薄いです。

目まぐるしく書き換える必要のある情報、例えば3Dゲームでのキャラクターの座標を扱ったりする際には使えそうですね。

実際にはWebサービスでのキャッシュ(一度読み込まれた情報を高速に呼び出すために保持しておくもの)として使われる事が多く、PHPを使ったサービスの高速化でよく使われます。勿論、Wordpressも例外ではありません。

ちなみに、Key-Value型データベースのようなリレーショナルデータベース以外のデータベースをまとめてNoSQLと言います。SQLではないということです。どれだけデータベースと言えばリレーショナルデータベースとSQLというのが浸透しているかが表れていますね。

この記事で行うこと

  1. Redisのインストール
  2. 基本的な設定
続きを読む CentOS8にRedisをインストールする

CentOS8にMariaDBをインストールする – ユーザ・データベースの作成

前回はMariaDBのインストールを行いました。

しかし、実際にアプリケーションでMariaDBを使うためにはユーザとデータベースをそれぞれ作る必要があります。

MariaDBには最初からrootというユーザが存在するので、rootを使わせる方法もあります。

しかし、rootはMariaDBの全権を持つユーザです。(CentOS8におけるrootと同じ立ち位置です)

万一、このユーザが乗っ取られでもしたらMariaDBを使う全てのアプリケーションがめちゃくちゃになります。

また、仮に全てのアプリケーションで同じデータベースを使わせると、使うテーブルの名前が被った際にこれまためちゃくちゃになります。

実際は、大抵のアプリケーションではテーブル名にプレフィックスを付けるので名前が被ることはほぼありませんが、同じデータベース内に大量のテーブルがあると管理も面倒なので、アプリケーション毎にデータベースを分けるのが普通です。

各アプリケーション用に作成したユーザに、そのアプリケーション用に作成したデータベースの権限を付けて運用を行うのが安全です。

ここではデータベースの作成・削除とユーザの作成・削除、そしてユーザへのデータベースの権限付与を行いたいと思います。

(この記事ではデータベースの中身はいじりません。もし直接データベースの中身をいじりたい場合は、SQL文について調べてみてください)

この記事で行うこと

  1. MariaDBにログインする
  2. コマンド一覧
    1. データベースの一覧確認・作成・削除
    2. ユーザの一覧確認・作成・削除
    3. ユーザへのデータベースの権限付与・権限状況確認
続きを読む CentOS8にMariaDBをインストールする – ユーザ・データベースの作成