FreeBSD에 Apache, MariaDB 및 PHP (FAMP) 스택을 설치하는 방법
이 가이드는 Linux의 LAMP 스택과 유사한 FreeBSD 운영 체제에서 FBAMP를 설치하고 구성하는 방법을 설명합니다. FBAMP는 FreeBSD OS, Apache HTTP 서버, 인터넷에서 가장 인기있는 오픈 소스 웹 서버, MariaDB 관계형 데이터베이스 관리 시스템 (RDBMS), MySQL 데이터베이스 엔진 포크 및 PHP 서버를 기반으로 한 소프트웨어 모음을 나타내는 약어입니다. "-측면.
요구 사항
- A fresh installation of FreeBSD
- FreeBSD Initial Configurations
- Direct console access or SSH in case of a remote connection to FreeBSD.
- A static IP Address configured on a Network Interface.
1 단계 : FreeBSD에 Apache 설치
1. 설치할 첫 번째 서비스는 Apache HTTP 서버입니다. 기본적으로 FreeBSD는 Apache 웹 서버에 대해 서로 다른 런타임 작업 모듈이있는 여러 버전을 제공합니다.
버전은 바이너리 패키지로 미리 컴파일되어 있으며 FreeBSD PORTS 저장소에서 제공합니다. PORTS에서 제공하는 모든 Apache 패키지 바이너리를 표시하려면 다음 명령을 실행하십시오.
# ls /usr/ports/www/ | grep apache

아래 명령을 실행하여 FreeBSD에서 사용 가능한 사전 컴파일 된 Apache 패키지를 검색 할 수도 있습니다.
# pkg search apache2

2. 다음으로 다음 명령을 실행하여 필요한 모든 모듈과 함께 최신 버전의 Apache HTTP 서버를 설치합니다.
# pkg install apache24

3. Apache 웹 서버가 시스템에 설치된 후 다음 명령을 실행하여 FreeBSD에서 시스템 전체에 데몬을 활성화합니다.
# sysrc apache24_enable="yes"
Apache 데몬을 활성화하는 다른 방법은 아래 스크린 샷에 설명 된대로 /etc/rc.conf 파일에서 apache24_enable = yes
줄을 수동으로 편집하고 추가하는 것입니다.

4. 마지막으로 웹 서버가 제대로 작동하는지 테스트하려면 아래 명령을 실행하여 Apache 데몬을 시작하고 브라우저에서 FQDN ( http :/IP-orFQDN)의 서버 IP 주소를 지정하여 기본 웹 페이지를 방문합니다. "
) 아래 스크린 샷과 같습니다.
# service apache24 start


FreeBSD 11.x에서 Apache 웹 서버의 기본 웹 루트 디렉토리는 /usr/local/www/apache24/data/
시스템 경로에 있습니다. "가급적 편집 할 수있는 작은 index.html 파일이 있습니다.

2 단계 : FreeBSD에 PHP 설치
5. FreeBSD 11.x는 사전에 컴파일 된 바이너리로 패키지 된 여러 버전의 PHP 해석 서버 측 언어를 제공합니다. FreeBSD Ports 저장소에서 제공하는 사용 가능한 모든 PHP 버전 패키지 목록을 얻으려면 다음 명령을 실행하십시오.
# ls /usr/ports/lang/ | grep php

사용 가능한 모든 FreeBSD PHP 패키지 버전을 검색하는 다른 방법은 아래 명령을 실행하는 것입니다.
# pkg search -o php

6. 특정 PHP 버전 (현재 5 또는 7 버전)에 대해 FreeBSD에서 제공하는 모든 사용 가능한 바이너리를 검색하려면 아래 명령을 실행하십시오. 출력 범위를 좁히고 탐색하려면 less 명령을 사용하십시오.
# pkg search php5 |less # pkg search php7


7. 사용자 정의 PHP 버전이 제공하는 모듈에 대해 더 자세히 알아 보려면 아래 설명 된대로 PHP 7.1 버전에 대해 사용 가능한 모든 모듈을 표시하는 다음 명령을 실행하십시오.
# pkg search php71

8.이 가이드에서는 FBAMP 스택 용 PHP 7.1 릴리스를 설치합니다. 다음 명령을 실행하여 일반적인 CMS 설치에 필요한 가장 중요한 일부 모듈과 함께 PHP를 설치합니다.
# pkg install php71 mod_php71 php71-mbstring php71-mcrypt php71-zlib php71-curl php71-gd php71-json
9. 다음으로/usr/local/etc/apache24/Includes/시스템 경로에 다음 내용으로 Apache 웹 서버용 php.conf 구성 파일을 생성해야합니다.
# nano /usr/local/etc/apache24/Includes/php.conf
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>

10. PHP 게이트웨이가 Apache 웹 서버에서 예상대로 작동하는지 테스트하려면 Apache의 기본 웹 문서 루트 경로 인/usr/local/www/apache24/data/system 경로에 PHP info.php 파일을 생성합니다. "웹 서버.
# echo '<?php phpinfo(); ?>' | tee -a /usr/local/www/apache24/data/info.php
Apache 데몬을 다시 시작하여 변경 사항을 적용하십시오.
# service apache24 restart
그런 다음 브라우저에서 다음 URI를 방문하여 PHP 요약을 확인합니다.
http://IP-or-FQDN/info.php

11. 프로덕션 용 PHP ini 구성 파일을 활성화하려면 아래 명령을 실행하십시오. FBAMP 스택에서 다양한 PHP 설정을 변경하기 위해 php.ini 프로덕션 파일을 수정할 수 있습니다.
# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.bakup # ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini
3 단계 : FreeBSD에 MariaDB 설치
12. FBAMP 스택에서 마지막으로 누락 된 구성 요소는 MySQL 데이터베이스 서버입니다. "FreeBSD 11.x는 다양한 데이터베이스를위한 1000 개 이상의 패키지를 제공합니다.
MariaDB 또는 MySQL 데이터베이스에 사용할 수있는 구성 요소를 표시하려면 다음 명령을 실행하십시오. 이 가이드에서는 MySQL (현재 Oracle에서 소유 및 개발 중임)을 통해 MariaDB 데이터베이스를 설치합니다.
# ls -al /usr/ports/databases/ | grep mariadb # pkg search -o mariadb # ls -al /usr/ports/databases/ | grep mysql # pkg search -o mysql5


13.이 가이드에서는 현재 mariadb102 바이너리 패키지 릴리스로 표시되는 최신 버전의 MariaDB 데이터베이스 서버를 FreeBSD에 설치합니다.
Apache 서버 게이트웨이를 통해 데이터베이스에 액세스하는 데 필요한 MariaDB 서버 및 클라이언트와 필요한 PHP 7.1 모듈을 설치하려면 다음 명령을 실행하십시오.
# pkg install mariadb102-server mariadb102-client php71-mysqli
14. 다음으로 시스템 전체에서 MariaDB 서버를 활성화하고 다음 명령을 실행하여 데이터베이스 데몬을 시작합니다.
# sysrc mysql_enable="yes" # service mysql-server start
15. 데이터베이스를 보호하려면 mysql_secure_installation scrip을 실행하십시오. 아래 스크립트 출력 발췌 부분을 사용하여 MariaDB를 강화하십시오.
# /usr/local/bin/mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n]y
New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n]y
... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n]y
... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n]y
- Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n]y
... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
16. 기본적으로 MariaDB 데몬은 포트 3306/TCP에서 localhost 외부의 네트워크 연결을 수신합니다. netstat, lsof 또는 sockstat 명령을 실행하여 MariaDB 소켓 상태를 가져옵니다. 이 구성은 위험하며 서비스를 외부 네트워크 공격에 노출시킵니다.
# lsof -i4 -i6 # sockstat -4 -6

17. MariaDB에 대한 원격 액세스가 필요하지 않은 경우 아래 명령을 실행하여 MariaDB 데몬이 localhost 만 수신하는지 확인합니다. 그런 다음 MariaDB 서비스를 다시 시작하여 변경 사항을 적용하십시오.
# sysrc mysql_args="--bind-address=127.0.0.1" # service mysql-server restart or # /usr/local/etc/rc.d/mysql-server restart
18. 다시 netstat, lsof 또는 sockstat 명령을 실행하여 MariaDB 네트워크 소켓을 나열합니다. 소켓은 아래 이미지와 같이 이제 localhost에서 바인딩하고 수신해야합니다.
# lsof -i4 | grep mysql # netstat -an | grep 3306 # sockstat -4 | grep 3306

19. 콘솔에서 MariaDB 데이터베이스 연결을 테스트하려면 다음 명령을 실행하십시오. 프롬프트에 MySQL 루트 암호를 입력하면 아래 이미지와 같이 콘솔 화면에 기본 데이터베이스 목록이 표시됩니다.
# mysql -u root -p -e "show databases"

그게 다야! "FreeBSD에서 MariaDB 데이터베이스 및 PHP 인터프리터와 함께 Apache 웹 서버를 성공적으로 설치했습니다. 이제 즉시 WordPress 웹 사이트 배포를 시작할 수 있습니다.
다음 자습서에서는 Apache 가상 호스트를 활성화 및 생성하는 방법, .htaccess 파일에 필요한 재 작성 모듈을 활성화하여 올바르게 작동하는 방법, 자체 서명 된 인증서 또는 무료를 사용하여 Apache 연결을 보호하는 방법과 같은 몇 가지 고급 FPBAMP 주제에 대해 설명합니다. Let 's Encrypt 엔티티에서 제공하는 인증서입니다.