WEBを検索すると簡単にインストールできることが記載されてるサイトが多い。
ただし、前提が記載されていないため、いろいろなパッケージをインストールして利用可能になったため記録する。
kolab/calendarのインストール
READMEを確認してインストールする。
READMEに従ってインストールする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
1. Get the source from git $ cd /tmp $ git clone https://git.kolab.org/diffusion/RPK/roundcubemail-plugins-kolab.git $ cd /<path-to-roundcube>/plugins $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/calendar . $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/libcalendaring . $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/libkolab . 2. Create calendar plugin configuration $ cd calendar/ $ cp config.inc.php.dist config.inc.php $ edit config.inc.php 3. Initialize the calendar database tables $ cd ../../ $ bin/initdb.sh --dir=plugins/calendar/drivers/database/SQL 4. Build css styles for the Elastic skin $ lessc --relative-urls -x plugins/libkolab/skins/elastic/libkolab.less > plugins/libkolab/skins/elastic/libkolab.min.css 5. Enable the calendar plugin $ edit config/config.inc.php Add 'calendar' to the list of active plugins: $config['plugins'] = array( (...) 'calendar', ); ど |
動作を確認する。
カレンダーの画面は表示されるが、ボタンがグレーアウトのため使用できない。
kolab/tasklistのインストール
READMEを確認すしてインストールする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
1. Get the source from git $ cd /tmp $ git clone https://git.kolab.org/diffusion/RPK/roundcubemail-plugins-kolab.git $ cd /<path-to-roundcube>/plugins $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/tasklist . $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/libcalendaring . $ cp -r /tmp/roundcubemail-plugins-kolab/plugins/libkolab . 2. Create tasklist plugin configuration $ cd tasklist/ $ cp config.inc.php.dist config.inc.php $ edit config.inc.php 3. Initialize the tasklist database tables $ cd ../../ $ bin/initdb.sh --dir=plugins/tasklist/drivers/database/SQL 4. Build css styles for the Elastic skin $ lessc --relative-urls -x plugins/libkolab/skins/elastic/libkolab.less > plugins/libkolab/skins/elastic/libkolab.min.css 5. Enable the tasklist plugin $ edit config/config.inc.php Add 'tasklist' to the list of active plugins: $config['plugins'] = array( (...) 'tasklist', );だ |
動作を確認する。
タスクの画面は表示されるが、ボタンがグレーアウトのため使用できない。
libkolabパッケージのREADME確認
以下のライブラリやパッケージのインストールが必要である。
1 2 3 4 5 6 7 |
REQUIREMENTS ------------ * libkolabxml PHP bindings - kolabformat.so loaded into PHP - kolabformat.php placed somewhere in the include_path * PEAR: HTTP/Request2 * PEAR: Net/URL2 |
libkolabxmlパッケージのインストールをこころみる。
php-kolabformatパッケージをインストールしてみる。
php-kolabformatパッケージにkolabformat.soライブラリが入っているので、php-kolabformatパッケージのインストールを実行するがエラーとなる。
php-8.0用(php-common-8.0.30-XX)のphp-kolabformat-1.2.0-12パッケージしか無いと言っているらしい。
1 2 3 4 5 6 7 8 9 10 11 |
# yum -y install php-kolabformat メタデータの期限切れの最終確認: 0:10:39 前の 2025年01月23日 19時32分02秒 に実施しました。 エラー: 問題: package php-kolabformat-1.2.0-12.el9.x86_64 from epel requires php(api) = 20200930-64, but none of the providers can be installed - package php-kolabformat-1.2.0-12.el9.x86_64 from epel requires php(zend-abi) = 20200930-64, but none of the providers can be installed - 競合するリクエスト - package php-common-8.0.30-10.el9.remi.x86_64 from remi-modular is filtered out by modular filtering - package php-common-8.0.30-11.el9.remi.x86_64 from remi-modular is filtered out by modular filtering - package php-common-8.0.30-1.el9_2.x86_64 from appstream is filtered out by modular filtering (インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください) # |
phpをバージョンアップする。
phpをphp-8.3にバージョンアップすれば対応するphp-kolabformatパッケージが存在して、インストールできるかもしれないと思い、phpを8.3にバージョンアップしてみた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# dnf module list php メタデータの期限切れの最終確認: 0:00:29 前の 2025年01月27日 20時58分14秒 に実施しました。 Remi's Modular repository for Enterprise Linux 9 - x86_64 Name Stream Profiles Summary php remi-7.4 common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language php remi-8.1 common [d], devel, minimal PHP scripting language php remi-8.2 common [d], devel, minimal PHP scripting language php remi-8.3 common [d], devel, minimal PHP scripting language php remi-8.4 common [d], devel, minimal PHP scripting language ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled # # dnf module -y switch-to php:remi-8.3 メタデータの期限切れの最終確認: 0:01:06 前の 2025年01月27日 20時58分14秒 に実施しました。 依存関係が解決しました。 ============================================================================================================== パッケージ Arch バージョン リポジトリー サイズ ============================================================================================================== アップグレード: php x86_64 8.3.16-1.el9.remi remi-modular 1.8 M php-cli x86_64 8.3.16-1.el9.remi remi-modular 5.6 M php-common x86_64 8.3.16-1.el9.remi remi-modular 1.3 M php-devel x86_64 8.3.16-1.el9.remi remi-modular 778 k php-enchant x86_64 8.3.16-1.el9.remi remi-modular 28 k php-fpm x86_64 8.3.16-1.el9.remi remi-modular 1.9 M php-gd x86_64 8.3.16-1.el9.remi remi-modular 64 k php-intl x86_64 8.3.16-1.el9.remi remi-modular 231 k php-ldap x86_64 8.3.16-1.el9.remi remi-modular 63 k php-mbstring x86_64 8.3.16-1.el9.remi remi-modular 580 k php-mysqlnd x86_64 8.3.16-1.el9.remi remi-modular 219 k php-opcache x86_64 8.3.16-1.el9.remi remi-modular 577 k php-pdo x86_64 8.3.16-1.el9.remi remi-modular 120 k php-pecl-apcu x86_64 5.1.24-1.el9.remi.8.3 remi-modular 77 k php-pecl-zip x86_64 1.22.4-1.el9.remi.8.3 remi-modular 77 k php-process x86_64 8.3.16-1.el9.remi remi-modular 69 k php-sodium x86_64 8.3.16-1.el9.remi remi-modular 61 k php-xml x86_64 8.3.16-1.el9.remi remi-modular 221 k 依存関係のインストール: capstone x86_64 4.0.2-0.10.el9.remi remi-safe 765 k 弱い依存関係のインストール: php-nikic-php-parser5 noarch 5.4.0-1.el9 epel 174 k モジュールストリームの有効化中: php remi-8.3 トランザクションの概要 ============================================================================================================== インストール 2 パッケージ アップグレード 18 パッケージ ダウンロードサイズの合計: 15 M パッケージのダウンロード: アップグレード済み: php-8.3.16-1.el9.remi.x86_64 php-cli-8.3.16-1.el9.remi.x86_64 php-common-8.3.16-1.el9.remi.x86_64 php-devel-8.3.16-1.el9.remi.x86_64 php-enchant-8.3.16-1.el9.remi.x86_64 php-fpm-8.3.16-1.el9.remi.x86_64 php-gd-8.3.16-1.el9.remi.x86_64 php-intl-8.3.16-1.el9.remi.x86_64 php-ldap-8.3.16-1.el9.remi.x86_64 php-mbstring-8.3.16-1.el9.remi.x86_64 php-mysqlnd-8.3.16-1.el9.remi.x86_64 php-opcache-8.3.16-1.el9.remi.x86_64 php-pdo-8.3.16-1.el9.remi.x86_64 php-pecl-apcu-5.1.24-1.el9.remi.8.3.x86_64 php-pecl-zip-1.22.4-1.el9.remi.8.3.x86_64 php-process-8.3.16-1.el9.remi.x86_64 php-sodium-8.3.16-1.el9.remi.x86_64 php-xml-8.3.16-1.el9.remi.x86_64 インストール済み: capstone-4.0.2-0.10.el9.remi.x86_64 php-nikic-php-parser5-5.4.0-1.el9.noarch 完了しました! # # php -v PHP 8.3.16 (cli) (built: Jan 14 2025 18:25:29) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.3.16, Copyright (c) Zend Technologies with Zend OPcache v8.3.16, Copyright (c), by Zend Technologies # # dnf module list phpdnf module list php メタデータの期限切れの最終確認: 0:04:21 前の 2025年01月27日 20時58分14秒 に実施しました。 Remi's Modular repository for Enterprise Linux 9 - x86_64 Name Stream Profiles Summary php remi-7.4 common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language php remi-8.1 common [d], devel, minimal PHP scripting language php remi-8.2 common [d], devel, minimal PHP scripting language php remi-8.3 [e] common [d], devel, minimal PHP scripting language php remi-8.4 common [d], devel, minimal PHP scripting language ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled # # systemctl restart nginx # # systemctl restart php-fpm # |
phpを8.3にバージョンアップしたが、やはりphp-8.0のphp-kolabformatパッケージしか無いと言われた。
libkolabxmlパッケージのソースをダウンロードしてbuildする。
すでに以下のパッケージのみインストールされています。
libkolabxml-1.2.0-12.el9.x86_64
インストールするパッケージが無いならパッケージを作ろうと思い、すでにインストールされているパッケージと同じバージョンのlibkolabxmlパッケージのソースバージョンをダウンロードする。
libkolabxmlソースをbuildすると以下のパッケージが作成される。
・java-kolabformat-1.2.0-12.el9.x86_64.rpm
・libkolabxml-1.2.0-12.el9.x86_64.rpm
・libkolabxml-debuginfo-1.2.0-12.el9.x86_64.rpm
・libkolabxml-debugsource-1.2.0-12.el9.x86_64.rpm
・libkolabxml-devel-1.2.0-12.el9.x86_64.rpm
・php-kolabformat-1.2.0-12.el9.x86_64.rpm
・php-kolabformat-debuginfo-1.2.0-12.el9.x86_64.rpm
・python3-kolabformat-1.2.0-12.el9.x86_64.rpm
・python3-kolabformat-debuginfo-1.2.0-12.el9.x86_64.rpm
ソースファイルをrpmbuildするが、libkolabxmlパッケージ作成に必要な他のパッケージが不足しているため、作成できない。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# rpmbuild --rebuild libkolabxml-1.2.0-12.el9.src.rpm libkolabxml-1.2.0-12.el9.src.rpm をインストール中です。 警告: user mockbuild does not exist - using root 警告: group mock does not exist - using root 警告: user mockbuild does not exist - using root 警告: group mock does not exist - using root 警告: Macro expanded in comment on line 80: %{version}-%{release} setting SOURCE_DATE_EPOCH=1658361600 エラー: ビルド依存性の失敗: e2fsprogs-devel は libkolabxml-1.2.0-12.el9.x86_64 に必要とされています libcurl-devel は libkolabxml-1.2.0-12.el9.x86_64 に必要とされています swig は libkolabxml-1.2.0-12.el9.x86_64 に必要とされています uuid-devel は libkolabxml-1.2.0-12.el9.x86_64 に必要とされています xerces-c-devel は libkolabxml-1.2.0-12.el9.x86_64 に必要とされています xsd は libkolabxml-1.2.0-12.el9.x86_64 に必要とされています #ゆ |
yumコマンドでインストールできるパッケージをインストールする。
すべてのパッケージではないが、yumコマンドでインストールできる以下のパッケージをインストールする。
・swig
・xsd
・xerces-c-devel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# yum -y install swig 依存関係が解決しました。 ============================================================================================================== パッケージ アーキテクチャー バージョン リポジトリー サイズ ============================================================================================================== インストール: swig x86_64 4.0.2-8.el9 crb 1.5 M トランザクションの概要 ============================================================================================================== インストール 1 パッケージ インストール済み: swig-4.0.2-8.el9.x86_64 完了しました! # # yum -y install xsd メタデータの期限切れの最終確認: 0:00:16 前の 2025年01月26日 14時43分58秒 に実施しました。 依存関係が解決しました。 ============================================================================================================== パッケージ アーキテクチャー バージョン リポジトリー サイズ ============================================================================================================== インストール: xsd x86_64 4.1.0-0.8.a11.el9 epel 1.2 M 依存関係のインストール: libcutl x86_64 1.10.0-23.el9 epel 311 k トランザクションの概要 ============================================================================================================== インストール 2 パッケージ インストール済み: libcutl-1.10.0-23.el9.x86_64 xsd-4.1.0-0.8.a11.el9.x86_64 完了しました! # # yum -y install xerces-c-devel メタデータの期限切れの最終確認: 0:01:33 前の 2025年01月26日 14時43分58秒 に実施しました。 依存関係が解決しました。 ============================================================================================================== パッケージ アーキテクチャー バージョン リポジトリー サイズ ============================================================================================================== インストール: xerces-c-devel x86_64 3.2.5-1.el9 epel 435 k トランザクションの概要 ============================================================================================================== インストール 1 パッケージ インストール済み: xerces-c-devel-3.2.5-1.el9.x86_64 完了しました! # |
パッケージをダウンロードしてインストールする。
yumコマンドでインストできない以下のパッケージをhttps://rpmfind.netサイトからダウンロードしてインストールする。
・e2fsprogs-devel-1.46.5-5.el9.x86_64.rpm
・libcurl-devel-7.76.1-31.el9.x86_64.rpm
・uuid-1.6.2-55.el9.x86_64.rpm
・uuid-devel-1.6.2-55.el9.x86_64.rpm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# rpm -ivf e2fsprogs-devel-1.46.5-5.el9.x86_64.rpm 警告: e2fsprogs-devel-1.46.5-5.el9.x86_64.rpm: ヘッダー V4 RSA/SHA256 Signature、鍵 ID 8483c65d: NOKEY Verifying packages... パッケージの準備中... e2fsprogs-devel-1.46.5-5.el9.x86_64 # # rpm -ivf libcurl-devel-7.76.1-31.el9.x86_64.rpm 警告: libcurl-devel-7.76.1-31.el9.x86_64.rpm: ヘッダー V4 RSA/SHA256 Signature、鍵 ID 8483c65d: NOKEY Verifying packages... パッケージの準備中... libcurl-devel-7.76.1-31.el9.x86_64 # # rpm -ivf uuid-1.6.2-55.el9.x86_64.rpm 警告: uuid-1.6.2-55.el9.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 8483c65d: NOKEY Verifying packages... パッケージの準備中... uuid-1.6.2-55.el9.x86_64 # # rpm -vi ivf uuid-devel-1.6.2-55.el9.x86_64.rpm 警告: uuid-devel-1.6.2-55.el9.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID 8483c65d: NOKEY Verifying packages... パッケージの準備中... uuid-devel-1.6.2-55.el9.x86_64 # |
libkolabxmlをbuildする。
やっと、libkolabxmlのビルドができるので環境ができたので、ビルドする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# rpmbuild --rebuild libkolabxml-1.2.0-12.el9.src.rpm libkolabxml-1.2.0-12.el9.src.rpm をインストール中です。 警告: user mockbuild does not exist - using root 警告: group mock does not exist - using root 警告: user mockbuild does not exist - using root 警告: group mock does not exist - using root 警告: Macro expanded in comment on line 80: %{version}-%{release} setting SOURCE_DATE_EPOCH=1658361600 実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.RwRI8b + umask 022 + cd /root/rpmbuild/BUILD + cd /root/rpmbuild/BUILD + rm -rf libkolabxml-1.2.0 + /usr/bin/gzip -dc /root/rpmbuild/SOURCES/libkolabxml-1.2.0.tar.gz + /usr/bin/tar -xof - + STATUS=0 : 書き込み完了: /root/rpmbuild/RPMS/x86_64/java-kolabformat-1.2.0-12.el9.x86_64.rpm 書き込み完了: /root/rpmbuild/RPMS/x86_64/libkolabxml-devel-1.2.0-12.el9.x86_64.rpm 書き込み完了: /root/rpmbuild/RPMS/x86_64/php-kolabformat-1.2.0-12.el9.x86_64.rpm 書き込み完了: /root/rpmbuild/RPMS/x86_64/python3-kolabformat-1.2.0-12.el9.x86_64.rpm 書き込み完了: /root/rpmbuild/RPMS/x86_64/libkolabxml-1.2.0-12.el9.x86_64.rpm 書き込み完了: /root/rpmbuild/RPMS/x86_64/php-kolabformat-debuginfo-1.2.0-12.el9.x86_64.rpm 書き込み完了: /root/rpmbuild/RPMS/x86_64/libkolabxml-debugsource-1.2.0-12.el9.x86_64.rpm 書き込み完了: /root/rpmbuild/RPMS/x86_64/python3-kolabformat-debuginfo-1.2.0-12.el9.x86_64.rpm 書き込み完了: /root/rpmbuild/RPMS/x86_64/libkolabxml-debuginfo-1.2.0-12.el9.x86_64.rpm 実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.vH3BHe + umask 022 + cd /root/rpmbuild/BUILD + cd libkolabxml-1.2.0 + /usr/bin/rm -rf /root/rpmbuild/BUILDROOT/libkolabxml-1.2.0-12.el9.x86_64 + RPM_EC=0 ++ jobs -p + exit 0 実行中(--clean): /bin/sh -e /var/tmp/rpm-tmp.GTEGDZ + umask 022 + cd /root/rpmbuild/BUILD + rm -rf libkolabxml-1.2.0 + RPM_EC=0 ++ jobs -p + exit 0 # |
buildしたパッケージをインストールする。
libkolabxml-1.2.0-12.el9.x86_64はすでにインストールされているためインストールできない(しなくてよい)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# cd /root/rpmbuild/RPMS # rpm -ivf java-kolabformat-1.2.0-12.el9.x86_64.rpm \ libkolabxml-1.2.0-12.el9.x86_64.rpm \ libkolabxml-debuginfo-1.2.0-12.el9.x86_64.rpm \ libkolabxml-debugsource-1.2.0-12.el9.x86_64.rpm \ libkolabxml-devel-1.2.0-12.el9.x86_64.rpm \ php-kolabformat-1.2.0-12.el9.x86_64.rpm \ php-kolabformat-debuginfo-1.2.0-12.el9.x86_64.rpm \ python3-kolabformat-1.2.0-12.el9.x86_64.rpm \ python3-kolabformat-debuginfo-1.2.0-12.el9.x86_64.rpm Verifying packages... パッケージの準備中... パッケージ libkolabxml-1.2.0-12.el9.x86_64 は既にインストールされています。 ファイル /usr/lib64/libkolabxml.so.1.2.0 (パッケージ libkolabxml-1.2.0-12.el9.x86_64 から) は、パッケージ libkolabxml-1.2.0-12.el9.x86_64 からのファイルと競合しています。 # # rpm -ivf java-kolabformat-1.2.0-12.el9.x86_64.rpm \ libkolabxml-debuginfo-1.2.0-12.el9.x86_64.rpm \ libkolabxml-debugsource-1.2.0-12.el9.x86_64.rpm \ libkolabxml-devel-1.2.0-12.el9.x86_64.rpm \ php-kolabformat-1.2.0-12.el9.x86_64.rpm \ php-kolabformat-debuginfo-1.2.0-12.el9.x86_64.rpm \ python3-kolabformat-1.2.0-12.el9.x86_64.rpm \ python3-kolabformat-debuginfo-1.2.0-12.el9.x86_64.rpm\ Verifying packages... パッケージの準備中... libkolabxml-debugsource-1.2.0-12.el9.x86_64 libkolabxml-debuginfo-1.2.0-12.el9.x86_64 php-kolabformat-debuginfo-1.2.0-12.el9.x86_64 python3-kolabformat-debuginfo-1.2.0-12.el9.x86_64 python3-kolabformat-1.2.0-12.el9.x86_64 php-kolabformat-1.2.0-12.el9.x86_64 libkolabxml-devel-1.2.0-12.el9.x86_64 java-kolabformat-1.2.0-12.el9.x86_64 # |
php.iniファイルにライブラリ定義を追加する。
kolabformat.soライブラリをphp.iniに記述する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# cp php.ini php.ini_org # vi php.ini # diff -c php.ini.rpmsave php.ini *** php.ini.rpmsave 2025-01-19 19:15:14.008636341 +0900 --- php.ini 2025-02-16 20:14:27.755572671 +0900 *************** *** 908,913 **** --- 907,914 ---- ; directory, You may specify an absolute path to the library file: ; ; extension=/path/to/extension/mysqli.so + extension=imagick.so + extension=kolabformat.so ; ; Note : The syntax used in previous PHP versions ('extension=<ext>.so' and ; 'extension='php_<ext>.dll') is supported for legacy reasons and may be # # systemctl restart nginx # # systemctl restart php-fpm # |
ブラウザででphpの情報を確認する。
phpinfo.phpファイルに「phpinfo():」を記述してブラウザでアクセスして、kolabformatが読み込まれているか確認する。
設定したkolabformatが「Additional Modules」に表示されたことを確認した。
phpのpearパッケージをインストールする。
以下のphpパッケージをpearコマンドでインストールする。
・HTTP/Request2
・Net/URL2
同時に2つのパッケージがインストールできた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# which pear /usr/bin/pear # # pear install HTTP_Request2 WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update downloading HTTP_Request2-2.6.0.tgz ... Starting to download HTTP_Request2-2.6.0.tgz (127,945 bytes) .............................done: 127,945 bytes downloading Net_URL2-2.2.1.tgz ... Starting to download Net_URL2-2.2.1.tgz (20,010 bytes) ...done: 20,010 bytes install ok: channel://pear.php.net/Net_URL2-2.2.1 install ok: channel://pear.php.net/HTTP_Request2-2.6.0 # |
roundcubemailの動作を確認する。
サーバエラーになりroundcubemailに動作しない。
ブラウザでアクセスするとサーバエラーになり動作しない。
nginxのエラーログを確認すると以下のエラーメッセージ有った。
phpを8.2アップグレードしたため、初期定義されていない変数に関してエラーになる。
※本文は一行であるが、理解できるように改行している。
1 2 3 4 5 6 |
2025/02/01 08:11:02 [error] 157396#157396: *9 FastCGI sent in stderr: " PHP message: PHP Deprecated: Creation of dynamic property thunderbird_labels::$name is deprecated in /usr/share/roundcubemail/plugins/thunderbird_labels/thunderbird_labels.php on line 50; PHP message: PHP Deprecated: Creation of dynamic property thunderbird_labels::$add_tb_flags is deprecated in /usr/share/roundcubemail/plugins/thunderbird_labels/thunderbird_labels.php on line 52; PHP message: PHP Deprecated: Creation of dynamic property thunderbird_labels::$message_tb_labels is deprecated in /usr/share/roundcubemail/plugins/thunderbird_labels/thunderbird_labels.php on line 59; PHP message: PHP Deprecated: Creation of dynamic property tasklist::$driver is deprecated in /usr/share/roundcubemail/plugins/tasklist/tasklist.php on line 195; PHP message: PHP Fatal error: Uncaught Error: Class "Sabre\VObject\Property\Text" not found in /usr/share/roundcubemail/plugins/libcalendaring/lib/libcalendaring_vcalendar.php:1577 |
プログラムを修正する。
エラー修正のため以下のソースを修正する。
・thunderbird_labels.php(今回の関連するパッケージではない)
・tasklist.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# cd /usr/share/roundcubemail/plugins # # cd libcalendaring # # cp thunderbird_labels.php_org thunderbird_labels.php # # vi thunderbird_labels.php # # diff -c thunderbird_labels.php_org thunderbird_labels.php *** thunderbird_labels.php_org 2025-02-01 08:19:41.453083991 +0900 --- thunderbird_labels.php 2025-02-01 08:32:00.168201753 +0900 *************** *** 16,21 **** --- 16,25 ---- private $_custom_flags_allowed = null; const LABEL_STYLES = ['thunderbird', 'bullets', 'badges']; + public $name; + public $add_tb_flags; + public $message_tb_labels; + function init() { $this->rc = rcmail::get_instance(); # # cd ../tasklist # # cp -p tasklist.php tasklist.php_org # # vi tasklist.php # # diff -c tasklist.php_org tasklist.php *** tasklist.php_org 2021-05-09 16:14:59.000000000 +0900 --- tasklist.php 2025-02-01 08:32:26.610595188 +0900 *************** *** 68,73 **** --- 68,74 ---- private $message_tasks = array(); private $task_titles = array(); + public $driver; /** * Plugin initialization. # |
他に必要な情報が無いかと、他のパッケージのREADMEを確認する。
他に必要なパッケージが有るか確認する、
libcalendaringパッケージのREADMEを確認する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# cat libcalendaring/README Library providing common functions for calendar-based plugins ------------------------------------------------------------- Provides utility functions for calendar-related modules such as * alarms display and dismissal * attachment handling * iCal parsing and exporting * iTip invitations handling iCal parsing and exporting is done with the help of the Sabre VObject library [1]. It needs to be insalled with Roundcube using composer: $ composer require "sabre/vobject" "~4.5.1" [1]: http://sabre.io/vobject/ # |
sabre/vobjectパッケージをインストールする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# cd /usr/share/roundcubemail/ # composer require sabre/vobject ~4.5 Do not run Composer as root/super user! See https://getcomposer.org/root for details Continue as root/super user [yes]? Composer could not detect the root package (roundcube/roundcubemail) version, defaulting to '1.0.0'. See https://getcomposer.org/root-version ./composer.json has been updated Composer could not detect the root package (roundcube/roundcubemail) version, defaulting to '1.0.0'. See https://getcomposer.org/root-version Running composer update sabre/vobject Loading composer repositories with package information Updating dependencies Lock file operations: 3 installs, 0 updates, 0 removals - Locking sabre/uri (3.0.2) - Locking sabre/vobject (4.5.6) - Locking sabre/xml (4.0.6) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 3 installs, 0 updates, 0 removals - Downloading sabre/uri (3.0.2) - Downloading sabre/xml (4.0.6) - Downloading sabre/vobject (4.5.6) - Installing sabre/uri (3.0.2): Extracting archive - Installing sabre/xml (4.0.6): Extracting archive - Installing sabre/vobject (4.5.6): Extracting archive 0/3 [>---------------------------] 0% Skipped installation of bin bin/vobject for package sabre/vobject: name conflicts with an existing file Skipped installation of bin bin/generate_vcards for package sabre/vobject: name conflicts with an existing file 1 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files 4 packages you are using are looking for funding. Use the `composer fund` command to find out more! No security vulnerability advisories found. # |
インストールしたphpパッケージを自動ロードするように設定する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# cp /etc/php.ini /etc/php.ini_org # vi /etc/php.ini # diff -c php.ini_org php.ini *** php.ini_org 2024-12-27 20:59:42.927231405 +0900 --- php.ini 2025-02-01 08:59:52.408596490 +0900 *************** *** 918,923 **** --- 920,927 ---- ; found in the directory /etc/php.d; these are loaded by default. ;;;; + include 'vendor/autoload.php'; + ;;;;;;;;;;;;;;;;;;; ; Module Settings ; ;;;;;;;;;;;;;;;;;;; # # systemctl restart nginx # # systemctl restart php-fpm # |
roundcubemailのカレンダーとタスクリストの動作確認
カレンダーとタスクリストのプラグインの動作を確認する。
ボタンが有効化となり利用可能となった。
ただし、css変換が正しく行われないためなのか、calendarに「personal」や「work」のカテゴリで色が変わるはずですが、すべて色が赤で登録される。調査が必要である。
まとめ
いろいろ作業して動作するようになった。
WEBの情報は、libkolabxmlの複数のパッケージがインストールされている事が前提なのだろうか。
不明である。