【ownCloud】Softlayerに専用オンラインストレージ構築


# ownCloudとは
* PHPベースのデュアルライセンスをサポートしたオープンソースプロダクト
* Dropboxのようなオンラインストレージを自前の環境に構築可能
* ブラウザの他、専用のWindows、Linux、Mac、Android、iPhone用クライアントから場所を選ばず接続可能
* アドオン機構があるため、独自アプリを実装することが可能
* 日本語公式サイト[ownCloud.jp](http://owncloud.jp)

# 今回やること 
* ベアメタルサーバーを時間利用できるSoftlayerにownCloudを構築します。（注：今回ベアメタルは利用しません）
* SoftlayerのPortal画面とInstanceへのSSH接続ができることを前提にしています。
* SSH接続については、[こちら](http://qiita.com/kkitase/items/72cf59ca7129aad07339)の記事を参考にしてください。（macの人はPPTP許可してください）

# SoftlayerにownCloudを構築
Softlayerのアカウントを取得しておいてください。
ポータルログインからの構築方法となります。

## １. インスタンスの起動
1. Softlayerのポータルにアクセスし、ログインします。
 * https://control.softlayer.com/

2. DevicesメニューにあるDeviceListを選択します。
![全画面_2014_10_31_9_382.png](https://qiita-image-store.s3.amazonaws.com/0/39596/4fd829a5-3f68-3f3d-7773-d0754ff247f3.png "全画面_2014_10_31_9_382.png")



3. 新たなインスタンスを起動するために、OrderDevicesを選択します。
![SoftLayer_Customer_Portal____Device_List.png](https://qiita-image-store.s3.amazonaws.com/0/39596/75722037-6063-ba19-4e23-ffcbe2438ab2.png "SoftLayer_Customer_Portal____Device_List.png")


4. DeviceのタイプはVirtualServerのHourlyを選択します。
![SoftLayer_Customer_Portal____Device_List.png](https://qiita-image-store.s3.amazonaws.com/0/39596/c4fe7c59-f1a2-faaf-2898-41784af1ff9e.png "SoftLayer_Customer_Portal____Device_List.png")

5. Configurationはそれぞれ以下としておきましょう。
 * Quantity：1 Virtural Server
 * DATACENTER：HKG02 - HongKong - Asia
 * COMPUTIING INSTANCE：1 × 2.0 GHz Core
 * RAM：1GB
 * OPERATING SYSTEM：CentOS 6.x - Minimal Install(64bit)
![SoftLayer®_Technologies_-_Customer_Portal_Home.png](https://qiita-image-store.s3.amazonaws.com/0/39596/a7a68592-8870-7798-f7a4-b0cafa745d35.png "SoftLayer®_Technologies_-_Customer_Portal_Home.png")


6. 「Continue Your Order」ボタンを選択し、遷移後の画面で適当なHostとDomainを入力します。
![SoftLayer®_Technologies_-_Customer_Portal_Home2.png](https://qiita-image-store.s3.amazonaws.com/0/39596/eacf6d5f-ebff-12c8-832f-c63dd9f824ef.png "SoftLayer®_Technologies_-_Customer_Portal_Home2.png")

7. 「Terms and Conditions」をチェックし、「Finalize Your Order」をクリックします。
![SoftLayer®_Technologies_-_Customer_Portal_Home3.png](https://qiita-image-store.s3.amazonaws.com/0/39596/7e513fec-0f8c-2083-40b7-a18c9077910a.png "SoftLayer®_Technologies_-_Customer_Portal_Home3.png")


## ２. ownCloudのインストール
1. Device List画面に戻り、対象のインスタンスが起動したら、SSHでログインします。PrivateIPとPasswordを確認しておきましょう。
SSH接続については、[こちら](http://qiita.com/kkitase/items/72cf59ca7129aad07339)の記事を参考にしてください。
![SoftLayer_Customer_Portal____Device_List.png](https://qiita-image-store.s3.amazonaws.com/0/39596/c0af1b7f-b84f-e039-cd56-81172091365c.png "SoftLayer_Customer_Portal____Device_List.png")

2. 以下のコマンドで周辺のリポジトリとhttpd、mod_sslをインストールし、chkconfigをしておきます。

		yum -y localinstall http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
		yum -y localinstall http://mirror.webtatic.com/yum/el6/latest.rpm
		yum install -y httpd
		yum install -y mod_ssl
		　
		service httpd start
		chkconfig httpd on
3. 以下のコマンドでphp5.4と必要なライブラリをインストールします。

		yum  -y install php54w php54w-cli php54w-common php54w-gd php54w-ldap php54w-mbstring php54w-pdo php54w-xml --exclude php54w-mysql
		yum -y install php54w-fpm php54w-mcrypt php54w-pecl-zendopcache
		yum -y --enablerepo=epel install php-pear-MDB2-Driver-mysqli php-pear-Net-Curl

4. MySQL5.1をアンインストールしてMySQL5.5ををインストールし、chkconfigをしておきます。

		yum -y remove mysql*
		yum -y install mysql55w mysql55w-devel mysql55w-server
		　
		service mysqld start
		chkconfig mysqld on                                                                                                            

5. MySQLの初期設定とデータベースを作成します。
パスワードは適当な値を設定してください。

		mysql -uroot

		mysql> set password for root@localhost=password('owncloud');
		mysql> delete from mysql.user where user = '';
		mysql> flush privileges;
		mysql> 
		mysql> create database owncloud default character set utf8;
		mysql> grant all privileges on owncloud.* to owncloud@localhost identified by 'owncloud';

6. ownCloudをインストールします。

		cd /etc/yum.repos.d/
		sudo wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-6/isv:ownCloud:community.repo
		yum -y --disablerepo epel install owncloud

7. DocumentRootを変更します。

		mv /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
		sed -e 's|DocumentRoot "/var/www/html"|DocumentRoot "/var/www/html/owncloud"|g' /etc/httpd/conf/httpd.conf.org > /etc/httpd/conf/httpd.conf
		 
		service httpd restart

8. ownCloudのデータを配置するフォルダを作成します。

		mkdir /data
		chown apache:apache /data


## ３. ownCloudの初期設定
1. Device List画面のPublicIPにブラウザでアクセスします。
![貼り付けた画像_2014_11_04_14_10.png](https://qiita-image-store.s3.amazonaws.com/0/39596/26f98f16-2e16-5b83-1551-d3f7d6185d41.png "貼り付けた画像_2014_11_04_14_10.png")

2. ブラウザに表示された設定画面に適宜入力し、「セットアップを完了します」ボタンをクリック
![スクリーンショット.png](https://qiita-image-store.s3.amazonaws.com/0/39596/810e04a3-2344-ac32-2248-5e7e0e23a78a.png "スクリーンショット.png")


3. Welcome画面が表示されれば、セットアップは完了です。
![ファイル_-_ownCloud.png](https://qiita-image-store.s3.amazonaws.com/0/39596/ec3668f5-d5ce-b3c6-3dc7-4bab70fba1e3.png "ファイル_-_ownCloud.png")


# 最後に
* SSLに対応した方が良いでしょう。
* Softlayerのオブジェクトストレージに繋ぐことも可能ですが、上記含め操作方法等も今後記事書いていきます。