Dropboxのようにファイルを保存できて、各種アプリ(プラグイン)で様々な機能を拡張できるOSS、Nextcloudをインストールしました。
このエントリーで行うこと
nextcloud用のphpモジュールを入れる nextcloudに即したデータベースを入れる apache設定ファイルを作成する 設定反映を行い、初期画面を出す。
インストールしたハードウェア
この、2台目のChuwi Herobox Proです。redmineのデータ同期サーバのデータをマウントするために選びました。
前提
以下が導入済みです。
Ubuntu 20.04 Apache 2.4 (2.4.41) mysql 80 (8.0.30) php 7.4 (7.4.32) nextcloud用のドメインを設定していること サーバ証明書 (Let's Encryptワイルドカードを用いました)
手順
全て管理者権限で実施しました。
phpの追加モジュールをインストールします。
sudo apt install php7.4-{opcache,pdo,bcmath,calendar,ctype,fileinfo,ftp,gd,intl,json,ldap,mbstring,mysqli,posix,readline,sockets,bz2,tokenizer,zip,curl,iconv,phar,xml}
systemctl restart apache2
データベースを作成します。
mysql -u root -p
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'パスワード';
CREATE DATABASE IF NOT EXISTS nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
ファイルをダウンロードして配置します。
導入したサーバは/homeディレクトリを別SSDにマウントしているため、以下のようにしました。
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip /home/www-data
chown -R www-data:www-data /home/www-data/nextcloud
設定ファイルを作成します。
mkdir /var/log/apache2/nextcloud
chown -R www-data:www-data /var/log/apache2/nextcloud
vi /etc/apache2/sites-available/nextcloud.conf
設定ファイルの内容
<VirtualHost _default_:80>
ServerName [公開するドメイン名]
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
CustomLog /var/log/apache2/nextcloud/access.log combined
ErrorLog /var/log/apache2/nextcloud/error.log
</VirtualHost>
<VirtualHost _default_:443>
ServerName [公開するドメイン名]
CustomLog /var/log/apache2/nextcloud/ssl_access.log combined
ErrorLog /var/log/apache2/nextcloud/ssl_error.log
SSLEngine on
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
SSLProtocol All -SSLv2 -SSLv3 -TLSv1
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLCertificateFile /etc/certs/ssl.crt
# 証明書のファイルパス
SSLCertificateKeyFile /etc/private/ssl.key
# 秘密鍵のファイルパス
DocumentRoot /home/www-data/nextcloud
<Directory /home/www-data/nextcloud>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
設定を反映します。
a2ensite nextcloud.conf
apache2ctl configtest
# Syntax ok を確認します
systemctl restart apache2
起動確認
ブラウザから設定したドメインにアクセスします。
アクセス後、ガイドに従い
を設定後、以下の画面が出てくれば成功です。