본문 바로가기
네이버클라우드/Linux

Linux 7일차 (2023-05-02) Linux Network - Web server

by prometedor 2023. 5. 2.

Apache 설치 및 실행

root@ysy1:~# aq apache2  --> 아파치가 있는지 확인

root@ysy1:~# ai apache2  --> 없다면 설치

root@ysy:~# pq http  --> http 실행 확인 (pq 의 alias 는 ps -ef | grep)

root@ysy1:~# pq apache2  --> 아파치 실행 확인

root@ysy1:~# systemctl status apache2  --> active (running) 확인 => 실행중인 것

 

/var/www/html/ 경로에 폴더 만든 후 파일 추가

root@ysy1:/var/www/html# ls
b.php  latest-ko_KR.tar.gz  old.html  wp
root@ysy1:/var/www/html# mkdir y2
root@ysy1:/var/www/html# echo "sy" > a1

root@ysy1:/var/www/html# mkdir y5
root@ysy1:/var/www/html# cd y5
root@ysy1:/var/www/html/y5# echo "Linux" > b.html
root@ysy1:/var/www/html/y5# echo "oracle" > c.html

 

크롬 127.0.0.1 에서 확인

 

 

마운트

root@ysy1:/var/www/html# mkdir myHOME
root@ysy1:/var/www/html# cd myHOME/
root@ysy1:/var/www/html/myHOME#

 

** 참고 : mount

 

 

 

root@ysy1:/var/www/html/myHOME# mkdir /sysy  --> /sysy 디렉터리 만들기
root@ysy1:/var/www/html/myHOME# mount -t vboxsf sywin /sysy  --> sywin 을 /sysy 에 마운트

root@ysy1:/var/www/html/myHOME# df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           198M  1.2M  197M   1% /run
/dev/sda4        12G  4.4G  6.8G  40% /
tmpfs           988M     0  988M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/sda2       974M  130M  777M  15% /boot
/dev/sda5       4.9G   92K  4.6G   1% /home
/dev/sda6       9.8G   24K  9.3G   1% /data
tmpfs           198M  4.0K  198M   1% /run/user/1000
tmpfs           198M  4.0K  198M   1% /run/user/1001
sywin           238G  107G  131G  45% /sysy

 

 

일반 사용자 홈페이지 만들기

/etc/apache2/mods-enabled/

root@ysy:~# cd /etc/apache2/mods-enabled/
root@ysy:/etc/apache2/mods-enabled# ls
access_compat.load  authz_user.load  filter.load       reqtimeout.load
alias.conf          autoindex.conf   mime.conf         setenvif.conf
alias.load          autoindex.load   mime.load         setenvif.load
auth_basic.load     deflate.conf     mpm_event.conf    status.conf
authn_core.load     deflate.load     mpm_event.load    status.load
authn_file.load     dir.conf         negotiation.conf
authz_core.load     dir.load         negotiation.load
authz_host.load     env.load         reqtimeout.conf

ㄴ Apache 웹 서버에서 현재 활성화된 모듈을 관리

ㄴ "/etc/apache2/mods-enabled/" 디렉토리에 있는 심볼릭 링크는 해당 모듈이 로드되도록 구성되어있음

 

 

/etc/apache2/mods-available/userdir.conf

root@ysy:/etc/apache2/mods-enabled# ln -s ../mods-available/userdir.conf

ㄴ  Apache 웹 서버에서 사용하는 모듈들 중 활성화된 모듈들의 심볼릭 링크 파일을 포함하고 있는 디렉토리

ㄴ  사용자가 자신의 홈 디렉토리에서 콘텐츠를 제공할 수 있도록 허용

 

 

/etc/apache2/mods-available/userdir.load

root@ysy:/etc/apache2/mods-enabled# ln -s ../mods-available/userdir.load

ㄴ "/etc/apache2/mods-available/userdir.load" 파일이 로드되어 "mod_userdir" 모듈이 활성화되며, Apache 웹 서버가 사용자 홈 디렉토리에서 콘텐츠를 서비스할 수 있게 됨

 

 

설정 끝난 후 apache2 재시작 필요

root@ysy:/etc/apache2/mods-enabled# systemctl  restart  apache2

 

사용자 생성

root@ysy:/etc/apache2/mods-enabled# useradd star
root@ysy:/etc/apache2/mods-enabled# passwd star
New password:
Retype new password:
passwd: password updated successfully

 

생성한 사용자로 로그인

star@ysy:~$ mkdir public_html
star@ysy:~$ chmod 755 ~  --> 홈 디렉터리 권한 바꿔주기

 

public_html 안에 index.html 파일 생성

star@ysy:~$ vi public_html/index.html

<meta charset='utf-8'>
<body bgcolor=blue text=white ><br><br> <h1><center>
<hr> <br>
스타가 될거야  <br><br>
<hr><br><br>

 

브라우저에서 확인 ( 127.0.0.1/~star/ )

public_html 안에 만들어둔 index.html 파일 실행됨 

 

 

/usr/share/apache2/icons/

ㄴ Apache 웹 서버에서 사용하는 기본 아이콘들이 저장된 디렉토리

star@ysy:~$ cd /usr/share/apache2/icons/
star@ysy:/usr/share/apache2/icons$ ls
a.gif            dvi.gif            odf6odi.png        portal.gif
alert.black.gif  dvi.png            odf6odm-20x22.png  portal.png
alert.black.png  f.gif              odf6odm.png        p.png
alert.red.gif    folder.gif         odf6odp-20x22.png  ps.gif
alert.red.png    folder.open.gif    odf6odp.png        ps.png
apache_pb2.gif   folder.open.png    odf6ods-20x22.png  quill.gif
apache_pb2.png   folder.png         odf6ods.png        quill.png
apache_pb.gif    folder.sec.gif     odf6odt-20x22.png  right.gif
apache_pb.png    folder.sec.png     odf6odt.png        right.png
apache_pb.svg    forward.gif        odf6otc-20x22.png  screw1.gif
a.png            forward.png        odf6otc.png        screw1.png
back.gif         f.png              odf6otf-20x22.png  screw2.gif
back.png         generic.gif        odf6otf.png        screw2.png
ball.gray.gif    generic.png        odf6otg-20x22.png  script.gif
ball.gray.png    generic.red.gif    odf6otg.png        script.png
ball.red.gif     generic.red.png    odf6oth-20x22.png  small
ball.red.png     generic.sec.gif    odf6oth.png        sound1.gif
binary.gif       generic.sec.png    odf6oti-20x22.png  sound1.png
binary.png       hand.right.gif     odf6oti.png        sound2.gif
binhex.gif       hand.right.png     odf6otp-20x22.png  sound2.png
binhex.png       hand.up.gif        odf6otp.png        sphere1.gif
blank.gif        hand.up.png        odf6ots-20x22.png  sphere1.png
blank.png        icon.sheet.gif     odf6ots.png        sphere2.gif
bomb.gif         icon.sheet.png     odf6ott-20x22.png  sphere2.png
bomb.png         image1.gif         odf6ott.png        svg.png
box1.gif         image1.png         openlogo-75.png    tar.gif
box1.png         image2.gif         patch.gif          tar.png
box2.gif         image2.png         patch.png          tex.gif
box2.png         image3.gif         pdf.gif            tex.png
broken.gif       image3.png         pdf.png            text.gif
broken.png       index.gif          p.gif              text.png
burst.gif        index.png          pie0.gif           transfer.gif
burst.png        layout.gif         pie0.png           transfer.png
c.gif            layout.png         pie1.gif           ubuntu-logo.png
comp.blue.gif    left.gif           pie1.png           unknown.gif
comp.blue.png    left.png           pie2.gif           unknown.png
comp.gray.gif    link.gif           pie2.png           up.gif
comp.gray.png    link.png           pie3.gif           up.png
compressed.gif   movie.gif          pie3.png           uuencoded.gif
compressed.png   movie.png          pie4.gif           uuencoded.png
continued.gif    odf6odb-20x22.png  pie4.png           uu.gif
continued.png    odf6odb.png        pie5.gif           uu.png
c.png            odf6odc-20x22.png  pie5.png           world1.gif
dir.gif          odf6odc.png        pie6.gif           world1.png
dir.png          odf6odf-20x22.png  pie6.png           world2.gif
diskimg.gif      odf6odf.png        pie7.gif           world2.png
diskimg.png      odf6odg-20x22.png  pie7.png           xml.png
down.gif         odf6odg.png        pie8.gif
down.png         odf6odi-20x22.png  pie8.png

 

/etc/apache2/mods-enabled/alias.conf

root@ysy:~# cd /etc/apache2/mods-enabled/
root@ysy:/etc/apache2/mods-enabled# vi alias.conf

ㄴ Options 에 Indexes 를 추가하여 /user/share/apache2/icons/ 경로를 /icons/ 형태로 노출시킴

 

ㄴ 127.0.0.1 에서 /icons/ 형태로 노출시킴