[AWS]NextCloudを配備し、S 3と併用する(+AD/LDAP併用)


ここでは、AWSインスタンスでNextCloudを導入する方法について説明します.

0.Next Cloud Yes


NextcloudはFrank Karlitschekが開発したオープンソースベースのクラウドストレージソフトウェアで、ownCloudの開発者の一人です.
2016年4月にリリースされ、開発を継続し、ローカルコンピュータまたは外部ファイルストレージ管理に使用できます.
他のクラウドファイルサービスと同様に、ファイルストレージおよび共有サービスは、ドキュメント操作、仮想化、クラウドおよびコンピューティング技術を含むプラットフォームで使用できます.MS OfficeやGoogle Driveなどの他の機能は、サードパーティ製アプリケーションのモジュール化によって実装できます.

1.インストール環境


オペレーティングシステム
Ununtu 20.04

2.インストールの準備


1)管理者モードへの変更

sudo su

2)リポジトリの更新

apt-get update -y
apt-get upgrade -y

3.Apacheのインストール


1)Apacheのインストール

sudo apt update
sudo apt install apache2

2)Apacheの起動と適用

systemctl stop apache2.service
systemctl start apache2.service
systemctl enable apache2.service

3)Apacheの状態をチェックする

systemctl status apache2.service

4)Apache駆動テスト

[server IP]:80
下図のように正常に取り付けられています.

4.PHPを取り付ける


1)phpのインストール

sudo apt install php-imagick libapache2-mod-php7.4 php7.4-common php7.4-mysql php7.4-fpm php7.4-gd php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-bcmath php7.4-gmp

2)Apacheの再起動

sudo service apache2 restart

5.Maria DBのインストール


1)マリアDBの取り付け

sudo apt install mariadb-server -y

2)Maria DBの起動と適用

systemctl start mariadb
systemctl enable mariadb

3)マリアDBの状態をチェックする

systemctl status mariadb

4)Maria DB設定

mysql_secure_installation
いくつかの質問を入力します.
Enter current password for root (enter for none): 엔터 눌러서 스킵
Set root password? [Y/n] `Y`
Remove anonymous users? [Y/n] `Y`
Disallow root login remotely? [Y/n] `Y`
Remove test database and access to it? [Y/n] `Y`
Reload privilege tables now? [Y/n] `Y`

5)DBの作成

mysql -u root -p

create database nextcloud;
create user nextclouduser@localhost identified by 'password입력';
grant all privileges on nextcloud_db.* to nextclouduser@localhost identified by 'password입력';
flush privileges;

EXIT;
パスワード入力部にご希望のパスワードを入力してください.

6.Next Cloudクローズ


1)Gitダウンロード

sudo apt install curl git

2)Composerのダウンロード

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

3)nextCloudのダウンロード

cd /var/www/html
sudo git clone --branch stable20 https://github.com/nextcloud/server.git nextcloud
cd /var/www/html/nextcloud
sudo composer install
sudo git submodule update --init

4)フォルダのインストール権限サイクル

sudo chown -R www-data:www-data /var/www/html/nextcloud/
sudo chmod -R 755 /var/www/html/nextcloud/

5)Apache設定

vi /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
     ServerAdmin 이메일주소
     DocumentRoot /var/www/html/nextcloud/
     ServerName [ServerIP]/nextcloud
     ServerAlias [ServerIP]/nextcloud
  
     Alias /nextcloud "/var/www/html/nextcloud/"

     <Directory /var/www/html/nextcloud/>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted
          <IfModule mod_dav.c>
            Dav off
          </IfModule>
        SetEnv HOME /var/www/html/nextcloud
        SetEnv HTTP_HOME /var/www/html/nextcloud
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
サーバーIPにユーザーのサーバーIPアドレスを入力します.

6)モジュールの有効化

sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

7)Apache 2の再起動

sudo systemctl restart apache2.service

7.設定完了


1)管理者アカウントの作成



2) 5. で設定したDB情報を入力



3)クラウドの正常な作成



8.AWS 3と外部リポジトリを併用する


1)右上メニューのアプリをクリック



2)「外部ストレージサポートの有効化」ボタンをクリックする


[有効](Enable)(Use)をクリックしてボタンを[無効](Disable)に変更します.

3)外部リポジトリの追加


右上のメニューから[設定](Setup)を再度クリックします.


フォルダ名
必要なフォルダ名
設定
パケット:S 3パケット名
ホスト名:Endpointを入力
地域:(アジア太平洋地域ソウル->ap-東北-2
アクセスキー:アクセスキーIDを入力
鍵:Secret Key IDを入力
グループの設定
作成したグループから権限行グループを選択します(複数可)

4)S 3の接続性の検証



バインドが正常に行われていることを確認します.

9.AD/LDAP連動


1)phpにldapをインストールする

apt -y install php7.4-ldap
systemctl restart php7.4-fpm

LDAPアプリケーションの[有効](Enabled)ボタンがアクティブで、[有効](Enabled)ボタンをクリックして無効にします.

LDAP/ADメニューが表示されます.

2)LDAP/AD設定


サーバの設定

IPアドレス部にLDAP/ADサーバIPを入力します.
[後続ポート検出]ボタンをクリックすると、ポート番号が自動的に入力されます.
ユーザーDN、パスワードを入力し、「認証情報の保存」をクリックします.
デフォルトDNを入力し、「デフォルトDNテスト」をクリックして正常に接続します.

次のように、正しいタグが設定されています.
ユーザー設定

ユーザーとして登録するグループを選択し、「>」ボタンをクリックします.
ログイン属性の設定

プロパティ.NextCloudへのログイン時にLDAP/ADサーバ上のどの情報を使用してログインするかを選択します.
グループの設定

[ユーザ]タブで、グループを追加するグループを選択し、[>]ボタンをクリックして右側に移動します.
「ユーザー」タブで、追加したユーザーを表示できます.