社内ネットワーク環境に最適な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/
にアクセスし、セットアップを行います。
- 使用するデータベースを選択(SQLite または MySQL)
- MySQLの場合は次の情報を入力:
- Database name:
baikal_db
- User name:
baikal_user
- Password:
your_password
- Host:
localhost
- Database name:
- 管理者アカウントを作成(例:
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」の導入方法を紹介します。
0 件のコメント:
コメントを投稿