tweet:2020:1215_01
文書の過去の版を表示しています。
目次
FreeBSD 12.1-RELEASE and OwnCloud
OwnCloudを利用してファイル共有サービスを建てる。
例によってFreeBSDで実装するが、今回は DB に PostgreSQL 13を利用することにする。
Installに関しては https://vermaden.wordpress.com/2020/01/04/nextcloud-17-on-freebsd-12-1/ を参考にしたが、ZFS関連などでいろいろ「本質的には不要」なファイルもあるので、その辺を省く。
OwnCloudは更新が早いので、最新版に追従することを考えて、OwnCloud自身はportsを利用しないでInstallすることにする。
FreeBSDの設定
以下、FreeBSDの設定を行う。
Binary PackageのInstall
標準状態で ZFS を root にして Install する
# pkg install sudo postgresql12-client postgresql12-server nginx-devel memcached php74 php74-pecl-memcached php74-pdo_pgsql php74-pgsql
本当はpostgresql13を利用したかったが、pkgでpdo-pgsqlを利用する関係で、postgresql12を利用することにした。将来更新で面倒なことになる可能性があるので悩ましいが、とりあえず現時点ではどうなるかの確認を兼ねてPGSQL12で試してみる。
FreeBSDのportsやNetBSDのpkgsrc、RHE系のyum等、Binary Package管理システムはこういうときに融通が効きにくいという辛みがある。 しかし、こうしないと派生のBinary Packageが大量に発生するという問題もあるので痛し痒しというところか…
まぁ、そのために、portsでCompileする部分が残っているというのはあるが…
次に、PGSQLおよび格納ファイル用のzpoolを作成する
# zpool create -m none zdata /dev/ada1 # zfs create zdata/pgsql # zfs set mountpoint=/var/db/postgres zdata/pgsql # zfs set recordsize=8k zdata/pgsql # chown -R postgres:postgres /var/db/postgres
PostgreSQLに関する設定
- /etc/login.confでpostgresユーザーの各種LOCALE設定を投入する
# cat /etc/login.conf postgres:\ :lang=en_US.UTF-8:\ :setenv=LC_COLLATE=C:\ :tc=default: # cap_mkdb /etc/login.conf
- PostgreSQLに関する起動時設定を行う。
- 好みもあるが、/etc/rc.conf.localに記述する。/etc/rc.confに記述しても良い。
postgresql_enable=YES postgresql_class=postgres postgresql_data=/var/db/postgres/data12
- PostgreSQLの初期化を行う
# /usr/local/etc/rc.d/postgresql initdb
- PostgrSQLを起動
# service postgresql start
- NextCloud用設定を投入
# psql -h localhost -U postgres psql (12.5) Type "help" for help. postgres=# CREATE USER ncadm WITH PASSWORD 'NC_DB_PASSWORD'; CREATE ROLE postgres=# CREATE DATABASE nc TEMPLATE template0 ENCODING 'UNICODE'; CREATE DATABASE postgres=# ALTER DATABASE nc OWNER TO ncadm; ALTER DATABASE postgres=# \q
- PostgreSQLのCleanup(Vacuum)とIndex作成を自動で行うようにする
# mkdir -p /var/db/postgres/bin # chown postgres /var/db/postgres/bin # vi /var/db/postgres/bin/vacuum.sh #! /bin/sh /usr/local/bin/vacuumdb -az 1> /dev/null 2> /dev/null /usr/local/bin/reindexdb -a 1> /dev/null 2> /dev/null /usr/local/bin/reindexdb -s 1> /dev/null 2> /dev/null # chown postgres /var/db/postgres/bin/vacuum.sh # chmod +x /var/db/postgres/bin/vacuum.sh # su - postgres -c 'crontab -e' 0 0 * * * /var/db/postgres/bin/vacuum.sh # su - postgres -c '/var/db/postgres/bin/vacuum.sh'
NGINX
Service Certificate
PHP configuration
Collaboration between PHP and PGSQL
PHP FPM
Start Backend service
Nextcloud Configuration
Config trusted domains
Log rotation
tweet/2020/1215_01.1607969597.txt.gz · 最終更新: 2020/12/15 03:13 by seirios