nextcloud를 이용하여 웹서버 구축

sso·2025년 4월 8일
0

리눅스 서버

목록 보기
22/40

1. nextcloud를 이용하여 웹서버 구축

1-1. nextcloud 설치는 download server에서 아카이브로 설치

https://nextcloud.com/install/#community-projects

1-2.tar.bz2로 다운로드

1-3.Shft + 우클릭 > PowerShell 창 열기

scp(secure copy)
ssh 기반의 파일 전송을 할 수 있음

scp .\latest.tar.bz2 root@192.168.111.200:/var/www/html

.tar.bz2를 보안모드로 복사하여 root 권한으로 192.168.111.200 내 /var/www/html에 복사하겠다 라는 의미로 /var/www/html에 권한이 있는 사용자로 작성해야함. (rocky는 해당 루트에 권한이 없으므로 rocky를 쓰면 안됨)

리눅스 내에 파일이 있는것을 확인

1-4. tar.bz2 압축 해제

tar xfj latest.tar.bz2

nextcloud로 압축이 해제된것을 확인

해당 파일의 소유자가 nobody로 매핑되는것을 확인
nobody인 이유는 nobody 사용자는 권한이 거의 없음. 만약 nextcloud를 설치하는 중간에 공격이 들어오면 무방비상태이기 때문에 보안을 위해 사용자가 nobody로 설치됨

1-5. nexcloud 웹 서버를 사용하기 위해 해당 디렉터리의 사용자를 아파치로 변경

chown apache.apache -R nextcloud/

웹에서 192.168.111.200/nextcloud 실행

1-6. php 버전을 업그레이드

현재 php 버전 확인

php -v

현재 버전은 7.2.24

현재 가지고 있는 php 삭제

dnf -y remove php*

다운로드가 가능한 php 목록 확인

dnf module list php

nextcloud에서 php 버전이 적어도 8.1 이상이어야 한다고함
그러면 [e]를 옮겨서 설치 버전을 변경

dnf module enable php:8.2

이전버전이 남아있어서 안된다고 오류에 나타났기 때문에 해당 명령어 실행 후 버전 변경

dnf module reset php
dnf module enable php:8.2

php 설치

dnf -y install php*

설치된 php 버전 확인

1-7. php를 재설치하였으므로 http 서비스 재시작

systemctl restart httpd

그 후에 다시 웹에서 확인하면 nextcloud를 정상으로 확인할 수 있음

1-8. nextcloud 웹서비스와 연결되는 db 생성, 유저 생성, 권한 설정

mysql

  • CREATE DATABASE ncdb;
    GRANT ALL ON ncdb.* TO ncuser1@192.168.111.200 IDENTIFIED BY '1234';
    FLUSH PRIVILEGES; (DB 새로고침)

1-9. nextcloud 웹에서 db 설정하여 설치

신규유저 생성

실제로 /var/www/html/nextcloud/data 내에 사용자별 디렉터리가 생성되고 /var/www/html/nextcolud/data/rocky/files 내에 사용자가 업로드하는 파일들은 해당 디렉터리 내에 존재하는것을 확인할 수 있음

2. 문제

자신의 Server A는 웹 서버, 자신의 Server B는 DB 서버
단, 자신이 만든 B의 DB 서버는 상대방 A 웹서버의 DB 서버로서 역할

Server A에는 wordpress, nextcloud 웹 서비스를 모두 설치

Server A

dnf -y install httpd

php -v
dnf module list php
dnf module enable php:8.2
dnf -y install php*

systemctl --now enable httpd
firewall-cmd --add-service=http --permanent
firewall-cmd --reload

cd /var/www/html

1-1. wordpress 설치 방법 1
curl -O https://ko.wordpress.org/latest-ko_KR.zip
unzip -q latest-ko_KR.zip

1-2. wordpress 설치 방법 2
wget https://ko.wordpress.org/latest-ko_KR.zip
unzip -q latest-ko_KR.zip

ll
chown -R apache.apache wordpress

2-1. nextcloud 설치 방법 1
curl -O https://download.nextcloud.com/server/releases/latest.tar.bz2
tar xfj latest.tar.bz2

2-2. nextcloud 설치 방법 2
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
tar xfj latest.tar.bz2

2-3. nextcloud 설치 방법 3
powershell

  • scp .\latest.tar.bz2 root@192.168.111.100:/var/www/html

linux

  • tar xjf.latest.tar.bz2

ll
chown -R apache.apache nextcloud

Server B

dnf -y install mariadb-server
systemctl --now enable mariadb
firewall-cmd --add-service=mysql --permanent
firewall-cmd --reload

mysql

  • CREATE DATABASE wpdb;
    GRANT ALL ON wpdb. TO wpuser@192.168.111.100 IDENTIFIED BY '1234';
    GRANT ALL ON wpdb.
    TO wpuser@10.0.2.138 IDENTIFIED BY '1234';
    CREATE DATABASE ncdb;
    GRANT ALL ON ncdb. TO ncuser@192.168.111.100 IDENTIFIED BY '1234';
    GRANT ALL ON ncdb.
    TO ncuser@10.0.2.138 IDENTIFIED BY '1234';
profile
오늘도 하나씩 해결해 나가자!

0개의 댓글