EC2上に構築したAmazon Linux でのLAMP環境にownCloud7をインストールします。
ソースの取得
$ sudo wget --no-check-certificate https://download.owncloud.org/community/owncloud-7.0.2.tar.bz2
$ sudo tar jxvf owncloud-7.0.2.tar.bz2
$ ll
total 27096
drwxr-xr-x 12 nobody 65534 4096 Aug 26 10:18 owncloud
-rw-r--r-- 1 root root 27741618 Aug 26 10:22 owncloud-7.0.2.tar.bz2
$ sudo mv owncloud /var/www/
$ sudo chown -R apache:apache owncloud
ownCloud は .htaccess が有効になっている必要があるため、httpd の設定で .htaccess を有効に設定します。 今回は /etc/httpd/conf.d/owncloud.conf を作成します。
$ cd /etc/httpd/conf.d/
$ sudo vi owncloud.conf
<Directory /var/www/owncloud> Options All AllowOverride All
</Directory>
また、ownCloud のバーチャルホストの設定も上記ファイルに記述します。以下を追記します。
<VirtualHost *:80> ServerAdmin webmaster@xxxx.com DocumentRoot /var/www/owncloud ServerName xxxx.com ErrorLog logs/strage.xxxx.com-error_log CustomLog logs/strage.xxxx.com-access_log combined env=!nolog
</VirtualHost>
LOGの設定で「nolog」の定義は/etc/httpd/conf/httpd.conf に以下を記述します。
SetEnvIf Request_URI "\.(gif)|(jpg)|(png)|(css)|(js)$" nolog
ownCloud用のMySQLの設定
$ mysql -u root -p
mysql> CREATE DATABASE owncloud DEFAULT CHARACTER SET utf8;
mysql> GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'password';
ここで、AWSのコンソールから、固定IPとインスタンスの紐付けを行います。
「Elastic IPs」をクリックして「Allocate New Address」をクリックすると新しくGIPが与えられます。
与えられたGIPを選択して「Associate Address」をクリックしてownCloudをインストールしたEC2インスタンスに紐付けます。その後、DNSレコードを設定しておきます。
apache再起動
sudo /etc/init.d/httpd restart
これで、URLにアクセスして管理者ID登録、MySQLの情報を入力してownCloudの設定をします。
設定してから気付きましたが、データディレクトリをドキュメントルート下のままになってました。安全の為、/home 以下に移動します。
config/config.php を編集します。
'datadirectory' => '/home/data',
data ディレクトリを/home以下にコピーします。
sudo cp -p data /home/
正常に動作することを確認して、ドキュメントルート下のdataを削除します。
ownCloudの管理画面より、外部ストレージ連携でS3との連携を設定しました。前のバージョン(AMI)ではエラー(原因はわからず)になり、つながりませんでしたが、ownCloud7では正常に接続できました。
ownCloud7 ですが下記のようなエラーは今回の環境でも発生してます。