0
0

HumHub開発環境構築

Last updated at Posted at 2024-07-04

UbuntuでLAMP+HumHub環境構築

前提

humhub公式ページではCronでジョブ実行することが想定されているみたい。筆者のPCはWindows11だが、Cronが使えるようにWSL2上のUbuntuで開発環境構築する。

Ubuntuバージョン:24.04
参考:humhub公式ページ

Apache、MySQLインストール

sudo apt install apache2
sudo service apache2 start
sudo apt install mysql-server
sudo service mysql start
sudo mysql -u root -p

※パスワード:空でEnter

MySQLデータベース作成

mysql> CREATE USER 'humhub_user'@'localhost' IDENTIFIED BY 'humhub';
mysql> CREATE DATABASE `humhub_db` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> GRANT ALL ON `humhub_db`.* TO `humhub_user`@localhost;
mysql> FLUSH PRIVILEGES;

PHPインストール

HumHubで必要とされるモジュールを入れる。

sudo apt install php php-mysql php-curl php-gd php-intl php-zip php-ldap php-imagick php-xml php-cli php-bz2 php-mbstring php-apcu php-gmagick
sudo vim /etc/php/8.3/apache2/php.ini

php.iniの内容を変更

upload_max_filesize = 32M
post_max_size = 32M
max_execution_time = 120

sudo service apache2 restart

HumHub資産ダウンロード

cd /tmp
wget https://download.humhub.com/downloads/install/humhub-1.13.0.tar.gz
tar xvfz humhub-1.13.0.tar.gz
sudo mv /tmp/humhub-1.13.0 /var/www/html/humhub

※/var/www/htmlがApacheのデフォルトのドキュメントルートなので、そこにHumHub資産を配置する。

PHPMyAdminインストール

GUIでMySQLの操作ができるようにするため。

sudo apt install phpmyadmin

PHPMyAdminインストールダイアログ

apacheを選択する。
dbconfig-comonによる設定はNoを選択する。

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-enabled/phpmyadmin.conf
sudo service apache2 restart

HumHub資産の権限変更

sudo chown -R www-data:www-data /var/www/html/humhub

※www-dataはApacheの実行ユーザ。

HumHub初期設定

下記にアクセスする。HumHub初期設定画面が表示される。
http://localhost/humhub

データベース設定

※先ほど作成したMySQLの情報を入力する。

  • ホスト名:localhost
  • ユーザ名:humhub_user
  • パスワード:humhub
  • データベース名:humhub_db
  • 「データベースがまだ存在しない場合は作成します。」:チェックなし

その他設定①

  • ネットワーク名:HumHub
  • 「かんたん設定をスキップして、後で手動で設定する」にチェック

管理者アカウント設定

  • ユーザ名:Admin_user
  • メール:[自分のメールアドレス]
  • 新しいパスワード:humhub
  • 名:太郎
  • 姓:管理者

その他設定②

  • 「サンプルコンテンツを作成する(推奨)」にチェック

HumHub画面が表示され、利用可能になる。
(サンプルコンテンツは手動で削除した。)
image.png

Cron設定

目的

HumHubブラウザ上の操作(ユーザ削除など)がキューに格納されることがある。Cronにジョブ設定して定期的にキューをクリアする。

※HumHubの初回設定時からUbuntuを再起動すると、HumHub画面にCronが正常に動作しない旨のメッセージが出る。Cron設定を行うことで解消される。

手順

sudo crontab -e

※sudoの理由:/var/www/html/humhubの所有者はApacheの実行ユーザになっている。Cronが一般ユーザ権限だとジョブ実行時に権限エラーとなることがあるため。

記載内容

* * * * * php /var/www/html/humhub/protected/yii cron/run
* * * * * php /var/www/html/humhub/protected/yii queue/run

VSCodeでのデバッグ環境構築

目的

Windowsホスト上で開くVSCodeで、WSL2上のコード修正およびデバッグを行えるようにする。

手順

wsl.configに下記を追記し、WSLのデフォルトユーザをrootにする。

sudo vi /etc/wsl.conf

wsl.confへの追記内容

 [user]
 default=root
  • WSL2のUbuntuを再起動する。
  • WSL2のUbuntuでcode .コマンドを実行するとVSCodeが開ける。
  • VSCodeに拡張機能でRemote developmentをインストールする。
  • VSCodeからリモートで、WSL上のUbuntuに接続する。
  • VSCodeのWSL拡張機能上にPHP、PHP Debug拡張機能をインストールする。
  • var/www/html/humhug/index.phpを選択した状態で、VSCodeの左側メニューのデバッグ⇒実行とデバッグを押下⇒ビルトインサーバでデバッグを選択。
  • これで、VSCode上でコード編集して即デバッグできるはず。

db接続設定はprotected\config\dynamic.phpに書いてある。

Yii Debugの導入

sudo vim /var/www/html/humhub/protected/config/web.php

下記内容に編集する。

return [
    'bootstrap' => ['debug'],
	'modules' => [
	    'debug' => [
	        'class' => 'yii\debug\Module',
	        'allowedIPs' => ['127.0.0.1', '::1'],
	    ],
	]
];

Apache2を再起動してブラウザでHumHubを開くと画面にデバッグツールが表示されるようになる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0