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の変更が反映されているか確認のこと。


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

【妊活専門】高品質ルイボスティーサプリメントはエルバランシア

香水から生まれた上質な香り♪ルームフレグランスの定期便|フィッツホームフレグランス

5つの燃焼成分配合!黒い酵素スムージー!【ブラックチェリースムージーダイエット】

独立・開業・起業をお考えの方に! 無料!簡単! 資料請求はBMフランチャイズ

口コミで大好評のビオメディに新シリーズ【敏感肌プロアクティブファンデーション ビオメディ】

一人暮らしや新生活のためのおしゃれな家具販売

送料・手数料・査定料・梱包材がすべて無料【ゴルフ買取アローズ】

W薬用成分配合!!【シズカゲル】

お米の油は、つの食品。こめ油/お米のスイーツ・パン/スキンケア【つの食品Webショップ】

bitcoinjs-lib、bip32、bip39を使ってビットコインアドレスを生成する
Cannot read property makeRandom of undefinedと言われた場合
web3.jsとwindow.ethereumでコントラクト関数を引数つきでコールしプロパティを取得する
JavaScriptで外部URLのファイルをダウンロードしてデータを取得する
【MetaMask】window.ethereumのeth_callで任意のコントラクト関数を呼ぶ
window.ethereum.requestに渡すdataフィールドをABIエンコードで作成する
【Solidity】Remix IDEを使用してサーバー不要のコントラクト開発&デバッグ【Ethereum】
【Windows】Googleフォトからダウンロードした動画が音声のみで映像が再生されない場合
PostgreSQLをソースコードからインストールしてsystemdのサービスとして動かす
5chブラウザJane Styleの板一覧にゲーム板等が表示されない場合
【Windows10】リモートデスクトップ間のコピー&ペーストができなくなった場合の対処法
Windows版Google Driveが使用中と言われアンインストールできない場合
Googleスプレッドシートを編集したら自動で更新日時を入れる
【Javascript】JSON配列内にある特定要素の取得法【Node.js】
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
Ubuntuで固定IPアドレスを使う設定をする
【Anaconda3】指定した仮想環境でJupyter Notebookを動かす
Google ColaboratoryのTensorFlowバージョンを変更する(1.X←→2.X)