웹사이트 검색

FreeBSD 10.1에 Apache, MySQL 및 PHP(FAMP) 스택을 설치하는 방법


소개

Linux의 LAMP 스택과 유사한 FAMP 스택은 FreeBSD 서버가 동적 웹사이트 및 웹 앱을 호스팅할 수 있도록 일반적으로 함께 설치되는 오픈 소스 소프트웨어 그룹입니다. FAMP는 FreeBSD(운영 체제), Apache(웹 서버), MySQL(데이터베이스 서버) 및 PHP(동적 PHP 콘텐츠 처리)의 약어입니다.

이 가이드에서는 FreeBSD 패키지 관리자인 pkg를 사용하여 FreeBSD 10.1 클라우드 서버에 FAMP 스택을 설치합니다.

참고: 2022년 7월 1일부터 DigitalOcean은 제어판 또는 API를 통한 새로운 FreeBSD Droplet 생성을 더 이상 지원하지 않습니다. 그러나 여전히 사용자 지정 이미지를 사용하여 FreeBSD Droplets를 스핀업할 수 있습니다. 제품 설명서에 따라 사용자 지정 이미지를 DigitalOcean으로 가져오는 방법을 알아보세요.

전제 조건

이 가이드를 시작하기 전에 FreeBSD 10.1 서버가 있어야 합니다. 또한 수퍼유저 권한이 있는 사용자로 FreeBSD 서버에 연결해야 합니다(즉, sudo를 사용하거나 루트 사용자로 변경할 수 있음).

1단계 - Apache 설치

Apache 웹 서버는 현재 세계에서 가장 인기 있는 웹 서버이므로 웹 사이트를 호스팅하는 데 탁월한 선택입니다.

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

pkg를 사용하여 Apache 2.4를 설치하려면 다음 명령을 사용하십시오.

sudo pkg install apache24

확인 프롬프트에 y를 입력합니다.

이렇게 하면 Apache와 해당 종속 항목이 설치됩니다.

Apache를 서비스로 활성화하려면 apache24_enable=\YES\/etc/rc.conf 파일에 추가합니다. 이 sysrc 명령을 사용하여 이를 수행합니다.

sudo sysrc apache24_enable=yes

이제 Apache를 시작합니다.

sudo service apache24 start

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

http://your_server_IP_address/

테스트용으로 제공되는 기본 FreeBSD Apache 웹 페이지가 표시됩니다. 웹 서버가 올바르게 설치되었음을 나타내는 "작동합니다!\라고 표시되어야 합니다.

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

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

IP 주소를 찾는 보편적인 방법은 서버 자체에서 ifconfig 명령을 사용하는 것입니다. ifconfig 명령은 네트워크 인터페이스에 대한 정보를 출력합니다. 출력 범위를 서버의 공용 IP 주소로만 좁히려면 다음 명령을 사용하십시오(강조 표시된 부분은 네트워크 인터페이스의 이름이며 다를 수 있음).

ifconfig vtnet0 | grep "inet " | awk '{ print $2 }'

이제 공용 IP 주소가 있으므로 웹 브라우저의 주소 표시줄에서 이를 사용하여 웹 서버에 액세스할 수 있습니다.

2단계 - MySQL 설치

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

다시 말하지만 pkg를 사용하여 소프트웨어를 획득하고 설치할 수 있습니다.

pkg를 사용하여 MySQL 5.6을 설치하려면 다음 명령을 사용하십시오.

sudo pkg install mysql56-server

확인 프롬프트에 y를 입력합니다.

이렇게 하면 MySQL 서버 및 클라이언트 패키지가 설치됩니다.

MySQL 서버를 서비스로 활성화하려면 mysql_enable=\YES\/etc/rc.conf 파일에 추가합니다. 이 sysrc 명령은 다음을 수행합니다.

sudo sysrc mysql_enable=yes

이제 MySQL 서버를 시작합니다.

sudo service mysql-server start

이제 MySQL 데이터베이스가 실행 중이므로 일부 위험한 기본값을 제거하고 데이터베이스 시스템에 대한 액세스를 약간 제한하는 간단한 보안 스크립트를 실행하려고 합니다. 다음 명령을 실행하여 대화형 스크립트를 시작합니다.

sudo mysql_secure_installation

프롬프트에서 현재 루트 암호(MySQL 관리 사용자, root)를 묻습니다. 방금 MySQL을 설치했으므로 없을 가능성이 높으므로 RETURN을 눌러 공백으로 두십시오. 그런 다음 프롬프트에서 루트 암호를 설정할 것인지 묻습니다. 계속해서 Y를 입력하고 지침을 따르십시오.

Enter current password for root (enter for none): [RETURN]
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorization.

Set root password? [Y/n] Y
New password: password
Re-enter new password: password
Password updated successfully!

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

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

3단계 - PHP 설치

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

다시 한 번 pkg 시스템을 활용하여 구성 요소를 설치할 수 있습니다. mod_php, php-mysqlphp-mysqli 패키지도 포함할 것입니다.

pkg로 PHP 5.6을 설치하려면 다음 명령을 실행하십시오.

sudo pkg install mod_php56 php56-mysql php56-mysqli

확인 프롬프트에 y를 입력합니다. 이렇게 하면 php56, mod_php56, php56-mysqlphp56-mysqli 패키지가 설치됩니다.

이제 다음 명령을 사용하여 샘플 PHP 구성 파일을 제자리에 복사합니다.

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

이제 rehash 명령을 실행하여 설치된 실행 파일에 대한 시스템의 캐시된 정보를 재생성합니다.

rehash

PHP를 사용하기 전에 Apache와 함께 작동하도록 구성해야 합니다.

PHP 모듈 설치(선택 사항)

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

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

pkg search php56

결과는 대부분 설치할 수 있는 PHP 5.6 모듈입니다. :

mod_php56-5.6.3
php56-5.6.3
php56-bcmath-5.6.3
php56-bz2-5.6.3
php56-calendar-5.6.3
php56-ctype-5.6.3
php56-curl-5.6.3
php56-dba-5.6.3
php56-dom-5.6.3
php56-exif-5.6.3
...

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

pkg search -f package_name

모듈이 제공하는 기능에 대한 설명이 포함된 Comment라는 필드가 포함된 많은 출력이 있을 것입니다.

예를 들어 php56-calendar 패키지의 기능을 알아보려면 다음과 같이 입력할 수 있습니다.

pkg search -f php56-calendar

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

php56-calendar-5.6.3
Name           : php56-calendar
Version        : 5.6.3
...
Comment        : The calendar shared extension for php
...

조사한 후 패키지를 설치하기로 결정한 경우 다른 소프트웨어에 대해 했던 것처럼 pkg install 명령을 사용하면 됩니다.

예를 들어 php56-calendar가 필요하다고 판단되면 다음과 같이 입력할 수 있습니다.

sudo pkg install php56-calendar

한 번에 두 개 이상의 모듈을 설치하려는 경우 다음과 같이 pkg install 명령에 따라 각 모듈을 공백으로 구분하여 나열하면 됩니다.

sudo pkg install package1 package2 ...

4단계 - PHP 모듈을 사용하도록 Apache 구성

Apache가 PHP 페이지를 처리하기 전에 mod_php를 사용하도록 구성해야 합니다.

Apache 구성 파일을 엽니다.

sudo vi /usr/local/etc/apache24/Includes/php.conf

먼저 다음 줄을 추가하여 기본적으로 index.php 파일을 로드하도록 Apache를 구성합니다.

<IfModule dir_module>
    DirectoryIndex index.php index.html

다음으로, 요청된 PHP 파일을 PHP 프로세서로 처리하도록 Apache를 구성합니다. 파일 끝에 다음 줄을 추가합니다.

    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

저장 및 종료.

이제 Apache를 다시 시작하여 변경 사항을 적용합니다.

sudo service apache24 restart

이 시점에서 FAMP 스택이 설치되고 구성됩니다. 이제 PHP 설정을 테스트해 보겠습니다.

5단계 - PHP 처리 테스트

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

우리는 이 스크립트를 info.php라고 부를 것입니다. Apache가 파일을 찾고 올바르게 제공하려면 사용자가 웹 서버에 액세스할 때 Apache가 파일을 찾는 매우 특정한 디렉토리인 DocumentRoot에 파일을 저장해야 합니다. DocumentRoot의 위치는 이전에 수정한 Apache 구성 파일(/usr/local/etc/apache24/httpd.conf)에 지정되어 있습니다.

기본적으로 DocumentRoot는 /usr/local/www/apache24/data로 설정됩니다. 다음을 입력하여 해당 위치 아래에 info.php 파일을 만들 수 있습니다.

sudo vi /usr/local/www/apache24/data/info.php

그러면 빈 파일이 열립니다. 이 PHP 코드를 파일에 삽입하십시오.

<?php phpinfo(); ?>

저장 및 종료.

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

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

http://your_server_IP_address/info.php

표시되는 페이지는 다음과 같아야 합니다.

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

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

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

sudo rm /usr/local/www/apache24/data/info.php

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

결론

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

새 FAMP 스택에서 WordPress를 설정하는 데 관심이 있는 경우 FreeBSD 10.1에서 Apache와 함께 WordPress를 설치하는 방법 자습서를 확인하십시오.