2022-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をソースからコンパイルする。以下が参考になる。
↑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の変更が反映されているか確認のこと。


※本記事内容の無断転載を禁じます。

最短30分で水回りのトラブルを解決【水道の修理屋さん】

話題スタイルをプチプラでGETしちゃおう!ファッション通販【Chicwish】

「アトピー」「乾燥」でお悩みの方に『みんなの肌潤風呂』

なりたい体になる為のプロテイン【FIXIT DAILY BASIC ホエイプロテイン】

【六厘舎】の冷凍つけめん ≪東京で行列ができるラーメン屋の公式通販≫

日本初の招待制SIMカード【メタバースSIM】

うまみと栄養価が嬉しい!大豆ミートブランド「ソイクル」

フィギュア・超合金などホビーの出張、宅配買取なら【ホビーレンジャー】

大人気スパッツの上半身版ついに登場!超加圧リンパマッサージセルライトボディ

【OpenAI Python API】Models/List modelsのサンプル
【Python】配列の要素を順番に取得する
PortForwarderでno hostkey algと言われ接続できない場合
【Linux】iconv/libiconvをソースコードからインストール
【OpenAI Node.js API】Images/Create image variationのサンプル
【OpenAI Node.js API】Models/Retrieve modelのサンプル
【JavaScript/Node.js】配列の要素を順番に取得する
【OpenAI Node.js API】Models/List modelsのサンプル
Node.jsでJSON返却値を[Object]ではなくフル階層で表示する
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Googleスプレッドシートを編集したら自動で更新日時を入れる
Windows版Google Driveが使用中と言われアンインストールできない場合
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
Googleスプレッドシートで図形をコピーして使いまわすには
【Javascript】JSON配列内にある特定要素の取得法【Node.js】
Androidホームで左にスワイプすると出てくるニュース共を一切表示させない方法
【Linux共通】プロキシサーバーの利用設定
Ubuntuで固定IPアドレスを使う設定をする