前書き

複数のデバイス(スマートフォン、コンピューター、タブレットなど)を使用する人が増えているため、すべてのものを同期させる必要性が高まっています。

filesを同期することは重要ですが、カレンダーと連絡先をネイティブ形式で同期できます。

CalDAVおよびCardDAV規格は、私たちがしていることですべてのスマートなことを最新に保つ簡単な方法を提供し、友人や他の連絡先を取得する方法を提供します。 このチュートリアルでは、PHP CalDAVおよびCardDAVサーバーであるhttp://baikal-server.com [Baïkal]の非常に簡単なインストールを使用して、管理するサーバーからカレンダーと連絡先を同期する方法を示します。

_ _
*注:*オールインワンのソリューションを探している場合は、https://www.digitalocean.com/community/tutorials/how-to-use-the-owncloud-oneをご覧ください。 -click-install-application [ownCloud]代わりに。

*注:*Baïkalは迅速かつ簡単ですが、大規模な展開向けには実際には設計されていません。 中規模または大規模ビジネスのカレンダーと連絡先の同期が必要な場合、このソリューションはうまく機能しない可能性があります。
_ _

前提条件

これらの前提条件が整っていることを確認してください。

  • https://www.digitalocean.com/community/tutorials/how-to-connect-to-your-droplet-with-ssh [SSHアクセス]を使用した新鮮なUbuntu 14.04ドロップレット

  • sudo user

  • Baïkalの指示では、サーバーのドメイン(できればサブドメイン)を使用することを強くお勧めします。 このチュートリアルでは、ドメイン名「+ dav.example.com 」を使用します。 「+」を使用できます。 DNSをDigital Oceanでホストしている場合、https://www.digitalocean.com/community/tutorials/how-to-set-up-and-test-dns-subdomains-with-digitalocean-s-dns-panel [this記事]は、サブドメインのセットアップに役立ちます

また、バイカルが必要とするいくつかのパッケージをインストールします。 SSL証明書を使用します。記事自体でそれらを設定する方法について説明します。 SSL証明書を購入する場合は、Baïkalサーバーのドメインまたはサブドメイン用に購入する必要があります。

ステップ1-Baïkalのインストール

開始するには、必要なパッケージをいくつかインストールし、Baïkalのtarballをダウンロードしてから展開します。

以下の例では、最新バージョンのBaïkalを使用していますが、これは執筆時点ではですが、始める前に最新のhttp://baikal-server.com [Baïkalのバージョン]を再確認することをお勧めします。 最新バージョンを見つけるには、Baïkalサイトにアクセスして、[* Download to start ]ボタンをクリックするか、[GetBaïkal]セクションまでスクロールします。 新しいバージョンがある場合は、*通常のパッケージ*のダウンロードリンクをコピーします。

始めるには、Ubuntu DropletにSSHで接続する必要があります。

次に、Baïkalが実行する必要があるパッケージをインストールしましょう。 これはUbuntuの新規インストールであると想定するため、リポジトリからパッケージをインストールする前に、リポジトリキャッシュを `+ apt-get update +`で更新する必要があります。

sudo apt-get update

PHP、Apache、およびSQLiteのいくつかの前提条件パッケージをインストールします。

sudo apt-get install apache2 php5 php5-sqlite sqlite3

_
*注意:*Baïkalインストールファイルでは、ApacheはNginxに、SQLiteはMySQLに置き換えることができると著者は述べています。
_

これで、Baïkalを動作させるために必要な部品が揃ったので、Baïkalをインストールしましょう! Baïkalはある種のPHP Webサイトであるため、Apacheサイトディレクトリ `+ / var / www +`にダウンロードして展開します。

cd /var/www
sudo wget http://baikal-server.com/get/baikal-regular-0.2.7.tgz
sudo tar -xvzf baikal-regular-0.2.7.tgz

_
注意: + tar +`に指示したことを知りたい場合: `+ x + = e x tract、 + v + = v erbose、 + z + `= un z ip、および + f + `= f ile、その後にファイル名が続きます。
_

最後のステップとバイカルは「インストール済み」になります。 PHPアプリを抽出したので、tarファイルはもう必要ないので、tarファイルを削除し、抽出したフォルダーの名前をより関連性の高い名前に変更してから、Apacheユーザーが読み書きできるようにします。

sudo rm baikal-regular-0.2.7.tgz
sudo mv baikal-regular
sudo chown -R www-data:www-data

_
*注:*フォルダーには任意の名前を付けることができますが、WebサイトフォルダーにWebサイト名を使用すると、複数のホストを予定している場合にサイトを識別しやすくなります。
_

ステップ2-Apacheのセットアップ

アプリケーションがインストールされ、Apacheに通知する必要があります。 物事を簡単にするために、Baïkalには実際にテンプレートとして独自のApache構成ファイルが含まれています。 そのファイルをApacheの `+ sites-available +`ディレクトリにコピーし、サイトに合わせて編集します。

sudo cp /var/www/dav.example.com/Specific/virtualhosts/baikal.apache2 /etc/apache2/sites-available/dav_example_com.conf

お気に入りのテキストエディターを使用して、 `+ dav_example_com.conf +`ファイルを開き、すべてのURLを変更して、独自のURLと、サイトを保存した場所へのパスを使用します。 表示は次のとおりです。

sudo nano /etc/apache2/sites-available/dav_example_com.conf
<VirtualHost *:80>
   DocumentRoot /var/www//html
   ServerName

   RewriteEngine On
   RewriteRule /.well-known/carddav /card.php [R,L]
   RewriteRule /.well-known/caldav /cal.php [R,L]

   <Directory "/var/www//html">
       Options None
       Options +FollowSymlinks
       AllowOverride All
   </Directory>
</VirtualHost>

次に、https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04 [SSL証明書]が必要になります。

証明書を作成または購入できます。 リンクされたSSLチュートリアルに従い、キーと証明書が `+ / etc / apache2 / ssl `ディレクトリにあり、 ` apache.crt `と ` apache.key +`と呼ばれると仮定します。 必要に応じて、これらを独自の証明書とキーへのパスに置き換えてください。

次に、SSL証明書の使用方法をApacheに指示する必要があります。 このために、デフォルトのSSL構成ファイル( + default-ssl.conf +)をBaïkal構成ファイルと組み合わせて、 `+ dav_example_com-ssl.conf +`という名前を付ける必要があります。 以下は、すべてのコメントが削除された状態の例です。

sudo nano /etc/apache2/sites-available/dav_example_com-ssl.conf
<IfModule mod_ssl.c>
   <VirtualHost _default_:443>
       ServerAdmin

       DocumentRoot /var/www//html
       ServerName

           RewriteEngine On
           RewriteRule /.well-known/carddav /card.php [R,L]
           RewriteRule /.well-known/caldav /cal.php [R,L]

       <Directory "/var/www//html">
           Options None
           Options +FollowSymlinks
           AllowOverride All
       </Directory>

       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined

       SSLEngine on

       SSLCertificateFile
       SSLCertificateKeyFile

       <FilesMatch "\.(cgi|shtml|phtml|php)$">
               SSLOptions +StdEnvVars
       </FilesMatch>
       <Directory /usr/lib/cgi-bin>
               SSLOptions +StdEnvVars
       </Directory>

       BrowserMatch "MSIE [2-6]" \
               nokeepalive ssl-unclean-shutdown \
               downgrade-1.0 force-response-1.0
       BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown

   </VirtualHost>
</IfModule>

私たちは家にいます。 サイトをインストールし、適切なApache構成を作成しました。 次に、 `+ rewrite +`モジュールを有効にし、サイトを有効にし、最後に再起動して新しい設定をロードするようにApacheに指示する必要があります。

sudo a2enmod rewrite
sudo a2ensite dav_example_com
sudo a2ensite dav_example_com-ssl
sudo service apache2 restart

ステップ3-バイカルの設定

コマンドラインで最後にやることが1つあり、残りはWebブラウザーで実行できます。 Baïkalは、「+ ENABLE_INSTALL 」というファイルを使用して、インストールの最終ステップを有効にします。 ウェブブラウザを開く前に、このファイルが存在することを確認しましょう。 ファイルが存在しない場合は「 touch +」を使用してファイルを作成し、既に存在する場合は、変更日を更新するだけです。

sudo touch /var/www//Specific/ENABLE_INSTALL

それでおしまい! ブラウザを開いて、バイカルの設定を完了する準備ができました。 お気に入りのブラウザで、「+ https://dav.example.com+」に移動します。

image:https://assets.digitalocean.com/sync_baikal/1.png [バイカル初期化ウィザード]

そこに着くと、オプションのある画面が表示されます。 ドロップダウンメニューを使用してタイムゾーンを設定し、新しい管理者パスワードを作成し(2回入力する必要があります)、その他はすべてデフォルト設定のままにします。

[変更を保存]ボタンをクリックします。

次の画面で、デフォルトのSQLite設定を選択するか、MySQLサポートを有効にすることができます。

image:https://assets.digitalocean.com/sync_baikal/2.png [バイカルデータベースのセットアップ]

MySQLの使用を選択した場合、そのサポートを有効にできます。 (MySQLをバックエンドとして使用すると、このツールの容量とパフォーマンスが向上しますが、このDAVサーバーがあなた、家族、友人、または中小企業に適している場合、SQLiteは問題なく動作します。)

この例では、SQLiteのデフォルトを有効のままにして、このページの[変更を保存]ボタンをクリックします。

その後、*Baïkalの使用を開始する*オプションが表示されます。このボタンをクリックしてください。

image:https://assets.digitalocean.com/sync_baikal/3.png [バイカルの使用を開始]

バイカルのホームページに移動します。

_ _
*注意:*BaïkalWebサイトの代わりにデフォルトのApache Webサイトが表示される場合は、デフォルトのApache Webサイトを無効にして、Apacheを再起動する必要があります。 物事は今すぐ動作するはずです。

sudo a2dissite 000-default.conf
sudo service apache2 reload

_ _

ステップ4-ユーザーの作成

初期セットアップを実行した後は、ユーザーを作成し、クライアントを接続して同期を開始するだけです。

ユーザーを作成するには、ユーザー名* admin *と上記の構成手順で設定したパスワードを使用して、BaïkalWebサイトにログインします。

アプリケーションの最初のページはダッシュボードです。 有効化され実行されているものと、ユーザー数、カレンダー、連絡先などの基本的な統計情報が表示されます。

ユーザーの作成は、_3クリックプロセス_です。

  1. ページの上部にあるリンク*ユーザーとリソース*をクリックします

  2. 右側のボタンをクリックします*ユーザーを追加

  3. すべてのフィールドに入力し、[変更を保存]ボタンをクリックします

image:https://assets.digitalocean.com/sync_baikal/4.png [ユーザーフォーム;必要に応じてフィールドに入力します]

_
注:*ユーザー名のフォーマットに関するサーバー側の要件はありませんが、一部のクライアントは、 sammy @ example.com *のように、ユーザー名がメールアドレスのように見えないと文句を言う場合があります。
_

トラブルシューティング

管理者パスワードが受け入れられないなどの問題が発生した場合、アプリをリセットするために実行できるいくつかのコマンドがあり、再度セットアップすることができます。 そのためには、ドロップレットにSSHで戻して、次のコマンドを実行する必要があります。

サーバーをリセットする場合を除き、これは行わないでください。

cd /var/www//Specific/
sudo rm config*.php
sudo touch ENABLE_INSTALL

これで、Webブラウザーに戻り、アプリのセットアップウィザードをもう一度実行できます。今回はすべてが正常に機能することを願っています。

結論

おめでとうございます。 GUIコントロールパネルを備えたCalDAVおよびCardDAV同期サーバーをインストールしました。 この時点で、サーバーに接続するようにクライアントを構成できます。 その際、ホスト名として「+ https:// +」を使用します。