アプリケーション開発ポータルサイト
ServerNote.NET
カテゴリー【CORESERVERCentOSPHP
CORESERVER v1 CORE-MINIプランでownCloudをインストールする
POSTED BY
2023-04-15

素直にv2を使えばコントロールパネルからインストールできるわけだが、v1の契約がまだ大量に残っているのでv1に手動でインストールするメモ。

一番ネックになるのはXMLReader&Writerクラスが必要なのにCORESERVERには入っておらず自力でコンパイル・設置する必要があること。

最も確実なのはCORESERVERと同一OSの仮想マシンを手元に作ってそこでコンパイルして転送・設置するのがよい。

1、CORESERVERと同一のOS上でPHP7.4をコンパイルする

CORESERVERにログインしてhostnamectlでOSを調べる。

hostnamectl

  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 4.4.0-210-generic
      Architecture: x86-64

であるそうなので、自分のWindowsマシンのVirtualBoxやVMWareで仮想マシン→CentOS7/x86-64 を用意する。

CORESERVER + ownCloudが安定するPHPのバージョンは7.4のようである。用意したOSでPHPをソースからコンパイルする。以下が参考になる。

【Linux】PHP8をソースからインストールする

↑8のところは7.4の最新に差し替えて読んでください。

2、XMLReader/Writerモジュールをコンパイルする

自前の同一OSでPHPのコンパイルが終了したら、ext以下の拡張モジュールもコンパイルできるようになる。

コンパイルディレクトリが/usr/local/src/php-7.4.29であるとすると、/usr/local/src/php-7.4.29/extにある。

configureするためにはautoconfライブラリが必要なので、インストールしておく。

yum install autoconf

XMLReader拡張モジュールのコンパイル

cd ext/xmlreader

phpize

./configure

make

phpizeでエラーが出たら指示に従って必要ライブラリを入れるが、ほぼautoconfが無いというエラーのはず。

ビルドが成功すればmodules/にxmlreader.soが出来上がるので、これをあとでCORESERVERにアップロードする。

XMLWriter拡張モジュールのコンパイル

XMLReaderと同様。

cd ext/xmlwriter

phpize

./configure

make

ビルドが成功すればmodules/にxmlwriter.soが出来上がるので、これをあとでCORESERVERにアップロードする。

この2つのsoファイルさえ手に入れてしまえば、あとは何も難しいことはない。

3、CORESERVERコントロールパネルでownCloud用MySQL DBを作成する

ownCloudはMySQLを使うので、あらかじめ作っておく。

CORESERVERコントロールパネル→データベース→データベースの新規作成

例:
データベース名:coreuser1111_owncloud
データベースユーザー名:coreuser1111_owncloud
データベースパスワード:aaaabbbbcccc
文字コード:UTF-8

で、作成。

4、ownCloud本体アーカイブのダウンロード・展開

public_html/www.myserver1111.jp/owncloud という感じで展開するなら、

cd public_html/www.myserver1111.jp

wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2

tar xvfp owncloud-complete-latest.tar.bz2

この状態で、試しに

https://www.myserver1111.jp/owncloud/

と、ブラウザーでアクセスしてみると、

This version of ownCloud requires at least PHP 7.3.0
You are currently running PHP 7.1.33. Please update your PHP version.

と、PHPのバージョンが違うと言われるはず。バージョンの変更は、モジュールを設置しphp74.iniを変更してから行ったほうが効率が良い。

5、xmlreader.so/xmlwriter.soをCORESERVERにアップロードする

3、で作成したモジュールファイルをホームディレクトリ直下のたとえばphp74_modulesなどにアップロードする。

cd
mkdir php74_modules #このディレクトリ配下にxmlreader.so/xmlwriter.soをアップロード

CORESERVERフルパスだとユーザ名がcoreuser1111だとすると、

/virtual/coreuser1111/php74_modules/xmlreader.so
/virtual/coreuser1111/php74_modules/xmlwriter.so

などと設置する。

6、php74.ini設定ファイルを編集する

public_html/.fast-cgi-bin/以下にphp設定ファイル群がある。今回利用するのは7.4なので、php74.iniを編集する。

バックアップ

cd public_html/.fast-cgi-bin/
cp -p php74.ini ~/php74.ini.org

編集

vi php74.ini

最後のほうを以下のように、opcacheまわりをコメントアウト&差し替え、extensionで拡張モジュールパスを指定する。

;opcache.enable=1
;opcache.memory_consumption=64
;opcache.interned_strings_buffer=8
;opcache.revalidate_freq=10
;opcache.fast_shutdown=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
extension=/virtual/coreuser1111/php74_modules/xmlreader.so
extension=/virtual/coreuser1111/php74_modules/xmlwriter.so

7、CORESERVERコントロールパネルでPHPのバージョンを7.4に変更する

仕上げ。CORESERVERコントロールパネル→サイト設定で、サイト一覧から今回ownCloudを入れるサーバーの「スパナアイコン」をクリックし「サイト設定の変更」を開く。

例)Sub www.myserver1111.jp

サイト設定の変更画面で、PHPの項目があるので、php74のラジオボタンを選び、サイト設定を変更する。

※すでにphp74である場合一度別のphpに変更し再度php74に戻さないと、pnp74.iniの変更が反映されないので注意

8、ownCloud初期ページを表示し設定する

ここまでで設定は完了、ownCloudが起動できるはずである。

https://www.myserver1111.jp/owncloud/

と、ブラウザーでアクセスしてみて、晴れて初期設定ページが表示されれば成功!

ストレージとデータベースをプルダウンしMySQL/MariaDBを選択し、3、で設定したデータベース情報を入力する。

あとは管理者ID/PASS、データフォルダを適当に決めて、使用開始!

なお

PHP のモジュール XMLWriter がインストールされていません。
サーバー管理者にモジュールのインストールを依頼してください。

PHP のモジュール XMLReader がインストールされていません。
サーバー管理者にモジュールのインストールを依頼してください。

PHP モジュールはインストールされていますが、まだ一覧に表示されていますか?
サーバー管理者にWebサーバーを再起動するよう依頼してください。

などと出てしまった場合は、手動作成したモジュールが正しく設定されているか、php74.iniの変更が反映されているか確認のこと。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

【キーワード検索】