予告通り、ownCloudの導入方法をまとめておきます。インストールの手順としては、WEBサーバ(Apache2)・データベースサーバ(MySQLまたはSQLite)をセットアップして、ownCloudの一式をWEBサーバのドキュメントルート(Webから見えるコンテンツを配置するディレクトリ)にコピーするという形になります。

Ubuntuの場合、WEBサーバは、事実上、Apache2のパッケージをインストールするだけで稼働します。ローカルネットワークで試すだけなら、特にいじるところはなく、決して難しくはありません。以下、説明を加えているので長くなりますが、実際にやっている作業は単純です。

STEP1:LAMPサーバの導入

サーバ版ではインストール時に導入しているケースが多いと思いますが、今回はデスクトップ版のUbuntu 10.10で試しましたので、サーバ環境が入っていません。なので、まず、Apache2とMySQLとPHPを導入します。これらのパッケージは下記のコマンドで一発で導入できます。

$ sudo apt-get update
$ sudo tasksel


このコマンドを実行すると、下記のようなパッケージの一覧が表示されます。キーボードの↑↓で「LAMP server」のところに移動させ、スペースキーで選択します(*印が付く)。

taskselTAbキーで「了解」と書かれたところに移動してEnterキーを押せばインストールが開始されます。

途中、MySQLのrootパスワードの入力画面が表示されるので、任意のパスワードを入力して「進む」ボタンをクリックします。ちなみに、これはMySQLの管理者用でOSの管理者(root)のパスワードではありません。

owncloud-mysql同じ画面が2度出ますが、2回目は最初に入力したものと同じものを入力します。

これでインストールが続行されて、あとは終了を待つのみです。

STEP2:WEBサーバの動作確認

LAMPサーバのインストールが終わったら、WEBサーバがうまく動いているかどうか確かめてみましょう。

まず、WEBブラウザのURL欄に「http://localhost/」と入力してアクセスしてみて下さい。

apache-test正常に動いていれば、「It works!」という表示が出るはずです。

他のPCからアクセスする場合は、まずネットワークアプレットの「接続情報」でサーバにしている自機のIPアドレスを確認します。デスクトップ版だと、DHCPで「192.168.xx.xx」の形のアドレスを自動取得していると思います。なお、常用する場合はアドレスを固定した方がいいでしょう。この場合、WEBブラウザのURL欄に「http://192.168.xx.xx/」と入力してアクセスします。

また、ファイアーウォールを有効にしている場合は、Gufw(ファイアーウォールの設定用プログラム)などを使ってポート80のtcpを許可しておかないと、アクセスできないことがあります。

【参考】 それぞれを単体でインストールするには、下記のコマンドを実行します。

$ sudo apt-get install apache2
$ sudo apt-get install php5
$ sudo apt-get install mysql-server php5-mysql


STEP3:データベースサーバの設定

ownCloudでは「owncloud」というユーザとそのユーザがアクセス可能な「owncloud」というデータベースを作成しておく必要があります。MySQL Administratorを使えばGUIで追加することも可能ですが、一応サーバ環境を考慮して、端末からユーザとデータベースを追加しましょう。

$ mysql -u root -p
Enter password:

(ここにMySQLのrootパスワードを入力してEnterする)
すると以下の表示が現れて入力待ちの状態になります。

Welcome to the MySQL monitor. Commands end with ; or \g.
(省略)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>


ここで、次のコマンドを実行し、owncloudというデータベースを作成します。一応、日本語対応を考慮してUTF8を指定しています。

mysql> CREATE DATABASE owncloud DEFAULT CHARACTER SET utf8;

さらに、次のコマンドでowncloudデータベースにアクセス可能なowncloudという名前のユーザを追加します。

mysql> GRANT ALL ON owncloud.* TO owncloud@localhost IDENTIFIED BY 'password';

passwordの部分は、自分の使いたいパスワードに変更して下さい(passwordのままにしておくと危険です)。あとは「exit」と入力してMySQLからログアウトします。以上で「下準備」は終了です。

STEP4:ownCloudの導入

ownCloudのサイトから直接tarボールをDLして展開でも構いませんが、ここはスマート(?)にgitを使いましょう。

まず、gitが使えるようにgit-coreを入れておきます。

$ sudo apt-get install git-core

ownCloudをgitで入手します。下記のコマンドを実行すれば、カレントディレクトリに「owncloud」というフォルダが生成され、その中にownCloudのデータ一式が保存されます。

$ git clone git://gitorious.org/owncloud/owncloud.git

入手したownCloudのデータをWEBサーバのドキュメントルート(デフォルトでは/var/www)にコピーします。

$ sudo cp -r owncloud /var/www

コピーしたownCloudのデータの所有者とグループをwww-dataに変更します。

$ cd /var/www
$ sudo chown -R www-data:www-data owncloud


以上でインストールは終了。これで、ownCloudにアクセスできる状態になっているはずなので、設定に移りましょう。

STEP5:ownCloudの設定

ここからはWEBベースでの設定となります。サーバにしている自機でも他のPCからでも構いませんので、まずは下記のURLを指定してアクセスして下さい。

http://192.168.xx.xx/owncloud
(192.168.xx.xxの部分はサーバのIPアドレス)

次のような設定画面が現れるはずです。

owncloud-1うまく表示できない場合は、これまでの手順をよく見直してみて下さい(MySQLの設定など何かを忘れている可能性大)。

【各項目の説明】
user name
 owncloudにログインする際のユーザ名(必須)
password
 owncloudにログインする際のユーザのパスワード(必須)
retype password
 確認のため上と同じパスワードを入力(必須)
data directory
 データの保存場所(変更しなくてよい)
force ssl
 sslを有効にする(databaseがらみのエラー発生:未解決)
automatic backup
 データを自動的にバックアップする
backup directory
 バックアップデータの保存場所

ページの下の方にも重要な設定項目があります。

owncloud-2データベースサーバに関する設定項目です。これはMySQLを使う場合でSQLiteでは異なると思います。

【各項目の説明】
database type
 データベースサーバのタイプ(今回はMySQLを選択必須)
database host
 データベースサーバのホスト名(localhostでOK)
database name
 データベース名(owncloudを指定必須)
table prefix
 データベーステーブルの接頭辞(このまま)
create database and user
 ユーザの追加を許可する場合はチェックを入れる(推奨)
administrative user
 データベースサーバの管理者名(root推奨)
administrative user
 データベースサーバの管理者のパスワード(推奨)
fill initial database:データベースの初期化(必須?)

それぞれの項目の確認が終了したら、最下部にある「save」と書かれたボタンをクリックします。以上で、セットアップは終了です。

STEP6:ownCloudへのログイン

セットアップが無事に終えると、非常にシンプルなログイン画面に変わります。

owncloud-3
上で設定した「owncloudにログインする際のユーザ名・ユーザのパスワード」を入力してログインして下さい。


これで利用可能な状態になりました。長くなってしまったので、使い方については、また次回に回しましょう。

【参考】 デフォルトでは、2MB以上のファイルをアップロードすることが出来ません。これは、PHPの設定によって制限がかかっているためです。/etc/php5/apache2/にある「php.ini」というファイルの中に下記のような記述があるので、この数値を書き換えれば変更できます。

upload_max_filesize = 2M ←デフォルト値
post_max_size= 8M ←デフォルト値

メチャクチャわかりにくいところにあるので、「upload」とか「post」で検索をかけた方が無難です。なお、変更後はApacheを再起動しないと反映されません。

$ sudo service apache2 restart

コマンドでやるなら、これでOK。