HumHub

HumHub とは?

PHPで作られたオープンソースのSNSアプリで、Webフレームワーク「Yii」を採用しています。
割と簡単にインストールできて便利です。
ちょっとしたコミュニティーサイトを作るなら、機能は十分かも?

インストール

VPSにHumHubを直接インストールする方法をメモ。(今回はDockerなどの仮想化ツールは使いません。)

VPSの用意

今回は、ConoHa VPS の4Gプランを用意してみました。
https://www.conoha.jp/conoha/vps/pricing/

ConoHaVPS-price.png

Ubuntuのインストール

VPSのコントロールパネルで、Ubuntu 24.04 LTSを選び、インストールします。
長期サポートのLTS版で新しいバージョンを選んでみました。

ubuntu_install_1.png


ubuntu_install_2.png

SSH接続

SSHで自分のパソコンからサーバーに接続すれば、安全に操作することができます。
SSH接続ができるように準備します。

公開鍵暗号の作成

Windowsパソコンなら「PuTTY」というフリーソフトでSSH接続用の公開鍵を作れます。
公開鍵の作成手順の詳細はPuTTYのページを参照してください。

作業用ユーザーの追加

Ubuntuでユーザーを追加 を参照。
「tensai」という作業用ユーザーを作成しておきます。

作業用ユーザーの公開鍵を保存

tensaiのホームディレクトリーに「.ssh」ディレクトリーを作成します。

# mkdir -p /home/tensai/.ssh

公開鍵を「authorized_keys」ファイルに追加します。

# nano /home/tensai/.ssh/authorized_keys

ここで先に作成しておいたOpenSSH形式の公開鍵の文字列を貼り付けて保存します。
(参考:PuTTY#puttygen
(例)以下のような文字列です。

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINVpQ/hiFQPWeqQYz7mK+44YbQvvdJfzsvACkhXpvbMN eddsa-key-20250313
  1. Ctrl+oで保存
  2. Ctrl+xでnanoを終了

公開鍵を保存しているディレクトリーとファイルのパーミッション(アクセス権限)を設定

# chown -R tensai:tensai /home/tensai/.ssh
# chmod 700 /home/tensai/.ssh
# chmod 600 /home/tensai/.ssh/authorized_keys

SSHの設定を確認

「/etc/ssh/sshd_config」ファイルを開いて、以下の項目を確認・修正します。

# nano /etc/ssh/sshd_config

PermitRootLogin no (rootログイン禁止を推奨)
PubkeyAuthentication yes
PasswordAuthentication no(パスワードログインを無効化して鍵認証のみ許可する場合)
AllowUsers tensai(特定のユーザーだけを許可する場合)

SSH設定をテスト

# sshd -t

というコマンドでSSHの設定にミスがないか確認します。

Missing privilege separation directory: /run/sshd

というエラーメッセージが出た場合、Ubuntuのインストール直後でまだSSHを起動していなければ「/run/sshd」というディレクトリーが作成されていないので表示される警告です。
SSHを起動して「/run/sshd」が作成されたら、このエラーは出てこなくなります。

SSHを起動(再起動)

# systemctl restart ssh

VPSのセキュリティー設定でSSH接続を許可

ConoHa VPSのコントロールパネルでセキュリティグループに「IPv4v6-SSH」を追加します。
これでポート22が開かれて、SSH接続ができるようになります。
(ポート22に対するサイバー攻撃が心配な場合、22以外のポート番号でSSH接続をするように設定することも可能ですが、面倒なので今回はそこまでしません。)

vps_security_SSH.png



これで、以降の作業はSSH接続して、作業用ユーザー「tensai」で操作できるようになりました。

OSのアップデート

Ubuntuを最新の状態にします。
(VPSのコントロールパネルのコンソールで、サーバーにrootでログインして更新することも可能です。)

$ sudo apt update
$ sudo apt upgrade
258 upgraded, 8 newly installed, 0 to remove and 1 not upgraded.
79 standard LTS security updates
Need to get 875 MB of archives.
After this operation, 338 MB of additional disk space will be used.
Do you want to continue? [Y/n]

→ Yを入力

$ sudo apt autoremove
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
  linux-headers-6.8.0-31 linux-headers-6.8.0-31-generic linux-image-6.8.0-31-generic
  linux-modules-6.8.0-31-generic linux-modules-extra-6.8.0-31-generic linux-tools-6.8.0-31
  linux-tools-6.8.0-31-generic
0 upgraded, 0 newly installed, 7 to remove and 1 not upgraded.
After this operation, 296 MB disk space will be freed.
Do you want to continue? [Y/n]

→ Yを入力

LEMP環境の構築

LEMPとは、

  1. L:Linux
  2. E:Nginx
  3. M:MySQL or MariaDB
  4. P:PHP
    の組み合わせのこと。

設定の依存関係を考慮して、ここでは Nginx → MariaDB → PHP という順番でインストールしていきます。

Nginxのインストール

Nginx を参照。

MariaDBのインストール

MariaDB を参照。

PHPのインストール

PHP を参照。

Let's EncryptでSSL証明書を発行

Let's Encrypt を参照。
メールサーバーでもSSL証明書を使いたいので、先に入れておく。

メールサーバーの構築

メールサーバーを参照。

HumHubのインストール

関連


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS