ownClould6.0.3-3へのアップデートでハマる。
前にも書いた通りDSM 5.0-4458 Update 2でownCloud 6.0.2-3を使っていましたが、先日Synologyからのメールに従ってDSM 5.0-4493 Update 2にアップデートし、さらにしばらく落ちていたSynocommunyのサーバーが復活していたので、ownCloudバージョン6.0.3-3にアップデートしたところ、みごとにownCloudが死にました。
結論からいうと、たぶんアップデートしたのが自分の名前のログインでやってしまったのが、いけなかった。いろいろやったあとにAdminでDSMにログインしなおして、owncloudを起動しなおしたらあっさり直ちゃったので、それがメインな理由だった模様。これから考えるとDSMのアップデートの方はおそらく無害だったかな。
まあ、今となってはどのステップが重要だったのか知る由もないですが、役に立つこともあるかもしれないので以下復旧への道の覚書を記事にしておきます。
どこのステップかわかりませんが、以下の作業をするとデータベースが初期化されて、登録ユーザーがデータごとにまっさらになりました。まあ、ローカルのPCにデータはあるので困らなかったんですが、クライエントを起動したらサーバーにあるデータ以外は削除という形で同期が行われたのでデータをすべて失ってしまいました。皆さんは気をつけましょう。。(もう一つPCがあったので復旧は余裕でしたが。)おそらくconfig.phpを削除またはリネームするステップが怪しいとおもうんですが、わかりません。
SSHでSynologyにアクセス
おかしくなると、ウェブインターフェースからは見えないファイルなどを操作しないと行けないので、SSHやTelnetでサーバーにアクセスしないといけない。
Synologyのフォーラムにあるウィキサイトにあった手順に従って、SSHでアクセスしてみます。このウィキ記事はおそらく古いDSM4に基づいているので、DSM5用に手直しすると:
- adminでDSMにログイン
- コントロールパネルのSystemからTerminal&SNMPにいき、SSHをEnableにチェック。
- コントロールパネルのSecurityからFirewallのタブへいき、SSH用のポート22を開けておく。Firewall使ってなければ無視。
- SSHに必要なソフトを起動。ウィンドウズならPuTTYなどを。
- 自分がadminユーザーでSynologyにログインできても、SSHのアカウントとは別なので、最初はDSMのデフォルトadminでログインしないといけない。私はここでハマった。アカウントはrootでパスワードはDSMのデフォルトadminのパスワード。
Can't write into config directoryエラー
Can't write into config directory! This can usually be fixed by giving the webserver write access to the config directory.
どうやらDSM4ではウェブサービスはnobodyというユーザー名で走っていたが、DSM5からhttpというユーザー名に変わったのがそもそもの問題らしい。
ちょっと前のDSM5とowncloudのバージョンだけど以下の手順で解決したというユーザーの書き込みがある。
- 次のコマンドで所有者をアパッチのhttpにする。
- Apacheのコンフィグらしいhttpd.confを編集。
で最後にvi /etc/htpd/conf/httpd.conf
を追加。<Directory /volume1/web/owncloud> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
- アパッチの再起動
httpd -k restart
- ウェブインターフェースから/volume1/web/owncloud/config/confg.phpをリネームしてconfig.php.oldにするとデータベースの設定からやり直しになる。
owncloudのウェブインターフェースにアクセスして、データベースのパスワード等を入力する。MySQL username and/or password not valid You need to enter either an existing account or the administrator.
chown -R http /volume1/web/owncloud
untrusted domainエラー
上の手順1のchownをするとこのエラーは、
You are accessing the server from an untrusted domain. Please contact your administrator. If you are an administrator of this instance, configure the "trusted_domain" setting in config/config.php. An example configuration is provided in config/config.sample.php.
に変わる。
DSMのFile Stationで、/volume1/web/owncloud/configに行き、config.phpをAction->Open with Text Editorで開く。
'trusted_domains' => array('127.0.0.1', '192.168.1.10', 'owncloudサーバーのグローバルIPかドメイン名'),
と編集。'192.168.1.10'はipconfigで調べた自分のPCのLANアドレス。 もしくはGlobalIPをWhat's my IP?とかで調べて入力すると、configにかけないエラーに戻る。chownでuntrusted domainエラーに戻るのループ。
owncloud自身がvolume1/web/owncloudのユーザーをnobodyにしてしまうのでは
open_basedirの設定
- DSMのコントロールパネルのWeb ServicesからPHP Settingsのタブへいき、open_basedirに/volume1/web/owncloudを追加。こんな感じになるはず。
- https://github.com/SynoCommunity/spksrc/issues/846をみるとopen_basedirの設定をしろとある。
をviで編集。/etc/php/conf.d/com.synocommunity.packages.owncloud.ini
pre>/etc.defaults:/etc:/usr/syno/synoman:/tmp:/var/services/tmp:/var/services/web:/var/services/homes:/volume1/web/owncloud
どちらも効いているのかわからない。
結論
悩んだ結果、DSMでアップデートしたときに自分のログインですべてやったのを思い出した。adminでDSMにログインして、Package ManagerからownCloudを一度停止して、再起動。SSHでchownをもう一度実行。owncloudのページをリロードして、動作確認。あっさり動く。え?どうやらアップデートのときはadminアカウントで行わないとおかしくなるということらしい。当たり前か。
« Tiddlywiki5でfaviconを設定してみる。 | トップページ | Pythonはコンピュータサイエンスを教える大学の入門コースでもっとも人気な言語らしい »
「パソコン・インターネット」カテゴリの記事
- Linuxのデスクトップ環境にログインした時にxmodmapコマンド実行(2023.12.30)
- youtube-dlでrumbleをダウンロード(2023.12.06)
- Pop!_OSのアプデがfcitxを繰り返し葬る件(2023.05.22)
- vue.jsで遊んでみる(2023.01.02)
- 『将棋神やねうら王』のオープンソース版MyShogiをLinux Mint 19.1でビルドしてみた件(2019.03.24)
「日記・コラム・つぶやき」カテゴリの記事
- だらだら日記だ(2023.11.26)
- Letter from home、September15thなどなどのピアノアレンジが素晴らしい件(2018.08.03)
- 2日半のfasting(断食)で劇的おなら予防。(2017.12.18)
「Dropbox」カテゴリの記事
- 自分のHDDで容量無制限なクラウドストレージLimaを試してみた。(2015.09.28)
- Synologyのアップデート後のTeamDriveパーソナルサーバー復旧覚書(2015.05.14)
- Google driveを自分でポータブル版にしてUSBドライブでつかうつもりが断念。(2014.10.14)
- エンドツーエンドで暗号化のオンラインストレージTeamDriveを自宅Synologyで運用(2014.10.28)
- ownClould6.0.3-3へのアップデートでハマる。(2014.07.07)
« Tiddlywiki5でfaviconを設定してみる。 | トップページ | Pythonはコンピュータサイエンスを教える大学の入門コースでもっとも人気な言語らしい »
コメント