posted by 검신흑태자 2025. 4. 11. 14:33

Linux Ubuntu 기본 설정을 마치신 경우 이제 서버를 선택해서 설치해야 하는데 서버의 경우 아파치나 Nginx를 많이 쓰시지만 저는 이전 윈도우에서도 이야기했듯이 Nginx를 쓰기 때문에 Ngnix를 설치하는 방법을 설명합니다.

 

윈도우와 비교해서 조금 복잡한 건 기본적으로 22.04 버전에 설치되어 있는 버전보다 상위버전을 설치하기 때문입니다. 그냥 가볍게 최신버전이 아닌 버전을 apt install nginx로 설치하셔도 무방하지만 이전 버전은 보안의 문제라던가 최신 이슈들의 해결이 반영되지 않을 수 있으니 웬만하면 최신 버전을 설치하시는 게 좋습니다.

 

기본적으로 Nginx의 버전은 빠르게 올라가기 때문에 공식 저장소를 추가하는 것부터 시작합니다.

 

1. 아래의 명령어들을 차례대로 실행합니다.

# curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
# gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
# echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

 

2. 공식 저장소 추가 후 #apt update로 패키지 목록을 업데이트 해 줍니다.

3. #apt info nginx로 패키지 설치 버전에 대해 확인을 합니다. 웹사이트와 비교해서 최신버전이면 맞는 겁니다.

4. #apt install nginx로 nginx를 설치합니다

5. 설치가 완료되면 #service nginx start로 서비스 시작 후 #service nginx status로 nginx의 상태를 확인합니다.

6. 설치와 서비스 시작이 완료되어 이상이 없으면 연결해둔 IP나 도메인으로 접속하여 Nignx Welcome 페이지가 나오는지 확인합니다.

7. 기본적으로 로딩되는 파일경로는 /var/www/html/ 이지만 conf.d 폴더에 있는 설정 파일(nginx.conf)을 통해 변경이 가능합니다.

8. 제 경우 최신버전의 문제였는지 설치과정에 문제가 있었던 것인지 site-available 폴더와 conf.d 폴더에서 지정하는 기본 폴더가 달라서 어디에서 로딩이 되는지 index.html을 내용별로 적어서 로드되는 경로를 확인한 후에 수정을 했으니 만약 파일을 넣고 페이지에 로드가 안되시면 이렇게 한번 해보시면 될 것 같습니다.

 

일단 이렇게 되면 기본적인 Nginx 설치는 완료입니다. 보안적인 부분이나 여러 가지가 있는데 이 부분은 조금 더 나중에 제 쪽에서도 여러 가지로 적용을 해보고 포스팅할 수 있도록 하겠습니다.

posted by 검신흑태자 2025. 4. 10. 21:08

저는 테스트 서버와 실제 상용서버를 모두 NHN 클라우드에서 서버를 생성하고 세팅해서 사용하는데, 많은 분들이 AWS나 Google, Oracle 등을 쓰시지만 제가 나중에 다시 볼 때 필요할 것 같기도 하고, 저처럼 NHN을 쓰실 분들도 있을 것 같아서 홈페이지 자체에 정리가 잘 되어있긴 하지만 제 나름대로 간결하게 정리해서 한번 포스팅을 합니다. 나중에 Oracle이나 Google, AWS는 개인용 무료 서버를 사용하기 위해 한번 써볼 예정인데 쓰게 되면 그때 다시 다른 업체의 서버들에 대해서도 포스팅할 수 있도록 하겠습니다.

 

NHN 클라우드 서버 설정은 다른 회사들과 비슷하게 간단하게 생성 및 접속이 가능합니다.

 

1. 인스턴스 생성

 1) 인스턴스 생성 시 원하는 사양과 OS를 선택하고 가용성 영역을 선택합니다.(임의의 영역으로 하셔도 괜찮습니다.)

 2) 사용할 키페어를 선택합니다. 키페어가 없을 경우 키페어를 만드시고 잘 저장해두셔야 합니다(재발급이 안됩니다.)

 3) 네트워크 서비스와 플로팅 IP, 보안그룹을 선택합니다. 이것도 없을 경우 서비스 신청을 하시면 됩니다.

 4) 위 절차가 끝나면 생성 버튼을 눌러서 생성하시면 됩니다.

 

2. 인스턴스 기본 설정

 1) 보안그룹 설정(Network->Security Groups)에서 개발 및 배포에 필요한 포트 들을 열어줍니다.

 2) 22(SSH), 80(HTTP), 3306(MySQL) 등은 기본적으로 열어두시는게 좋습니다. 

 

3. 리눅스 서버 접속

 1) 맥 OS / 리눅스와 윈도우 OS의 접속방법이 다른데 맥 OS / 리눅스의 경우 키페어를 저장하고 터미널을 이용하여 간단하게 접속이 가능합니다.

 1-1) $ ssh -i my_private_key.pem ubuntu@<인스턴스의 IP> 이런 식의 명령어로 접속 가능합니다.

 2) 윈도우의 경우 pem 파일 사용이 불가한 관계로 putty라는 프로그램을 다운로드하여야 합니다.

 3) putty 프로그램을 다운받고 설치하면 같이 설치되는 puttygen을 실행합니다.

 4) Conversions(한글판에는 변환이라고 되어있는 것 같습니다.) 항목에서 키를 import key(키 삽입?으로 되어있을 겁니다)를 선택하여 다운로드한 키를 불러오신 다음에(공식 문서에는 불러오기(Load)를 이용하라고 되어있는데 제 경우 pem 파일이 불러와지지 않아서 이렇게 했습니다.) 개인용 PPK 키로 변환합니다.(변환(Generate))

 4-1) 변환하시기 전에 맨 아래 메뉴에 RSA를 포함한 키 형식을 선택하는데 RSA 2048로 해주시면 됩니다

 5) putty를 실행시키고 auth(인증) 항목에서 변환한 ppk 파일을 등록하신 후에 Host Name에 ubuntu@아이피주소(연결한 플로팅 IP 주소)를 입력해서 접속합니다. 첫 접속 시 key access 여부를 물어보는데 accept를 눌러주시면 됩니다.

 

4. Ubuntu 접속 후 처음 할 일

 1) sudo -i su 명령어를 통해 root 권한을 얻고 작업을 진행합니다(이게 작업하기가 좀 수월합니다)

 2) apt-get update 로 설치 가능한 패키지를 업데이트합니다.

 3) apt-get upgrade로 설치되어있는 패키지를 업그레이드합니다.

 4) 위 두 명령어는 늘 따라다니는 명령어라고 생각하시면 되며 어떤 것을 설치하든지 한 번씩은 입력해서 업데이트와 업그레이드를 진행해 주시면 좋습니다.

 5) 기타 보안이나 관련 설정은 나중에 따로 업로드하겠습니다.

 

아무래도 맥 OS나 리눅스에 비해 윈도우가 접속이 까다롭기는 하나 putty에 설정사항을 처음 저장할 때 까지가 힘들지 그 이후로는 저장된 세션을 putty를 이용해 접속하면 되니 처음에 설정이 힘들어도 포기하지 마시고(특히 key 변환 부분) 끝까지 진행하셔서 이후로는 편하게 접속하시길 바랍니다.^^

 

posted by 검신흑태자 2025. 4. 9. 23:15

심볼릭 링크의 경우 리눅스 서버 등에서 실제 폴더가 있는 경로는 안전하게 다른 곳에 두고 해당 링크의 심볼만 가져와서 진짜로 폴더가 있는 것처럼 작동하게 하는 링크입니다. 윈도우에서 PHP로 개발을 진행하던 중 Nginx 설정에 프로젝트 폴더를 명시해서 사용하고 있었는데, phpMyAdmin의 경우 해당 폴더에 옮기면 Git에 커밋을 할 때에도 문제가 되는 부분이 있고 보안상의 이슈도 있을 것 같아서 - 사실 phpMyAdmin이라는 폴더 명도 변경하는 게 좋긴 합니다. 해커들이 잘 노린다고 하더군요 - phpMyAdmin은 nginx의 하위 폴더에 두고 리눅스와 같이 심볼릭 링크를 생성하는 게 좋을 것 같아 윈도우에서도 방법이 있는지 찾아보니 꽤 많이 쓰이고 있더군요. 그래서 저도 심볼릭 링크를 생성했고 방법은 아래와 같습니다.

 

1. 심볼릭 링크를 만들 폴더에 관리자 권한으로 cmd를 실행합니다

2. mklink /d 가상폴더명 실제폴더경로 -> 이렇게 실행하면 심볼릭 링크가 생성됩니다.

3. 예시로는 mklink /d d:\php\symbolic c:\php\realfolder 이런 식으로 생성해 주시면 됩니다.

4. 다만 만들고자 하는 심볼릭 링크의 폴더가 이미 존재하면 안 되니 그 부분을 주의해 주시면 될 것 같네요.

 

보안상의 이슈나 저처럼 서버에서 지정한 폴더의 경로가 다른데 참조 폴더가 필요한 경우 등은 사용하시는 게 좋을 듯합니다.