웹사이트 검색

Ubuntu 14.04에 Linux, Apache, MySQL, PHP(LAMP) 스택을 설치하는 방법


소개

"LAMP\ 스택은 서버가 동적 웹사이트 및 웹 앱을 호스팅할 수 있도록 일반적으로 함께 설치되는 오픈 소스 소프트웨어 그룹입니다. 이 용어는 실제로 Apache 웹 서버와 함께 Linux 운영 체제를 나타내는 약어입니다. 사이트 데이터는 MySQL 데이터베이스에 저장되며 동적 콘텐츠는 PHP에서 처리됩니다.

이 가이드에서는 Ubuntu 14.04 Droplet에 LAMP 스택을 설치합니다. Ubuntu는 첫 번째 요구 사항인 Linux 운영 체제를 충족합니다.

참고: Droplet 사용자 데이터에 대해 자세히 알아보기 위해 이 자습서를 추가하여 LAMP 스택을 Droplet에 자동으로 설치할 수 있습니다.

전제 조건

이 가이드를 시작하기 전에 서버에 루트가 아닌 별도의 사용자 계정을 설정해야 합니다. Ubuntu 14.04의 초기 서버 설정에서 1-4단계를 완료하여 이를 수행하는 방법을 배울 수 있습니다.

1단계: 아파치 설치

Apache 웹 서버는 현재 세계에서 가장 인기 있는 웹 서버이므로 웹 사이트 호스팅을 위한 훌륭한 기본 선택입니다.

Ubuntu의 패키지 관리자인 apt를 사용하여 Apache를 쉽게 설치할 수 있습니다. 패키지 관리자를 사용하면 Ubuntu에서 유지 관리하는 저장소에서 대부분의 소프트웨어를 고통 없이 설치할 수 있습니다. 여기에서 apt 사용 방법에 대해 자세히 알아볼 수 있습니다.

목적을 위해 다음 명령을 입력하여 시작할 수 있습니다.

sudo apt-get update
sudo apt-get install apache2

sudo 명령을 사용하고 있기 때문에 이러한 작업은 루트 권한으로 실행됩니다. 의도를 확인하기 위해 일반 사용자의 비밀번호를 묻습니다.

그런 다음 웹 서버가 설치됩니다.

웹 브라우저에서 서버의 공용 IP 주소를 방문하여 모든 것이 계획대로 진행되었는지 확인하기 위해 바로 무작위 검사를 수행할 수 있습니다(이 정보가 없는 경우 공용 IP 주소가 무엇인지 알아보려면 다음 제목 아래의 참고 사항 참조) 이미):

<예비>

정보 제공 및 테스트 목적으로 제공되는 기본 Ubuntu 14.04 Apache 웹 페이지가 표시됩니다. 다음과 같아야 합니다.

이 페이지가 보이면 웹 서버가 올바르게 설치된 것입니다.

서버의 공용 IP 주소를 찾는 방법

서버의 공용 IP 주소를 모르는 경우 여러 가지 방법으로 찾을 수 있습니다. 일반적으로 이것은 SSH를 통해 서버에 연결하는 데 사용하는 주소입니다.

명령줄에서 이를 몇 가지 방법으로 찾을 수 있습니다. 먼저 iproute2 도구를 사용하여 다음을 입력하여 주소를 가져올 수 있습니다.

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

이것은 당신에게 한두 줄을 줄 것입니다. 둘 다 올바른 주소이지만 컴퓨터는 그 중 하나만 사용할 수 있으므로 자유롭게 각각 시도하십시오.

다른 방법은 외부 당사자를 사용하여 그것이 귀하의 서버를 어떻게 보는지 알려주는 것입니다. IP 주소가 무엇인지 특정 서버에 요청하여 이를 수행할 수 있습니다.

curl http://icanhazip.com

IP 주소를 얻기 위해 사용하는 방법에 관계없이 웹 브라우저의 주소 표시줄에 입력하여 서버에 연결할 수 있습니다.

2단계: MySQL 설치

이제 웹 서버를 가동하고 실행 중이므로 MySQL을 설치할 차례입니다. MySQL은 데이터베이스 관리 시스템입니다. 기본적으로 사이트에서 정보를 저장할 수 있는 데이터베이스를 구성하고 액세스를 제공합니다.

다시 말하지만 apt를 사용하여 소프트웨어를 획득하고 설치할 수 있습니다. 이번에는 구성 요소가 서로 통신하는 데 도움이 되는 다른 "도우미\ 패키지도 설치합니다.

sudo apt-get install mysql-server php5-mysql

참고: 이 경우 명령 전에 sudo apt-get update를 실행할 필요가 없습니다. 최근에 Apache를 설치하기 위해 위의 명령에서 실행했기 때문입니다. 컴퓨터의 패키지 색인은 이미 최신 상태여야 합니다.

설치하는 동안 서버에서 MySQL "root\ 사용자의 암호를 선택하고 확인하도록 요청할 것입니다. 이것은 향상된 권한이 있는 MySQL의 관리 계정입니다. 서버 자체의 루트 계정과 유사하다고 생각하십시오. (하지만 지금 구성하고 있는 계정은 MySQL 전용 계정입니다.)

설치가 완료되면 MySQL 환경을 안전하게 설정하기 위해 몇 가지 추가 명령을 실행해야 합니다.

먼저 MySQL에 정보를 저장할 데이터베이스 디렉토리 구조를 생성하도록 지시해야 합니다. 다음을 입력하면 됩니다.

sudo mysql_install_db

그런 다음 위험한 기본값을 제거하고 데이터베이스 시스템에 대한 액세스를 약간 잠그는 간단한 보안 스크립트를 실행하려고 합니다. 다음을 실행하여 대화형 스크립트를 시작합니다.

sudo mysql_secure_installation

MySQL 루트 계정에 대해 설정한 비밀번호를 입력하라는 메시지가 표시됩니다. 다음으로 비밀번호를 변경할 것인지 묻습니다. 현재 비밀번호가 마음에 들면 프롬프트에서 "no\ 대신 "n\을 입력하십시오.

나머지 질문에 대해서는 각 프롬프트에서 "ENTER\ 키를 눌러 기본값을 수락해야 합니다. 이렇게 하면 일부 샘플 사용자와 데이터베이스가 제거되고 원격 루트 로그인이 비활성화되며 이러한 새 규칙이 로드되어 MySQL이 즉시 적용됩니다. 우리가 만든 변경 사항.

이제 데이터베이스 시스템이 설정되었으며 계속 진행할 수 있습니다.

3단계: PHP 설치

PHP는 동적 콘텐츠를 표시하기 위해 코드를 처리하는 설정의 구성 요소입니다. 스크립트를 실행하고, MySQL 데이터베이스에 연결하여 정보를 얻고, 처리된 콘텐츠를 웹 서버에 전달하여 표시할 수 있습니다.

다시 한 번 apt 시스템을 활용하여 구성 요소를 설치할 수 있습니다. 몇 가지 도우미 패키지도 포함할 예정입니다.

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

아무 문제 없이 PHP를 설치해야 합니다. 우리는 이것을 잠시 후에 테스트할 것입니다.

대부분의 경우 디렉토리가 요청될 때 Apache가 파일을 제공하는 방식을 수정하려고 합니다. 현재 사용자가 서버에서 디렉토리를 요청하면 Apache는 먼저 index.html이라는 파일을 찾습니다. 우리는 웹 서버에 PHP 파일을 선호하도록 지시하고 싶기 때문에 Apache가 먼저 index.php 파일을 찾도록 할 것입니다.

이렇게 하려면 다음 명령을 입력하여 루트 권한으로 텍스트 편집기에서 dir.conf 파일을 엽니다.

sudo nano /etc/apache2/mods-enabled/dir.conf

다음과 같이 표시됩니다.

<예비>

위에서 강조 표시된 PHP 인덱스 파일을 다음과 같이 DirectoryIndex 사양 다음의 첫 번째 위치로 이동하려고 합니다.

<예비>

완료되면 "CTRL-X\를 눌러 파일을 저장하고 닫습니다. "Y\를 입력하여 저장을 확인한 다음 "ENTER\를 눌러 파일 저장 위치를 확인해야 합니다.

그런 다음 변경 사항을 인식하려면 Apache 웹 서버를 다시 시작해야 합니다. 다음과 같이 입력하면 됩니다.

sudo service apache2 restart

PHP 모듈 설치

PHP의 기능을 향상시키기 위해 선택적으로 몇 가지 추가 모듈을 설치할 수 있습니다.

PHP 모듈 및 라이브러리에 사용 가능한 옵션을 보려면 다음을 시스템에 입력할 수 있습니다.

apt-cache search php5-

결과는 설치할 수 있는 모든 선택적 구성 요소입니다. 각각에 대한 간단한 설명을 제공합니다.

php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
. . .

각 모듈의 기능에 대한 자세한 정보를 얻으려면 인터넷을 검색하거나 다음을 입력하여 패키지의 자세한 설명을 볼 수 있습니다.

<예비>

모듈이 제공하는 기능에 대한 더 긴 설명이 있는 Description-en이라는 하나의 필드와 함께 많은 출력이 있을 것입니다.

예를 들어 php5-cli 모듈이 무엇을 하는지 알아보려면 다음과 같이 입력할 수 있습니다.

apt-cache show php5-cli

많은 양의 다른 정보와 함께 다음과 같은 것을 찾을 수 있습니다.

. . .
SHA256: 91cfdbda65df65c9a4a5bd3478d6e7d3e92c53efcddf3436bbe9bbe27eca409d
Description-en: command-line interpreter for the php5 scripting language
 This package provides the /usr/bin/php5 command interpreter, useful for
 testing PHP scripts from a shell or performing general shell scripting tasks.
 .
 The following extensions are built in: bcmath bz2 calendar Core ctype date
 dba dom ereg exif fileinfo filter ftp gettext hash iconv libxml mbstring
 mhash openssl pcntl pcre Phar posix Reflection session shmop SimpleXML soap
 sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader
 xmlwriter zip zlib.
 .
 PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
 open source general-purpose scripting language that is especially suited
 for web development and can be embedded into HTML.
Description-md5: f8450d3b28653dcf1a4615f3b1d4e347
Homepage: http://www.php.net/
. . .

조사한 후 패키지를 설치하기로 결정한 경우 다른 소프트웨어에 대해 했던 것처럼 apt-get install 명령을 사용하여 설치할 수 있습니다.

php5-cli가 필요하다고 판단되면 다음과 같이 입력할 수 있습니다.

sudo apt-get install php5-cli

둘 이상의 모듈을 설치하려면 다음과 같이 apt-get install 명령에 따라 각 모듈을 공백으로 구분하여 나열하면 됩니다.

<예비>

이 시점에서 LAMP 스택이 설치되고 구성됩니다. 그래도 여전히 PHP를 테스트해야 합니다.

4단계: 웹 서버에서 PHP 처리 테스트

시스템이 PHP에 대해 올바르게 구성되었는지 테스트하기 위해 매우 기본적인 PHP 스크립트를 만들 수 있습니다.

우리는 이 스크립트를 info.php라고 부를 것입니다. Apache가 파일을 찾아 올바르게 제공하려면 "웹 루트\라고 하는 매우 특정한 디렉토리에 파일을 저장해야 합니다.

Ubuntu 14.04에서 이 디렉토리는 /var/www/html/에 있습니다. 다음을 입력하여 해당 위치에 파일을 만들 수 있습니다.

sudo nano /var/www/html/info.php

그러면 빈 파일이 열립니다. 유효한 PHP 코드인 다음 텍스트를 파일 안에 넣고 싶습니다.

<?php
phpinfo();
?>

완료되면 파일을 저장하고 닫습니다.

이제 웹 서버가 PHP 스크립트로 생성된 콘텐츠를 올바르게 표시할 수 있는지 테스트할 수 있습니다. 이를 시도하려면 웹 브라우저에서 이 페이지를 방문하기만 하면 됩니다. 서버의 공용 IP 주소가 다시 필요합니다.

방문하려는 주소는 다음과 같습니다.

<예비>

방문하는 페이지는 다음과 같아야 합니다.

이 페이지는 기본적으로 PHP의 관점에서 서버에 대한 정보를 제공합니다. 디버깅 및 설정이 올바르게 적용되는지 확인하는 데 유용합니다.

성공하면 PHP가 예상대로 작동하는 것입니다.

권한이 없는 사용자에게 실제로 서버에 대한 정보를 제공할 수 있기 때문에 이 테스트 후에 이 파일을 제거하는 것이 좋습니다. 이를 위해 다음을 입력할 수 있습니다.

sudo rm /var/www/html/info.php

나중에 정보에 다시 액세스해야 하는 경우 언제든지 이 페이지를 다시 만들 수 있습니다.

결론

이제 LAMP 스택이 설치되었으므로 다음에 수행할 작업에 대한 많은 선택 사항이 있습니다. 기본적으로 서버에 대부분의 웹사이트와 웹 소프트웨어를 설치할 수 있는 플랫폼을 설치했습니다.

몇 가지 인기 있는 옵션은 다음과 같습니다.

  • 인터넷에서 가장 인기 있는 콘텐츠 관리 시스템인 Wordpress 설치
  • 웹 브라우저에서 MySQL 데이터베이스를 관리할 수 있도록 PHPMyAdmin을 설정합니다.
  • 데이터베이스 관리를 위한 MySQL에 대해 자세히 알아보세요.
  • 웹 서버에 대한 트래픽을 보호하기 위해 SSL 인증서를 만드는 방법에 대해 알아보십시오.
  • SFTP를 사용하여 서버와 파일을 주고받는 방법을 알아보세요.

참고: 작성된 대로 14.04 문서에 대한 위의 링크를 업데이트할 예정입니다.

저스틴 엘링우드