☁️ ubuntu nginx 환경에 owncloud 설치

🚀 ssh 접속

nginx 환경에 owncloud 설치를 위해 ssh 접속 후 sudo su로 루트 유저 상태에서 설치를 진행합니다. 먼저 패키지 업데이트와 업그레이드를 진행한 후 필수요소를 설치합니다.

apt-get update && apt-get upgrade
apt-get install php7.4-fpm php7.4-mysql php7.4-curl php7.4-xml php7.4-zip php7.4-gd 

설치가 완료되면 php를 재시작합니다.

systemctl restart php7.4-fpm

🫂 mySQL 설치 후 유저 등록

sudo apt install mysql-server
sudo mysql_secure_installation

nginx 환경에 owncloud 설치를 위해 mysql을 설치합니다.

y를 계속 입력하여 질문을 넘어갈 수 있습니다.

진행 중 보안수준 선택 창이 나오면 에서는 medium 수준인 1을 입력합니다.

대소문자와 특수문자, 숫자를 모두 포함한 8자 이상의 암호를 만들어줍니다.

y를 누르며 계속 진행하다 All done! 메시지가 나오면 끝입니다.

이제 mysql을 실행합니다.

mysql -u root -p

패스워드를 입력하면 입력창에 mysql> 표시가 노출됩니다. 커맨드를 차례로 입력합니다. 만약 오류가 날 경우는

https://2vup.com/mysql-password/

를 먼저 참고하세요.

owncloud 데이터베이스를 생성합니다.

create database owncloud;

기존에 알려진 대로 mySQL 유저 등록을 실행 시 버전 차이에 따른 구문 오류가 반환된다

mysql> grant all privileges on owncloud.* to owncloud@localhost identified by 'your_password';

반환 에러 메시지 : 
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'your_password'' at line 1

아래 커맨드로 변경해서 입력하면 오류 없이 해결된다

유저 생성

create user owncloud@localhost identified by 'your_password';
create user root@'%' identified by ' ';

유저 권한 설정

grant all on owncloud.* to owncloud@localhost;
grant all on owncloud.* to 'root'@'%';

권한 확인

SHOW GRANTS FOR owncloud@localhost;

반드시 입력합니다.

flush privileges;

이후 exit을 입력하여 mysql을 종료합니다.

🧷 owncloud 설치

cd /opt/로 진입하여 ubuntu에 owncloud를 다운받습니다.

cd /opt/
wget https://download.owncloud.org/community/owncloud-10.8.0.tar.bz2 

owncloud의 압축을 해제합니다.

tar xfv owncloud-10.8.0.tar.bz2

루트 경로로 옮겨줍니다.

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

nginx config 파일을 만듭니다.

nano /etc/nginx/sites-available/your_domain

아래를 복사하여 입력한 뒤 서버네임의 your_domain;을 연결할 도메인으로 설정합니다.

server {
    server_name your_domain;

    access_log /var/log/nginx/your_domain-access.log;
    error_log /var/log/nginx/your_domain-error.log;
    root /var/www/html/owncloud;

    location / {
        index index.php;
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

입력 후 실제 파일이 인식되는 경로로 심볼릭 링크를 연결합니다.

(참고 : https://2vup.com/nginx-symbolic-link/)

ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

문법 오류 검사를 진행합니다.

nginx -t

service nginx restart로 새로고침 후 도메인으로 접속합니다.

1

해당 마크가 뜨면 성공입니다.

이어서 nginx 환경에 owncloud 설치 이후 오류 해결 방법을 포스팅합니다.

참고 : https://www.linuxcloudvps.com/blog/install-owncloud-9-with-nginx-and-php-fpm-on-an-ubuntu-16-04-cloud/

이곳의 커맨드를 참고했으나 시간이 흐름에 따라 달라진 부분 위주로 기술했습니다.