なにがいいたいかというと久しぶりの更新ということです
夏休みの成果はまた書くとして、Dropboxの容量が枯渇しつつあったためownCloudをサーバに導入しました。
基本的にはドキュメント通りにいれたんだけど、Apacheじゃなくてnginx+php-fpmで入れたのでところどころハマった。
しかも昔Apacheを動かしてたこともありよけいことはまった…
というわけで導入メモします。
ついでだったのでlets encryptの自動更新とかの設定も直しました。
(知らん間にcertbot*1とか出すなよ…)
入れた環境
- いつものサーバ
項目 | 詳細情報 |
---|---|
OS | CentOS 6.8 |
Nginx | 1.11.3 |
PHP | 5.6.18 |
MySQL | 5.6.33 |
--- | --- |
ownCloud | 9.0.1.3 |
あ、ちなみにiptablesやSELinuxの設定は省きますよっと。
すでにNginx+php-fpmで他のWebサーバを動かしてる前提です。
実際にインストール
ownCloudのダウンロード
$ cd /path/to/owncloud_dir/
$ wget https://download.owncloud.org/community/owncloud-9.0.1.tar.bz2
$ tar xf owncloud-9.0.1.tar.bz2
はい。これでOK
DBのセットアップ
DBの接続情報はこんな感じで
項目 | 値 |
---|---|
user | owncloud |
pass | duolcnwo |
$ mysql -uroot mysql> create database owncloud; mysql> grant all privileges on owncloud.* to owncloud identified by 'password';
nginxの設定
owncloud.confとか適当に名前をつけます
# For owncloud server server { listen 80; server_name owncloud.example.com; location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } location /.well-known/acme-challenge { } # document root root /path/to/owncloud; index index.php; # set max upload size client_max_body_size 512M; fastcgi_buffers 64 4K; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) { deny all; } location / { rewrite ^/.well-known/host-meta /public.php?service=host-meta last; rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; try_files $uri $uri/ index.php; } # fastcgiのパス location ~ \.php(?:$|/) { fastcgi_split_path_info ^(.+\.php)(/.+)$; # Unix socketで接続のとき fastcgi_pass unix:/var/run/php-fpm/www.sock; # TCP:9000で接続のとき # fastcgi_path 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /path/to/owncloud$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; include fastcgi_params; } }
実際につなぐ
こんな画面が出てくればOK
これ導入記録用にMacに入れたのでサポート外だって怒られてます。
Create an admin account
には好きなユーザ名とパスワードを入れます。
DBの設定がいるので、Strage & database
をクリックして、Configure the database
にさっきの接続情報own cloud
, duolcnwo
を入力したらOK。
トラブルシューティング
ログインループが始まる
/var/lib/php/session
の所有者を確認してみてください。
nginxが書き込み権限がないとセッション情報をサーバ側で保持できずにログインループが始まります。
パスワードわすれた
sudo -u nginx php /path/to/owncloud/occ user:resetpassword user_name
って魔法のコマンドを入力するとリセットできます。やったね!
アクセスするとPHPのソースコードが手に入る
nginxの設定を見直しましょう(
なんかうまくいかん
/path/to/owncloud/config/config.php
をぶっ飛ばすとインストールの画面が出るようになります。
頑張って最初からやってみましょ。
参考