小説のために

小説を書くための機材やソフト、サービスなどを記録しています

さくらのレンタルサーバの余ってる容量をOwnCloud で使ってみる

 

余ってるサーバの容量をOwnCloudで有効活用 


さくらのレンタルサーバにOwnCloud をインストールして、最大100GBの容量を使って、Dropbox的な使い方をしてみる、というのをやってみました。


私はもうWeb制作をやりたくないですけど、Webサーバのレンタルをやめるのは寂しい、っていう難しいお年頃というか、めんどくさい時期におりますので、余った容量に成仏してほしいなって感じで試してみるしだいです。

 

もうちょっと「さくらのぽけっと」が使いやすくなれば、万が一のバックアップメディアとして使えて、OwnCloud なんて試そうとも思わないはずなんですが、なんか、ちょっと使いづらいので、しょうがないです。あれを使いやすいと思う人もいるでしょうけど、私はちょっと、なので。

 

参考にしたページ

下記ページを参考にして作業いたしました。

 

tech.nerune.co

 

qiita.com

 

 万が一、もう一度作業をすることになったときのために、上記2つのページの内容をもとにした私の作業記録を下にまとめておきます。

 

OwnCloud とは?

 

OwnCloud とは、Dropbox や Onedrive、Google Drive のようなオンラインストレージというものを自分のサーバで作れるLinux 用のソフトウェアです。

 

Linux+ウェブサーバ+MySQL+PHPで動く

 
OwnCloud は昔で言うLAMP環境で動作します。ただし、さくらのレンタルサーバなら、Linuxではなくて、BSDですし、もうApatchではなくて、Nginx でしょう。あなたがこれを読む頃には、データベースが、MySQLではなくてMariaDBになってるかもしれません。でも、OwnCloudは、相変わらずPHPで書かれているでしょう。PHPなので、わりと多くのレンタルサーバで動いてくれそうな感じです。嬉しいですね。

 
ドメインサブドメイン)のSSL化から始める

 

 OwnCloudサーバを設定するドメイン、あるいはサブドメインを用意し、無料SSLを設定します。
「さくらのコントロールパネル」>「ドメイン設定」>「ドメイン/SSL設定」でドメインを登録し、「SSL 証明書 – 登録」で無料SSLを登録し、受理のメールが届けばOK。
https://owncloud.example.com といった形式のURLで接続できるようにしましょう。
 

※本稿では、http://owncloud.example.comは、サーバの、~/www/owncloud/ と接続されているものとしています。

PHPのバージョンを設定する


「さくらのコントロールパネル」>「PHPのバージョン選択」でver 7.2.13 を指定しました。この記事、執筆中の2018/12/21現在、最新のさくらのレンタルサーバは、PHP 7.2.13 (CGI版)が動作していました。バージョンにこだわるのは、下記のintlモジュールとの整合をとらないと動かないからです。わりとメンテナンス面倒なんです。やっぱり「さくらのぽけっと」でいいんじゃないかと思っちゃう瞬間です。でも、続けましょう。


intlモジュールを有効化する

 

OwnCloudの動作に必要な intl というPHPモジュールが、さくらのレンタルサーバでは提供されていないので、ビルドする必要があります。intl とは、国際化関数です。

ビルドはSSHで作業します。

SSHで作業するためには、Windowsなら、Poderosa とか Teraterm といったSSHクライアントのインストールが必要です。接続については、それぞれのマニュアルを見ていただくとして、接続できたこととして説明を進めます。

 

SSHでログイン後、ビルド用と公開用のフォルダをそれぞれ作成します。

% mkdir -p ~/usr/local/src
% mkdir -p ~/usr/local/php/extension

ICUをビルドします。ICUとは、Unicode用国際化コンポーネントです。

% cd ~/usr/local/src
% wget http://download.icu-project.org/files/icu4c/58.1/icu4c-58_1-src.tgz
% tar zxvf icu4c-58_1-src.tgz
% cd icu/source
% ./configure --prefix=$HOME/usr/local
% gmake
% gmake install

php-7.2.1に同梱されているintlをビルドしました。

先にも書いたように intl とは、国際化関数です。

% cd ~/usr/local/src
% wget https://github.com/php/php-src/archive/php-7.2.1.zip
% unzip php-7.2.1.zip
% mv php-src-php-7.2.1/ext/intl ./intl-php-7.2.1
% rm -rf php-src-php-7.2.1
% cd intl-php-7.2.1
% phpize
% ./configure --with-icu-dir=$HOME/usr/local --with-php-config=/usr/local/php/7.2/bin/php-config
% make

modulesフォルダにできたintl.soを、拡張モジュール指定用のフォルダへコピーします。

% cp ~/usr/local/src/intl-php-7.2.1/modules/intl.so ~/usr/local/php/extension/

 php.iniを設定する

「さくらレンタルサーバのコントロールパネル」>「アプリケーションの設定」>「PHP設定ファイルの編集」中の「php.iniファイルパス」に下記のように書き加えました。

 

extension_dir = /home/<さくらのユーザー名>/usr/local/php/extension
extension=intl.so
upload_max_filesize = 1024M
post_max_size = 1024M
 

下の2行は大きなファイルがあったら困るなと思って書き加えました。 どれだけのサイズが必要かはそれぞれ違うでしょうから、自分にあったものにしてください。

 

データベースを作る

 

ownCloudはSQLiteでも動きますが、エラーをお吐きになられることが多いので、MySQLを使ったほうがいいようです。

 

さくらのレンタルサーバではMySQLlが作成できるので、これを利用しました。「データベースの設定」 項目は後ほど必要になるので、接続先、ユーザー名、パスワードなどメモっておきます。

 

OwnCloud本体(サーバ)のインストール

 

最初に設定したドメイン(またはサブドメイン)に対して、httpsで接続できることを確認します。実際にブラウザから https://owncloud.example.com/ にアクセスし、アクセスできたらOKです。OwnCloudサーバをインストールしましょう。インストールはSSHでやればいいでしょう。

 

SSH接続してダウンロード・解凍する


さくらのレンタルサーバーにSSHで接続し、OwnCloudサーバのzipをダウンロード・解凍します。

サーバ内にowncloud というディレクトリが作られ、必要なファイル一式が解凍されます。ブラウザから https://owncloud.example.com/ にアクセスしてください。

 

インストールは画面の指示通りに config.phpの削除でやり直せる

 

あとは画面に表示される通りに作業してください。最初なにげなく作業してしまうと、SQLite をデータベースとして選んでしまうと思いますが、いったん config.php を削除すると、今度は、MySQLを選ぶ画面がよくわかると思います。必要な項目を入力すれば、MySQLで動作をはじめます。

 

「あれっ、管理者パスワードも忘れてしまった…」という場合などはMySQLもきれいにしないといけないと思います。

 

なお、あなたが徹夜明けの非IT系な人でも、ケアレスミスは初手で終わりにしてください。OwnCloudはクラウドを使って、ローカルのファイルを同期させる機能を持ちます。ということは、クラウドが暴走すると、簡単にローカルのファイルを消します。その責任は誰がとるのか? もちろん管理者であるあなた自身です。

 

 エラー抑止のために .htaccess を編集する

 

さくらのインターネットの仕様により .htaccess にいろいろと設定がされています。

その設定と OwnCloud の要求が噛み合わず、管理者設定画面にエラーが表示されてしまっていますので、抑止のために、htaccess を編集します。

 

  <IfModule mod_env.c>
# Add security and privacy related headers
# Header set X-Content-Type-Options "nosniff"
# Header set X-XSS-Protection "1; mode=block"
# Header set X-Robots-Tag "none"
# Header set X-Frame-Options "SAMEORIGIN"
# Header set X-Download-Options "noopen"
# Header set X-Permitted-Cross-Domain-Policies "none"
Header set Strict-Transport-Security "max-age=15552000"
SetEnv modHeadersAvailable true
</IfModule>
 

 

PCクライアントやiOSAndroid 版のクライアントを入手する


ファイルを同期したいクライアントPCに、ownCloudクライアントアプリをインストールします。PCクライアントは無償です。

iOS版、Android版のクライアントもあります。これらは執筆している2018/12/21現在、200円以下で購入できますが、高いと思う人もいらっしゃるんでしょうか。無償アプリで同期に対応したアプリもあるようなので試してみてください。私はとりあえずPC版だけで満足です。

 

 

このブログはさくら書院の書籍宣伝のために更新されております

さくら書院の電子書籍はAmazon Kindle Storeにて販売中です

姫騎士エリザベート: 名誉戦争 (さくら書院)

姫騎士エリザベート: 名誉戦争 (さくら書院)

  • 作者: 葛城真実
  • 発売日: 2018/01/19
  • メディア: Kindle版
 
デイトリッパー: 終末世界を旅する少女 (さくら書院)

デイトリッパー: 終末世界を旅する少女 (さくら書院)

  • 作者: 葛城真実
  • 出版社/メーカー: 葛城真実
  • 発売日: 2014/07/20
  • メディア: Kindle版
 
祖母の死と手招きするタオル (さくら書院)

祖母の死と手招きするタオル (さくら書院)

  • 作者: 葛城真実
  • 出版社/メーカー: 葛城真実
  • 発売日: 2013/05/23
  • メディア: Kindle版
 
デイトリッパー(愛蔵版) (さくら書院)

デイトリッパー(愛蔵版) (さくら書院)

  • 作者: 葛城真実
  • 出版社/メーカー: 葛城真実
  • 発売日: 2013/06/05
  • メディア: Kindle版
 
世界なんてとっくに終わってる!: 終末テーマ小説二題 (さくら書院)

世界なんてとっくに終わってる!: 終末テーマ小説二題 (さくら書院)

  • 作者: 葛城真実,妻良木美笠
  • 発売日: 2015/11/28
  • メディア: Kindle版