[AWS] NextCloud 구축하고 S3와 연동하기(+AD/LDAP 연동)
오늘은 AWS 인스턴스에 NextCloud를 구축하는 방법을 소개하려고 합니다.
0. NextCloud란
Nextcloud는 ownCloud 개발자중 하나인 Frank Karlitschek가 ownCloud를 포크해 개발한 오픈소스 기반 클라우드 스토리지 소프트웨어입니다.
지난 2016년 4월에 출시해 지속적으로 개발되고 있으며, 로컬 컴퓨터 또는 외부 파일 스토리지 호스팅에 사용할 수 있습니다.
여타 클라우드 파일 서비스처럼 파일 저장 및 공유 서비스를 포함하여 문서 작업, 가상화, 클라우드, 컴퓨팅 기술 등 하나의 플랫폼에서 사용할 수 있고, MS 오피스, 구글 드라이브 등 추가 기능을 써드파티 앱을 통해 모듈식으로 구현할 수 있습니다.
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) Maria DB설치
sudo apt install mariadb-server -y
2) Maria DB 시작 및 적용
systemctl start mariadb
systemctl enable mariadb
3) Maria 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;
password입력 부분에 원하는 비밀번호로 입력해주세요.
6. NextCloud 다운
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>
[ServerIP]에 사용자의 서버 IP 주소를 입력하세요.
6) 모듈 활성화
sudo a2ensite nextcloud.conf
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
7) apache2 재시작
sudo systemctl restart apache2.service
7. 마무리 설정
1) 관리자 계정 만들기
2) 5. 에서 설정했던 DB 정보 입력하기
3) 성공적인 클라우드 생성
8. AWS S3와 외부 저장소 연동하기
1) 우측 상단 메뉴에서 앱 클릭
2) External storage support 사용함 버튼 클릭
사용함을 클릭하면 사용안함으로 버튼이 변경됩니다.
3) 외부 저장소 추가
다시 우측 상단 메뉴에서 설정을 클릭합니다.
폴더 이름
원하는 폴더명
설정
버킷 : S3 버킷명
호스트명 : Endpoint 입력
지역 : (아시아 태평양 서울이라면 ->) ap-northeast-2
접근키 : Access Key ID 입력
비밀키 : Secret Key ID 입력
그룹 설정
생성된 그룹 중 권한 줄 그룹 선택(복수 가능)
4) S3 연동 확인
성공적으로 연동 된 것을 확인 할 수 있습니다.
9. AD/LDAP 연동
1) php에 ldap 설치
apt -y install php7.4-ldap
systemctl restart php7.4-fpm
LDAP 앱의 사용함 버튼이 활성화 되어 있고 사용함 버튼을 클릭해 사용안함으로 변경되면
LDAP/AD 메뉴가 보이게 됩니다.
2) LDAP / AD 설정
서버 설정
IP주소 부분에는 LDAP/AD 서버 IP를 입력합니다.
이후 포트 감지 버튼을 클릭하면 자동으로 포트 번호가 입력 됩니다.
사용자 DN, 암호를 입력후 인증 정보 저장을 누르고
기본 DN을 입력후 기본 DN 시험을 클릭하여 정상적으로 연결이 된 경우
아래와 같이 설정 올바름 표시가 뜨게 됩니다.
사용자 설정
사용자로 등록할 그룹을 선택해서 '>' 버튼을 클릭합니다.
로그인 속성 설정
Nextcloud에 로그인을 할 때 LDAP/AD서버의 어떤 정보로 로그인을 진행할 지 선택하는 속성입니다.
그룹 설정
사용자 탭에서 그룹 추가할 그룹을 선택하여 '>' 버튼을 클릭해 오른쪽으로 이동 시킵니다.
이제 설정이 완료 됐고 사용자 탭에서 추가한 사용자들을 확인 할 수 있습니다.
Author And Source
이 문제에 관하여([AWS] NextCloud 구축하고 S3와 연동하기(+AD/LDAP 연동)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ysy3285/NextCloud-구축하기Ubuntu-20.04.3저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)