FreeBSD Apache2.4 PHP8.1MariaDB10.6環境下でのNextCloud
データベースの準備
nextcloudデータベースの作成
# mysql -u root -p Enter password:PASSWORD root@localhost [(none)]>create database nextcloud;
データベースユーザーnextcloudの作成及び権限の設定 データベースユーザーはlocalhostとIPアドレスの2つを作成
root@localhost[(none)]>grant all on nextcloud.* to 'nextcloud'@'localhost' identified by 'PASSWORD'; root@localhost[(none)]>grant all on nextcloud.* to 'nextcloud'@'192.168.XXX.XXX' identified by 'PASSWORD';
NextCloudのインストール
# pkg install nextcloud-php81
/usr/local/www/nextcloudにNextCloud一式がインストールされる、念のためオーナーをwwwに変更する
# cd /usr/local/www # chown -R www:www nextcloud
Apache24の設定
/usr/local/etc/apache24/httpd.conf
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
LoadModule php_module libexec/apache24/libphp.so
上記2つのモジュールが有効であることを確認
/usr/local/etc/apache24/extra/httpd-vhosts.confの設定 NextCloudをバーチャルホストcloud.DOMAIN.comで運用するための設定
<Directory "/usr/local/www/nextcloud"> Require all granted AllowOverride All </Directory> <Directory "/usr/local/www/nextcloud/data"> Require all denied </Directory> <VirtualHost *:80> DocumentRoot "/usr/local/www/nextcloud" ServerName cloud.DOMAIN.com:80 </VirtualHost>
/usr/local/etc/apache24/httpd.confにインクルードする
方法1: httpd.confに下記1行を追加
Include etc/apache24/extra/httpd-vhosts.conf
方法2:/usr/local/etc/apache24/Includesディレクトリにhttpd-vhosts.confをコピーする
SSLの設定
SSLの設定はLet’sEncryptを参照
Apacheの再起動
# apachectl restart
NextCloudのセットアップ
ブラウザからNextCloudに接続
https://cloud.DOMAIN.com
ここで、よくエラーが発生する、ほとんどがパーミッション関係のエラーなのでメッセージやログ/var/log/nextcloud/nextcloud.logを参考に修正する
うまくいくと、管理ユーザー登録及びデータベース接続設定ページが開くので
ユーザー名: ADMIN
パスワード : PASSWORD
データベースユーザー名: nextcloud
パスワード: PASSWORD
データベース名: nextcloud
ホスト:ポート: 192.168.XXX.XXX:3306
以上の項目を登録
Nextcloud26.0からの設定
/usr/local/www/nextcloud/.htaccessの変更
<IfModule mod_env.c> # Add security and privacy related headers : # Header always set X-Robots-Tag "none" Header always set X-Robots-Tag "noindex, nofollow" : </IfModule>
メンテナンスモードからの復帰
/usr/local/www/nextcloud/config/config.php
: maintenance => true --> false
バックグランドジョブエラー
管理者設定でバックグランドジョブをCronに設定した場合バックグランドジョブが実行されていませんみたいなエラーが発生することがある
#php -f /usr/local/www/nextcloud/cron.php OCP¥HintException:[0]:Memcache\OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?)
上記のように cron.phpを実行するとAPCuが有効でないみたいなメッセージが出ような時は
/usr/local/etc/php/ext-20-apcu.ini
apc.enable=1 apc.enable_cli=1 apc.shm_size=256M
このように設定してあげるとよいようだ
コメントを残す