CentOS7とNextcloudで自宅オンラインストレージを構築

7とNextcloudで自宅にオンラインストレージを構築してみます

Nextcloudは、ownCloud立ち上げたFrank Karlitschek氏が、ownCloudから離れて立ち上げたNextcloudです。

https://nextcloud.com/

ownCloudがオープンソースからエンタープライズに注力するようになった(成らざるを得なかった?)ことから、オープンソースに拘りを持つFrank氏が立ち上げたという話です。ただ、NextcloudはownCloudのソースをフォークして開発されているので、同じソースから派生しているオープンソースソフトウェアということになります。Nextcloudの開発者もownCloudから多数参加しているようです。仲が悪くなりそうな話ですが、ownCloudのソースにも修正をコミットしているようで、改修されたソースを使って Nextcloudも進化するという持ちつ持たれつのような関係のようです。

Nextcloudをインストール

今回はCentOS7にNextcloudをインストールして自宅でオンラインストレージを構築します。
CentOS7はMinimalインストール、yum updateした状態から開始します。

CentOS 7.5 1804

Mariadbをインストール

MySQLでも他でもいいのですが、今回はMariadbを使用します。2018年10月25日時点の最新Stable版の10.3をインストールします。

  1. yumコマンドでインストールしたいのでMariaDB10.3用のリポジトリを作成します
    # vi /etc/yum.repos.d/.repo
  2. # MariaDB 10.3 CentOS repository list - created 2018-10-27 09:51 UTC
    # http://downloads.mariadb.org/mariadb/repositories/
    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.3/centos7-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1
    
  3. リポジトリの追加後にインストールできるMariaDBの情報を確認します
  4. # yum info mariadb-server
    読み込んだプラグイン:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: ftp.iij.ad.jp
     * extras: ftp.iij.ad.jp
     * updates: ftp.iij.ad.jp
    利用可能なパッケージ
    名前                : MariaDB-server
    アーキテクチャー    : x86_64
    バージョン          : 10.3.10
    リリース            : 1.el7.centos
    容量                : 123 M
    リポジトリー        : mariadb
    要約                : MariaDB: a very fast and robust SQL database server
    URL                 : http://mariadb.org
    ライセンス          : GPLv2
    説明                : 
                        : 
                        : It is GPL v2 licensed, which means you can use the it free of charge under the
                        : conditions of the GNU General Public License Version 2
                        : (http://www.gnu.org/licenses/).
                        : 
                        : MariaDB documentation can be found at https://mariadb.com/kb
                        : MariaDB bug reports should be submitted through https://jira.mariadb.org
    
    名前                : mariadb-server
    アーキテクチャー    : x86_64
    エポック            : 1
    バージョン          : 5.5.60
    リリース            : 1.el7_5
    容量                : 11 M
    リポジトリー        : updates/7/x86_64
    要約                : The MariaDB server and related files
    URL                 : http://mariadb.org
    ライセンス          : GPLv2 with exceptions and LGPLv2 and BSD
    説明                : MariaDB is a multi-user, multi-threaded SQL database server. It is a
                        : client/server implementation consisting of a server daemon (mysqld)
                        : and many different client programs and libraries. This package contains
                        : the MariaDB server and some accompanying files and directories.
                        : MariaDB is a community developed branch of MySQL.
    
    
    
  5. MariaDBをインストールします
  6. # yum install MariaDB-server MariaDB-client
    読み込んだプラグイン:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: ftp.iij.ad.jp
     * extras: ftp.iij.ad.jp
     * updates: ftp.iij.ad.jp
    依存性の解決をしています
    --> トランザクションの確認を実行しています。
    
    *** 長いので途中略 ***
      3 パッケージ (+39 個の依存関係のパッケージ)
    
    総ダウンロード容量: 201 M
    Is this ok [y/d/N]: y
    Downloading packages:
    警告: /var/cache/yum/x86_64/7/mariadb/packages/MariaDB-10.3.10-centos73-x86_64-common.rpm: ヘッダー V4 DSA/SHA1 Signature、鍵 ID 1bb943db: NOKEY
    MariaDB-10.3.10-centos73-x86_64-common.rpm の公開鍵がインストールされていません
    
    *** 長いので途中略 ***
    ----------------------------------------------------------------------------------------------------
    合計                                                                4.2 MB/s | 201 MB  00:00:47     
    https://yum.mariadb.org/RPM-GPG-KEY-MariaDB から鍵を取得中です。
    Importing GPG key 0x1BB943DB:
     Userid     : "MariaDB Package Signing Key "
     Fingerprint: 1993 69e5 404b d5fc 7d2f e43b cbcb 082a 1bb9 43db
     From       : https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    上記の処理を行います。よろしいでしょうか? [y/N]y
    Running transaction check
    Running transaction test
    Transaction test succeeded
    
    *** 長いので途中略 ***
    
    インストール:
      MariaDB-client.x86_64 0:10.3.10-1.el7.centos     MariaDB-compat.x86_64 0:10.3.10-1.el7.centos    
      MariaDB-server.x86_64 0:10.3.10-1.el7.centos    
    
    依存性関連をインストールしました:
      MariaDB-common.x86_64 0:10.3.10-1.el7.centos     boost-program-options.x86_64 0:1.53.0-27.el7    
      galera.x86_64 0:25.3.24-1.rhel7.el7.centos       lsof.x86_64 0:4.87-5.el7                        
      perl.x86_64 4:5.16.3-292.el7                     perl-Carp.noarch 0:1.26-244.el7                 
      perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7     perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7     
      perl-DBI.x86_64 0:1.627-4.el7                    perl-Data-Dumper.x86_64 0:2.145-3.el7           
      perl-Encode.x86_64 0:2.51-7.el7                  perl-Exporter.noarch 0:5.68-3.el7               
      perl-File-Path.noarch 0:2.09-2.el7               perl-File-Temp.noarch 0:0.23.01-3.el7           
      perl-Filter.x86_64 0:1.49-3.el7                  perl-Getopt-Long.noarch 0:2.40-3.el7            
      perl-HTTP-Tiny.noarch 0:0.033-3.el7              perl-IO-Compress.noarch 0:2.061-2.el7           
      perl-Net-Daemon.noarch 0:0.48-5.el7              perl-PathTools.x86_64 0:3.40-5.el7              
      perl-PlRPC.noarch 0:0.2020-14.el7                perl-Pod-Escapes.noarch 1:1.04-292.el7          
      perl-Pod-Perldoc.noarch 0:3.20-4.el7             perl-Pod-Simple.noarch 1:3.28-4.el7             
      perl-Pod-Usage.noarch 0:1.63-3.el7               perl-Scalar-List-Utils.x86_64 0:1.27-248.el7    
      perl-Socket.x86_64 0:2.010-4.el7                 perl-Storable.x86_64 0:2.45-3.el7               
      perl-Text-ParseWords.noarch 0:3.29-4.el7         perl-Time-HiRes.x86_64 4:1.9725-3.el7           
      perl-Time-Local.noarch 0:1.2300-2.el7            perl-constant.noarch 0:1.27-2.el7               
      perl-libs.x86_64 4:5.16.3-292.el7                perl-macros.x86_64 4:5.16.3-292.el7             
      perl-parent.noarch 1:0.225-244.el7               perl-podlators.noarch 0:2.5.1-3.el7             
      perl-threads.x86_64 0:1.87-4.el7                 perl-threads-shared.x86_64 0:1.43-6.el7         
      rsync.x86_64 0:3.1.2-4.el7                      
    
    置換:
      mariadb-libs.x86_64 1:5.5.60-1.el7_5                                                              
    
    完了しました!
    
  7. MariaDBのバージョンを確認します
  8. # mysql --version
    mysql  Ver 15.1 Distrib 10.3.10-MariaDB, for  (x86_64) using readline 5.1
    
  9. Mariadbの開始と有効化
  10. # systemctl status mariadb
    ● mariadb.service - MariaDB 10.3.10 database server
       Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
      Drop-In: /etc/systemd/system/mariadb.service.d
               └─migrated-from-my.cnf-settings.conf
       Active: inactive (dead)
         Docs: man:mysqld(8)
               https://mariadb.com/kb/en/library/systemd/
    # systemctl start mariadb
    # systemctl enable mariadb
    # systemctl status mariadb
    ● mariadb.service - MariaDB 10.3.10 database server
       Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
      Drop-In: /etc/systemd/system/mariadb.service.d
               └─migrated-from-my.cnf-settings.conf
       Active: active (running) since 土 2018-10-27 19:04:54 JST; 17s ago
         Docs: man:mysqld(8)
               https://mariadb.com/kb/en/library/systemd/
     Main PID: 3958 (mysqld)
       Status: "Taking your SQL requests now..."
       CGroup: /system.slice/mariadb.service
               └─3958 /usr/sbin/mysqld
    
    10月 27 19:04:54 centos7-101 mysqld[3958]: 2018-10-27 19:04:54 0 [Note] InnoDB: 10.3.10 start... 21
    10月 27 19:04:54 centos7-101 mysqld[3958]: 2018-10-27 19:04:54 0 [Note] InnoDB: Loading buffe...ool
    10月 27 19:04:54 centos7-101 mysqld[3958]: 2018-10-27 19:04:54 0 [Note] InnoDB: Buffer pool(s...:54
    10月 27 19:04:54 centos7-101 mysqld[3958]: 2018-10-27 19:04:54 0 [Note] Plugin 'FEEDBACK' is ...ed.
    10月 27 19:04:54 centos7-101 mysqld[3958]: 2018-10-27 19:04:54 0 [Note] Server socket created...:'.
    10月 27 19:04:54 centos7-101 mysqld[3958]: 2018-10-27 19:04:54 0 [Note] Reading of all Master...ded
    10月 27 19:04:54 centos7-101 mysqld[3958]: 2018-10-27 19:04:54 0 [Note] Added new Master_info...ble
    10月 27 19:04:54 centos7-101 mysqld[3958]: 2018-10-27 19:04:54 0 [Note] /usr/sbin/mysqld: rea...ns.
    10月 27 19:04:54 centos7-101 mysqld[3958]: Version: '10.3.10-MariaDB'  socket: '/var/lib/mysq...ver
    10月 27 19:04:54 centos7-101 systemd[1]: Started MariaDB 10.3.10 database server.
    Hint: Some lines were ellipsized, use -l to show in full.
    
  11. 接続を確認
  12. # mysql
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 8
    Server version: 10.3.10-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]> exit
    Bye
    
    
  13. MySQLを初期化します
  14. # mysql_secure_installation
    
    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
          SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
    
    In order to log into MariaDB to secure it, we'll need the current
    password for the root user.  If you've just installed MariaDB, and
    you haven't set the root password yet, the password will be blank,
    so you should just press enter here.
    
    Enter current password for root (enter for none):  <- 新規でインストールしているのでEnter
    OK, successfully used password, moving on...
    
    Setting the root password ensures that nobody can log into the MariaDB
    root user without the proper authorisation.
    
    Set root password? [Y/n] y <- rootパスワードを設定するかなので Y を入力
    New password:              <- 設定するrootパスワードを入力
    Re-enter new password:     <- 確認のために再入力
    Password updated successfully!
    Reloading privilege tables..
     ... Success!
    
    
    By default, a MariaDB installation has an anonymous user, allowing anyone
    to log into MariaDB without having to have a user account created for
    them.  This is intended only for testing, and to make the installation
    go a bit smoother.  You should remove them before moving into a
    production environment.
    
    Remove anonymous users? [Y/n] y <- 匿名ユーザを削除するかの確認
     ... Success!
    
    Normally, root should only be allowed to connect from 'localhost'.  This
    ensures that someone cannot guess at the root password from the network.
    
    Disallow root login remotely? [Y/n] y  <- rootのリモートログインを無効にするかの確認
     ... Success!
    
    By default, MariaDB comes with a database named 'test' that anyone can
    access.  This is also intended only for testing, and should be removed
    before moving into a production environment.
    
    Remove test database and access to it? [Y/n] y  <- testデータベースを削除するかの確認
     - Dropping test database...
     ... Success!
     - Removing privileges on test database...
     ... Success!
    
    Reloading the privilege tables will ensure that all changes made so far
    will take effect immediately.
    
    Reload privilege tables now? [Y/n] y  <- 特権情報をリロードするかの確認
     ... Success!
    
    Cleaning up...
    
    All done!  If you've completed all of the above steps, your MariaDB
    installation should now be secure.
    
    Thanks for using MariaDB!
    
  15. MariaDBにログインしてみます
  16. # mysql -u root -p
    Enter password: 
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 17
    Server version: 10.3.10-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    +--------------------+
    3 rows in set (0.000 sec)
    
    MariaDB [(none)]> select user,host,password from mysql.user;
    +------+-----------+-------------------------------------------+
    | user | host      | password                                  |
    +------+-----------+-------------------------------------------+
    | root | localhost | *01A95CBE05BF739507AE8D97B79CC3B0BA8A0A73 |
    | root | 127.0.0.1 | *01A95CBE05BF739507AE8D97B79CC3B0BA8A0A73 |
    | root | ::1       | *01A95CBE05BF739507AE8D97B79CC3B0BA8A0A73 |
    +------+-----------+-------------------------------------------+
    3 rows in set (0.000 sec)
    
    MariaDB [(none)]> exit
    Bye
    
  17. firewallの設定を変更します
    外部に接続していないならば止めてもいいかも
  18. # firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: enp0s3
      sources: 
      services: ssh dhcpv6-client
      ports: 
      protocols: 
      masquerade: no
      forward-ports: 
      source-ports: 
      icmp-blocks: 
      rich rules:   
    # firewall-cmd --add-service=mysql --permanent
    success
    # firewall-cmd --reload
    success
    # firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: enp0s3
      sources: 
      services: ssh dhcpv6-client mysql
      ports: 
      protocols: 
      masquerade: no
      forward-ports: 
      source-ports: 
      icmp-blocks: 
      rich rules: 
    

ここまでで、MariDBのインストールが完了しました。

PHPをインストール

PHPは5.6以上がシステム要件になっています。CentOS7.5の標準でインストールできるPHPは5.4になるため、最新バージョンのPHP7.3をインストールしてみます。

  1. remiリポジトリを追加します
    # yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
  2. epelリポジトリを追加します
    # yum install epel-release
  3. php7.3をインストールします
    # yum install php73 php73-php php73-php-pear php73-php-mbstring php73-php-pdo php73-php-intl php73-php-gd php73-php-mysqlnd
  4. # yum install php73 php73-php php73-php-pear php73-php-mbstring php73-php-pdo php73-php-intl php73-php-gd php73-php-mysqlnd
    読み込んだプラグイン:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: ftp.iij.ad.jp
     * epel: ftp.iij.ad.jp
     * extras: ftp.iij.ad.jp
     * remi-safe: ftp.riken.jp
     * updates: ftp.iij.ad.jp
    依存性の解決をしています
    --> トランザクションの確認を実行しています。
    
    *** 長いので途中略 ***
    
    インストール  8 パッケージ (+38 個の依存関係のパッケージ)
    
    総ダウンロード容量: 24 M
    インストール容量: 78 M
    Is this ok [y/d/N]: y
    Downloading packages:
    
    *** 長いので途中略 ***
    
    file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi から鍵を取得中です。
    Importing GPG key 0x00F97F56:
     Userid     : "Remi Collet "
     Fingerprint: 1ee0 4cce 88a4 ae4a a29a 5df5 004e 6f47 00f9 7f56
     Package    : remi-release-7.5-2.el7.remi.noarch (installed)
     From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi
    上記の処理を行います。よろしいでしょうか? [y/N]y
    file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 から鍵を取得中です。
    Importing GPG key 0x352C64E5:
     Userid     : "Fedora EPEL (7) "
     Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
     Package    : epel-release-7-11.noarch (@extras)
     From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    上記の処理を行います。よろしいでしょうか? [y/N]y
    Running transaction check
    Running transaction test
    Transaction test succeeded
    
    *** 長いので途中略 ***
    
    インストール:
      php73.x86_64 0:1.0-0.1.el7.remi                   php73-php.x86_64 0:7.3.0~rc4-1.el7.remi         
      php73-php-gd.x86_64 0:7.3.0~rc4-1.el7.remi        php73-php-intl.x86_64 0:7.3.0~rc4-1.el7.remi    
      php73-php-mbstring.x86_64 0:7.3.0~rc4-1.el7.remi  php73-php-mysqlnd.x86_64 0:7.3.0~rc4-1.el7.remi 
      php73-php-pdo.x86_64 0:7.3.0~rc4-1.el7.remi       php73-php-pear.noarch 1:1.10.6-1.el7.remi       
    
    依存性関連をインストールしました:
      apr.x86_64 0:1.4.8-3.el7_4.1                       apr-util.x86_64 0:1.5.2-6.el7                  
      audit-libs-python.x86_64 0:2.8.1-3.el7_5.1         checkpolicy.x86_64 0:2.5-6.el7                 
      environment-modules.x86_64 0:3.2.10-10.el7         fontconfig.x86_64 0:2.10.95-11.el7             
      fontpackages-filesystem.noarch 0:1.44-8.el7        gd-last.x86_64 0:2.2.5-5.el7.remi              
      httpd.x86_64 0:2.4.6-80.el7.centos.1               httpd-tools.x86_64 0:2.4.6-80.el7.centos.1     
      jbigkit-libs.x86_64 0:2.0-11.el7                   libX11.x86_64 0:1.6.5-1.el7                    
      libX11-common.noarch 0:1.6.5-1.el7                 libXau.x86_64 0:1.0.8-2.1.el7                  
      libXpm.x86_64 0:3.5.12-1.el7                       libargon2.x86_64 0:20161029-2.el7              
      libcgroup.x86_64 0:0.41-15.el7                     libicu.x86_64 0:50.1.2-15.el7                  
      libjpeg-turbo.x86_64 0:1.2.90-5.el7                libpng.x86_64 2:1.5.13-7.el7_2                 
      libsemanage-python.x86_64 0:2.5-11.el7             libtiff.x86_64 0:4.0.3-27.el7_3                
      libwebp.x86_64 0:0.3.0-7.el7                       libxcb.x86_64 0:1.12-1.el7                     
      libxslt.x86_64 0:1.1.28-5.el7                      lyx-fonts.noarch 0:2.2.3-1.el7                 
      mailcap.noarch 0:2.1.41-2.el7                      php73-php-cli.x86_64 0:7.3.0~rc4-1.el7.remi    
      php73-php-common.x86_64 0:7.3.0~rc4-1.el7.remi     php73-php-json.x86_64 0:7.3.0~rc4-1.el7.remi   
      php73-php-process.x86_64 0:7.3.0~rc4-1.el7.remi    php73-php-xml.x86_64 0:7.3.0~rc4-1.el7.remi    
      php73-runtime.x86_64 0:1.0-0.1.el7.remi            policycoreutils-python.x86_64 0:2.5-22.el7     
      python-IPy.noarch 0:0.75-6.el7                     scl-utils.x86_64 0:20130529-18.el7_4           
      setools-libs.x86_64 0:3.3.8-2.el7                  tcl.x86_64 1:8.5.13-8.el7                      
    
    完了しました!
    
  5. php73-php-pecl-zip足りていなかったことが判明・・・
  6. 私はNextcloud起動時にエラーになりましたが、先にインストールしておけば良いかと。

    # yum install php73-php-pecl-zip
    読み込んだプラグイン:fastestmirror
    Loading mirror speeds from cached hostfile
    
    *** 長いので途中略 ***
    
    インストール  1 パッケージ (+1 個の依存関係のパッケージ)
    
    総ダウンロード容量: 99 k
    インストール容量: 215 k
    Is this ok [y/d/N]: y
    Downloading packages:
    
    *** 長いので途中略 ***
    
    インストール:
      php73-php-pecl-zip.x86_64 0:1.15.4-1.el7.remi                                                     
    
    依存性関連をインストールしました:
      libzip5.x86_64 0:1.5.1-1.el7.remi
    
  7. インストールバージョンを確認します
    # php73 -v
  8. # php73 -v
    PHP 7.3.0RC4 (cli) (built: Oct 23 2018 09:32:19) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
    
  9. httpdも一緒にインストールされているのでバージョンを確認します
    # httpd -v
  10. # httpd -v
    Server version: Apache/2.4.6 (CentOS)
    Server built:   Jun 27 2018 13:48:59
    
  11. httpdの開始と起動設定の変更
  12. # systemctl status httpd
    ● httpd.service - The Apache HTTP Server
       Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
       Active: inactive (dead)
         Docs: man:httpd(8)
               man:apachectl(8)
    # systemctl enable httpd
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
    # systemctl start httpd
    # systemctl status httpd
    ● httpd.service - The Apache HTTP Server
       Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
       Active: active (running) since 日 2018-10-28 16:32:05 JST; 2s ago
         Docs: man:httpd(8)
               man:apachectl(8)
     Main PID: 11122 (httpd)
       Status: "Processing requests..."
       CGroup: /system.slice/httpd.service
               ├─11122 /usr/sbin/httpd -DFOREGROUND
               ├─11123 /usr/sbin/httpd -DFOREGROUND
               ├─11124 /usr/sbin/httpd -DFOREGROUND
               ├─11125 /usr/sbin/httpd -DFOREGROUND
               ├─11126 /usr/sbin/httpd -DFOREGROUND
               └─11127 /usr/sbin/httpd -DFOREGROUND
    
    10月 28 16:32:05 centos7-101 systemd[1]: Starting The Apache HTTP Server...
    10月 28 16:32:05 centos7-101 httpd[11122]: AH00558: httpd: Could not reliably determine the s...age
    10月 28 16:32:05 centos7-101 systemd[1]: Started The Apache HTTP Server.
    Hint: Some lines were ellipsized, use -l to show in full.
    
  13. firewallの設定を変更します
    httpとhttpsを追加します
  14. # firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: enp0s3
      sources: 
      services: ssh dhcpv6-client mysql
      ports: 
      protocols: 
      masquerade: no
      forward-ports: 
      source-ports: 
      icmp-blocks: 
      rich rules: 
    # firewall-cmd --add-service=http --permanent
    success
    # firewall-cmd --add-service=https --permanent
    success
    # firewall-cmd --reload
    success
    # firewall-cmd --list-all
    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: enp0s3
      sources: 
      services: ssh dhcpv6-client mysql http https
      ports: 
      protocols: 
      masquerade: no
      forward-ports: 
      source-ports: 
      icmp-blocks: 
      rich rules: 
    
  15. ブラウザからアクセスしてWebサーバが動いているか確認します
  16. php73ではなくphpで動くようにリンクを作ります
  17. # php -v
    -bash: php: コマンドが見つかりません
    # ls /usr/bin/php*
    /usr/bin/php73  /usr/bin/php73-cgi  /usr/bin/php73-pear  /usr/bin/php73-phar
    # ln -s /usr/bin/php73 /usr/bin/php
    # ll /usr/bin/php*
    lrwxrwxrwx. 1 root root 14 10月 28 16:46 /usr/bin/php -> /usr/bin/php73
    lrwxrwxrwx. 1 root root 32 10月 28 16:23 /usr/bin/php73 -> /opt/remi/php73/root/usr/bin/php
    lrwxrwxrwx. 1 root root 36 10月 28 16:23 /usr/bin/php73-cgi -> /opt/remi/php73/root/usr/bin/php-cgi
    lrwxrwxrwx. 1 root root 33 10月 28 16:23 /usr/bin/php73-pear -> /opt/remi/php73/root/usr/bin/pear
    lrwxrwxrwx. 1 root root 38 10月 28 16:23 /usr/bin/php73-phar -> /opt/remi/php73/root/usr/bin/phar.phar
    # php -v
    PHP 7.3.0RC4 (cli) (built: Oct 23 2018 09:32:19) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies
    
  18. phpinfo()をコマンドで実行してみます
  19.  php -i
    phpinfo()
    PHP Version => 7.3.0RC4
    
    System => Linux centos7-101 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64
    Build Date => Oct 23 2018 09:32:19
    
    *** 長いので以下略 ***
    

Nextcloudをインストール

Nextcloudのインストールパッケージをダウンロードします。ここではダウンロードをwgetコマンドで実施しています。

  1. wgetをインストールします
    # yum install wget
  2. Nextcloudのパッケージをダウンロードします
    # wget https://download.nextcloud.com/server/releases/nextcloud-14.0.3.zip
  3. # wget https://download.nextcloud.com/server/releases/nextcloud-14.0.3.zip
    --2018-10-28 17:02:47--  https://download.nextcloud.com/server/releases/nextcloud-14.0.3.zip
    download.nextcloud.com (download.nextcloud.com) をDNSに問いあわせています... 88.198.160.133
    download.nextcloud.com (download.nextcloud.com)|88.198.160.133|:443 に接続しています... 接続しました。
    HTTP による接続要求を送信しました、応答を待っています... 200 OK
    長さ: 66501395 (63M) [application/zip]
    `nextcloud-14.0.3.zip' に保存中
    
    100%[==========================================================>] 66,501,395  6.37MB/s 時間 27s    
    
    2018-10-28 17:03:16 (2.31 MB/s) - `nextcloud-14.0.3.zip' へ保存完了 [66501395/66501395]
    
    [root@centos7-101 ~]# ll nextcloud-14.0.3.zip 
    -rw-r--r--. 1 root root 66501395 10月 12 16:16 nextcloud-14.0.3.zip
    
  4. unzipコマンドがなかったのでインストールします
    yum install unzip
  5. ダウンロードしたnextcloudのパッケージを解凍します
    # unzip nextcloud-14.0.3.zip
  6. # unzip nextcloud-14.0.3.zip 
    Archive:  nextcloud-14.0.3.zip
       creating: nextcloud/
    
    *** 長いので以下略 ***
    # ll
    合計 64952
    -rw-------.  1 root root     1433 10月 27 18:18 anaconda-ks.cfg
    drwxr-xr-x. 14 root root     4096 10月 12 15:50 nextcloud
    -rw-r--r--.  1 root root 66501395 10月 12 16:16 nextcloud-14.0.3.zip
    
  7. nextcloudディレクトリをhtmlディレクトリ以下に移動します
    初めからそこで解凍すればいいという気もしますが・・・
  8. # mv nextcloud /var/www/html/
    # ll
    合計 64948
    -rw-------. 1 root root     1433 10月 27 18:18 anaconda-ks.cfg
    -rw-r--r--. 1 root root 66501395 10月 12 16:16 nextcloud-14.0.3.zip
    # ll /var/www/html
    合計 4
    drwxr-xr-x. 14 root root 4096 10月 12 15:50 nextcloud
    
  9. Nextcloudディレクトリのオーナとグループを変更します
  10. # chown -R apache:apache /var/www/html/nextcloud
    # ll /var/www/html/
    合計 4
    drwxr-xr-x. 14 apache apache 4096 10月 12 15:50 nextcloud
    
  11. データベースにNextcloud用のデータベースとユーザを登録します
  12. # mysql -u root -p
    Enter password: 
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 8
    Server version: 10.3.10-MariaDB MariaDB Server
    
    Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]> create database nextcloud;
    Query OK, 1 row affected (0.000 sec)
    
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | nextcloud          |
    | performance_schema |
    +--------------------+
    4 rows in set (0.008 sec)
    
    MariaDB [(none)]> grant all privileges on nextcloud.* to nextcloud@'localhost' identified by 'nextcloudユーザ用のパスワード'; 
    Query OK, 0 rows affected (0.000 sec)
    
    MariaDB [(none)]> flush privileges;
    Query OK, 0 rows affected (0.000 sec)
    
    MariaDB [(none)]> select user,host,password from mysql.user;
    +-----------+-----------+-------------------------------------------+
    | user      | host      | password                                  |
    +-----------+-----------+-------------------------------------------+
    | root      | localhost | *01A95CBE05BF739507AE8D97B79CC3B0BA8A0A73 |
    | root      | 127.0.0.1 | *01A95CBE05BF739507AE8D97B79CC3B0BA8A0A73 |
    | root      | ::1       | *01A95CBE05BF739507AE8D97B79CC3B0BA8A0A73 |
    | nextcloud | localhost | *01A95CBE05BF739507AE8D97B79CC3B0BA8A0A73 |
    +-----------+-----------+-------------------------------------------+
    4 rows in set (0.000 sec)
    
    MariaDB [(none)]> exit
    Bye
    
  13. SELinuxの設定をします
    ここでは止めてしまいます
  14. # getenforce
    Enforcing
    # vi /etc/selinux/config
    
    SELINUX=disabled  <- Enforceからdisabledに変更します。
    
  15. サーバを再起動します
  16. http://サーバ名 or IPアドレス/nextcloud/にアクセスします
  17. 初期設定画面が表示したら、管理者アカウントとパスワードを入力します
  18. Nextcloud

  19. 管理者アカウントを設定したらデータベースを選択して、データベースに登録したアカウトとパスワードを入力して[セットアップを完了します]をクリックします
  20. Nextcloud

  21. ログインが成功すると画面が遷移します
  22. Nextcloud
    Nextcloud

これでサーバの構築が完了しました。