転載・引用について

ユーザ用ツール

サイト用ツール


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

このウェブサイトはクッキーを使用しています。 Webサイトを使用することで、あなたはあなたのコンピュータにクッキーを保存することに同意します。 また、あなたはあなたが私たちのプライバシーポリシーを読んで理解したことを認めます。 同意しない場合はウェブサイトを離れてください。クッキーに関する詳細情報
tweet/2020/1215_01.1607969597.txt.gz · 最終更新: 2020/12/15 03:13 by seirios

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki