16.0.1今回はインターネット上からはアクセスできないプライベートサブネット上に構築しました。manualに沿って作業しました。https://docs.nextcloud.com/server/16/admin_manual/installation/index.htmlサーバ要件の確認NextCloud16サーバ要件PHPのインストールまず初めにPHPをインストールします。今回は最新版の7.3を使います。Linuxの環境にはインストールされていませんでした。存在しないのでremiからインストールすることにします。epelリポジトリの設定ここはCentOSとはコマンドが違います。epelremiリポジトリの設定RPMの設定をインストールします。remi-safe(以下省略)大丈夫そうです。インストールNextCloudで必要なPHPモジュールは以下の通りです。NextCloudで必要なPHPモジュール一通り必要となるモジュールを入れておくことにします。0:5.2.2-1.amzn2.0.2Complete!無事にインストールできました。www問題なく起動できました。php73-php-fpm.servicePHPのインストール作業はこれで完了です。MySQLのインストール次にDBのインストール作業に移ります。今回は最新版の8.0を使います。MySQLはなさそうです。installedmariadb-libsがインストール済みなので削除します。0:8.0.16-2.el7Complete!無事にインストールできました。full.問題なく起動できました。mysqldMySQLのインストール作業はこれで完了です。新規にファイルを作成して必要情報を記載します。1:1.17.0-1.el7.ngxComplete!無事にインストールできました。full.問題なく起動できました。nginxNginxのインストール作業はこれで完了です。NextCloudのダウンロード設定作業を始める前にNextCloudもダウンロードして配置しておきます。/var/www/これでOKです。材料が揃ったところでここからが作業の本丸となります。PHPの初期設定Nginxの場合はphp-fpmを使うことになります。今回はsocketファイルを使ってNginxと通信することにします。confファイルの編集ファイルを開いて編集します。/etc/opt/remi/php73/php-fpm.d/www.confまずは実行ユーザを変更します。nginxsocketファイルのパスを指定します。/var/run/php-fpm/php-fpm.socksocketファイルを使うユーザを指定します。0660confファイルの末尾に環境変数関連の設定を追加します。sessionモジュールを使うのですが、この設定を漏らすとインストール後にログインができない事象に行き当たってしまいます。PHPのログにもNextCloudのログにも何も吐き出されず、私はこれを漏らしたために3日ほど先人を求めて彷徨いました。sessionの所有者をPHPの実行ユーザに変更します。先ほどconfファイルで指定したディレクトリを用意します。こちらも所有者はPHPの実行ユーザです。/var/runはtmpfsのため、これだけだとサーバ再起動時に設定が消えてしまいます。以下のファイルを新規に作成し、設定を追記して保存します。ここでOSを再起動してphp-fpmが自動起動することを確認します。php-fpm大丈夫そうです。ここでは最低限必要な初期設定を行います。rootパスワードの確認MySQLをインストールしたときに発行されるrootパスワードを確認します。{default_password}{default_password}部分が初期パスワードですのでこれを控えます。先ほど確認した初期パスワードを入力して新しいパスワードに変更します。以下のファイルを編集して保存します。8.0から新しいログイン認証方式としてcaching_sha2_passwordが採用され、これがデフォルトになっていますが、NextCloudはcaching_sha2_passwordに対応していないため、このままでは接続ができません。そのため、ログイン認証方式を5系以前のデフォルトであるmysql_native_passwordに変更します。要件次第にはなりますが、今回は照合順序も変更します。/etc/my.cnf末尾に以下を追記して保存します。先ほど変更した新しいrootパスワードでログインします。既存ユーザはユーザごとに認証方式を保持しているため、これも変更しておきます。なっているのがわかります。rootの認証方式をmysql_native_passwordに変更します。|+------------------+-----------+-----------------------+これでOKです。Encryptのインストール続いてTLS(SSL)の準備をします。Chromeが非TLSサイトを排除してしまってから、TLS対応はいよいよ不可欠となりました。Encryptの登場によってオレオレ証明書を使わなくてよくなったのが本当に助かります。well-knownを使った外部からの認証ができませんので、DNS方式で認証を受けることにします。パブリックドメインのサブドメインを使うことで、DNS認証で対応することにしました。以下ではhoge.comがパブリックドメイン、今回構築するNextCloudはサブドメイン形式でfuga.hoge.comとします。fuga.hoge.com実行すると以下のところで止まります。values}を確認します。values}を追加します。Encryptの画面に戻ってEnterを押します。https://eff.org/donate-le無事に証明書が発行されました。長かった道のりももう少しです。ミドルウェア周りはこれで最後です。Nginxの初期設定を行います。confファイルの作成confファイルの設定例は公式サイトを参考にしています。パスなどは環境に合わせて修正している他、暗号化スイートの設定など若干追加・変更しています。documentation以下のファイルを編集して保存します。nginxこれでOKです。ブラウザを起動してNextCloudにアクセスhttps://fuga.hoge.comにアクセスして以下の画面が出ればOKです。Encryptのやり直しなど諸々で約10時間くらいかかりました。NextCloudのインストールここまでくればもう一息です。任意のユーザー名とパスワードを入力します。ストレージとデータベース入力欄が表示されていない場合は「ストレージとデータベース」の右端にある▼を押してください。データフォルダにはNextCloudにアップロードしたファイルなどの他、NextCloudのログファイルなどの管理系の情報も格納されます。System)を使うことにしました。コストの観点ではS3を使うことも考えましたが、ファイルサーバのバックエンドとして使うにはS3はやはり読み取り一貫性と結果整合性が問題となりうる場面があると思い、EFSをNFSマウントする方法を採用することにしました。今回はDBをローカルに作っているので見直しは必要ですが、EFSであればAPサーバとしてのNextCloudをスケールアウトすることも可能ですし。データベースはMySQL/MariaDBを選択します。MySQL/MariaDBの選択肢が表示されない場合はpdo_mysqlがインストールされていないと思われます。PostgreSQLを使う場合はpdo_pgsqlをインストールすることで選択できるようになります。データベースのユーザー名とデータベースのパスワードですが、ここではrootユーザ(データベース作成権限のあるMySQLユーザを指定します)を指定します。インストールプロセスの中で、次に指定するデータベース名のデータベースと接続用ユーザーが自動作成されます。作成された接続用ユーザーとそのパスワードはインストール完了後、config/config.phpで確認することができます。データベースのホスト名は入力欄下部に注意書きがある通り、ポート番号をホスト名とともに設定する必要があります。5432はPostgreSQLのデフォルトポート番号になるので、MySQLを使う場合は3306を指定します。ホスト名は1台のサーバにAP/DBを同居させる場合はlocalhost、それ以外の場合はDBサーバのIPアドレス等を指定します。今回は同居構成とするため、localhost:3306にしました。ここまでの入力が終わったら、「セットアップを完了します」をクリックします。インストールが開始され、しばらく(私の環境では1分弱)待つと画面が切り替わり、管理者アカウントでログインした状態となります。インストール完了後に表示される画面NextCloudのインストールはこれで完了です!!長かった。PHP)の構成をもじった...2018-01-05<解決済み>Bingクローラ急襲によりサーバが応答不能に。2018年最初の投稿になります。JAPAN...2017-12-19Coincheckからビットコインを送金しようとしたら手数料が高かった!ビットコイン、今年は高騰しましたね。月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。