웹사이트 검색

FreeBSD 11.1에서 FAMP 위에 WordPress 배포


이 페이지에서

  1. 1단계 - MariaDB 설치
  2. 2단계 – Apache 웹 서버 설치
  3. 3단계 – PHP 설치
  4. 4단계 – WordPress 설치

이 가이드는 FreeBSD 11.x 최신 릴리스에서 FAMP 위에 인터넷에서 가장 많이 사용되는 오픈 소스 CMS WordPress를 설치하고 구성하는 방법을 보여줍니다. FAMP는 다음 소프트웨어 번들을 설명하는 약어입니다. FreeBSD 11.1 Unix 계열 운영 체제, Apache HTTP 서버, 인터넷에서 가장 인기 있는 오픈 소스 웹 서버 중 하나, MariaDB RDBMS(관계형 데이터베이스 관리 시스템)는 포크입니다. MySQL 데이터베이스 엔진 및 PHP 프로그래밍 서버 측 언어.

요구 사항:

  • FreeBSD 11.x 설치를 처음부터 수행하거나 시스템에 설치된 이전 FAMP 소프트웨어가 없습니다.\n
  • 고정 IP 주소로 구성된 네트워크 인터페이스 카드.
  • 서버의 명령줄 콘솔에 대한 원격 액세스 또는 직접 액세스를 위해 설치 및 구성된 SSH 서버.\n
  • 가급적 등록된 도메인 이름(웹사이트를 방문하기 위해 서버의 고정 IP 주소를 사용하기 때문에 이 튜토리얼에서는 반드시 필요하지 않음).\n
  • 루트 권한 또는 루트 계정에 대한 직접 액세스로 구성된 서버의 sudo 계정.\n

1단계 - MariaDB 설치

FreeBSD 서버에 FAMP 번들을 설치하기 전에 루트 권한이 있는 계정으로 로그인하고 아래 명령을 실행하여 시스템이 완전히 최신 상태인지 확인하십시오.

freebsd-update fetch
freebsd-update install
pkg update
pkg upgrade

명령줄에서 서버를 쉽게 관리하려면 다음 패키지도 설치해야 합니다.

pkg install bash bash_completion nano

Nano는 널리 사용되는 Linux 명령줄 편집기입니다. FreeBSD에서 ee는 기본 파일 편집기입니다. Vi 편집기도 기본적으로 FreeBSD에 설치됩니다.

서버에 Wordpress 웹 사이트를 배포하려면 관계형 데이터베이스에 연결하는 것이 절대적으로 중요합니다. Wordpress와 함께 가장 많이 사용되는 RDBMS 중 하나는 MySQL/MariaDB입니다. 따라서 FAMP 스택에 설치할 첫 번째 구성 요소는 MySQL 데이터베이스 서버입니다. MySQL 데이터베이스를 위해 이 설정에서 사용될 사용 가능한 MariaDB 데이터베이스 버전 및 구성 요소를 검색하려면 시스템 콘솔에서 다음 명령 중 하나를 실행하십시오.

ls -al /usr/ports/databases/ | grep mariadb
pkg search -o mariadb

그런 다음 다음 명령을 실행하여 FreeBSD에 최신 버전의 MariaDB 데이터베이스 서버를 설치합니다.

pkg install mariadb102-client mariadb102-server

다음 단계에서 FreeBSD에서 MariaDB 데몬을 활성화하고 아래 명령을 실행하여 데이터베이스 서비스를 시작하십시오.

sysrc mysql_enable=”YES”
service mysql-server start

다음으로 mysql_secure_installation 스크립트를 실행하여 MaraDB 데이터베이스 보안을 시작합니다. MariaDB 데이터베이스를 보호하려면 다음 설치 예를 사용하십시오. 또한 MySQL 루트 사용자에 대해 강력한 암호를 선택했는지 확인하십시오.

/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!

MariaDB 서비스는 기본적으로 0.0.0.0:3306/TCP 네트워크 소켓에서 네트워크 연결을 바인딩하고 수신 대기하도록 구성됩니다. -4 -6 플래그와 함께 sockstat 명령을 실행하면 아래 스크린샷과 같이 MariaDB 소켓 상태를 알 수 있습니다.

양말 상태 -4 -6

MySQL 서버의 이러한 동작은 보안 문제가 발생하기 쉬우므로 아래 명령을 실행하여 데몬을 루프백 인터페이스에만 바인딩하여 MariaDB에 대한 원격 액세스를 완전히 비활성화합니다. 변경 사항을 반영하려면 데몬을 다시 시작해야 합니다.

sysrc mysql_args="--bind-address=127.0.0.1".
service mysql-server restart

그러나 sockstat 명령을 다시 실행하여 MariaDB 네트워크 소켓의 새로운 상태를 확인하세요. 이제 MariaDB는 아래 스크린샷과 같이 루프백 인터페이스에서만 연결을 수신해야 합니다.

sockstat -4

마지막으로 MySQL 데이터베이스 데몬을 확보한 후 Wordpress 설치를 위한 MariaDB 데이터베이스를 생성합니다. 서버 콘솔에서 MariaDB에 로그인하고 다음 명령을 실행하여 데이터베이스와 Wordpress 데이터베이스를 관리하는 데 사용할 사용자를 생성합니다. 프롬프트에 MySQL 루트 비밀번호를 입력하고 그에 따라 데이터베이스 이름, 데이터베이스 사용자 및 비밀번호를 바꾸십시오.

mysql –u root –p
create database wordpress;
grant all privileges on wordpress.* to 'wpuser'@'localhost' identified by 'wppassword';
flush privileges;
exit

2단계 – Apache 웹 서버 설치

FAMP 스택을 완성하기 위해 설치해야 하는 다음 서비스는 Apache HTTP 서버입니다. FreeBSD PORTS 리포지토리에는 두 가지 미리 컴파일된 Apache 웹 서버 버전이 함께 제공됩니다. 모든 Apache 런타임 버전을 나열하려면 터미널에서 다음 명령 중 하나를 실행하십시오.

pkg search apache2
ls /usr/ports/www/ | grep apache

Wordpress를 사용한 이 사용자 지정 설정의 경우 다음 명령을 실행하여 Apache HTTP 서버의 2.4 버전을 설치합니다.

pkg install apache24

모든 종속성이 있는 Apache 웹 서버 패키지가 시스템에 설치된 후 다음 명령을 사용하여 데몬을 활성화하고 시작해야 합니다.

sysrc apache24_enable=”yes”
service apache24 start

Apache 구성을 테스트하려면 아래 이미지와 같이 브라우저를 열고 URL 필드에 서버의 IP 주소 또는 시스템 FQDN을 입력하여 HTTP 프로토콜을 통해 기본 웹 페이지를 방문하십시오. "작동합니다!"라는 메시지가 브라우저에 표시되어야 합니다.

http://server_IP 또는_FQDN

Apache HTTP 서버 DocumentRoot 디렉터리는 FreeBSD 11.x의 /usr/local/www/apache24/data/ 경로에 있습니다. 나중에 해당 위치에 Wordpress 설치 파일을 복사합니다. 또한 다음 명령어를 실행하여 기본 index.html 파일을 삭제해야 합니다.

rm /usr/local/www/apache24/data/index.html

3단계 – PHP 설치

Apache 웹 서버와 유사하게 FreeBSD 11.x PORTS는 미리 컴파일된 PHP 언어의 여러 바이너리 버전(PHP 5.6, PHP 7.0 및 PHP 7.1 릴리스)과 함께 제공됩니다. 모든 PHP 버전을 표시하려면 다음 명령 중 하나를 실행하십시오.

ls /usr/ports/lang/ | grep php
pkg search –o php

이 사용자 정의 자습서에서는 Wordpress 설치에 PHP 7.1 버전을 사용합니다. Wordress가 제대로 작동하려면 아래 명령을 실행하여 필요한 모든 모듈과 함께 PHP를 설치하십시오.

pkg install php71 php71-mysqli mod_php71 php71-mbstring php71-mcrypt php71-zlib php71-curl php71-gd php71-json

다음 단계에서 즐겨 사용하는 텍스트 편집기를 사용하여 /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>

파일 편집을 마친 후 Apache PHP 게이트웨이가 예상대로 작동하는지 테스트하기 위해 아래 명령을 실행하여 Apache 기본 웹루트 경로에 새 phpinfo.php 파일을 생성해야 합니다.

echo '<?php phpinfo();  ?>' | tee /usr/local/www/apache24/data/phpinfo.php

마지막으로 Apache 서비스를 다시 시작하여 변경 사항을 적용하고 아래 URL로 이동하여 다음 스크린샷과 같이 PHP 서버 측 구성을 표시합니다.

service apache24 restart

http://server_IP-or-FQDN/phpinfo.php

또한 Apache용 PHP ini 구성 파일을 만들고 서버의 지리적 위치를 반영하도록 timezone 문을 변경할 수 있습니다. 지원되는 PHP 시간대 목록은 다음 링크에서 확인할 수 있습니다. http://php.net/manual/en/timezones.php

PHP용 기본 설정 파일을 만들려면 php.ini-production 파일을 복사하세요. 그런 다음 php.ini 파일을 수정하여 PHP 시간대 구성을 변경하세요.

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

php.ini 파일 발췌:

date.timezone = Continent/City

새로운 PHP 설정을 적용하려면 Apache 서비스를 다시 시작해야 합니다. 그런 다음 phpinfo.php 웹 페이지를 다시 방문하고 날짜 설정으로 스크롤하여 아래 스크린샷과 같이 변경 사항이 성공적으로 적용되었는지 확인합니다.

service apache24 restart

4단계 – 워드프레스 설치

FreeBSD에서 FAMP 위에 Wordpress를 설치하려면 먼저 wget 유틸리티를 사용하여 최신 버전의 설치 아카이브 tarball을 시스템에 다운로드합니다. 다운로드한 아카이브를 추출하고 다음 명령을 실행하여 모든 Wordpress 설치 파일을 Apache 웹루트 경로에 복사합니다.

wget https://wordpress.org/latest.tar.gz
tar xfz latest.tar.gz
cp –rf wordpress/* /usr/local/www/apache24/data/

다음으로 웹 서버에 Wordpress 설치 디렉터리에 대한 쓰기 권한을 부여하기 위해 Apache 런타임 그룹 계정의 서버 웹 루트 경로에 대한 적절한 권한을 조정합니다.

chown -R root:www /usr/local/www/apache24/data/
chmod -R 775 /usr/local/www/apache24/data/

이제 웹 서버가 Wordpress 설치 프로세스를 위해 준비되었습니다. 브라우저를 열고 서버 IP 주소 또는 FQDN으로 이동하면 첫 번째 설치 화면이 나타납니다. Let's go! 버튼을 눌러 설치를 시작합니다.

다음 화면에서 MariaDB 데이터베이스 이름, Wordpress 데이터베이스 사용자 이름 및 암호, 데이터베이스 호스트를 입력합니다. MariaDB와 Apache 웹 서버는 동일한 노드에 설치되므로 데이터베이스 호스트는 localhost를 사용합니다. 테이블 접두사 기본값을 그대로 두고 계속하려면 제출 버튼을 누르세요.

데이터베이스 구성 파일이 생성된 후 설치 실행 버튼을 누르고 다음 화면에서 웹사이트 제목, 웹사이트를 관리할 사용자 이름 및 이메일 주소를 추가합니다. 사용자 이름에 대해 강력한 암호를 선택했는지 확인하십시오. 또한 보안 문제로 인해 관리자, 관리자, 루트 등의 간단한 사용자 이름을 사용하지 않아야 합니다. 완료되면 Wordpress 설치 버튼을 눌러 설치를 완료합니다.

Wordpress가 성공적으로 설치되면 이전 단계에서 생성한 자격 증명으로 관리자 대시보드 패널에 로그인하고 웹 사이트 관리를 시작합니다.

플러그인 또는 테마를 업데이트 또는 설치하거나 사진을 업로드하거나 인터넷에서 파일을 다운로드해야 하는 Wordpress의 다른 측면을 수정하려면 루트 권한으로 다음 명령을 실행하여 Wordpress wp-config.php 파일에 다음 줄을 추가합니다.

echo "define('FS_METHOD', 'direct');" | tee –a /usr/local/www/apache24/data/wp-config.php

이 라인은 Wordpress가 호스트에서 FTP 서버를 실행하지 않고도 온라인 파일이나 업데이트를 다운로드하고 설치할 수 있도록 합니다. 그러나 Wordpress가 공유 호스팅 계획에 설치된 경우 이 방법이 최선의 선택이 아닐 수 있습니다. 아래 스크린샷에서 ftp 계정을 요청하지 않고 FS_METHOD를 사용하여 플러그인 업데이트가 성공적으로 적용되었습니다.

마지막으로 Wordpress 영구 내부 링크 구조를 변경하려면 Apache HTTP 서버에 대해 재작성을 활성화해야 합니다. 재작성 모듈을 활성화하려면 먼저 Apache 기본 구성 파일을 열고 아래 스크린샷에 표시된 대로 문 앞에 다음 코드 블록을 추가합니다.

nano /usr/local/etc/apache24/httpd.conf

httpd.conf 파일 발췌:

<Directory "/usr/local/www/apache24/data">
                Require all granted        
                AllowOverride All
</Directory>

그런 다음 파일을 닫고 앞의 해시태그 기호를 제거하는 아래 명령을 실행하여 다시 쓰기 LoadModule 줄의 주석 처리를 제거합니다. grep 필터를 사용하여 재작성 LoadModule 을 표시합니다. 마지막으로 Apache 구성 파일에 잠재적인 구문 오류가 있는지 확인하고 서비스를 다시 시작하여 변경 사항을 적용합니다.

grep rewrite /usr/local/etc/apache24/httpd.conf
sed -i.bak '/rewrite/s/^#//g' /usr/local/etc/apache24/httpd.conf
grep rewrite /usr/local/etc/apache24/httpd.conf
apachectl -t
service apache24 restart

이제 대시보드 -> 설정 -> 영구 링크로 이동하여 Wordpress 영구 링크 구조를 변경할 수 있습니다. 화면 옵션에서 URL 구조에 대해 선호하는 퍼머링크 옵션을 선택하고 변경 사항 저장 버튼을 눌러 변경 사항을 적용합니다. SEO를 위한 훌륭한 옵션은 게시물 이름 퍼머링크입니다.

퍼머링크 옵션이 적용되지 않는 경우 서버 웹루트 경로에서 .htaccess 파일의 내용을 열고 조사하세요. 아래 내용이 이 파일에 자동으로 삽입되어야 합니다. 그렇지 않은 경우 아래 내용을 .htaccess 파일로 수동 업데이트하거나 파일 권한을 확인하세요. Apache 런타임 사용자 또는 그룹 계정에 이 파일에 대한 쓰기 권한이 부여되어야 합니다.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

그게 다야! FreeBSD 11에서 Apache 웹 서버, MariaDB 데이터베이스 및 PHP 프로그래밍 언어 위에 Wordpress 웹 사이트를 성공적으로 배포했습니다.