オープンソース XOOPS Cubeをインストールしてみます

XOOPS CubeでCentOS7にポータルサイトを作ってみます

オープンソースCRMソフトウェアのXOOPS CubeをCentOS7にインストールしてみます。

XOOPS Cubeとは

XOOPS Cubeとは、Webサーバ上でPHPとMySQLを用いて動作するWebアプリケーションであるXOOPSから派生したCMS(コンテンツマネージメントシステム)プロジェクトです。Simple、Secure、Scalableの「3S」コンセプトになっています。XOOPS CubeはXOOPSを日本語を含むマルチバイト環境に対応したプロジェクトで、柔軟性、カスタマイズ性の高いシCMSアプリケーションです。
実際は本家であるXOOPSでも日本語には対応しているようですが、情報も含めて英語環境をベースにしているので、日本語で使用するにはXOOPS Cubeの方がいいようです。
XOOPS Cubeは、少し開発が停滞しているのは気になりますが・・・

XOOPS Cubeでできること

XOOPSを使用してポータルサイトを構築することができます。これらはご自分の環境に必要なモジュールをインストールして使用します。

  • ブログ
  • ニュース
  • 掲示板
  • Wiki
  • スケジュール(カレンダー)
  • 画像アルバム
  • <静的なホームページ/li>

XOOPS Cubeのインストール環境

XOOPS Cubeで環境を構築するには、ディストリビューションパッケージをダウンロードして、モジュールをインストールします。

ディストリビューションパッケージには公式パッケージとサードパーティー製パッケージがあり、公式パッケージは日本にでの公式なXOOPS Cubeで、サードパーティー製パッケージは、公式パッケージを元に有志の方達が機能追加が行われているパッケージです。

XOOPS Cube公式サイトには、次のように記述されています。
2013年現在、「公式パッケージ」に各種モジュールのインストール・アップデート管理機能を持つ便利な X-updateモジュール等を追加した「サードパーティー製パッケージ」である XOOPS X (ten) がお奨めです。

出典: XOOPS Cubeサイト インストールパッケージについて
https://xoopscube.jp/modules/doc/?%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89

ここではお勧めの XOOPS X (ten) を使用したいと思います。

XOOPS X (ten)

2011年から始まった「XCL2.2採用のディストリビューションを作ろう!」という流れの中で、自然発生的にできあがった草の根ディストリビューション「Pack2011」。これをさらに発展させ、2012年春、XOOPS誕生10周年を記念して「XOOPS X (ten)」という名称に変更された最新のディストリビューションです。
このディストリビューションでは、XOOPS界のプロ達が厳選、最新のXCL2.2に対応できるよう自分たちでメンテナンスしたモジュールや最新のテーマを利用することが出来ます。

インストール時は、XOOPS Cube Legacy 本体とaltsys, protector, xupdate の各モジュール「だけ」が標準でインストールされます。(従来のように、沢山のモジュールをFTPでアップロードする必要はありません。)

インストール後は、X-update(導入・アップデート管理)モジュールにより、ブラウザ上で様々なモジュールの配置とインストール・アップデートが可能ですので、これまでよりさらに効率よくサイト構築・運営ができることでしょう。(XOOPS Cube Legacy 本体のアップデートも可能)

出典: XOOPS Cube公式サイト インストールパッケージについて
https://xoopscube.jp/modules/doc/?%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89

X-updateで導入管理できるモジュール一覧
https://xoopscube.jp/modules/doc/?%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89%2FX-update%E3%81%A7%E5%B0%8E%E5%85%A5%E7%AE%A1%E7%90%86%E3%81%A7%E3%81%8D%E3%82%8B%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E4%B8%80%E8%A6%A7

システム要件

正しくない可能性もありますが、次の環境に構築します。
下記を参考にしています。
https://xoopscube.jp/modules/doc/?%E5%8B%95%E4%BD%9C%E7%92%B0%E5%A2%83

メモリ 2048MB
Swap 4096MB
HDD <20GB/td>
OS 7(minimalインストール)
DB MySQL5.7
Web Apache2.4
PHP PHP

HDDは動かすだけならば50MB程度でも動作可能なようです。ただしCMSとしてみたらデータ領域が必要です。
メモリは16MBでも動作可能なようですが、モジュールを稼働させると必要なメモリは増加します。
いずれも今時のサーバ(レンタルではなくオンプレミスに構築するならばです)ならば軽く超えている要件です。

インストール事前準備

XOOPS Cubeのパッケージをインストールする前に必要なパッケージをインストールしておきます。

Apache2.4

  1. Apacheをインストールします
  2. # yum install httpd
    # httpd -v
    

    コマンドサンプル

    [root@xoops-cube-105 ~]# yum install httpd
    読み込んだプラグイン:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: ftp.iij.ad.jp
     * extras: ftp.iij.ad.jp
     * updates: ftp.iij.ad.jp
    依存性の解決をしています
    --> トランザクションの確認を実行しています。
    ---> パッケージ httpd.x86_64 0:2.4.6-67.el7.centos.6 を 
    --> 依存性の処理をしています: httpd-tools = 2.4.6-67.el7.centos.6 のパッケージ: httpd-2.4.6-67.el7.centos.6.x86_64
    --> 依存性の処理をしています: /etc/mime.types のパッケージ: httpd-2.4.6-67.el7.centos.6.x86_64
    --> 依存性の処理をしています: libaprutil-1.so.0()(64bit) のパッケージ: httpd-2.4.6-67.el7.centos.6.x86_64
    --> 依存性の処理をしています: libapr-1.so.0()(64bit) のパッケージ: httpd-2.4.6-67.el7.centos.6.x86_64
    --> トランザクションの確認を実行しています。
    ---> パッケージ apr.x86_64 0:1.4.8-3.el7_4.1 を 
    ---> パッケージ apr-util.x86_64 0:1.5.2-6.el7 を 
    ---> パッケージ httpd-tools.x86_64 0:2.4.6-67.el7.centos.6 を 
    ---> パッケージ mailcap.noarch 0:2.1.41-2.el7 を 
    --> 依存性解決を終了しました。
    
    ****長いので略**** 
    
    :
      httpd.x86_64 0:2.4.6-67.el7.centos.6                                                              
    
    依存性関連をインストールしました:
      apr.x86_64 0:1.4.8-3.el7_4.1                            apr-util.x86_64 0:1.5.2-6.el7             
      httpd-tools.x86_64 0:2.4.6-67.el7.centos.6              mailcap.noarch 0:2.1.41-2.el7             
    
    完了しました!
    [root@xoops-cube-105 ~]# httpd -v
    Server version: Apache/2.4.6 (CentOS)
    Server built:   Oct 19 2017 20:39:16
    
  3. Apacheを開始して起動設定を変更します
  4. [root@xoops-cube-105 ~]# systemctl enable httpd
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
    [root@xoops-cube-105 ~]# systemctl start httpd
    [root@xoops-cube-105 ~]# 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-02-18 19:17:53 JST; 4s ago
         Docs: man:httpd(8)
               man:apachectl(8)
     Main PID: 8598 (httpd)
       Status: "Processing requests..."
       CGroup: /system.slice/httpd.service
               ├─8598 /usr/sbin/httpd -DFOREGROUND
               ├─8599 /usr/sbin/httpd -DFOREGROUND
               ├─8600 /usr/sbin/httpd -DFOREGROUND
               ├─8601 /usr/sbin/httpd -DFOREGROUND
               ├─8602 /usr/sbin/httpd -DFOREGROUND
               └─8603 /usr/sbin/httpd -DFOREGROUND
    
     2月 18 19:17:53 xoops-cube-105 systemd[1]: Starting The Apache HTTP Server...
     2月 18 19:17:53 xoops-cube-105 httpd[8598]: AH00558: httpd: Could not reliably determine the...age
     2月 18 19:17:53 xoops-cube-105 systemd[1]: Started The Apache HTTP Server.
    Hint: Some lines were ellipsized, use -l to show in full.
    

PHP5.4

# yum install php
# php -v

コマンドサンプル

[root@xoops-cube-105 ~]# yum install php
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php.x86_64 0:5.4.16-43.el7_4 を インストール
--> 依存性の処理をしています: php-common(x86-64) = 5.4.16-43.el7_4 のパッケージ: php-5.4.16-43.el7_4.x86_64
--> 依存性の処理をしています: php-cli(x86-64) = 5.4.16-43.el7_4 のパッケージ: php-5.4.16-43.el7_4.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ php-cli.x86_64 0:5.4.16-43.el7_4 を インストール
---> パッケージ php-common.x86_64 0:5.4.16-43.el7_4 を インストール
--> 依存性の処理をしています: libzip.so.2()(64bit) のパッケージ: php-common-5.4.16-43.el7_4.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libzip.x86_64 0:0.10.1-8.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                アーキテクチャー   バージョン                     リポジトリー         容量
====================================================================================================
インストール中:
 php                    x86_64             5.4.16-43.el7_4                updates             1.4 M
依存性関連でのインストールをします:
 libzip                 x86_64             0.10.1-8.el7                   base                 48 k
 php-cli                x86_64             5.4.16-43.el7_4                updates             2.7 M
 php-common             x86_64             5.4.16-43.el7_4                updates             565 k

トランザクションの要約
====================================================================================================
インストール  1 パッケージ (+3 個の依存関係のパッケージ)

総ダウンロード容量: 4.7 M
インストール容量: 17 M
Is this ok [y/d/N]: y
Downloading packages:
(1/4): libzip-0.10.1-8.el7.x86_64.rpm                                        |  48 kB  00:00:00     
(2/4): php-5.4.16-43.el7_4.x86_64.rpm                                        | 1.4 MB  00:00:00     
(3/4): php-common-5.4.16-43.el7_4.x86_64.rpm                                 | 565 kB  00:00:00     
(4/4): php-cli-5.4.16-43.el7_4.x86_64.rpm                                    | 2.7 MB  00:00:00     
----------------------------------------------------------------------------------------------------
合計                                                                6.1 MB/s | 4.7 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : libzip-0.10.1-8.el7.x86_64                                          1/4 
  インストール中          : php-common-5.4.16-43.el7_4.x86_64                                   2/4 
  インストール中          : php-cli-5.4.16-43.el7_4.x86_64                                      3/4 
  インストール中          : php-5.4.16-43.el7_4.x86_64                                          4/4 
  検証中                  : php-cli-5.4.16-43.el7_4.x86_64                                      1/4 
  検証中                  : php-common-5.4.16-43.el7_4.x86_64                                   2/4 
  検証中                  : php-5.4.16-43.el7_4.x86_64                                          3/4 
  検証中                  : libzip-0.10.1-8.el7.x86_64                                          4/4 

インストール:
  php.x86_64 0:5.4.16-43.el7_4                                                                      

依存性関連をインストールしました:
  libzip.x86_64 0:0.10.1-8.el7 php-cli.x86_64 0:5.4.16-43.el7_4 php-common.x86_64 0:5.4.16-43.el7_4

完了しました!
[root@xoops-cube-105 ~]# php -v
PHP 5.4.16 (cli) (built: Nov 15 2017 16:33:54) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

MySql5.7

MariaDBでもいいのではないかと思いますが、MySQLのみと書かれているのでMySQL5.7をインストールします

  1. MySQL公式サイトでリポジトリを確認します
  2. https://dev.mysql.com/downloads/repo/yum/
  3. [Red Hat Enterprise 7 / Oracle 7 (Architecture Independent), RPM Package]項目の[download]ボタンをクリックします
  4. [No thanks, just start my download.]のリンクURLを確認します
  5. 確認したところ次のURLでした(2018年2月18日時点)
    xoops mysql install

    https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
    
  6. リポジトリをインストールします
  7. # yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
    

    コマンドサンプル

    [root@xoops-cube-105 ~]# yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
    読み込んだプラグイン:fastestmirror
    mysql57-community-release-el7-11.noarch.rpm                                  |  25 kB  00:00:00     
    /var/tmp/yum-root-cwNgBz/mysql57-community-release-el7-11.noarch.rpm を調べています: mysql57-community-release-el7-11.noarch
    /var/tmp/yum-root-cwNgBz/mysql57-community-release-el7-11.noarch.rpm をインストール済みとして設定しています
    依存性の解決をしています
    --> トランザクションの確認を実行しています。
    ---> パッケージ mysql57-community-release.noarch 0:el7-11 を インストール
    --> 依存性解決を終了しました。
    
    依存性を解決しました
    
    ====================================================================================================
     Package                      アーキテクチャー
                                            バージョン
                                                      リポジトリー                                 容量
    ====================================================================================================
    インストール中:
     mysql57-community-release    noarch    el7-11    /mysql57-community-release-el7-11.noarch     31 k
    
    トランザクションの要約
    ====================================================================================================
    インストール  1 パッケージ
    
    合計容量: 31 k
    インストール容量: 31 k
    Is this ok [y/d/N]: y
    Downloading packages:
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      インストール中          : mysql57-community-release-el7-11.noarch                             1/1 
      検証中                  : mysql57-community-release-el7-11.noarch                             1/1 
    
    インストール:
      mysql57-community-release.noarch 0:el7-11                                                         
    
    完了しました!
    
  8. MySqlのインストールされるバージョンを確認します
  9. # yum info mysql-community-server
    

    コマンドサンプル

    [root@xoops-cube-105 ~]# yum info mysql-community-server
    読み込んだプラグイン:fastestmirror
    mysql-connectors-community                                                   | 2.5 kB  00:00:00     
    mysql-tools-community                                                        | 2.5 kB  00:00:00     
    mysql57-community                                                            | 2.5 kB  00:00:00     
    (1/3): mysql-tools-community/x86_64/primary_db                               |  38 kB  00:00:00     
    (2/3): mysql-connectors-community/x86_64/primary_db                          |  18 kB  00:00:00     
    (3/3): mysql57-community/x86_64/primary_db                                   | 134 kB  00:00:00     
    Loading mirror speeds from cached hostfile
     * base: ftp.iij.ad.jp
     * extras: ftp.iij.ad.jp
     * updates: ftp.iij.ad.jp
    利用可能なパッケージ
    名前                : mysql-community-server
    アーキテクチャー    : x86_64
    バージョン          : 5.7.21
    リリース            : 1.el7
    容量                : 164 M
    リポジトリー        : mysql57-community/x86_64
    要約                : A very fast and reliable SQL database server
    URL                 : http://www.mysql.com/
    ライセンス          : Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
                        : Under GPLv2 license as shown in the Description field.
    説明                : The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
                        : and robust SQL (Structured Query Language) database server. MySQL Server
                        : is intended for mission-critical, heavy-load production systems as well
                        : as for embedding into mass-deployed software. MySQL is a trademark of
                        : Oracle and/or its affiliates
                        : 
                        : The MySQL software has Dual Licensing, which means you can use the MySQL
                        : software free of charge under the GNU General Public License
                        : (http://www.gnu.org/licenses/). You can also purchase commercial MySQL
                        : licenses from Oracle and/or its affiliates if you do not wish to be bound by
                        : the terms of the GPL. See the chapter "Licensing and Support" in the manual
                        : for further info.
                        : 
                        : The MySQL web site (http://www.mysql.com/) provides the latest news and
                        : information about the MySQL software.  Also please see the documentation
                        : and the manual for more information.
                        : 
                        : This package includes the MySQL server binary as well as related utilities
                        : to run and administer a MySQL server.
    
  10. # yum install mysql-community-server
    # mysqld --version
    

    コマンドサンプル

    [root@xoops-cube-105 ~]# yum install mysql-community-server
    読み込んだプラグイン:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: ftp.iij.ad.jp
     * extras: ftp.iij.ad.jp
     * updates: ftp.iij.ad.jp
    依存性の解決をしています
    --> トランザクションの確認を実行しています。
    
    ****長いので略****
    
    インストール:
      mysql-community-libs.x86_64 0:5.7.21-1.el7     mysql-community-libs-compat.x86_64 0:5.7.21-1.el7  
      mysql-community-server.x86_64 0:5.7.21-1.el7  
    
    依存性関連をインストールしました:
      mysql-community-client.x86_64 0:5.7.21-1.el7     mysql-community-common.x86_64 0:5.7.21-1.el7    
      net-tools.x86_64 0:2.0-0.22.20131004git.el7      perl.x86_64 4:5.16.3-292.el7                    
      perl-Carp.noarch 0:1.26-244.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-2.el7             perl-HTTP-Tiny.noarch 0:0.033-3.el7             
      perl-PathTools.x86_64 0:3.40-5.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         
    
    置換:
      mariadb-libs.x86_64 1:5.5.56-2.el7                                                                
    
    完了しました!
    [root@xoops-cube-105 ~]# mysqld --version
    mysqld  Ver 5.7.21 for Linux on x86_64 (MySQL Community Server (GPL))
    
  11. MySQLを開始して起動設定を変更します
  12. # systemctl status mysqld.service
    # systemctl start mysqld.service
    # systemctl enable mysqld.service
    

    コマンドサンプル

    [root@xoops-cube-105 ~]# systemctl status mysqld.service
    ● mysqld.service - MySQL Server
       Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
       Active: inactive (dead)
         Docs: man:mysqld(8)
               http://dev.mysql.com/doc/refman/en/using-systemd.html
    [root@xoops-cube-105 ~]# systemctl start mysqld.service
    [root@xoops-cube-105 ~]# systemctl enable mysqld.service
    [root@xoops-cube-105 ~]# systemctl status mysqld.service
    ● mysqld.service - MySQL Server
       Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
       Active: active (running) since 日 2018-02-18 19:15:12 JST; 11s ago
         Docs: man:mysqld(8)
               http://dev.mysql.com/doc/refman/en/using-systemd.html
     Main PID: 8523 (mysqld)
       CGroup: /system.slice/mysqld.service
               └─8523 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
    
     2月 18 19:15:08 xoops-cube-105 systemd[1]: Starting MySQL Server...
     2月 18 19:15:12 xoops-cube-105 systemd[1]: Started MySQL Server.
    

MySQLを初期化

MySQLのインストール後は、MySQLを初期化します。

MySQLのテンポラリーパスワードを確認

MySQLを初期化するためには、テンポラリーパスワードでログインする必要があります。このテンポラリーパスワードは /var/log/mysqld.log に記載されています

[root@xoops-cube-105 ~]# cat /var/log/mysqld.log |grep root
2018-02-18T10:15:08.928506Z 1 [Note] A temporary password is generated for root@localhost: passwordが書かれている

mysql_secure_installationコマンドを実行します。パスワードの要求には確認したバスワードを使用します。

# mysql_secure_installation

コマンドサンプル

[root@xoops-cube-105 ~]# mysql_secure_installation

Securing the MySQL server deployment.

Enter password for user root: ここで先ほど確認したパスワードを入力します

The existing password for the user account root has expired. Please set a new password.

New password:  パスワードポリシーは大文字(1文字以上)と小文字のアルファベットと特殊文字が必要

Re-enter new password: 
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.

Estimated strength of the password: 100 
Change the password for root ? ((Press y|Y for Yes, any other key for No) : y

New password: 

Re-enter new password: 

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) : 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? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL 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? (Press y|Y for Yes, any other key for No) : y
 - 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? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 

データベースを作成

初期化が完了したら、データベースを作成します。

# mysql -uroot -p
mysql> create database xoops;
mysql> grant all privileges on xoops.* to xoops@localhost identified by 'パスワード';

コマンドサンプル

[root@xoops-cube-105 ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database xoops;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| xoops              |
+--------------------+
5 rows in set (0.00 sec)

mysql> grant all privileges on xoops.* to xoops@localhost identified by 'パスワード';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> quit
Bye

XOOPS Cubeをインストール

XOOPS Cubeをダウンロード

XOOPS CubeのインストールはCGIインストーラとパッケージ版があります。
CGIインストーラはsetup.cgiをダウンロードして実行するだけでファイルが配置されるもので、パッケージ版はパッケージをダウンロード、解凍、配置という手順を実施するものです。とは言っても、パッケージ版もシェル・スクリプトを実行するだけなので簡単に配置できます。

今回はパッケージ版をダウンロードします。

# wget https://github.com/XoopsX/legacy/archive/stable.zip

コマンドサンプル

[root@xoops-cube-105 ~]# wget https://github.com/XoopsX/legacy/archive/stable.zip
--2018-03-07 13:37:13--  https://github.com/XoopsX/legacy/archive/stable.zip
github.com (github.com) をDNSに問いあわせています... 192.30.253.113, 192.30.253.112
github.com (github.com)|192.30.253.113|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: https://codeload.github.com/XoopsX/legacy/zip/stable [続く]
--2018-03-07 13:37:14--  https://codeload.github.com/XoopsX/legacy/zip/stable
codeload.github.com (codeload.github.com) をDNSに問いあわせています... 192.30.253.121, 192.30.253.120
codeload.github.com (codeload.github.com)|192.30.253.121|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 特定できません [application/zip]
`stable.zip' に保存中

    [                                  <=>                      ] 16,092,929  2.23MB/s 時間 8.2s   

2018-03-07 13:37:23 (1.87 MB/s) - `stable.zip' へ保存終了 [16092929]

シェルスクリプトを使ってインストール

ダウンロードしたファイルをDocument Root以下にXOOPS Cubeを配置するディレクトリを作成して、そのディレクトリにstable.zipをコピーしてからシェルスクリプトを実行します。
シェルの内容は描きURLを参照ください。
https://xoops.hypweb.net/modules/UsersWiki/person/nao-pon/blog/2012-09-02

# cp -p stable.zip /var/www/html
# cd /var/www/html
# T="../xoops_trust_path";curl -kL github.com/XoopsX/installer/raw/master/install.sh|sed "s##$T#"|sh

コマンドサンプル

[root@xoops-cube-105 ~]# cp -p stable.zip /var/www/html
[root@xoops-cube-105 ~]# ls
anaconda-ks.cfg  legacy-stable  stable.zip
[root@xoops-cube-105 ~]# cd /var/www/html
[root@xoops-cube-105 html]# ls
stable.zip
[root@xoops-cube-105 html]# T="../xoops_trust_path";curl -kL github.com/XoopsX/installer/raw/master/install.sh|sed "s##$T#"|sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   134  100   134    0     0    105      0  0:00:01  0:00:01 --:--:--   324
100   941  100   941    0     0    599      0  0:00:01  0:00:01 --:--:--   599
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   128    0   128    0     0    139      0 --:--:-- --:--:-- --:--:--   138
  0     0    0 11.4M    0     0  1485k      0 --:--:--  0:00:07 --:--:-- 2316k
cp: ディレクトリ `XoopsX-legacy-e6c94fd/html/.' を省略しています
cp: ディレクトリ `XoopsX-legacy-e6c94fd/html/..' を省略しています
cp: ディレクトリ `XoopsX-legacy-e6c94fd/xoops_trust_path/.' を省略しています
cp: ディレクトリ `XoopsX-legacy-e6c94fd/xoops_trust_path/..' を省略しています
----------------------------------------
All the processings were completed. Please acsess to your XOOPS site.

これでインストールが終わりです。

ダウンロードファイルを解凍して配置

ダウンロードしたzipファイルを解凍します。zipファイルを解凍するにはunzipコマンドを使用します。unzipがインストールされていない場合はunzipをyumコマンドなどでインストールしてください。
当サイトでの検証では、シェル・スクリプトでインストールしています。手動での手順は解凍するまでの確認となります。

# yum install unzip

stable.zipを解凍します。

# unzip stable.zip

コマンドサンプル(/home/rootにstable.zipをダウンロードしています)

[root@xoops-cube-105 ~]# ls
anaconda-ks.cfg  stable.zip
[root@xoops-cube-105 ~]# unzip stable.zip 
Archive:  stable.zip
e6c94fdaf6ed59caaf11d5c08cb50b20df2b90c4

****長いので略****
[root@xoops-cube-105 ~]# ls
anaconda-ks.cfg  legacy-stable  stable.zip

legacy-stableに解凍されました。次に解凍したデータをXOOPS Cubeを配置するディレクトリにコピーします。

# cd legacy-stable/

コマンドサンプル(/home/rootにstable.zipをダウンロードしています)
ここではDocument Rootの/var/www/以下にデータをコピーします

[root@xoops-cube-105 ~]# cd legacy-stable/
[root@xoops-cube-105 legacy-stable]# ls
README.md  docs  extras  html  xoops_trust_path
[root@xoops-cube-105 legacy-stable]# cp * /var/www/

XOOPS Cubeのインストールウィザード

Webブラウザからhttp://サーバIP/XOOPSディレクトリ/を開き、XOOPS Cubeのインストールウィザードを開きます。
CentOS7の場合は、Firewallが開始していますので、停止するか、 Firewallの設定をします。

Firewallの設定をする場合(デフォルト状態を想定)

# firewall-cmd --list-services --zone=public  --permanent  
dhcpv6-client ssh
# firewall-cmd --add-service=http --zone=public --permanent
success
# firewall-cmd --list-services --zone=public  --permanent  
dhcpv6-client ssh http
# systemctl restart firewalld
  1. インストール作業に使用する言語を選択してイントロダクション>>[→]ボタンをクリックします
  2. xoops install

  3. アクセス権のチェック>>[→]ボタンをクリックします
  4. xoops install

  5. チェックでエラーが発生した場合は、指示に従って対処を行いリロードします
  6. xoops install

    -rw----rw-.  1 root root     2162  3月  7 13:53 mainfile.php
    ↑だったので、修正
    -rw-rw-rw-.  1 root root     2162  3月  7 13:53 mainfile.php
    

    ここでエラーが継続してしまったのですが、パーミッションを色々変えてみたりググったりしましたが、変化が無く、もしかして・・・とSELinuxをdisabledにしたところ、「アクセス権に問題はありません」と表示されるようになりました。
    xoops install

  7. データベースの設定を行います
    入力後、確認 >> [→]ボタンをクリックします
  8. xoops install
    xoops install

  9. 入力内容を確認して設定の保存 >> [→]ボタンをクリックします
  10. xoops install

  11. XOOPS_TRUST_PATH のファイルのアクセス権のチェック >> [→]ボタンをクリックします
  12. xoops install

  13. 「問題が無ければ」パス・URLのチェック >> [→]ボタンをクリックします
  14. xoops install

  15. パス設定を確認してデータベース設定の確認 >> [→]ボタンをクリックします
  16. xoops install

  17. データベース設定を確認してデータベースをチェック >> [→]ボタンをクリックします
  18. xoops install
    ここでエラーが発生しました。

    Fatal error: Call to undefined function mysqli_init() in /var/www/html/class/database/mysqlidatabase.php on line 80
    

    どうやらphp-mysqlがない為にphpがmysqlを認識していないようです。php-mysqlをインストールしました。

    [root@xoops-cube-105 ~]# rpm -qa |grep php
    php-common-5.4.16-43.el7_4.x86_64
    php-5.4.16-43.el7_4.x86_64
    php-cli-5.4.16-43.el7_4.x86_64
    [root@xoops-cube-105 ~]# rpm -qa |grep mysql
    mysql57-community-release-el7-11.noarch
    mysql-community-client-5.7.21-1.el7.x86_64
    mysql-community-libs-5.7.21-1.el7.x86_64
    mysql-community-server-5.7.21-1.el7.x86_64
    mysql-community-common-5.7.21-1.el7.x86_64
    mysql-community-libs-compat-5.7.21-1.el7.x86_64
    [root@xoops-cube-105 ~]# yum install php-mysql
    読み込んだプラグイン:fastestmirror
    Loading mirror speeds from cached hostfile
     * base: ftp.jaist.ac.jp
     * extras: ftp.jaist.ac.jp
     * updates: ftp.jaist.ac.jp
    依存性の解決をしています
    --> トランザクションの確認を実行しています。
    ---> パッケージ php-mysql.x86_64 0:5.4.16-43.el7_4 を インストール
    --> 依存性の処理をしています: php-pdo(x86-64) = 5.4.16-43.el7_4 のパッケージ: php-mysql-5.4.16-43.el7_4.x86_64
    --> トランザクションの確認を実行しています。
    ---> パッケージ php-pdo.x86_64 0:5.4.16-43.el7_4 を インストール
    --> 依存性解決を終了しました。
    
    依存性を解決しました
    
    ====================================================================================================
     Package                アーキテクチャー    バージョン                   リポジトリー          容量
    ====================================================================================================
    インストール中:
     php-mysql              x86_64              5.4.16-43.el7_4              updates              101 k
    依存性関連でのインストールをします:
     php-pdo                x86_64              5.4.16-43.el7_4              updates               98 k
    
    トランザクションの要約
    ====================================================================================================
    インストール  1 パッケージ (+1 個の依存関係のパッケージ)
    
    総ダウンロード容量: 199 k
    インストール容量: 424 k
    Is this ok [y/d/N]: y
    Downloading packages:
    (1/2): php-mysql-5.4.16-43.el7_4.x86_64.rpm                                  | 101 kB  00:00:00     
    (2/2): php-pdo-5.4.16-43.el7_4.x86_64.rpm                                    |  98 kB  00:00:00     
    ----------------------------------------------------------------------------------------------------
    合計                                                                1.0 MB/s | 199 kB  00:00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      インストール中          : php-pdo-5.4.16-43.el7_4.x86_64                                      1/2 
      インストール中          : php-mysql-5.4.16-43.el7_4.x86_64                                    2/2 
      検証中                  : php-pdo-5.4.16-43.el7_4.x86_64                                      1/2 
      検証中                  : php-mysql-5.4.16-43.el7_4.x86_64                                    2/2 
    
    インストール:
      php-mysql.x86_64 0:5.4.16-43.el7_4                                                                
    
    依存性関連をインストールしました:
      php-pdo.x86_64 0:5.4.16-43.el7_4                                                                  
    
    完了しました!
    [root@xoops-cube-105 ~]# systemctl restart httpd
    
  19. 接続に問題がなければ データベーステーブル作成 >> [→]をクリックします
  20. xoops install

  21. テーブルが作成されたら サイト管理者についての設定 >> [→]をクリックします
  22. xoops install

  23. サイト管理者の設定をして 完了 >> [→]をクリックします
  24. xoops install

  25. データが生成されたら 完了 >> [→]をクリックします
  26. xoops install

  27. インストールの第1ステップが完了 インストール第2ステップ >> [→]をクリックします
    キャプチャができていませんでした。すみません。
  28. ログイン画面で登録した管理者でログインします
    メンテナンス中と表示されています
  29. xoops install

  30. 必要なモジュールをインストールして完了が表示されればインストール完了です
  31. xoops install

インストールをしてみて

インストール全体は手順が確立されているので簡単ですが、PHPのバージョンなどが合っていないと動かないことがありました。これは私の作業の問題も多々あると思います。あと、インストール中のアラートが表示されていたので実際に運用するとしたら気になる点でした。解決しなくてはならないものとそうではないものがあるようです。

スポンサーリンク
spdsk-side
spdsk-side