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をソースからコンパイルする。以下が参考になる。
↑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の変更が反映されているか確認のこと。
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
さくらインターネットでPython MecabをCGIから使う
さくらインターネットのPHPでAnalytics-G4 APIを使う
インクルードパスの調べ方
【Git】特定ファイルを除外する.gitignore
【Ubuntu/Debian】NVIDIA関係のドライバを自動アップデートさせない
【Python】Spacyを使用して文章から出発地と目的地を抜き出す
HomeBrewでApache2を入れて自動起動つきで動かしPHPモジュールと連携する
macOSに標準付属のApacheを自動起動つきで動かす
HomeBrewでPostgreSQLを入れて自動起動つきで動かす
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
Windows版Google Driveが使用中と言われアンインストールできない場合
進研ゼミチャレンジタッチをAndroid端末化する
【Linux】iconv/libiconvをソースコードからインストール
Googleスプレッドシートで図形をコピーして使いまわすには
【Apache】サーバーに同時接続可能なクライアント数を調整する
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
Windows11のコマンドプロンプトでテキストをコピーする
【MinGW】Windowsでgcc/g++コンパイラを使って開発する