FreeBSD 12에 FAMP 스택(Apache/MySQL/PHP)을 설치하는 방법
이 페이지에서
- 요구 사항\n
- 시작하기 전에\n
- 1단계 - Apache 2.4 설치
- 2단계 - MySQL 8.0 설치
- 3단계 - PHP 7.4 설치
- PHP 모듈 설치(선택 사항)\n
Linux의 LAMP 스택과 유사한 FAMP 스택은 FreeBSD 서버가 동적 웹사이트 및 웹 애플리케이션을 호스팅할 수 있도록 일반적으로 함께 설치되는 오픈 소스 소프트웨어 모음입니다. FAMP는 FreeBSD(운영 체제), Apache(HTTP 서버), MySQL/MariaDB(데이터베이스 서버) 및 PHP(동적 PHP 콘텐츠를 처리하는 프로그래밍 언어)의 약자입니다.
이 가이드에서는 FreeBSD 패키지 관리자인
pkg
를 사용하여 FreeBSD 12.1 서버에서 FAMP 스택의 구성요소를 설정합니다.요구 사항
이 가이드를 시작하기 전에 다음이 필요합니다.
- FreeBSD 12.1.
- 루트 권한이 있는 사용자 또는
sudo
사용자가 구성을 변경할 수 있습니다.\n - FreeBSD 시스템 및 명령줄 인터페이스에 대한 기본 지식이 권장됩니다.\n
시작하기 전에
FreeBSD 버전 확인:
freebsd-version
# 12.1-RELEASEFreeBSD 시스템이 최신인지 확인하십시오:
freebsd-update fetch install
pkg update && pkg upgrade -y필요한 패키지를 설치합니다.
pkg install -y sudo vim bash curl
원하는 사용자 이름으로 새 사용자 계정을 만듭니다. 우리는
johndoe:
를 사용합니다.adduser
# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!visudo
명령을 실행하고%wheel ALL=(ALL) ALL
줄의 주석을 제거하여wheel
그룹의 구성원이 모든 명령을 실행할 수 있도록 합니다.visudo
# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL이제
su
를 사용하여 새로 만든 사용자로 전환합니다.su - johndoe
참고:
johndoe
를 귀하의 사용자 이름으로 바꾸십시오.시간대 설정:
sudo tzsetup
1단계 - Apache 2.4 설치
Apache 웹 서버는 현재 세계에서 가장 인기 있는 웹 서버 중 하나입니다. 웹 사이트 호스팅을 위한 탁월한 선택입니다.
FreeBSD 패키지 관리자인
pkg
를 사용하여 Apache를 설치할 수 있습니다. 패키지 관리자를 사용하면 FreeBSD에서 관리하는 저장소에서 대부분의 소프트웨어를 쉽게 설치할 수 있습니다.Apache를 설치하려면 다음 명령을 실행하십시오.
sudo pkg install -y apache24
버전 확인:
httpd -v
# Server version: Apache/2.4.41 (FreeBSD)이제 Apache를 활성화하고 시작합니다.
sudo sysrc apache24_enable=yes
sudo service apache24 startApache가 시작되었는지 확인하려면 다음 명령을 실행할 수 있습니다.
sudo service apache24 status
결과적으로 다음과 유사한 내용이 표시됩니다.
# Output
apache24 is running as pid 17775.웹 브라우저에서 서버 공용 IP 주소를 방문하여 Apache가 오류 없이 설치되고 작동하는지 확인할 수 있습니다.
http://your_server_IP
로 이동합니다. 기본 "작동합니다!" Apache 페이지가 표시됩니다.2단계 - MySQL 8.0 설치
이제 웹 서버를 가동하고 실행 중이므로 관계형 데이터베이스 관리 시스템인 MySQL을 설치할 차례입니다. MySQL 서버는 서버가 정보를 저장할 수 있는 데이터베이스를 구성하고 액세스를 제공합니다.
다시 말하지만
pkg
를 활용하여 소프트웨어를 구하고 설치할 수 있습니다.pkg
를 사용하여 MySQL8.0
을 설치하려면 다음 명령을 사용하십시오.sudo pkg install -y mysql80-client mysql80-server
이 명령은 현재
8.x.x
인 MySQL 클라이언트 및 서버의 최신 버전을 설치합니다.버전 확인:
mysql --version
# mysql Ver 8.0.17 for FreeBSD12.0 on amd64 (Source distribution)이제 MySQL을 활성화하고 시작합니다.
sudo sysrc mysql_enable=yes
sudo service mysql-server startMySQL이 시작되었는지 확인하려면 다음 명령을 실행할 수 있습니다.
sudo service mysql-server status
다음과 유사한 내용이 표시됩니다.
# Output
mysql is running as pid 19171.안전하지 않은 일부 기본값을 제거하고 데이터베이스 시스템에 대한 액세스를 약간 제한하는
mysql_secure_installation
보안 스크립트를 실행하는 것이 좋습니다.sudo mysql_secure_installation
암호를 설정하라는 메시지가 표시되고 몇 가지 다른 질문이 이어집니다. 강력한 암호를 입력한 다음 나머지 질문에 대해서는 :key_enter:를 눌러 기본값을 선택합니다.
3단계 - PHP 7.4 설치
PHP는 웹 개발을 위해 설계된 서버 측 스크립팅 언어입니다. PHP는 FAMP 스택의 필수 구성 요소입니다. 또한 PHP 대신 Python이나 Perl이 일반적으로 사용됩니다. 그러나 가장 인기 있는 옵션인 PHP가 가장 자주 사용됩니다. 데이터베이스와 함께 웹 사이트 또는 앱에 동적 동작을 제공합니다.
다시 한 번
pkg
시스템을 활용하여 PHP 구성 요소를 설치합니다.pkg
와 함께 PHP7.4
를 설치하려면 다음 명령을 실행하십시오.sudo pkg install -y php74 php74-mysqli mod_php74
이렇게 하면
php74
,mod_php74
및php74-mysqli
패키지가 설치됩니다.PHP 버전 확인:
php --version
# PHP 7.4.1 (cli) (built: Jan 2 2020 01:32:38) ( NTS )
# Copyright (c) The PHP Group
# Zend Engine v3.4.0, Copyright (c) Zend Technologies다음 명령을 사용하여 샘플 PHP 구성 파일을 제자리에 복사합니다.
sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
이제 PHP-FPM을 활성화하고 시작합니다.
sudo sysrc php_fpm_enable=yes
sudo service php-fpm startPHP-FPM이 시작되었는지 확인하려면 다음 명령을 실행할 수 있습니다.
sudo service php-fpm status
결과적으로 다음과 유사한 내용이 표시됩니다.
# Output
php_fpm is running as pid 23005.PHP 모듈 설치(선택 사항)
PHP의 기능을 향상시키기 위해 선택적으로 몇 가지 추가 모듈을 설치할 수 있습니다.
현재 PHP 모듈에서 컴파일된 것을 보려면 다음을 실행할 수 있습니다.
php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard
# [Zend Modules]사용 가능한 PHP 모듈을 검색하려면 다음 명령을 사용할 수 있습니다.
pkg search ^php74-*
결과는 대부분 설치할 수 있는 PHP 7.4 모듈입니다.
# Output # php74-7.4.0 PHP Scripting Language # php74-Ice37-3.7.2_1 Modern alternative to object middleware such as CORBA/COM/DCOM/COM+ # php74-aphpbreakdown-2.2.2 Code-Analyzer for PHP for Compatibility Check-UP # php74-aphpunit-1.9 Testing framework for unit tests # php74-bcmath-7.4.0 The bcmath shared extension for php # php74-brotli-0.7.0 Brotli extension for PHP # php74-bsdconv-11.5.0 PHP wrapper for bsdconv # php74-bz2-7.4.0 The bz2 shared extension for php # php74-calendar-7.4.0 The calendar shared extension for php # php74-composer-1.8.6 Dependency Manager for PHP # php74-ctype-7.4.0 The ctype shared extension for php # php74-curl-7.4.0 The curl shared extension for php # . . .
조사 후 패키지를 설치해야 한다고 결정한 경우
pkg install
명령을 사용하면 됩니다. 대부분의 PHP 웹 애플리케이션에는 추가 모듈이 필요하므로 모듈을 검색하는 방법을 알아두는 것이 좋습니다.4단계 - PHP 모듈을 사용하도록 Apache 구성
PHP를 사용하기 전에 Apache와 함께 작동하도록 구성해야 합니다.
sudo vim /usr/local/etc/apache24/modules.d/001_mod-php.conf
를 실행하고 파일을 아래 내용으로 채웁니다.<IfModule dir_module> DirectoryIndex index.php index.html <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> </IfModule>
파일을 저장하고 vim을 종료합니다.
Apaches 구성 확인:
sudo apachectl configtest
Apache에서 구성을 변경했기 때문에 적용할 서비스를 다시 로드해야 합니다. 그렇지 않으면 Apache는 여전히 이전 구성으로 작동합니다.
sudo apachectl restart
5단계 - PHP 처리 테스트
시스템이 PHP에 대해 올바르게 구성되었는지 테스트하기 위해 매우 기본적인 PHP 스크립트를 생성할 수 있습니다. 이 스크립트를
info.php
라고 부를 것입니다. 기본적으로DocumentRoot
는/usr/local/www/apache24/data
로 설정됩니다. 다음을 입력하여 해당 위치 아래에info.php
파일을 만들 수 있습니다.sudo vim /usr/local/www/apache24/data/info.php
그리고 해당 파일에 다음 코드를 추가합니다.
<?php phpinfo(); ?>
http://your_server_IP/info.php
로 이동하면 다음 페이지가 표시됩니다.FAMP 스택 설치 및 설정 후에는 서버에 대한 정보가 공개되지 않도록
info.php
파일을 제거해야 합니다.sudo rm /usr/local/www/apache24/data/info.php
결론
축하합니다. FreeBSD 12.1 서버에 FAMP 스택을 성공적으로 설치했습니다. 이제 다음에 수행할 작업에 대한 여러 선택 사항이 있습니다. 대부분의 웹사이트와 웹 소프트웨어를 그 위에 설치할 수 있는 플랫폼을 설치했습니다.