간단한 HTML 사이트 만들기
1. HTML 사이트가 왜 필요할까?
웹 개발의 신나는 세계에 온 걸 환영해! 오늘은 간단한 정적 HTML 사이트를 만들고, 이전 강의에서 설정한 웹 서버에 배포해볼 거야. 만약 HTML 코드를 한 번도 작성해본 적이 없더라도 걱정 마 – 모든 게 아주 쉽게 이해될 거야. 우리의 목표는 HTML의 기본을 이해하는 것뿐만 아니라 웹 서버를 통해 세상과 공유할 수 있는 웹 사이트를 만드는 방법을 배우는 거야.
이제 다음 단계로 넘어가 보자 – HTML로 우리만의 사이트를 만들고, 웹 서버를 통해 제대로 보이도록 설정해볼 거야. 웹 세계를 정복할 준비됐지? 그럼 시작하자!
HTML (HyperText Markup Language) – 모든 웹 페이지의 기초야. 사이트의 구조와 콘텐츠를 담당하지. 표준 HTML에서는 헤더, 텍스트, 이미지, 링크, 그리고 심지어 테이블까지 설명할 수 있어. 배우기는 쉽지만, 어떤 사이트의 기반이든 될 수 있을 만큼 강력해.
실제 세계에서는 정적 HTML 페이지를 다룰 수 있는 기술이 다양한 상황에서 유용해:
- 웹 애플리케이션의 프로토타입을 빠르게 만들기.
- 문서를 위한 정적 페이지 작성 및 테스트.
- 서버 애플리케이션을 위한 기본 인터페이스 준비.
그리고 HTML은 웹 페이지 형태의 이력서를 작성하는 훌륭한 방법이야 (맞아, 리크루터들이 가끔 좋아해). 그리고 우리 프로그래머로서 기본 HTML을 아는 건 기본 소양이지.
2. 1단계. HTML 기초: 첫 페이지 만들기
프로그래밍은 마치 LEGO 같아: 모든 나이에게 사랑받는 활동이지. 작은 "블록"으로 시작해보자 - 우리의 첫 웹 페이지로 말이야.
HTML 문서 최소 예제
어떤 텍스트 에디터(예: nano
, vim
, 심지어 gedit
, 그래픽 인터페이스를 원한다면)에서 index.html
라는 이름의 파일을 만들어서 아래 코드를 작성해봐:
<!DOCTYPE html>
<html>
<head>
<title>내 첫 번째 사이트</title>
</head>
<body>
<h1>안녕, 세상!</h1>
<p>이것은 내 첫 번째 HTML 웹 페이지야.</p>
</body>
</html>
코드 설명
<!DOCTYPE html>
– 브라우저에 우리가 HTML5를 사용한다고 알려줌.<html>
– 문서를 여는 태그. 모든 페이지 내용은 이 태그 안에 있어.<head>
– 사이트의 메타 정보를 위한 섹션 (예: 페이지 제목, 스타일 또는 스크립트 연결).<title>
– 브라우저 탭에 표시될 페이지 제목.<body>
– 주 섹션, 모든 보이는 내용은 여기 있어.<h1>
– 1단계 헤더 (숫자가 작을수록 헤더가 더 큼).<p>
– 텍스트 단락.
맞아, 이건 단 7줄이야, 하지만 이게 바로 네 사이트의 기반이 될 거야!
3. 2단계. HTML 사이트를 서버에 업로드하기
이제 페이지가 준비되었으니, 세상에 공개할 차례야. 이를 위해 우리 웹 서버를 사용할 거야.
사이트 폴더 준비
사이트 파일을 보관할 디렉토리를 만들어봐. 예를 들어, example.com
도메인으로 가상 호스트에 사이트를 업로드하려 한다면, 아래 명령어를 실행해:
sudo mkdir -p /var/www/example.com
그런 다음, index.html
파일을 이 폴더로 이동시켜:
sudo cp index.html /var/www/example.com/
이제 진짜 마법이 시작돼 – 파일이 준비되었어.
4. 단계 3. 웹 서버 설정하여 사이트 제공
Nginx 설정
가상 호스트 구성 파일 열기:
sudo nano /etc/nginx/sites-available/example.com
다음 구성 추가:
server { listen 80; server_name example.com; root /var/www/example.com; index index.html; location / { try_files $uri $uri/ =404; } }
가상 호스트 활성화 및 서버 재시작:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx
Apache 설정
가상 호스트 구성 파일 열기:
sudo nano /etc/apache2/sites-available/example.com.conf
다음 구성 추가:
<VirtualHost *:80> ServerName example.com DocumentRoot /var/www/example.com <Directory /var/www/example.com> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
가상 호스트 활성화 및 서버 재시작:
sudo a2ensite example.com.conf sudo systemctl restart apache2
사이트 확인
이제 브라우저를 열고, http://example.com
(또는 서버의 IP 주소)을 입력하고 결과를 확인해봐. 멋진 "안녕, 세상!" 메시지가 보인다면, 축하해, 잘 작동하고 있어!
5. 단계 4. 우리 사이트 꾸미기
정적인 페이지도 좋지만, 약간의 CSS는 항상 환영이지. 스타일을 조금 더 추가해 보자.
/var/www/example.com/
폴더에 새로운 파일 style.css
를 추가해:
body {
font-family: Arial, sans-serif;
background-color: #f5f5f5;
color: #333;
}
h1 {
color: #ff5722;
}
이제 index.html
을 업데이트해서 CSS 링크를 추가해 봐:
<!DOCTYPE html>
<html>
<head>
<title>내 첫 번째 사이트</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>안녕, 세상!</h1>
<p>이건 내가 처음 만든 HTML 웹페이지야.</p>
</body>
</html>
페이지를 새로고침하면 스타일이 조금 바뀐 걸 볼 수 있을 거야. 이제 네 사이트가 좀 더 보기 좋아졌어!
6. 대표적인 문제와 해결 방법
웹사이트 작업 중 여러 가지 문제가 생길 수 있지만 걱정하지 마. 우리가 너를 도와줄게:
"403 Forbidden" 에러. 사이트 폴더의 권한을 확인해봐. 아래 명령어를 사용하면 돼:
sudo chmod -R 755 /var/www/example.com
"404 Not Found" 에러. 사이트 파일이 올바른 폴더에 있고 올바르게 이름이 지정되어 있는지 확인해.
사이트가 표시되지 않음. 웹 서버 서비스가 실행 중인지 확인해봐:
sudo systemctl status nginx sudo systemctl status apache2
이제 네 사이트에 접근할 수 있는 주소를 알고 있는 모든 사람들에게 제공돼! 멋지지 않아? 다음 강의에서는 HTTPS 추가로 보안을 강화하고 서버 설정을 관리하는 방법을 배울거야.
GO TO FULL VERSION