文書の過去の版を表示しています。
FreeBSD 12でNextcloud 16サーバを作る
試した環境
- FreeBSD 12.0-RELEASE
- Apache 2.4.41
- MariaDB 10.3.16
- PHP 7.3.8
- Nextcloud 12.0.2
- /usr/home/www/nextcoludにインストールする
必要なソフトのインストールと設定
うちではPHP 7.1が既に入っており、この機会にPHP 7.3に更新したいので7.1を消しておく。
# pkg remove -g php71\* # pkg remove mod_php71
Apache 2.4
Apacheのインストール。
portmaster www/apache24
必要なモジュールは以下の通り。
必須
- REWRITE
推奨
- ENV
- DIR
- HEADERS
- MIME
必要なモジュールが読み込まれるようにhttpd.confを編集。
- /usr/local/etc/apache24/httpd.conf
NameVirtualHost *:80 ... LoadModule mime_module libexec/apache24/mod_mime.so LoadModule env_module libexec/apache24/mod_env.so LoadModule headers_module libexec/apache24/mod_headers.so LoadModule dir_module libexec/apache24/mod_dir.so LoadModule rewrite_module libexec/apache24/mod_rewrite.so ...
WebDAVについて
Nextcloudは自前のWebDAVサーバを持っているため、ApacheのWebDAVモジュールは不要。ApacheのWebDAVを使う場合はNextcloudの方は無効にしなければならない。
Nextcloudのサイトの設定を作成。パスは適宜読み替えの事。
- /usr/local/etc/apache24/Includes/nextcloud.conf.inc
Alias /nextcloud "/usr/home/www/nextcloud/" <Directory /usr/home/www/nextcloud/> Options +FollowSymlinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /usr/home/www/nextcloud SetEnv HTTP_HOME /usr/home/www/nextcloud
MariaDB 10.3
# pkg install mariadb103-server mariadb103-client
バイナリログの形式をrow-basedにする。DB全体に影響するので、他のサービスを動かしてる場合は要注意。
- /usr/local/etc/my.cnf
[mysqld] binlog_format = ROW # mysqldセクションに追加する
PHP 7.3
# pkg install lang/php73 # cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
必要なPHPモジュールを入れる。
公式マニュアルを参考に必要なモジュールをphp73-extensions経由で入れる。
portmaster lang/php73-extensions
デフォルトでチェックが入っているものはそのままに、自分はてんこ盛り仕様で以下のモジュールを追加した。
必須
- CTYPE
- CURL
- DOM
- GD
- ICONV
- JSON
- XML
- MBSTRING
- OPENSSL
- POSIX
- SESSION
- SIMPLEXML
- XMLREADER
- XMLWRITER
- ZIP
- ZLIB
- PDO_MYSQL
推奨
- FILEINFO
- BZ2
- INTL
オプション
- FTP
- EXIF
- GMP
- PCNTL
更にmod_phpを入れる。
# pkg install mod_php73
mod_phpの設定。
- /usr/local/etc/apache24/httpd.conf
... LoadModule php7_module libexec/apache24/libphp7.so ... <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch>
ImageMagick
サムネイル生成用にImageMagickを入れる。
# portmaster graphics/ImageMagick7-nox11
PHPのモジュールを入れる。
# pkg install php73-pecl-imagick-im7
FFmpeg
サムネイル生成用にFFMpegを入れる。
# portmaster multimedia/ffmpeg