본문 바로가기
Web/Server & MySQL

[2021.06.16] 인턴 +107 How to Install Apache in Linux(Ubuntu 20.04)

by injekim97 2021. 6. 16.
반응형

[2021.06.16] 인턴 +107  How to Install Apache in Linux(Ubuntu 20.04)

 

 

https://injekim97.tistory.com/191

 

[2021.04.21] 인턴 +51 아파치(Apache) 설치 방법 및 설정(Window)

[2021.04.21] 인턴 +51 아파치(Apache) 설치 방법 및 설정(Window) 목차 1. 아파치(Apache) 다운로드 2. 아파치 (Apache) httpd.conf 설정 3. (관리자) 명령 프롬프트로 아파치 (Apache) 설치 4. 아파치(Apache)..

injekim97.tistory.com

-> 해당 게시글은 Window에서 apache를 설치하는 방법이다.

 

하지만, 이번 게시글에서 다루게 될 내용은 Linux(Ubuntu20.04)에서, apache 를 설치 및 사용 하는 것이다.

 

 

 

 

-------------------------------------------------------------------------------------------------------------------

1. 아파치 설치

sudo apt update
sudo apt install apache2


2. 방화벽 설정

sudo ufw app list


* Apache
-> 포트 80 open

* Apache Full
-> 포트 80,443(TLS / SSL 암호화 트래픽) open

* Apache Secure
-> 포트 443 open


sudo ufw allow 'Apache'

->  포트 80에서만 트래픽을 허용

 

 

sudo ufw status

-> 위의 이미지는 제대로 기능이 작동하지 않음

 

 

 

-

* status:inactive 일 때 해결 방법

sudo ufw enable

 

sudo ufw default deny

 

sudo iptables -L

-> 일부부만 캡처하였음

 

 

 

이제 정상적으로 작동이 된다.




3. 웹 서버 확인 

sudo systemctl status apache2



curl -4 icanhazip.com

-> 해당 출력 값을 web에 치면 apache로 접속할 수 있음

 



4. 아파치 프로세스 관리

sudo systemctl enable apache2

-> 기본적으로 Apache는 서버가 부팅 될 때 자동으로 시작 설정 O 

 

 

sudo systemctl disable apache2

-> 기본적으로 Apache는 서버가 부팅 될 때 자동으로 시작 설정 X

 

 



5. 가상 호스트 설정

sudo mkdir /var/www/your_domain
sudo chown -R injekim97:injekim97 /var/www/your_domain
sudo chmod -R 755 /var/www/your_domain
sudo nano /var/www/your_domain/index.html

 


/var/www/your_domain/index.html

<html>
    <head>
        <title>Welcome to Your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain virtual host is working!</h1>
    </body>
</html>



sudo nano /etc/apache2/sites-available/your_domain.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

-> your_domain(serverName, serverAlias, DocumentRoot) 수정해줘야함.

sudo a2ensite your_domain.conf

-> 위에서 만든 domain.conf 활성화

sudo a2dissite 000-default.conf
sudo a2dissite *-default.conf

-> apache에 설치되었던 conf 파일 비활성화 (둘중 하나 명령어 사용) 


sudo apache2ctl configtest

-> conf 파일 오류 테스트 Check



sudo systemctl restart apache2

-> apache 재시작



--------------------------------------------------------------------------------------------
아파치 구성 디렉토리

 

* /etc/apache2

-> Apache 구성 디렉토리


* /etc/apache2/apache2.conf

-> 기본 Apache 구성 파일, Apache 전역 구성을 변경하기 위해 수정 가능

 

* /etc/apache2/ports.conf

-> 이 파일은 Apache가 수신 할 포트를 지정

-> 기본적으로 Apache는 포트 80에서 수신 대기하고, SSL 기능을 제공하는 모듈이 활성화 된 경우 추가로 포트 443 추가

 

* /etc/apache2/sites-available/

-> 사이트 별 가상 호스트를 저장할 수있는 디렉터리

-> Apache는 이 디렉토리에 링크되지 않은 경우 이 디렉토리에있는 구성 파일을 사용X

a2ensite

-> 명령어를 사용하여 다른 디렉터리에 연결하여 활성화

 

 

* /etc/apache2/sites-enabled/

-> 활성화 된 사이트 별 가상 호스트가 저장되는 디렉터리

 


* /etc/apache2/conf-available/, /etc/apache2/conf-enabled/

-> 위의 디렉토리들은 sites-available및 sites-enabled 디렉토리 와 동일한 관계를 갖지만, 가상 호스트에 속하지 않는 구성을 저장하는 데 사용됨

 


* /etc/apache2/mods-available/, /etc/apache2/mods-enabled/

-> 위의 디렉토리들은 각각 사용 가능한 모듈과 활성화 된 모듈을 포함

 

 

서버 로그
* /var/log/apache2/access.log

-> 웹 서버에 대한 모든 요청이 로그 파일에 기록됨

 

* /var/log/apache2/error.log

-> 모든 오류가 해당 디렉터리 파일에 기록

반응형

댓글