デビアンな生活 2017年06月

デビアンな生活

日本語コンソールベースのDebianTIPS集として始めたが、結局LXDEになってしまった。

apache 2.4

NextCloudの導入の目的が,巨大ファイルをアップロードしたいためだったが,肝心の巨大ファイルのアップロードがうまくいかない。
イントラのproxyのせいなのか,原因はわからないまま,方針変更。
chunk機能付きHTTPのuploaderとWebDAVで良いのではということで,Nginxに退場いただいて,apacheをインストール。
pacman -S apache php-apache
久々なので,設定を忘れてしまい,いろいろ難しい。
confが複数ファイルに分かれているのも,ややこしい。
vi /etc/httpd/conf/httpd.confで,mod_infoを有効にしたら,http -D DUMP_CONFIG | grep -v '#'で設定を確認できるので,
#Include conf/extra/httpd-info.confは不要。
WebDAVが設定できたら,
jQuery File Uploadをダウンロードして設定。
server/php/filesにアップしてくれるので,同じディレクトリをWebDAVにすると便利。
vi /etc/httpd/conf/httpd.conf
#Include conf/extra/httpd-userdir.confは,ユーザのpublic_htmlようなので,不要。


スポンサーサイト

Nextcloud WebDav

アドレスは,左下の設定に表示される。
https://cloud.domain.com/remote.php/webdav/
CarotDavで簡単に接続できるが,Windows 7のFile Explorerでは接続できず。
SSL証明書の問題か。
コマンドラインからなら接続できる。
net use q: https://cloud.domain.com/remote.php/webdav/ /persistent:no
再起動時には,認証できず再接続できないので,再接続は無効とする。

nginx

nginx.confで以下の設定を追加。
sampleにはfavicon.icoがないので,エラーとなるため,以下もserverセクションに追加
location /favicon {
empty_gif;
access_log off;
log_not_found off;
}
/etc/nginx/php.confを以下のように作成し,serverセクションにインクルード
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
serverセクションのなかでrootが設定されていなければ,rootの設定が必要。

Let's encryptの追加

httpsに移行するため,pacman -S certbot-nginxをインストール。
certbot --nginx -d xx.xx.comで設定終了。
cloud-inital.confに設定が書き込まれる。
arch wiki から,nextcloud.confをコピーする。
ドメイン名を修正して,systemctl restart nginx。
httpsでnextcloudが使用できる。
https://www.ssllabs.com/ssltest/index.htmlでSSLの確認

nextcloudの調整

nextcloudを起動すると,ユーザのemailが登録されていないと,警告が出るので,pesonalでemailを登録。

vi /etc/php/php.iniで,opcacheを設定。
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=1
opcache.save_comments=1
警告出るので,vi /etc/nginx/conf.d/nextcloud.confを修正
add_header X-Content-Type-Optionsが2カ所にあるので,コメントに。

標準では,512Mまでしか,アップロードできない。
/etc/php/php.iniを編集。
/tmpはtmpfsで256Mしかないので,テンポラリを別に設定。
memory_limitは拡張の必要はなさそう。
upload_max_filesize = 2G
upload_tmp_dir=/var/tmp
post_max_size = 2G
;max_input_time = -1 (default)
max_execution_time = 7200
systemctl restart php-fpm後に
php -r 'phpinfo();' | moreでも確認できるが,一部,数字の桁表示があふれるので,ブラウザ経由の方がよい。

vi /usr/share/webapps/nextcloud/.user.iniで,サイズの制限を拡張する。
memory_limit=128M
vi /etc/nginx/conf.d/nextcloiud.confでサイズの拡張。
client_max_body_size 2G;
phpのlocationで
fastcgi_read_timeout 600;

設定,admin,additional settingsに,Maximum upload size があるが,変更できない。
/usr/share/webapps/nextcloud/.user.ini
/usr/share/webapps/nextcloud/.htaccess
両方とも所有者をhttpに変更

設定は,/etc/php/php.ini, /etc/nignx/conf.d/nextcloud.conf, /usr/share/webapps/nextcloud/.htaccess, usr/share/webapps/nextcloud/.user.iniと重複がある。
nextcloudのadvanced settingsのfile handlingは,.htaccesと.user.iniを書き換えている。
.htaccessはapacheのみのようであるので,permissionの書き換えのみでよさそう。

データキャッシュAPCuの設定
pacman -S php-apcu
vi /usr/share/webapss/nextcloud/config/config.php
'memcache.local' => '\OC\Memcache\APCu',を追加。
vi /etc/php/conf.d/apcu.ini
extension=apcu.soをコメントアウト。
以上で,adminの警告がすべて消失。

少しセキュリティ

少しだけセキュリティ対策
vi /etc/ssh/sshd_config
AllowUsers xxx
ログインできるユーザを限定する。記載しなければ,rootもログインできなくなる。
systemctl restart sshd

他のシステムにsshでログインするために、pacman -S openssh
ssh user@xx.xx.xx.xxで、接続できる。

FC2Ad