웹호스팅 따라하기 – 02 아파치(Apache2) 설치하기~!

 이번에는 웹호스팅 따라하기 그 본격적인 단계로 아파치를 설치해보도록 하겠습니다.

 사실상 매우 잘 나와있는 메뉴얼이 있는데 저도 이것을 따라하고 있습니다.

 제 글이 너무 쉽고 불필요하게 느껴지시는 분들은 다음 페이지를 참고하시면 되겠습니다.

 https://wiki.debian.org/LaMp

사용자 삽입 이미지 아파치는 전 세계적으로 가장 많이 쓰이는 HTTP 웹 서버라고 생각하시면 되겠습니다.

 요즘엔 또다른 웹 서버인 nginx 과 lighttpd가 인기 급 상승중이기도 합니다. 저는 이 둘중에 nginx를 설치해보기도 했는데 아파치가 워낙 역사가 길다보니 외국 자료도 구하기 쉽고 여러가지 트러블 슈팅에는 아파치만한것이 없더라구요.

 메뉴얼에 잘 나와있는것 처럼 apt-get을 통해 아파치를 설치하겠습니다.

[code bash] root@debian:~# apt-get install apache2 [/code]

 위 커맨드를 입력하고 나면 필요한 모듈을 설치하게 되는데 저는 다음과 같은 메세지가 출력되었습니다

[code bash] 패키지 목록을 읽는 중입니다… 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다… 완료
다음 패키지를 더 설치할 것입니다:
  apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1
  libaprutil1-dbd-sqlite3 libaprutil1-ldap libldap-2.4-2 libsasl2-2
제안하는 패키지:
  www-browser apache2-doc apache2-suexec apache2-suexec-custom
추천하는 패키지:
  ssl-cert libsasl2-modules
다음 새 패키지를 설치할 것입니다:
  apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1
  libaprutil1-dbd-sqlite3 libaprutil1-ldap libldap-2.4-2 libsasl2-2
0개 업그레이드, 11개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
1,663 k바이트 아카이브를 받아야 합니다.
이 작업 후 5,537 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까 [Y/n]? y

받기:1 http://ftp.kr.debian.org/debian/ wheezy/main libsasl2-2 armel 2.1.25.dfsg1-6+deb7u1 [110 kB]
받기:2 http://ftp.kr.debian.org/debian/ wheezy/main libldap-2.4-2 armel 2.4.31-1+nmu2 [217 kB]
받기:3 http://ftp.kr.debian.org/debian/ wheezy/main libapr1 armel 1.4.6-3+deb7u1 [93.8 kB]
받기:4 http://ftp.kr.debian.org/debian/ wheezy/main libaprutil1 armel 1.4.1-3 [76.8 kB]
받기:5 http://ftp.kr.debian.org/debian/ wheezy/main libaprutil1-dbd-sqlite3 armel 1.4.1-3 [18.1 kB]
받기:6 http://ftp.kr.debian.org/debian/ wheezy/main libaprutil1-ldap armel 1.4.1-3 [16.0 kB]
받기:7 http://ftp.kr.debian.org/debian/ wheezy/main apache2.2-bin armel 2.2.22-13 [674 kB]
받기:8 http://ftp.kr.debian.org/debian/ wheezy/main apache2-utils armel 2.2.22-13 [163 kB]
받기:9 http://ftp.kr.debian.org/debian/ wheezy/main apache2.2-common armel 2.2.22-13 [291 kB]
받기:10 http://ftp.kr.debian.org/debian/ wheezy/main apache2-mpm-worker armel 2.2.22-13 [2,238 B]
받기:11 http://ftp.kr.debian.org/debian/ wheezy/main apache2 armel 2.2.22-13 [1,430 B]
내려받기 1,663 k바이트, 소요시간 1초 (836 k바이트/초)
Selecting previously unselected package libsasl2-2:armel.
(데이터베이스 읽는중 …현재 14058개의 파일과 디렉터리가 설치되어 있습니다.)
libsasl2-2:armel 패키지를 푸는 중입니다 (…/libsasl2-2_2.1.25.dfsg1-6+deb7u1_armel.deb에서) …
Selecting previously unselected package libldap-2.4-2:armel.
libldap-2.4-2:armel 패키지를 푸는 중입니다 (…/libldap-2.4-2_2.4.31-1+nmu2_armel.deb에서) …
Selecting previously unselected package libapr1.
libapr1 패키지를 푸는 중입니다 (…/libapr1_1.4.6-3+deb7u1_armel.deb에서) …
Selecting previously unselected package libaprutil1.
libaprutil1 패키지를 푸는 중입니다 (…/libaprutil1_1.4.1-3_armel.deb에서) …
Selecting previously unselected package libaprutil1-dbd-sqlite3.
libaprutil1-dbd-sqlite3 패키지를 푸는 중입니다 (…/libaprutil1-dbd-sqlite3_1.4.1-3_armel.deb에서) …
Selecting previously unselected package libaprutil1-ldap.
libaprutil1-ldap 패키지를 푸는 중입니다 (…/libaprutil1-ldap_1.4.1-3_armel.deb에서) …
Selecting previously unselected package apache2.2-bin.
apache2.2-bin 패키지를 푸는 중입니다 (…/apache2.2-bin_2.2.22-13_armel.deb에서) …
Selecting previously unselected package apache2-utils.
apache2-utils 패키지를 푸는 중입니다 (…/apache2-utils_2.2.22-13_armel.deb에서) …
Selecting previously unselected package apache2.2-common.
apache2.2-common 패키지를 푸는 중입니다 (…/apache2.2-common_2.2.22-13_armel.deb에서) …
Selecting previously unselected package apache2-mpm-worker.
apache2-mpm-worker 패키지를 푸는 중입니다 (…/apache2-mpm-worker_2.2.22-13_armel.deb에서) …
Selecting previously unselected package apache2.
apache2 패키지를 푸는 중입니다 (…/apache2_2.2.22-13_armel.deb에서) …
libsasl2-2:armel (2.1.25.dfsg1-6+deb7u1) 설정하는 중입니다 …
libldap-2.4-2:armel (2.4.31-1+nmu2) 설정하는 중입니다 …
libapr1 (1.4.6-3+deb7u1) 설정하는 중입니다 …
libaprutil1 (1.4.1-3) 설정하는 중입니다 …
libaprutil1-dbd-sqlite3 (1.4.1-3) 설정하는 중입니다 …
libaprutil1-ldap (1.4.1-3) 설정하는 중입니다 …
apache2.2-bin (2.2.22-13) 설정하는 중입니다 …
apache2-utils (2.2.22-13) 설정하는 중입니다 …
apache2.2-common (2.2.22-13) 설정하는 중입니다 …
Enabling site default.
Enabling module alias.
Enabling module autoindex.
Enabling module dir.
Enabling module env.
Enabling module mime.
Enabling module negotiation.
Enabling module setenvif.
Enabling module status.
Enabling module auth_basic.
Enabling module deflate.
Enabling module authz_default.
Enabling module authz_user.
Enabling module authz_groupfile.
Enabling module authn_file.
Enabling module authz_host.
Enabling module reqtimeout.
apache2-mpm-worker (2.2.22-13) 설정하는 중입니다 …
[….] Starting web server: apache2apache2: apr_sockaddr_info_get() failed for debian
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
. ok
apache2 (2.2.22-13) 설정하는 중입니다 …[/code]

 여기까지 진행된다면 아파치 설치는 성공적이라 할 수 있습니다. 하지만, 목적 자체가 웹호스팅 따라하기 이다보니 메뉴얼에서처럼 조금더 작업해 줍니다.

 웹호스팅에서 그누구도 루트계정을 사용하지 않죠? 그러니 유저를 추가해서 각 유저들의 계정을 관리할 수 있는 모듈을 추가합니다.

[code bash] root@debian:~# a2enmod userdir [/code]

 이 커맨드를 입력한 뒤에 아파치 설정파일을 다시 직접 수정해 주도록 합니다.

[code bash] root@debian:~# nano /etc/apache2/mods-enabled/userdir.conf [/code]

[code text] <IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride All
                Options MultiViews Indexes SymLinksIfOwnerMatch
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>[/code]

아마 기본적으로 이렇게 설정 되어있을 확률이 높으니 큰 걱정 안하셔도 될것 같네요.

아파치가 정상적으로 작동중인지 확인하고자 한다면 http://서버IP 로 접근해보면 알 수 있겠네요.

다음번에는 PHP와 MySQL을 설치해보도록 하겠습니다.