한동안 졸업준비와 자격증 시험 공부를 하느라 포스팅이 많이 밀렸다ㅜㅜ,,
밀린 내용은 부지런히 올려야지,,😞
지난 미디어 위키 서버는 centOS에서 진행하였으니 이번엔 ubuntu 22.04 live-server 이미지를 준비했다! 매번 그렇지만 새 VM을 생성하는 과정이 제일 재밌다 히히..
Nextcloud는 다양한 종류의 문서를 저장, 편집, 활용할 수 있는 스토리지 기능은 물론 음성 및 화상 통화 호스팅과 같은 서비스를 제공하는 오픈 소스 소프트웨어다. nextcloud
드롭박스나 구글 드라이브를 떠올리면 될 것 같다. 프로젝트에 활용하는 경우 민감한 데이터를 내부에 저장하여 보호하거나, 개발시 넥스트클라우드 서버를 프론트단에 배치하여 클라이언트가 미디어에 접근하는 방식을 제어할 수 있다고 한다!
(ubuntu에서 설치할 경우 snap 패키지 관리자를 통해 nextcloud 서버를 바로 설치하고 작동시킬 수 있다.)
# apt install lamp-server^
이번엔 lamp 패키지로 한번에 뚝딱 설치할 것이다.
설치시 unable to locate package <...> 라는 에러메세지가 나오면
apt update
명령 실행sources.list
에 레포지토리 추가 등의 방법으로 해결할 수 있다!
LAMP 설치 후 mySQL 보안도구를 설치하여 패스워드 설정을 하는데 계속 오류가 발생했다. 찾아보니 root 권한으로 패스워드를 설정하지 않아서 오류가 발생하는 것이라는데 초기 설정과정에서 왜 이런 에러가 나는건지 모르겟다;; 아무튼 여기를 보고 해결했다..
패키지란 리눅스 시스템에서 소프트웨어를 설치하는데 필요한 파일의 묶음이다. 그리고 이러한 패키지를 설치할 때 사용하는 것이 패키지 관리 도구이다. (apt나 yum 같은..) 리눅스를 사용하다보면 저수준 패키지 관리도구
와 고수준 패키지 관리도구
로 나누어지는 것을 알 수 있는데, 간단히 말해 소프트웨어 설치시의 의존성 문제를 해결한 것이 고수준 패키지 관리 도구이다. 고수준 패키지 관리 도구는 설치하려는 패키지의 의존성을 파악하고 필요한 경우 선행 패키지를 설치해준다. 패키지 참고링크
메타 패키지는 여러 프로그램을 동시에 설치할 수 있도록 패키지를 그룹화한 묶음이다. 여기에 직접 메타 패키지를 만드는 방법이 나와있다.
# a2enmod rewrite
# a2enmod headers
아파치 서버와 넥스트클라우드를 연동하기 위해 rewrite
와 headers
모듈을 활성화한다.
그리고 보안을 위해 /var/www/nextcloud
디렉토리에 데이터 파일을 보관하도록 지정한다.
/etc/apache2/sites-available/000-default.conf
파일에 설정 항목을 추가하면 된다! (들어오는 트래픽을 도큐먼트 루트 디렉토리가 아닌 별도의 nextcloud 어플리케이션으로 전달)
Nextcloud에서 파일을 다운받아 /var/www/nextcloud
디렉토리에 저장하고 설정파일을 추가한다.
# chown -R www-data:www-data /var/www/nextcloud
그리고 보안을 위해 nextcloud 디렉토리의 소유자와 소유그룹을 www-data
로 변경한다.
보안을 위해 웹 서버에서 지정하는 특정 사용자의 권한. 참고링크
접속하자마자 친절한 에러 화면을 보여준다 ㅎㅎ.. 모두 설치한 뒤에 재실행하면 관리자 계정을 생성하는 화면이 나온다. 아까 설정했던 MariaDB의 사용자명과 패스워드를 입력하면 완료~