Apacheのインストール。
portmaster www/apache24
必要なモジュールは以下の通り。
必要なモジュールが読み込まれるようにhttpd.confを編集。
... 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 ...
Nextcloudのサイトの設定を作成。パスは適宜読み替えの事。
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
サーバを入れるとクライアントも一緒に入る。
portmaster databases/mariadb101-server
バイナリログの形式をMIXEDにする。DB全体に影響するので、他のサービスを動かしてる場合は要注意。
[mysqld] binlog_format = MIXED # mysqldセクションに追加する
# portmaster lang/php71 # cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
必要なPHPモジュールを入れる。
公式マニュアルを参考に必要なモジュールをphp71-extensions
経由で入れる。
portmaster lang/php71-extensions
デフォルトでチェックが入っているものはそのままに、自分はてんこ盛り仕様で以下のモジュールを追加した。
更にmod_phpを入れる。
# portmaster www/mod_php71
mod_phpの設定。
... 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を入れる。
# portmaster graphics/ImageMagick-nox11
PHPのモジュールが必要になるが、graphics/pecl-imagickはPHP 5.6用なので使えない。よってPECLから手動で入れる必要があるが、peclコマンドを使うためにまずはdevel/pearを入れる。
# portmaster devel/pear
続いてimagickを入れるが、pcre.hが見つからんと怒られるので、インクルードパスを通してpeclコマンドを実行する必要がある。
# C_INCLUDE_PATH=/usr/local/include pecl install imagick
imagick.soをPHPに組み込む。
extension=imagick.so
サムネイル生成用にFFMpegを入れる。
# portmaster multimedia/ffmpeg
ZIPを取ってきて展開する。
cd /usr/home/www/nextcloud sudo fetch https://download.nextcloud.com/server/releases/nextcloud-12.0.2.zip sudo unzip nextcloud-12.0.2.zip sudo chown -R www:www nextcloud
ブラウザからアクセスし、各種情報を入力。
管理者アカウント | 管理者アカウント名とパスワードを入力する。 このアカウント名はDBのユーザー名にも使われるので、気にする人は要注意。 |
---|---|
データフォルダ | アップロードしたファイルなどの実データを保存するディレクトリを指定する。 Webサーバのドキュメントルート外が推奨されており、また所有者はWebサーバを動かしてるユーザーと同一にしなければならない。後から場所を変更するのは難しいらしいので、これまた要注意。 |
データベースの設定 | MySQL/MariaDBを選択し、アカウント情報、Nextcloud用のDB名を入れる。 管理者権限アカウントを入力すると、DBとNextcloud用の権限が抑えられたアカウント(先の管理者アカウント名にoc_が付いたもの)が自動で生成され、実運用ではその専用アカウントが使われるようになる。 |
「セットアップを完了します」を押して暫く待ち、ウェルカム画面が表示されれば成功。