웹 서버를 설정하고 GNU / Linux에서 웹을 호스팅하는 방법

웹 URL

당신이 궁금해 한 적이 있다면 호스팅 서비스 네트워크에 존재하는 웹 페이지 또는 웹 서버 란 무엇이며 일부 웹 페이지의 URL에 표시되는 막대, 클라이언트가 웹 페이지에 원격으로 연결할 수있는 방법 등을 포함하여 작동 방식 이 기사에서 당신에게 분명히 할 것입니다. 저는 서버가 무엇인지에 대한 개념뿐만 아니라 간단한 튜토리얼 덕분에 단계별로 웹 서버를 만드는 방법을 알게 될 것입니다.

오늘날 우리 모두는 번성하는 클라우드 컴퓨팅의 모든 종류의 원격 서비스를 사용하지만, 다른 서비스보다 눈에 띄는 서비스가 있다면 아마도 제공하는 서비스 일 것입니다. 웹 서버, 우리가 좋아하는 뉴스를 읽기 위해 매일 방문하는 수많은 웹 사이트가 있기 때문에, Gmail과 같은 일부 서비스를 제공하는 웹 인터페이스에서 이메일을 확인하고, 거래를하고, 일하고, 온라인으로 구매하는 등의 작업을합니다. 아무도 이러한 서비스에서 벗어나지 않습니까? 그러나 많은 사용자의 경우 뒤에 무엇이 있는지 알 수 없습니다 ...

서버 란?

서버 팜

일부 사용자는 서버는 특별한 것, 실제와는 매우 다른 것입니다. 그러나 간단한 언어로 말하면 서버는 우리 집에서 가질 수있는 것과 같은 컴퓨터에 지나지 않습니다. 단지 클라이언트 역할을하는 대신 서버 역할을하는 것, 즉 서비스를 제공하는 것입니다. 그렇다면 서버가 나올 때 TV 나 다른 매체에서 보는 이미지가 왜 그렇게 드물다고 생각할 수 있습니다.

글쎄요, 제가 여기에 포함시킨 것과 같은 이미지는 서버 팜. 이것은 단일 서버로 함께 작동하는 일련의 컴퓨터 클러스터에 부여 된 이름입니다. 이러한 서버가 일반적으로 제공하는 서비스는 컴퓨터, 스마트 폰, 태블릿, 스마트 TV 등에서 클라이언트 역할을하는 수백, 수천 또는 수백만 명의 사용자를 대상으로합니다. 따라서 처리해야하는 용량은 가정용 컴퓨터의 용량보다 훨씬 큽니다.

트위터와 같은 서비스,이 소셜 네트워크의 사용자 수, 초당 전송되는 파일 및 메시지 수에 대해 생각하면됩니다. 생각해 보면 많은 양의 데이터따라서 우리가 집에있는 것과 같은 연결과 일반 컴퓨터에서는 유효하지 않습니다. 모든 사용자의 액세스가 지연되지 않도록 매우 빠른 연결이 필요하고 모든 정보를 호스팅 할 수 있도록 필요한 용량을 제공해야합니다.

이것으로 내가 의미하는 것은 이 서비스 수십 또는 수백 대의 "컴퓨터"가 사용됩니다. 랙이있는 캐비닛에 집에서 사용할 수있는 것과 같습니다. 그러나 본질적으로 그들 각각은 우리 집에있는 것과 같은 데스크탑 컴퓨터에서 멀지 않습니다. 일부는 AMD EPYC, Intel Xeon 등과 같은 특수 마이크로 프로세서를 가지고있을 수도 있고, RAID로 구성된 여러 개의 하드 드라이브를 가지고있을 수도 있습니다.이 중 하나라도 실패하면 정보가 손실되는 것을 방지 할 수 있습니다. 당신이 지금 관리하는 것과 같은 것입니다. 이제 PC를 겸손한 서버로 바꾸는 방법을 설명하기 때문에 이것을 말할 것입니다 ...

물론 이것들 서버는 다양한 유형입니다, 스토리지와 같은 클라우드 서비스를 제공하는 것, 이메일 서비스, 웹 서버를 제공하는 것, DNS, NTP, DHCP, LDAP 등과 같은 단순한 서비스를 제공하는 것, 즉 후자는 모두 매우 일부 ISP (인터넷 서비스 제공 업체) 또는 인터넷 서비스 제공 업체가 제공하는 서비스이기 때문에 인식도없이 매일 필요하고 확실하게 사용합니다.

웹 페이지 란 무엇입니까?

다른 기기의 웹 사이트

우리는 이전에 일부 웹 서버가 호스팅 또는 호스팅을 제공한다고 언급했습니다. 웹 페이지. 웹 페이지는 텍스트 만 포함하거나 특정 프로그래밍 언어 또는 스크립트 (Perl, JavaScript)로 작성된 웹 앱과 같은 기타 콘텐츠를 포함 할 수있는 전자 또는 디지털 정보 (HTML, PHP, CSS 등)의 집합입니다. , 프레임 워크가있는 Ruby 또는 Ruby on Rails, PHP 등), 멀티미디어 콘텐츠 (이미지, 비디오, 사운드 등) 및 일반적으로 동일한 웹 페이지의 다른 위치 또는 다른 페이지로 연결되는 링크 .

그리고이를 가능하게하기 위해이를 호스팅하는 웹 서버가 있습니다. 즉,이 모든 데이터를 하드 드라이브에 저장하고 다음과 같은 일련의 네트워크 프로토콜도 저장합니다. HTTP (하이퍼 텍스트 전송 프로토콜) 및 HTTPS (SSL / TLS 인증서 보안을 사용하는 HTTP). 나중에 알려 드리는대로 소프트웨어가이를 처리합니다. 즉, 클라이언트에 대한 양방향 연결을 구현하고 하이퍼 텍스트 콘텐츠를 탐색 할 수 있습니다. 즉, 공유, 연결 및 상호 작용하는 수단입니다. WWW (World Wide Web)에 적합한 정보.

어떻게 작동합니까?

클라이언트-서버 연결

글쎄, 우리는 이미 웹과 웹 서버가 무엇인지 알고 있으며, 내 방식과 간단한 언어로 설명되어이 기술에 대한 지식이없는 사람들도 어느 정도 이해할 수 있습니다. 이제이 섹션을 계속 진행하여 이 클라이언트-서버 시스템의 작동. 그러나이를 위해 먼저 두 가지를 구분할 것입니다.

  • 고객: 클라이언트는 노트북, 데스크톱, 태블릿, 스마트 폰 등 기기에서 웹 사이트에 액세스하는 사용자입니다. 액세스하려면 인터넷 연결과 웹 브라우저 만 있으면됩니다. 클라이언트 측에서 모든 웹 콘텐츠를 사용자 친화적 인 방식으로 표시하고 사용자가 상호 작용할 수 있도록하는 매우 중요한 소프트웨어입니다. 그리고이를 위해 우리는 웹 페이지의 주소 또는 IP 만 필요합니다. 키워드를 통해 허용하는 검색 엔진 (예 : Google)이 있기 때문에 액세스하는 데 항상 필요한 것은 아니라고 생각할 수 있습니다. 색인이 생성 된 이러한 웹 사이트를 표시하고 귀하의 말이 맞습니다.
  • 서버: 설명했듯이 모든 데이터와 서버 역할을하는 소프트웨어가 포함됩니다. 즉, 클라이언트가 연결하여 필요한 모든 작업을 수행 할 수 있습니다. 웹 서버의 경우 예를 들어 Apache, Lighttpd 등이됩니다.

저는 다른 것을 지적하고 싶습니다. 여러분이 잘 아시는 바와 같이 IP 주소 네트워크에 연결된 머신을 식별하는 것으로,이 경우 웹 서버의 IP가됩니다. 약간 있습니다 이와 같은 서비스 예를 들어, google.es를 검색하면이 서비스가 호스팅되는 서버에 해당하는 IP가 표시됩니다. 웹 브라우저의 주소 표시 줄에이 번호를 입력하려고하면 www.google.es와 해당 IP를 모두 입력하면 두 경우 모두 Google이 표시됩니다.

내가 왜 이렇게 말합니까? 글쎄요. DNS 서버. 이러한 서버는 웹 사이트의 이름과 해당 IP가 포함 된 테이블을 포함하는 다른 서비스로, 누군가가 IP를 사용하지 않고 이름으로 주소를 검색 할 때 서버가 해당 웹 사이트의 콘텐츠를 브라우저에 표시하도록합니다. 이것은 인간에게 더 직관적으로 만들기 위해 수행됩니다. 그 모든 숫자를 쉽게 기억할 수는 없지만 우리가 좋아하는 웹 사이트의 이름은 기억할 수 있습니다. 그렇죠?

그리고 나는 무엇을 지정하는 것으로 끝납니다 URL(Uniform Resource Locator) 웹 사이트에 액세스 할 때 브라우저 표시 줄 상단에 표시되는 균일 한 리소스 로케이터입니다. 예를 들어 myweb.es 도메인을 등록한다고 가정합니다. 이 경우 해당 도메인은 귀하의 것이며 귀하의 웹 페이지를 표시하는 데 사용할 수 있습니다. 누군가 http://www.miweb.es/info/inicio.html#web 주소에 액세스한다고 상상해보십시오.

  • http://: HTTPS, FTP 등일 수도 있지만 HTTP 프로토콜을 사용하여 액세스하고 있음을 나타냅니다. 그러나이 경우 첫 번째이므로 웹 콘텐츠입니다.
  • WWW: World Wide Web에서 가져온 것입니다.
  • myweb.es: 귀하가 등록한 도메인, 즉 귀하의 웹 사이트를 포함하는 서버 또는 호스트의 IP를 대체하는 이름입니다. 따라서 그것은 결국 서버 또는 기계를 식별하는 이름이 될 것입니다. 또한 이것은 스페인의 웹 사이트임을 식별하기 위해이 경우에는 .es 인 TLD (Top Level Domain)를 포함합니다. 스웨덴의 .se, 회사의 .com, .org Organization 등일 수 있습니다.
  • /info/home.html#웹: 이것은 단순히이 컨텐츠가 액세스되었음을 정의합니다. 즉, info 디렉토리이며 그 안에 하이퍼 텍스트와 특히 섹션이있는 home.html 파일이 있습니다. . 이미지, PDF, 비디오 등일 수도 있습니다. 로컬 하드 드라이브의 경로로 이동할 때 파일 관리자에서 발생하는 것처럼 맞습니까?

이것으로 충분하다고 생각합니다 명확한 작동 간단하게 설명합니다.

튜토리얼 : 단계별로 웹 서버 구축

Apache 테스트 웹

당신이 있다면 GNU / Linux 배포판네트워크를 올바르게 구성한 후에는 동적 IP를 가질 수 없으므로 고정 IP 여야합니다. 그렇지 않으면 값이 변경되어 웹에 액세스하기가 더 어려워집니다. 또한 AppArmor 또는 SELinux가있는 것처럼 규칙이 포트 80 또는 8080 등을 통한 전송을 제한하지 않는 iptables 또는 기타 소프트웨어로 구성된 방화벽이있는 경우에도주의해야합니다. 웹 서버 데몬 (이 경우 Apache)

다음 단계는 웹 서버를 구현하기위한 소프트웨어를 설치하는 것입니다.이 경우 LAMP를 완성하기위한 Apache 및 기타 추가 패키지,하지만 다른 것일 수도 있습니다. 제 경우에는 데비안에서 :

sudo apt-get update

sudo apt-get install apache2
sudo service apache2 restart
sudo apt-get install mysql-server php5-mysql
mysql -u root
mysql -u root -p (sin no introdujiste el password durante la instalación)
sudo apt-get install php libapache2-mod-php5 php5-mycrypt
sudo apt-get install php5-sqlite

그럼 당신은 일부 매개 변수 구성 서버에서 필요한 경우 또는 작동하지 않고 이전 이미지에서 보여준 페이지가 표시되는 경우 로그를 살펴보십시오. 문제가 발생했기 때문에 ... 그런데, 웹 브라우저에 액세스하고 주소 표시 줄에 localhost 127.0.0.1 .2을 설정하거나 서버에 대해 구성한 고정 IP를 설정하여 페이지를 엽니 다. 기본 포트는 수정하려는 경우 /etc/apacheXNUMX/ports.conf에 있습니다.

원하는 경우 다른 추가 패키지, 메일 서버 또는 phpAdmin과 같은 일부 구성 패널을 가질 계획 인 경우.

서버에서 웹 사이트 호스팅

웹 사이트 구축

서버가 준비되면 다른 장치에서 웹에 액세스 할 수 있도록 서버 전용 PC가 항상 켜져 있고 네트워크에 연결되어 있어야합니다. 그렇지 않으면 서버가 "다운"됩니다. 이제 우리는 웹 사이트 호스팅, HTML이나 다른 코드를 사용하여 직접 만들 수도 있고 WordPress와 같은 CMS를 사용하여 작업을 훨씬 쉽게 만들고 같은 장소에서 호스팅 할 수도 있습니다.

그리고 이것을 위해 우리는 그것을 할 것입니다 / var / www / html / 디렉토리 Apache 구성을 변경하지 않는 한 웹이 호스팅되는 위치에 있습니다. 예를 들어, 여러분이 좋아하는 텍스트 편집기로 파일을 만들어서 PHP를 사용하여 약간의 테스트를 할 수 있습니다.

<?php phpinfo() ?>

불러라 test.php 이제 apache2 데몬을 다시 시작한 후 브라우저에서 액세스 할 수 있는지 확인할 수 있습니다 : 127.0.0.1/test.php.

이 튜토리얼이 도움이 되었기를 바라며, 적어도 서버 작동 방식을 조금 더 잘 이해하여 뉴스 항목을 읽기 위해 블로그에 액세스 할 때마다 그 뒤에있는 모든 것을 알 수 있기를 바랍니다. 떠나는 것을 잊지 마세요 의견, 의심 또는 제안, ...


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   페드로

    안녕. 5 년에 PHP 2018를 사용하는 것이별로 의미가 없다고 생각하지 않습니까?

  2.   노에타이페

    안녕하세요.
    나는 서버에 관해서는 초보자입니다.
    라우터에는 어떤 IP가 있어야합니까?
    서버로 작동하는 PC에는 어떤 IP가 있어야합니까?
    Apache에는 어떤 IP가 있어야합니까?
    공개 고정 IP입니까?

  3.   Jucapopo

    Noe Taipe에 강력히 동의합니다.
    Linux 웹 서버를 설정하기위한 정보를 찾기 위해 몇 주를 보냈고 모든 포럼에서 내부 또는 로컬 네트워크에서만 작동하는«트릭»을 배치했으며 귀하의 목표는 웹 서버를 설정할 수있는 것이라고 생각합니다. 누군가 다른 도시, 국가에있는 네트워크 외부의 다른 컴퓨터에서 언제든지 당신을 볼 수 있습니다.
    나는 웹 서버가 외부 네트워크에서 그것을 볼 수 있도록 관리했습니다. 즉, 내 공용 IP를 넣고 모뎀 라우터에서 포트를 열어야 만 Bind9를 설치하여 내부 네트워크에서 발명 된 도메인을 가리킬 수 있습니다. 내 네트워크에서 제대로 작동하지만 인터넷을 통해 똑같은 일을하는 방법에 대한 정보를 찾을 수없고 사람들이 내 IP를 넣지 않고 발명 한 도메인을 넣는 것, google, 국가, 세계, 영국 법원 ,….
    인사 드리며 이에 대한 정보를 찾으시기 바랍니다.

  4.   로지텍노1

    나는 또한 서버를 설정하는 방법을 배우려고 노력하고 있지만, 저에게 흥미있는 것은 프로덕션을 위해 서버를 설정하는 방법이고 여전히 좋은 정보를 찾을 수 없습니다.
    아직 문제를 해결하지 못했다면 noip.com에서 계정을 만드는 것이 좋습니다. 무료 도메인을 만들고 공용 IP를 입력하고 모뎀에 DDNS를 구성합니다. 나는 당신에게 링크를 남깁니다. https://www.youtube.com/watch?v=6ijBQhn06CA
    인사말.

  5.   구스타보IP

    기여해 주셔서 감사합니다. 저는 방금 LEMP 서버를 설치했으며 귀하의 블로그 덕분에 이미 웹 페이지를 구현하는 방법에 대한 아이디어를 얻었습니다. 이제 PHP 또는 HTML 중 더 쉽고 빠른 것을 배우십시오.
    인사말.

  6.   파비안 아리엘 울프

    당신의 시작 말을 감안할 때, 당신이 저와 같은 경험이없는 사람들을 위해 단계별 튜토리얼을 할 것이라고 상상해보십시오… 나는 틀 렸습니다.

  7.   디에고 라모스

    충분히 도움이되었습니다. 대단히 감사합니다.

  8.   미구엘 안젤 실바

    이 튜토리얼은 좋지 않습니다 ...