Ubuntu 18.04 / Apache 사용자 인증 만드는 방법

웹사이트의 콘텐츠를 특정 사용자만 볼 수 있게 하는 방법은 여러 가지가 있습니다. 만약 웹서버에 대한 충분한 권한이 있다면, Apache를 이용하여 구현할 수 있습니다.

비밀번호 파일 만들기

비밀번호 파일은 htpasswd 명령어로 만듭니다. /home/auth/ 디렉토리에 passwords라는 이름의 파일을 만들고, 사용자 user1의 비밀번호를 정하고 싶다면 다음과 같이 명령합니다.

htpasswd -c /home/auth/passwords user1

.htaccess 파일 만들기

웹사이트의 루트 디렉토리에 다음의 내용을 가진 .htaccess 파일을 만듭니다.

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /home/auth/passwords
require valid-user

웹서버 재시작

다음과 같이 명령하여 웹서버를 재시작합니다.

service apache2 restart

테스트

이제 홈페이지에 접속하면 인증을 하라는 창이 뜹니다. 크롬이라면 다음처럼 나오고...

엣지라면 다음처럼 나옵니다. "Restricted Files"는 AuthName으로 정의한 것입니다.

설정한 사용자 이름과 비밀번호를 입력해야 접속을 할 수 있습니다.

같은 카테고리의 다른 글

Ubuntu 18.04 / 메모

Ubuntu 18.04 / 메모

MariaDB / 포트 변경 MariaDB의 기본 접속 포트는 3306입니다. 이를 다른 포트로 변경하고 싶다면 /etc/mysql/mariadb.conf.d/50-server.cnf를 수정합니다. port = 3306 을 찾아서 원하는 포트로 변경한 후 저장합니다. 그리고 MariaDB를 재시작합니다. service mysql restart MariaDB / Can't connect to MySQL server on ... (10061) 다음과 같은 에러를 만났다면... Can't connect to MySQL server on ... (10061) /etc/mysql/mariadb.conf.d/50-server.cnf에 있는 bind-address = 127.0.0.1 를 ...

Ubuntu 16.04 / root 계정으로 로그인하기, root 계정으로 ssh 접속하기

Ubuntu 16.04 / root 계정으로 로그인하기, root 계정으로 ssh 접속하기

우분투(Ubuntu)는 보안상의 이유로 root 계정으로 로그인하는 것을 막아두었습니다. 만약 root 계정으로 접속하여 관리하고 싶다면 추가적인 작업이 필요합니다. root 계정으로 접속하기 설치할 때 만든 사용자 계정으로 로그인한 후 다음과 같이 명령하여 root 계정의 비밀번호를 생성합니다. sudo passwd root 비밀번호를 만들면 root 계정으로 로그인할 수 있습니다. root 계정으로 ssh 접속하기 root 계정으로 ssh 접속을 하기 위해서는 /etc/ssh/sshd_config 파일을 수정해야 ...

Ubuntu 16.04 / Apache / javascript 폴더 접근이 안되는 문제 해결하는 방법

Ubuntu 16.04 / Apache / javascript 폴더 접근이 안되는 문제 해결하는 방법

javascript 폴더 접근 불가 우분투(Ubuntu)에서 아파치(Apache)로 웹서버를 운영할 때 이상한 문제가 하나 발생합니다. 사이트 경로에 javascript가 있으면 forbidden 에러가 나는 것입니다. Forbidden You don't have permission to access /javascript/ on this server. 이 문제가 발생하는 이유는 자바스크립트 설정 때문입니다. /etc/apache2/conf-available/javascript-common.conf에 다음과 같은 코드가 있습니다. Alias /javascript /usr/share/javascript/ javascript로 접속하면 /usr/share/javascript/로 연결시키라는 뜻입니다. 사이트 접속자는 /usr/share/javascript/에 접속 권한이 없으므로 forbidden 에러가 ...

Ubuntu 20.04 / Ubuntu 18.04에서 업그레이드 하는 방법

Ubuntu 20.04 / Ubuntu 18.04에서 업그레이드 하는 방법

Ubuntu 버전 확인 현재 사용 중인 Ubuntu의 버전은 여러 가지 방법으로 확인할 수 있습니다. cat /etc/issue Ubuntu 18.04.4 LTS \n \l lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.4 LTS Release: 18.04 Codename: bionic do-release-upgrade -V do-release-upgrade: version 18.04.36 Ubuntu 18.04에서 ...

Ubuntu 16.04 / ZIP, RAR 압축 파일 푸는 방법

Ubuntu 16.04 / ZIP, RAR 압축 파일 푸는 방법

서버로 큰 용량의 파일을 전송할 때 압축해서 업로드하는 경우가 많습니다. 용량이 줄어드는 효과도 있지만, 여러 파일을 개별적으로 전송하는 것보다 하나의 압축 파일을 전송하고 압축을 푸는 게 더 시간이 짧게 걸리기 때문입니다. 우분투(Ubuntu)에서 ZIP 파일을 압축 해제하려면 unzip을 설치하고, RAR 파일을 압축 해제하려면 unrar를 설치하면 됩니다. 설치는 다음과 같이 합니다. apt-get install unzip ...

Ubuntu 20.04 / hostname 확인하는 방법, 변경하는 방법

Ubuntu 20.04 / hostname 확인하는 방법, 변경하는 방법

Ubuntu 20.04에서 호스트네임을 조회하고 변경하는 방법을 정리합니다. hostname 확인하는 방법 방법 1 - 명령어로 확인하기 다음과 같이 명령하면 hostname을 출력합니다. hostname 방법 2 - 설정 파일 열어서 확인하기 /etc/hostname 파일에 hostname이 있습니다. cat /etc/hostname hostname 변경하는 방법 방법 1 - 명령어로 변경하기 다음과 같이 명령하면 hostname이 abc로 바뀝니다. hostnamectl set-hostname abc 방법 2 - 설정 파일 열어서 변경하기 텍스트 에디터로 /etc/hostname 파일을 열어서 내용을 abc로 ...

Ubuntu 16.04 / logrotate 설치하고 설정하기

Ubuntu 16.04 / logrotate 설치하고 설정하기

로그 파일 우분투(Ubuntu)는 여러 작업의 내용을 로그(Log) 파일로 남깁니다. 예를 들어 웹서버 운영과 관련된 로그는 /var/log/apache2에 있습니다. 로그는 기본적으로 하나의 파일에 계속 추가하는 것이어서, 시간이 지날수록 파일의 크기가 커집니다. 로그 파일의 크기가 너무 커지면, 시스템이 느려지거나 다운되기도 합니다. 이러한 문제를 해결해주는 패키지가 logrotate입니다. 로그 파일이 일정 기준을 충족하면 기존 로그 파일을 다른 이름으로 변경하여 ...

Ubuntu 18.04 / 언어 변경하는 방법

Ubuntu 18.04 / 언어 변경하는 방법

현재 언어 확인하기 locale 명령어로 현재 언어가 무엇인지 확인할 수 있습니다. root@ubuntu-1804-server:~# locale LANG=en_US.UTF-8 LANGUAGE= LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= 언어 변경하기 사용할 언어를 먼저 설치합니다. 한국어를 사용하고 싶다면 다음과 같이 명령합니다. apt-get install language-pack-ko /etc/default/locale을 열고 다음과 같이 만듭니다. LANG=ko_KR.UTF-8 테스트하기 새로 로그인하거나 재부팅하면 변경한 언어가 적용됩니다. 의미 없는 문자열을 입력해보거나 root@ubuntu-1804-server:~# 123 123: 명령을 찾을 수 없습니다 locale 명령어로 확인할 수 있습니다. root@ubuntu-1804-server:~# locale LANG=ko_KR.UTF-8 LANGUAGE= LC_CTYPE="ko_KR.UTF-8" LC_NUMERIC="ko_KR.UTF-8" LC_TIME="ko_KR.UTF-8" LC_COLLATE="ko_KR.UTF-8" LC_MONETARY="ko_KR.UTF-8" LC_MESSAGES="ko_KR.UTF-8" LC_PAPER="ko_KR.UTF-8" LC_NAME="ko_KR.UTF-8" LC_ADDRESS="ko_KR.UTF-8" LC_TELEPHONE="ko_KR.UTF-8" LC_MEASUREMENT="ko_KR.UTF-8" LC_IDENTIFICATION="ko_KR.UTF-8" LC_ALL=

Ubuntu 16.04 / ufw로 방화벽 설정하는 방법

Ubuntu 16.04 / ufw로 방화벽 설정하는 방법

우분투의 방화벽 설정 프로그램은 ufw입니다. ufw로 방화벽을 활성화시키고 관리하는 방법을 메모합니다. 방화벽 활성화 ufw enable 방화벽 비활성화 ufw disable 방화벽 상태 확인 ufw status 53 포트 허용 ufw allow 53 53 포트 tcp 패킷 허용 ufw allow 53/tcp 53 포트 udp 패킷 허용 ufw allow 53/udp 53 포트 거부 ufw deny 53 53 포트 tcp 패킷 거부 ufw deny 53/tcp 53 포트 udp 패킷 거부 ufw deny 53/udp 53 ...

Ubuntu / 설치 USB 만드는 방법

Ubuntu / 설치 USB 만드는 방법

ODD가 없는 컴퓨터에 OS를 설치하는 방법은 두가지입니다. 첫번째는 휴대용 ODD를 이용하는 것이고, 두번째는 USB에 설치 파일을 넣어서 이용하는 것입니다. 두번째 방법이 간편하기는 하지만 설치용 USB를 만드는 게 좀 번거롭습니다. 하지만, 우분투(Ubuntu) 설치용 USB는 몇 번의 클릭으로 쉽게 만들 수 있습니다. 우분투 다운로드 원하는 우분투 버전을 다운로드 받습니다. Universal USB Installer 다운로드 다음의 링크에서 Universal USB Installer를 다운로드 ...

Ubuntu