PHPで作られたオープンソースのSNSアプリで、Webフレームワーク「Yii」を採用しています。
割と簡単にインストールできて便利です。
ちょっとしたコミュニティーサイトを作るなら、機能は十分かも?
VPSにHumHubを直接インストールする方法をメモ。(今回はDockerなどの仮想化ツールは使いません。)
今回は、ConoHa VPS の4Gプランを用意してみました。
https://www.conoha.jp/conoha/vps/pricing/
VPSのコントロールパネルで、Ubuntu 24.04 LTSを選び、インストールします。
長期サポートのLTS版で新しいバージョンを選んでみました。
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
# chown -R tensai:tensai /home/tensai/.ssh # chmod 700 /home/tensai/.ssh # chmod 600 /home/tensai/.ssh/authorized_keys
「/etc/ssh/sshd_config」ファイルを開いて、以下の項目を確認・修正します。
# nano /etc/ssh/sshd_config
↓
PermitRootLogin no (rootログイン禁止を推奨) PubkeyAuthentication yes PasswordAuthentication no(パスワードログインを無効化して鍵認証のみ許可する場合) AllowUsers tensai(特定のユーザーだけを許可する場合)
# sshd -t
というコマンドでSSHの設定にミスがないか確認します。
Missing privilege separation directory: /run/sshd
というエラーメッセージが出た場合、Ubuntuのインストール直後でまだSSHを起動していなければ「/run/sshd」というディレクトリーが作成されていないので表示される警告です。
SSHを起動して「/run/sshd」が作成されたら、このエラーは出てこなくなります。
# systemctl restart ssh
ConoHa VPSのコントロールパネルでセキュリティグループに「IPv4v6-SSH」を追加します。
これでポート22が開かれて、SSH接続ができるようになります。
(ポート22に対するサイバー攻撃が心配な場合、22以外のポート番号でSSH接続をするように設定することも可能ですが、面倒なので今回はそこまでしません。)
これで、以降の作業はSSH接続して、作業用ユーザー「tensai」で操作できるようになりました。
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とは、
設定の依存関係を考慮して、ここでは Nginx → MariaDB → PHP という順番でインストールしていきます。
Nginx を参照。
MariaDB を参照。
PHP を参照。