web hosting service란? 웹서버 공간을 자체적으로 운영하기 위해서는 독자적인 서버, 전용선, 네트워크 장비, 여러 프로그램 등이 필요하다. 웹서버의 구축 및 운영이 어려운 개인이나 기업을 대상 으로 서버 구축 장비가 완비되어있는 상태의 웹 서버의 일정 공간을 임대 및 관리를 해 주는 가상 서비스를 웹 호스팅 서비스라고 한다.
우리가 하게 될 작업은 웹 호스팅이다. virtual machine 구동 중인 하나의 apache2 server에서 server의 일부 공간을 임대하여 같은 ip에 여러가지의 doamin 이름이 mapping되는 name based virtual host를 setting할 것이다.
virtual host setting을 위한 큰 그림을 그려보자
1. 사용자 계정을 만든다. (apache2 root 권한으로)
adduser [username] (원하는 virtual host의 수만큼 만들기)
2. name-based virtual host setting (apache2 root 권한으로)
sites-availabe/[filename].conf (원하는 virtual host의 수만큼 만들기)
a2ensite [filename].conf
vim /etc/apache2/apache2.conf 파일 수정
/etc/hosts 파일 수정 (실제 web hosting service에서는 필요없는 과정이다.)
service apache2 restart
3. database 분양하기 (mysql root 권한으로)
mysql -u root
create database [databsename];
grant all privileges on [databasename].* to [userid]@[host] identified by '[password]';
4. 각 사용자 계정에 homepage용 directory밑에 wordpress setting. (user 계정으로)
su - [username]
mkdir html
wget [다운로드 주소]
tar xvfz [압축풀파일이름]
5. 3개의 doamin 별 작동 test
6. 다른 word press thema 적용
1.사용자 계정을 만든다. (apache2 root 권한으로)
1-1) /etc/apache2/apache2.conf 파일을 수정하여 일반 user가 webpage의 file을 변경 및 관리 할 수 있도록 /home/*/html의 directory에 default main host directory와 같은 권한을 준다.
1-2) user생성하기 : 각 virtual host webpage root를 관리할 user계정을 생성한다. 여기서는 user01, user02, user03 총 3개의 user account를 생성하겠다.
2. name-based virtual host setting (apache2 root 권한으로)
2-1) sites-availabe/[filename].conf (원하는 virtual host의 수만큼 만들기)
각 virtual host web page마다 root directory와 domain name을 다르게 사용해야 한다. 각 virtual host user account마다 conf 파일을 생성하고, DocumentRoot, ServerName을 수정한다.
2-2) a2ensite [filename].conf
/etc/apache2/sites-available : 웹서비스를 할 컨텐츠 경로 및 권한 등의 설정 값이 있으며 디폴트 설정값으로 000-default.conf 파일이 있다. 그 외 웹서비스를 할 컨텐츠마다 *.conf로 명명된 설정된 파일을 생성해주면 된다.
/etc/apache2/sites-enable : sites-available에 설정된 파일들 중 실제로 활성화된 것들은 심볼릭 링크로 연결된 파일들이 있는 곳이다. , a2ensite / a2dissite 등의 명령어를 통해 수정된다.
apache server의 설정파일인 apache2.conf에서 sites-enabled만 추가하므로 conf 파일을 만들고 난뒤 a2ensite 명령어를 통해 sites-enable에 symbolic link를 설정해주어야 한다.
2-3) vim /etc/apache2/apache2.conf 파일 수정
/etc/apache2/의 directory에 virtual host들의 정보를 담고 있는, virtualhost.conf 파일을 생성하고, VirtualHost의 ServerName, ServerAlias, DocumentRoot에 관한 정보를 적어준다. 정해진 형식이 있으므로 꼭 아래와 같은 형식을 지켜야 한다. (000-defaul.conf 파일에 적혀진 default file에 대한 정보도 virtualhost.conf 파일에 추가해주어야 한다. 왜 그럴까?)
apache2.conf 파일에 들어가 virtualhost.conf 파일이 virtualhost의 정보를 담고 있는 virtualhost.conf 파일을 포함하도록 명령을 추가해준다.
2-4) /etc/hosts 파일 수정 (실제 web hosting service에서는 필요없는 과정이다.)
실제로 웹 호스팅 Virtual Hosting할 때에는 Domain name을 사서 DNS 서버에 등록해야 하지만, 우리는 가상으로 web hosting server를 운영하고 있다고 가정하고 있다. DNS 서비스를 이용하는 대신, web ser/etc directory에 있는 host파일을 수정하여 computer를 속이자. 즉, 실제의 DNS 서비스에 등록된 domain-ip를 이용하는 대신, hosts 파일에 domain-ip를 등록하여 사용하는 것이다.
2-5) service apache2 restart
위에서 수정된 conf 파일들을 apache2 server에 적용해주기 위해 apache2 server를 restart하자.
3. database 분양하기 (mysql root 권한으로)
3-1) 각 virtual host webpage에서 사용될 mysql의 database를 분양하기 위해, mysql의 root 계정으로 들어가 각 user를 위한 database를 setting해주자.
mysql -u root : mysql root 계정으로
create database [databsename]; : database 만들기
grant all privileges on [databasename].* to [userid]@[host] identified by '[password]'; : database 권한 설정
4. 각 사용자 계정에 homepage용 directory밑에 wordpress setting. (user 계정으로)
4-1) su - [username], mkdir html
user account가 수정할 수 있는 directory여야 하므로 root 계정이 아닌, user account로 각자의 root directory에 각 virtaul host의 webpage root directory인 html directory를 만들자.
4-2)wget [다운로드 주소], tar xvfz [압축풀파일이름]
각 user account의 root directory 아래에 wordpress를 다운로드 및 설치하자. webpage를 통해 wordpress에 들어가 wordpress 설정도 완료하자.
5. 3개의 doamin 별 작동 test
6. 다른 word press thema 적용
wordpress에서 기본적으로 제공하는 thema를 적용해보았다.
https://www.blueweb.co.kr/hosting/webhosting_intro.html (웹 호스팅이란?)
https://www.google.com/search?biw=892&bih=873&tbm=isch&sa=1&ei=UZbVXL2tJ8nemAWMhJTQDA&q=web+hosting+service+%EB%9E%80&oq=web+hosting+service+%EB%9E%80&gs_l=img.3...11735.13223..14145...0.0..0.126.459.0j4......1....1..gws-wiz-img.......0i19j0i30i19.5n4KUDFSMb4#imgrc=st-NR4jJ2-dttM: (웹호스팅, 서버 호스팅, 클라우드 차이점은?)
https://sacstory.tistory.com/entry/Apache2-%EC%84%A4%EC%A0%95-%EA%B4%80%EB%A0%A8 (데비안 apache2 설정)
'Web Server(APM)' 카테고리의 다른 글
웹 호스팅 Virtual Host setting (0) | 2019.05.05 |
---|---|
mysql database만들고, wordpress 사용하기 (0) | 2019.05.05 |
apache2 server의 home directory 변경(host file) (0) | 2019.05.05 |
apache2 server 상태 확인, 시작, 중지, 재시작 (0) | 2019.05.05 |
apache2 서버에 php, mysql, phpmyadmin 설치 및 접속하기 (0) | 2019.05.04 |