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 / Nginx, PHP, MariaDB 설치하고 설정하기

Ubuntu 18.04 / Nginx, PHP, MariaDB 설치하고 설정하기

Ubuntu 18.04에 Nginx와 PHP를 설치하고 설정하는 방법입니다. Nginx 설치 Nginx를 설치합니다. apt install nginx 만약 방화벽을 사용하고 있다면 포트를 열어줍니다. ufw allow 'Nginx Full' 서버 주소로 접속했을 때 다음과 같이 나오면 제대로 된 것입니다. 시작, 정지 등 Nginx를 시작합니다. systemctl start nginx Nginx를 멈춥니다. systemctl stop nginx Nginx를 재시작합니다. systemctl restart nginx Nginx를 다시 로드합니다. systemctl reload nginx Nginx를 설치하면 부팅 시 자동으로 시작하게 설정됩니다. 만약 자동 ...

Ubuntu 14.04 / LESS 설치하는 방법

Ubuntu 14.04 / LESS 설치하는 방법

우분투 14.04에 LESS를 설치하는 방법을 메모합니다. Node.js 설치 apt-get install nodejs NPM 설치 apt-get install npm LESS 설치 npm install -g less less-plugin-clean-css /usr/local/bin/lessc 파일 첫 줄에 다음과 같은 코드가 있습니다. #!/usr/bin/env node 다음처럼 바꿉니다. #!/usr/bin/env nodejs

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 18.04 / 고정 IP 설정하는 방법

Ubuntu 18.04 / 고정 IP 설정하는 방법

네트워크 설정 파일 우분투 18.04의 네트워크 설정 파일은 /etc/netplan 디렉토리 안에 있는 yaml 파일입니다. 고정 IP로 설정하기 DHCP로 설치했다면, 설정 파일 내용은 다음과 같습니다. network: ethernets: enp0s3: addresses: ...

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

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

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

Ubuntu 18.04 / root 계정으로 로그인하는 방법, root 계정으로 ssh 접속하는 방법

Ubuntu 18.04 / root 계정으로 로그인하는 방법, root 계정으로 ssh 접속하는 방법

root 계정으로 로그인하는방법 일반 사용자 계정으로 로그인합니다. 다음과 같이 명령하여 root 계정의 비밀번호를 만듭니다. sudo passwd root 이제 root 계정으로 로그인할 수 있습니다. root 계정으로 ssh 접속하는 방법 설정 파일 수정 텍스트 편집기로 /etc/ssh/sshd_config을 엽니다. 다음과 같은 코드를… #PermitRootLogin prohibit-password 주석을 제거하고 prohibit-password를 yes로 바꿉니다. PermitRootLogin yes 설정 적용하기 다음과 같이 명령하여 변경한 설정을 적용시킵니다. systemctl restart sshd

Ubuntu 18.04 / phpMyAdmin 설치하는 방법

Ubuntu 18.04 / phpMyAdmin 설치하는 방법

phpMyAdmin phpMyAdmin은 MySQL, MariaDB를 웹브라우저에서 관리할 수 있게 해주는 소프트웨어입니다. Ubuntu 18.04에 phpMyAdmin을 설치하고 설정하는 방법을 알아보겠습니다. 설치 apt install phpmyadmin 설치하는 과정에서 몇 가지 질문을 합니다. 사용하는 웹서버를 선택합니다. 비밀번호를 정하고… 다시 한 번 입력합니다. Yes를 선택하고 진행하면 설치가 끝납니다. 접속 웹브라우저로 서버 주소에 phpmyadmin을 붙여서 접속합니다. MySQL 또는 MariaDB의 사용자명과 암호를 입력해서 로그인하는데… root 계정으로 접속이 불가능할 수도 있습니다. 만약 root으로 ...

Ubuntu 16.04 / hostname 확인하고 변경하는 방법

Ubuntu 16.04 / hostname 확인하고 변경하는 방법

hostname 확인 명령어로 확인하기 다음과 같이 명령하면 hostname을 출력합니다. hostname 설정 파일 열어서 확인하기 텍스트 에디터로 /etc/hostname 파일을 열면 hostname이 적혀있습니다. hostname 변경 명령어로 변경하기 다음과 같이 명령하면 hostname이 abc로 바뀝니다. hostnamectl set-hostname abc 설정 파일 열어서 변경하기 텍스트 에디터로 /etc/hostname 파일을 열어서 내용을 abc로 바꾸면 hostname이 abc로 바뀝니다. 재부팅 재부팅을 하면 위에서 설정한 사항들이 반영됩니다. Ubuntu 16.04 / 고정 IP 설정하는 방법 Ubuntu 18.04 ...

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

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

웹사이트의 콘텐츠를 특정 사용자만 볼 수 있게 하는 방법은 여러 가지가 있습니다. 만약 웹서버에 대한 충분한 권한이 있다면, Apache를 이용하여 구현할 수 있습니다. 비밀번호 파일 만들기 비밀번호 파일은 htpasswd 명령어로 만듭니다. /home/auth/ 디렉토리에 passwords라는 이름의 파일을 만들고, 사용자 user1의 비밀번호를 정하고 싶다면 다음과 같이 명령합니다. htpasswd -c /home/auth/passwords user1 .htaccess 파일 만들기 웹사이트의 루트 디렉토리에 ...

Ubuntu 18.04 / apt / 패키지 설치, 삭제, 업그레이드하는 명령어

Ubuntu 18.04 / apt / 패키지 설치, 삭제, 업그레이드하는 명령어

APT This package provides commandline tools for searching and managing as well as querying information about packages as a low-level access to all features of the libapt-pkg library. 사용법 패키지 목록을 갱신합니다 apt update 모든 패키지를 최신 버전으로 업그레이드합니다. apt upgrade abc 패키지를 설치합니다. 의존성있는 패키지도 함께 설치합니다. apt install abc abc 패키지를 삭제합니다. 설정 파일 등은 삭제하지 않습니다. apt ...

Linux