クラウドストレージを自分で一から構築するために「ownCloud」を使いたいとします。
そのために、VPSを提供している「ConoHa VPS」で、「ownCloud」のアプリケーションイメージを設定して、簡単に自社でクラウドストレージ環境を構築してみたいと思います。
VPSであれば、構築自体はあっという間にできるのですが、構築後すぐにクラウドストレージにアクセスするには、「http~」でないと接続できないのです。
セキュアな環境で使うためにも「SSL化(常時https~でアクセス)」をしたいのですが、そのためにはまず独自ドメイン(以降、ドメイン)の取得(既に持っているドメインの移管も可)からDNSの設定を行う必要があります。
ownCloudを実際に使用する前に、まずは「ConoHa VPSでownCloudの構築」、「ドメイン・ネームサーバーの設定」、「DNS設定」、「SSL化」と順番に設定していきたいと思います。
※作業はすべてWindowsパソコンで行っています
目次
ConoHa VPSでownCloudを構築
最初に、ConoHaアカウントとして登録したユーザーアカウントとパスワードを使って「ConoHa VPS」の管理画面にログインします。
左メニューの「サーバー追加」で新しくサーバーを構築します。
OSは、無難なところで「CentOS(記事執筆時最新提供バージョン:8.2/64bit)」を選択しました。
組み込むアプリケーションに、以下のように「ownCloud」を選択します。
合わせて、サーバーにログインするための管理者「root」のパスワードと、設置するサーバーに自分で識別するための「ネームタグ」を設定します。
これで、とりあえず「ownCloud」を使うための構築作業は完了です。
SSHでサーバーに接続できますし、「ownCloud」でデータ保存に使われるデータベースサーバーである「MySQL」にもアクセスできるようになっています。
※黒で塗りつぶしている部分はIPアドレスになります
ブラウザで「http」接続すると「ownCloud」の初期画面が表示されていますね。
ただし、ドメインの設定をしていないので、「ConoHa VPS」の管理画面で最初にサーバーを追加した際に発行される「IPアドレス」を直接入力しての接続となってしまいます。
したがって、この後の作業で接続URLを以下のように変更していきたいと思います。
[変更前]http://xxx.xxx.xxx.xxx/owncloud
[変更後]https://officeonemanage.xyz/owncloud
ドメインで使用するDNSサーバーの変更
それでは、構築したサーバーへ「ドメイン名」で接続するための作業を行っていきます。
新規でドメインを取得するか、既に持っている「ドメイン」を「ConoHa VPS」のサーバーで使うために移管するかを選択できます。
「ConoHa VPS」で移管できるTLD(トップレベルドメイン)は決まっています。
移管できるTLDは、設定画面のプルダウンメニューで確認でできます。
本記事執筆時点では、「.com」や「.net」など計16種類となります。
「ConoHa VPS」のDNS機能を利用するために、ドメインの提供元でDNSサーバーの設定をします。
以下、当サイトでご紹介するドメインの提供元は、「お名前.com」となります。

ご覧頂いている方それぞれの環境で読み替えてください。
お名前.comでDNSサーバーを登録する
「お名前.com」の管理画面で、「ConoHa VPS」のDNSサーバーのアドレスを登録します。
本記事では、今回新たに取得したドメインである「officeonemanage.xyz」を使っていきます。
このドメインで使用するDNSサーバーを変更するために、左メニューから「ネームサーバーの変更」をクリックします。
ns-a1.conoha.io
ns-a2.conoha.io
ns-a3.conoha.io
設定するドメインが選択されているのを確認し、「ConoHa VPS」で指定されている3つのネームサーバーを上のように登録します。
DNSレコードの追加
次に、「ConoHa VPS」の管理画面でDNSレコードの追加を行います。
そのために、まずは「お名前.com」で取得したドメインを「ConoHa VPS」のドメインリストに保存します。
左メニューから「DNS」をクリックします。(①)
右上の「ドメイン」をクリックします。(②)
ドメイン名の入力で、取得したドメインを入力します。(③)
入力ができたら「保存」をクリックします。
保存したドメインのDNSレコードに「Aレコード」を追加します。
ドメインをクリックして、右の「編集(鉛筆マーク)」をクリックし、「+」をクリックして追加してみましょう。
タイプ:A(通常)
名称:@
TTL:3600
値:割り当てられたIPアドレス
割り当てられたIPアドレスを確認する場合は、上のように左メニューの「サーバー」をクリックして、使用しているサーバーの一覧から目的の「ネームタグ」をクリックします。
その先の「IPv4」に、このサーバーに割り当てられたIPアドレスが記載されています。
DNSレコードが作成できたら、「保存」をクリックします。
無料のSSL「Let’s Encrypt」をインストールする
常時SSL化するためには、SSL証明書をサイトに導入する必要があります。
ここでは、無料で使える「Let’s Encrypt」をインストールしていきます。
Webサーバーの設定を変更する
「Let’s Encrypt」をインストールする前に、VPSへのアクセスからドメインを処理するためにWebサーバーの設定ファイルを編集します。
SSHでサーバーに接続して、Webサーバーの設定ファイルにアクセスします。
「ownCloud」をサーバーにインストールした時点で既に、Webサーバーとして「Apache」が動いています。
「TeraTerm」を起動し、「ホスト」に先程確認した「IPアドレス」を入力します。
サービスは「SSH」にチェックが入っている状態で、「OK」をクリックします。
「ConoHa VPS」の管理画面でサーバーを追加した際に「rootのパスワード」を設定しましたが、そのパスワードを使ってログインします。
ここでは割愛しますが、SSH接続する際には管理者権限のrootではなく、作業用のユーザーを作成しておいて、それらの「一般ユーザー」でログインするようにした方がいいでしょう。
root権限が必要なインストール作業などが発生した場合は、例え一般ユーザーでログイン中であっても、コマンドで簡単にrootユーザーに切り替えられます。
トラブル発生時に、”どのような作業が誰によって行われたか”などを追う場合も出てきます。
厳密に担当ユーザー名を分けてログインしておけば、作業状況を追いやすくなりますし、ユーザーによって権限を分けておけば、そもそもさせる必要のない作業を未然に防ぐ手立てにもなります。
ログイン後の画面で、以下のように入力します。
vi /etc/httpd/conf/httpd.conf
「Apache」の設定ファイルである「httpd.conf」が開きます。
「i」キーを押し、入力状態にしてから赤く囲んだように入力します。
<VirtualHost *:80>
ServerAdmin root@example.com
DocumentRoot /var/www/html
ServerName example.com
</VirtualHost>
当サイトの環境では、「example.com」の部分は「officeonemanage.xyz」となります。
それぞれの取得したドメインによって書き換えてください。
入力できたら、「esc」キーを押し、「:wq」と入力後にエンターキーを押して終了します。
「Apache」を再起動します。
コマンドで以下のように入力します。
systemctl restart httpd
mod_sslをインストールする
「SSL証明書」をインストールする場合、「mod_ssl」が必要となりますので、引き続きコマンドで以下のように入力します。
yum install mod_ssl
インストールファイルサイズが表示され、インストールするかどうかを聞かれます。
「y」キーを押してエンターキーを押します。
「Complete!」と表示されれば、インストールが完了です。
念のために、再度以下のコマンドで「Apache」を再起動しておきましょう。
systemctl restart httpd
Let’s Encryptをインストールする
さて、それでは「Let’s Encrypt」をインストールします。
まずは、「certbot」のインストールを行います。
yum install certbot python2-certbot-apache
インストールされるファイルサイズが表示され、インストールするかどうかを聞かれます。
「y」キーを押し、エンターキーを押してインストールします。
インストールが完了すると同じように「Complete!」と表示されます。
続けて、「certbot」を実行します。
certbot – – apache -d example.com
「example.com」は、当サイトの環境では「officeonemanage.xyz」となります。
それぞれのドメインに書き換えてください。
「Certbot」を実行すると、最初にメールアドレスを聞かれます。
更新情報や緊急通知などを受け取るメールアドレスを入力して、と言っているのです。
任意のメールアドレスを入力して、エンターキーを押します。
サービスの利用規約を読み、ACMEプロトコルでの通信にサーバーが登録されるのを同意する必要があります。
「A」と入力して、エンターキーを押します。
先程入力したメールアドレスを「Let’s Encrypt」パートナーに公開してもいいかどうかを聞かれています。
敢えて公開する必要もないので、ここでは「N」を入力してエンターキーを押します。
これで、「Let’s Encrypt」のインストールが完了しました。
最後に、「Apache」を再起動します。
systemctl restart httpd
ownCloudにアクセス
さて、それではブラウザで「ownCloud」にアクセスしてみましょう。
「https」で通信ができていますね。
URLバーの鍵マークをクリックすると、証明書の発行者が確認できます。
「Let’s Encrypt」によって発行されているのが分かります。
ちなみに、「http」と入力してもリダイレクトが効いているので、自動的に「https」での通信へと切り替わります。
総括
今回は、VPSタイプのレンタルサーバーを提供している「ConoHa VPS」を使って、「ownCloud」を構築し、ドメインを設定して、SSL通信するところまでを順番に見てきました。
VPSサービスを使えば、ソフトウェアのインストールを含めたサーバー環境の構築までが簡単なので、その後実際に利用するための足回りを揃えるだけですぐに使えるようになります。
SSHコマンドやLinux系OSの扱いなど多少とっつきづらい部分もあるかもしれませんが、一からすべてを構築するよりは断然素早くサーバー環境を作れますし、気に入らなければサーバー環境の削除、再構築もすぐにできます。
それがVPSを使うメリットでもあります。

さて、次回はサーバーに「cron」を設定してみたいと思います。
Windowsで「タスク」というツールを使った経験のある方は多いと思いますが、「タスク」のLinux版ですね。
「タスク」と同じように定期的に実行したい作業を登録して、作業者の負担を軽減できるツールとなります。
Linux系OSでは、「タスク」と同じ機能のものが「cron」になります。
今回インストールした「Let’s Encrypt」の証明書の有効期間は「3ヶ月」となっていて、更新するには定期的な作業が必要となるのです。
その更新作業を「cron」を使って自動化させてみます。
それでは、また次回!