Nextcloud環境をUbuntuで構築する

  • Certbotをインストールしてhttps化が完了済み
  • サブドメインでWebサーバーが使えるように設定済み
  • データベース(MariaDB)も設定済み

となると、やりたくなるのはセルフホストなわけです。
今回はセルフホストといえば!なくらい有名なNextcloudの環境を用意してみます。

準備

必要なモジュールをインストールしておきます。

# インストール済み
sudo apt install -y apache2
sudo apt install -y mariadb-server

# 追加でインストール
sudo apt install -y libapache2-mod-php
sudo apt install -y php-gd
sudo apt install -y php-mysql
sudo apt install -y php-curl
sudo apt install -y php-mbstring
sudo apt install -y php-intl
sudo apt install -y php-gmp
sudo apt install -y php-bcmath
sudo apt install -y php-xml
sudo apt install -y php-imagick
sudo apt install -y php-zip
sudo apt install -y unzip

MariaDBでデータベースを作成

root/<パスワードなし>で、MariaDBへログイン。

sudo mariadb -u root -p

コンソールで以下の作業を実施。

  • ユーザー作成/パスワードの設定
  • データベースの作成
  • 権限設定
CREATE USER '<ユーザー名>'@'localhost' IDENTIFIED BY '<パスワード>';
CREATE DATABASE IF NOT EXISTS <データベース名> CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON <データベース名>.* TO 'ユーザー名'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Nextcloudのインストール

下記より最新バージョンを確認します。2024/01時点では28.0.1が最新のようです。

Nextcloud server changelog
We recommend you follow our release channels to always have the latest and most secure Nextcloud server version which fits your needs.

任意のディレクトリにダウンロードして展開。

cd /tmp
wget https://download.nextcloud.com/server/releases/nextcloud-28.0.1.zip
wget https://download.nextcloud.com/server/releases/nextcloud-28.0.1.zip.sha256
sha256sum -c nextcloud-28.0.1.zip.sha256 < nextcloud-28.0.1.zip
sudo unzip nextcloud-28.0.1.zip
sudo cp -r nextcloud /var/www
sudo chown -R www-data:www-data /var/www/nextcloud

Apacheの設定

今後アプリを増やすことも考えて、今回はサブドメイン直下ではなくサブディレクトリで運用します。

  • ×:https://sub.domain.com
  • ○:https://sub.domain.com/nextcloud

そのため、apacheの設定ファイルを追加します。

sudo nano /etc/apache2/sites-available/nextcloud.conf
Alias /nextcloud "/var/www/nextcloud/"

<Directory /var/www/nextcloud/>
  Require all granted
  AllowOverride All
  Options FollowSymLinks MultiViews

  <IfModule mod_dav.c>
    Dav off
  </IfModule>
</Directory>

設定ファイルを有効化。

sudo a2ensite nextcloud.conf

必要なモジュールを有効化。

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

apacheを再起動。

sudo systemctl restart apache2

Nextcloudの初期設定

設定したURLへアクセスすると、初期設定画面が表示されます。

https://sub.domain.com/nextcloud

指示に従って初期設定すれば完了!

コメント