28
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Nextcloud18.0.4 を CentOS7 にインストールしてお手軽に体験してみる

Last updated at Posted at 2019-01-02

はじめに

Nextcloudは、自前のサーバを使って手軽にセキュアなファイル共有環境を実現できるオンラインストレージです。
まずは多くの方にこれを知っていただきたく、最低限に動く環境を構築する手順をまとめてみました。

今回構築する環境

構成イメージ

こんな感じで、いたってシンプルです。まずはインターネットに出ない環境で試してみます。
image.png

利用するOS、ミドルウェア

サーバOS(CentOS)

今回はCentOS7を利用します。VirtualBoxやVagrantなどで準備いただいても問題ありません。
ここで展開している手順の環境は以下のとおりです。

$ cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)
$ uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Nextcloud本体

もちろんこれがないとNextcloudが使えません。
Nextcloudのバージョンはいろいろありますが、2020/4/24時点の最新版である 18.0.4 を使います。

Webサーバ(Apache)

NextcloudはWebベースで動作しますので、Webサーバが動作する環境が必要です。今回はApacheを使います。
ここで展開している手順でのApacheのバージョンは以下のとおりです。

$ httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Aug  8 2019 11:41:18

PHP

NextcloudはPHPで動作します。
ここで展開している手順でのPHPのバージョンは以下のとおりです。

$ php -v
PHP 7.4.5 (cli) (built: Apr 14 2020 12:54:33) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.5, Copyright (c), by Zend Technologies

データベース(SQLite)

Nextcloudではデータベースを利用します。本格的な運用ではMariaDB/MySQLといったデータベースを利用することが推奨されますが、今回はお手軽に使ってみるためSQLiteを使います。
ここで展開している手順でのSQLiteのバージョンは以下のとおりです。

$ sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668

構築手順

ほぼほぼNextcloud公式ドキュメントにのっている内容です。これに基づいて進めていきます。

①インストール作業に必要なパッケージをインストールします。

sudo yum install -y epel-release yum-utils unzip curl wget bash-completion bzip2

②システムを最新状態にアップデートします。

sudo yum update -y

③Webサーバ(Apache)をインストールします。

sudo yum install -y httpd

④Apacheの追加設定ファイルを作成します。

sudo vi /etc/httpd/conf.d/nextcloud.conf

※内容※

<VirtualHost *:80>
  DocumentRoot /var/www/html/
  ServerName  (サーバのIPアドレス)

<Directory "/var/www/html/">
  Require all granted
  AllowOverride All
  Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>

⑤Apacheを自動起動するように設定し、Apacheを起動します。

sudo systemctl enable httpd.service
sudo systemctl start httpd.service

⑥Nextcloudの動作に必要なPHPモジュールをインストールします。

sudo yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm -y 

sudo yum install --enablerepo=remi,remi-php74 php php-fpm php-cli php-common php-curl php-gd php-mbstring php-mysqlnd php-process php-xml php-opcache php-pecl-apcu php-intl php-pecl-redis php-pecl-zip php-pear -y

⑦Nextcloudパッケージ本体とチェックサムファイル(Nextcloudパッケージ本体が正しくダウンロードされているかをチェックするためのファイル)をダウンロードします。

wget https://download.nextcloud.com/server/releases/nextcloud-18.0.4.tar.bz2

wget https://download.nextcloud.com/server/releases/nextcloud-18.0.4.tar.bz2.md5

⑧チェックサムファイルを利用してNextcloudパッケージが正しくダウンロードされているか確認します。

md5sum -c nextcloud-18.0.4.tar.bz2.md5 < nextcloud-18.0.4.tar.bz2

nextcloud-18.0.4.tar.bz2: OK または ``nextcloud-18.0.4.tar.bz2: 完了` と表示されれば OK です

⑨ダウンロードしたNextcloudパッケージを展開します。

tar xf nextcloud-18.0.4.tar.bz2

⑩展開したNextcloudをWebサーバのドキュメントルートにコピーします。

sudo cp -R nextcloud/ /var/www/html/

⑪Nextcloudのデータディレクトリを作成します。

sudo mkdir /var/www/html/nextcloud/data

⑫Nextcloudのディレクトリ全体で読み書きができるように所有者情報を変更します。

sudo chown -R apache:apache /var/www/html/nextcloud

⑬Apacheを再起動します。

sudo systemctl restart httpd.service

⑭SELINUX を無効にします。

sudo setenforce 0

sudo sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config

⑮ブラウザからアクセスできるように、ファイアウォールの設定を変更します。

sudo firewall-cmd --permanent --zone public --add-service http

sudo firewall-cmd --reload

⑯ブラウザで http://(サーバのIPアドレス)/nextcloud にアクセスします。下のような画面が出ればOKです。
image.png
⑰初期ユーザー名、パスワードを決めて入力します。さらに「推奨アプリをインストール」のチェックは外しておきます。終わったら「セットアップを完了します」をクリックします。
image.png
⑱こんな画面が出ればNextcloudが動作しています。おめでとうございます!
image.png
image.png

あとがき

Nextcloudはサーバー1つあれば気軽に試せますので、使い勝手とかいろいろ試してみてください。

更新履歴

  • 2019/1/2: 初版。
  • 2020/4/25: CentOS7 + Apache2.4 + PHP7.4 + Nextcloud 18 の環境に即した修正、他こまごま修正。
28
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?