NextCloudサーバーインストール

ownCloudで社内バックアップサーバーを運用していましたが、 owncloudの日本サイトがNextCloudへと切り替えていましたので弊社でも切り替えを行てみました。

とりあえずインストールの手順をコマンドベースで記録しておきます。

今回はRaspberry Piが入手が非常に困難ですので、社内のPCにRaspberryPi DesktopOSをインストールします。

システム用HDDに500GB、データ領域に2TBのHDDをマウントします。

OSのダウンロードとインストールは以下のサイトより

https://www.raspberrypi.com/software/raspberry-pi-desktop/ 

2022-07-01-raspios-bullseye-i386.iso 
Raspberry Pi Imagerでカスタムイメージを選択しUSBメモリに書き込みます。
500GHDD 1パーテーションでとりあえずインストールします。
インストール後、location、ユーザー追加、Wifi(skip)、update(skip)、restart SSHを有効にします。 
sudo raspi-config Interface SSH server enabled update VSFTPD インストール rootログインで設定
apt-get install vsftpd
ftpusers #rootをコメント
vsftpd.conf
write_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES 
service vsftpd restart

apache2関係インストール
apt install apache2 libapache2-mod-php php-mysql php-zip php-xml php-mbstring php-gd php-curl

curl、gnupg関係

apt install curl gnupg

php関係 7.4

apt install php-imagick php-pear php7.4 php7.4-cli php7.4-cgi php7.4-common php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml php7.4-xmlrpc php7.4-zip libapache2-mod-php7.4

apt install php7.4-bz2 php7.4-intl

Mysql関係

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

apt update
apt list | grep -i mariadb-server

mariadb-serverの公開バージョンを問合せ  今回は10.5をインストール

apt install mariadb-server-10.5

mysql_secure_installation

Switch to unix_socket authentication [Y/n] n
… skipping.

You already have your root account protected, so you can safely answer ‘n’.

Change the root password? [Y/n] n
… skipping.

Remove anonymous users? [Y/n] y
… Success!

Disallow root login remotely? [Y/n] n
… skipping.

Remove test database and access to it? [Y/n] y

Reload privilege tables now? [Y/n] y
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

最初にデータベースを作成 ユーザー、パスワードは変更

# mysql -u root

MariaDB [(none)]> CREATE DATABASE nextcloud;
Query OK, 1 row affected (0.001 sec)

MariaDB [(none)]> CREATE USER nextcloud@localhost IDENTIFIED BY ‘nextcloud’;
Query OK, 0 rows affected (0.040 sec)

MariaDB [(none)]> GRANT ALL ON nextcloud.* TO nextcloud@localhost WITH GRANT OPTION;
Query OK, 0 rows affected (0.010 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.002 sec)

MariaDB [(none)]> exit
Bye

apt-get install phpmyadmin

rootログインのために

MariaDB [(none)]> SELECT user,password,plugin, authentication_string from mysql.user;
+——-+———-+———————–+———————–+
| User | Password | plugin | authentication_string |
+——-+———-+———————–+———————–+
| root | invalid | mysql_native_password | invalid |
| mysql | invalid | mysql_native_password | invalid |
| | | | |
| | | | |
+——-+———-+———————–+———————–+
4 rows in set (0.002 sec)

MariaDB [(none)]> set password for root@localhost=password(”); パスワードを設定
Query OK, 0 rows affected (0.002 sec)

MariaDB [(none)]> SELECT user,password,plugin, authentication_string from mysql.user;
+——-+———-+———————–+———————–+
| User | Password | plugin | authentication_string |
+——-+———-+———————–+———————–+
| root | | mysql_native_password | |
| mysql | invalid | mysql_native_password | invalid |
| | | | |
| | | | |
+——-+———-+———————–+———————–+
4 rows in set (0.002 sec)

MariaDB [(none)]> flush privileges;

データー用HDD 2TBを /varへマウントします。

現在のマウント状況を確認します。

blkid
/dev/sda1: UUID=”c3f33014-dfdc-4ee4-84e1-fb63fe2f45fe” BLOCK_SIZE=”4096″ TYPE=”ext4″ PARTUUID=”f2065558-01″
/dev/sdb1: UUID=”D233-B079″ BLOCK_SIZE=”512″ TYPE=”vfat” PARTUUID=”2af2bfa0-726d-46a2-ba25-dc6c752ee740″
/dev/sdb2: UUID=”1dba139e-c090-4e72-a2a2-ea4f9c44a13d” BLOCK_SIZE=”4096″ TYPE=”ext4″ PARTUUID=”39b3663d-d48d-4bea-a222-4a1b70d7bde3″
/dev/sdb3: UUID=”e9ca57bf-71a4-4c74-bf68-6fd7184c8770″ TYPE=”swap” PARTUUID=”8ef58648-555f-4770-b219-ae80cc6e3d37″
/dev/sdd1: BLOCK_SIZE=”2048″ UUID=”2022-07-01-10-08-34-00″ LABEL=”Debian RPD M-A 1″ TYPE=”iso9660″ PTUUID=”30c19d12″ PTTYPE=”dos” PARTUUID=”30c19d12-01″
/dev/sdd2: SEC_TYPE=”msdos” UUID=”751C-A2F8″ BLOCK_SIZE=”512″ TYPE=”vfat” PARTUUID=”30c19d12-02″

fdisk -l
ディスク /dev/sda: 1.82 TiB, 2000398934016 バイト, 3907029168 セクタ
ディスク型式: Hitachi HDS72302
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0xf2065558

デバイス 起動 開始位置 終了位置 セクタ サイズ Id タイプ
/dev/sda1 2048 3907029167 3907027120 1.8T 83 Linux

ディスク /dev/sdb: 465.76 GiB, 500107862016 バイト, 976773168 セクタ
ディスク型式: WDC WD5000AAKX-7
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 58F0C524-4A14-44D9-9A50-6F5777000EE4

デバイス 開始位置 終了位置 セクタ サイズ タイプ
/dev/sdb1 2048 1050623 1048576 512M EFI システム
/dev/sdb2 1050624 974772223 973721600 464.3G Linux ファイルシステム
/dev/sdb3 974772224 976771071 1998848 976M Linux スワップ

ディスク /dev/sdd: 7.21 GiB, 7743995904 バイト, 15124992 セクタ
ディスク型式: USB DISK
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x30c19d12

デバイス 起動 開始位置 終了位置 セクタ サイズ Id タイプ
/dev/sdd1 * 0 7045119 7045120 3.4G 0 空
/dev/sdd2 5688 14743 9056 4.4M ef EFI (FAT-12/16/32)

/dev/sdaをfdisk フォーマット、 マウント

fdisk /dev/sda

nコマンド
wコマンド

2TBHDDを/varにマウントするために新たな/newvarを作成

mkdir /newvar

2TBHDD を /newvarへマウント
mount -t ext4 /dev/sda1 /newvar

/varから/newvarへコピー
cp -rpf /var/* /newvar
sync;sync

/varをOLDへ変更

mv /var /var_old

マウント用の/varを作成 sda1をマウント
root@raspberry:~# mkdir /var

root@raspberry:~# mkdir /var
root@raspberry:~# mount -t ext4 /dev/sda1 /var

マウントを確認
root@raspberry:~# df -h

ファイルシス サイズ 使用 残り 使用% マウント位置
udev 3.8G 0 3.8G 0% /dev
tmpfs 784M 1.3M 782M 1% /run
/dev/sdb2 456G 7.7G 426G 2% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/sdb1 511M 5.4M 506M 2% /boot/efi
tmpfs 784M 32K 784M 1% /run/user/1000
/dev/sdd1 3.4G 3.4G 0 100% /media/pi/Debian RPD M-A 1
/dev/sda1 1.8T 1.4G 1.7T 1% /var

/etc/fstabにdev/sda1を/varにマウントするよう記述

fstab
/dev/sda1 /var ext4 defaults 0 2

以上で再起動

reboot

ディス状況を確認

blkid

webminもインストールしておくと便利です。

deb http://download.webmin.com/download/repository sarge contrib
update

wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc

apt-get update
apt-get -y install webmin

いよいよnextcloudのインストール

wget https://download.nextcloud.com/server/releases/nextcloud-22.2.10.tar.bz2
tar -xf nextcloud-22.2.10.tar.bz2
chown www-data:www-data config apps
chown www-data data

nextcloud へアクセス
インストール ユーザー作成、データーベースサーバー設定でインストール

インストール後
サーバーアドレス/nextcloud/でログイン

設定・概要で エラー 警告などを確認し 修正します。

 php.ini の修正

memory_limit = 512M

output_buffering = off

.httaccess

SetEnvIf Referer “^XXX.XXX.XXX.XXX サーバーアドレス” ref_ok
order deny,allow
deny from all
allow from env=ref_ok

クライアントPCに Nextcloud Desktopをインストール

同期フォルダーを設定(追加します)