社内ネットワーク環境に最適なCalDAVシステム01:Baïkal+InfCloud構築ガイド

2025年10月23日木曜日

Baikal CalDav

t f B! P L

社内ネットワーク環境に最適なCalDAVシステム:Baïkal+InfCloud構築ガイド

スケジュール管理や顧客情報共有をクラウド任せにせず、
社内サーバー上で安全・簡単に運用したい──そんなニーズに応えるのが、
Baïkal(CalDAV/CardDAVサーバー)+InfCloud(Webクライアント) の組み合わせです。

この構成は軽量で高速、かつオープンソース。 メールサーバーやNASなど、既存の社内サーバーに簡単に追加できます。 クラウドサービスに依存しないため、セキュリティ面でも安心です。

社内ネットワークで運用するメリット

  • 手軽さ: Ubuntuサーバー上で数分で構築でき、動作も非常に軽い。
  • 共有のしやすさ: Webブラウザ(InfCloud)でアクセスできるため、社員全員がすぐに使える。
  • 柔軟な登録方法: Outlook、Thunderbird、iOS/Android標準カレンダーから直接接続可能。
  • 拡張性: C#やPythonなどのプログラムからCalDAVに直接書き込み・自動登録が可能。
  • 安全性: 社内ネットワークやVPN内で運用でき、外部クラウドへの情報漏洩を防止。

活用例

  • 営業・製造・事務の部門ごとの共有カレンダー
  • 有給休暇や勤務スケジュールの可視化
  • 会議室・社用車など設備の予約管理
  • 製造スケジュール・出荷予定・納期カレンダー
  • 受注システムや生産管理システムからC#コードで自動登録

これらを一元管理できるように、まずは社内サーバーにBaïkalを導入し、 Webブラウザから操作できるInfCloudと連携させます。


UbuntuにBaïkalをインストールしてCalDAV/CardDAVサーバーを構築する

ここでは、Ubuntuサーバー上にBaïkalを構築し、 CalDAV(カレンダー)とCardDAV(連絡先)のデータを社内で運用できるようにします。

環境

  • OS: Ubuntu 22.04 LTS
  • Webサーバー: Nginx または Apache
  • PHP: 8.x
  • データベース: SQLite または MySQL
  • アクセスURL例: http://your-server-address/baikal/

1. 必要パッケージをインストール


sudo apt update
sudo apt install nginx php php-fpm php-sqlite3 php-mysql mysql-server unzip

BaïkalはSQLiteにもMySQLにも対応しています。 少人数運用ならSQLiteで十分ですが、社内全体で使う場合はMySQLを推奨します。


2. MySQLデータベースを作成(MySQL使用時)


sudo mysql -u root -p

MySQLコンソールで以下を実行します。


CREATE DATABASE baikal_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'baikal_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON baikal_db.* TO 'baikal_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

この設定により、データベース baikal_db と、 それにアクセスできるユーザー baikal_user が作成されます。


3. Baïkalをダウンロードして配置


cd /var/www/
sudo wget https://github.com/sabre-io/Baikal/releases/download/0.9.3/baikal-0.9.3.zip
sudo unzip baikal-0.9.3.zip -d baikal
sudo chown -R www-data:www-data /var/www/baikal

4. Nginx設定

Nginxの設定ファイルを新規作成します。


server {
    listen 80;
    server_name your-server-address;

    root /var/www/baikal/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

設定を有効化して再起動します。


sudo ln -s /etc/nginx/sites-available/baikal /etc/nginx/sites-enabled/
sudo systemctl restart nginx

5. Baïkal初期設定

ブラウザで http://your-server-address/baikal/admin/ にアクセスし、セットアップを行います。

  1. 使用するデータベースを選択(SQLite または MySQL)
  2. MySQLの場合は次の情報を入力:
    • Database name: baikal_db
    • User name: baikal_user
    • Password: your_password
    • Host: localhost
  3. 管理者アカウントを作成(例:admin / secure_password

6. カレンダー・アドレス帳の作成

Baïkalの管理画面(Dashboard)から、必要なカレンダーやアドレス帳を作成します。
URIは次のようになります:

http://your-server-address/baikal/dav.php/calendars/admin/calendar-name/

カレンダー名やユーザー名は任意でOKです。 後でInfCloudなどのクライアントから参照できます。


7. セットアップ完了

これでBaïkalサーバーの構築は完了です。
次回は、このBaïkalをWebブラウザで直感的に操作できる「InfCloud」の導入方法を紹介します。

検索

年月ごとアーカイブ

フレンドブログ

Translate

自己紹介

自分の写真
映画が好き! 音楽好き! 演奏も好き! ミキシングが一番好き!

QooQ