ownCloud バージョン10のアップグレード、インストールに苦労した…諸々、ちゃんと分かってないってのを今更確認させられた。勉強になったよ。
多分、こんな感じでインストール、ファイル編集していけばいいはず。ちゃんとした インストール手順、 アップグレード手順は公式を。これは忘備録なので。
sudo apt install apache2
sudo apt install owncloud-files
sudo vi /var/www/owncloud/config/config.php
sudo apt install php php-all-dev php-curl php-zip php-intl php-mbstring php-gd
sudo a2enmod php7.0
sudo apt install libapache2-mod-php7.0
sudo vim /etc/apache2/apache2.conf
sudo service apache2 restart
そもそもの切っ掛けはここから…
ある日、ownCloudのアップデートが保留となったので、sudo apt dist-upgrade
を考えなしにした。(バカだった…)
すると、 owncloudが owncloud-filesとしてアップグレード。すると、要らなくなったアプリがいくつか増えたみたいなのにで、ついでにsudo apt autoremove
を実行。
以下のパッケージは「削除」されます:
apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.0 libapr1
libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libc-client2007e libgd3
libjbig0 liblua5.1-0 libmcrypt4 libpq5 libtiff5 libxpm4 libzip4 mlock
owncloud-deps-php7.0 owncloud-files php-common php7.0-cli php7.0-common
php7.0-curl php7.0-gd php7.0-imap php7.0-intl php7.0-json php7.0-mbstring
php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-pgsql php7.0-readline
php7.0-sqlite3 php7.0-xml php7.0-zip
アップグレード: 0 個、新規インストール: 0 個、削除: 38 個、保留: 0 個。
この操作後に 145 MB のディスク容量が解放されます。
続行しますか? [Y/n] y
owncloud-filesのアップグレードに失敗してたようで、 ownCloudがアンイストールされた状態となっており、 apache2、 php、 owncloud-filesが削除されてしまった…
幸いにして/var/www/owncloud/config
、/var/www/owncloud/
は削除されず生きていたので、このまま10.0.7へアップグレードさせることに。
まず apache2、 php、 owncloud-filesをインストール
arimasou16@ubuntu:~$ sudo apt install apache2
arimasou16@ubuntu:~$ sudo apt install owncloud-files
arimasou16@ubuntu:~$ sudo apt install php
しかしsudo -u www-data php occ maintenance:mode --on
のコマンドを実行すると…
Doctrine\DBAL\DBALException: Failed to connect to the database: An exception occured in driver: could not find driver in /var/www/owncloud/lib/private/DB/Connection.php:62
Stack trace:
なんじゃこりゃ、 phpに慣れてない私はググる…するとmysqlなんてやめろpostgresにしろとかヒットする…そうではなくて警告さているとおり
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/mysqlnd.so' - /usr/lib/php/20151012/mysqlnd.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/xml.so' - /usr/lib/php/20151012/xml.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/curl.so' - /usr/lib/php/20151012/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/dom.so' - /usr/lib/php/20151012/dom.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/mysqli.so' - /usr/lib/php/20151012/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/pdo_mysql.so' - /usr/lib/php/20151012/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/pdo_sqlite.so' - /usr/lib/php/20151012/pdo_sqlite.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/simplexml.so' - /usr/lib/php/20151012/simplexml.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/sqlite3.so' - /usr/lib/php/20151012/sqlite3.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/wddx.so' - /usr/lib/php/20151012/wddx.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/xmlreader.so' - /usr/lib/php/20151012/xmlreader.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/xmlwriter.so' - /usr/lib/php/20151012/xmlwriter.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/xsl.so' - /usr/lib/php/20151012/xsl.so: cannot open shared object file: No such file or directory in Unknown on line 0
とPHPに必要なライブリーがインストールされてないからでsudo apt install php-mysql
で解消。
その後も
Error: Call to undefined function OC\App\simplexml_load_file() in /var/www/owncloud/lib/private/App/InfoParser.php:41
とか出てウザいのでsudo apt install php-all-dev
それでまだ必要な全てのライブラリーがインストールされない。
Exception: Environment not properly prepared. in /var/www/owncloud/lib/private/Console/Application.php:135
警告文を全て消し去る勢いでsudo apt install php-curl php-zip php-intl php-mbstring php-gd php-sqlite3
とインストール!!!
ようやくsudo -u www-data php occ maintenance:mode --on
のコマンドが成功するように…
そして、ownCloudのアップグレードコマンドを実行。sudo -u www-data ./occ upgrade
2018-03-16T16:49:28+00:00 Set log level to debug
2018-03-16T16:49:28+00:00 Turned on maintenance mode
2018-03-16T16:49:28+00:00 Repair step: Repair MySQL database engine
2018-03-16T16:49:28+00:00 Repair step: Repair MySQL collation
2018-03-16T16:49:28+00:00 Repair info: All tables already have the correct collation -> nothing to do
2018-03-16T16:49:28+00:00 Repair step: Repair SQLite autoincrement
2018-03-16T16:49:28+00:00 Repair step: Repair duplicate entries in oc_lucene_status
2018-03-16T16:49:28+00:00 Repair info: lucene_status table does not exist -> nothing to do
2018-03-16T16:49:28+00:00 Repair step: Upgrade app code from the marketplace
・・・中略・・・
2018-03-16T16:54:47+00:00 Repair step: Remove shares of a users root folder
2018-03-16T16:54:47+00:00 Repair step: Repair unmerged shares
2018-03-16T16:54:47+00:00 Repair step: Disable extra themes
2018-03-16T16:54:47+00:00 Starting code integrity check...
2018-03-16T16:54:57+00:00 Finished code integrity check
2018-03-16T16:54:57+00:00 Update successful
2018-03-16T16:54:57+00:00 Turned off maintenance mode
2018-03-16T16:54:57+00:00 Reset log level
成功!!!
sudo -u www-data ./occ maintenance:mode --off
でメンテナンスモードをオフにして、ownCloudをブラウザで開くと…
index.phpのソースがそのまま表示されている。phpが有効化されていない。
sudo a2enmod php7.0
で有効化。そして、sudo serviec apache2 restart
でapache2再起動。
Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.
arimasou16@ubuntu:/var/www/owncloud$ systemctl status apache2.service
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
mqapache2-systemd.conf
Active: failed (Result: exit-code) since 土 2018-03-17 02:34:23 JST; 1min 13s ago
Docs: man:systemd-sysv-generator(8)
Process: 26575 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 26601 ExecStart=/etc/init.d/apache2 start (code=exited, status=1/FAILURE)
3月 17 02:34:23 ubuntu apache2[26601]: *
3月 17 02:34:23 ubuntu apache2[26601]: * The apache2 configtest failed.
3月 17 02:34:23 ubuntu apache2[26601]: Output of config test was:
3月 17 02:34:23 ubuntu apache2[26601]: apache2: Syntax error on line 140 of /etc/apache2/apache2.conf: Syntax error on line 2 of /etc/apache2/mods-enabled/php7.0.load: Cannot load /usr/lib/apache2/modules/libph
3月 17 02:34:23 ubuntu apache2[26601]: Action 'configtest' failed.
3月 17 02:34:23 ubuntu apache2[26601]: The Apache error log may have more information.
3月 17 02:34:23 ubuntu systemd[1]: apache2.service: Control process exited, code=exited status=1
3月 17 02:34:23 ubuntu systemd[1]: Failed to start LSB: Apache2 web server.
3月 17 02:34:23 ubuntu systemd[1]: apache2.service: Unit entered failed state.
3月 17 02:34:23 ubuntu systemd[1]: apache2.service: Failed with result 'exit-code'.
なんじゃこりゃ。php7のためのapach2ライブラリーが必要ということでsudo apt install libapache2-mod-php7.0
。そして、再度sudo serviec apache2 restart
成功。復旧できた…ふー。
前はsudo apt installl owncloud
で必要なアプリインストールしてくれたのに…owncloud-deps-php7.0
だとよろしくやってくるんだろうか?