OpenBSDs HTTPD를 사용하여 OpenBSD 6.5에서 WordPress 실행

소개

패키지를 추가하지 않고 OpenBSD 설치를 기본값에 가깝게 유지할수록 더 안전합니다. WordPress의 더 일반적인 설정은 Apache와 PHP를 사용하는 것이지만 OpenBSD의 내장 httpd를 사용하는 것이 가능합니다. 이 튜토리얼에서는 Let 's Encrypt 인증서, 웹 서버 및 WordPress의 전체 설정을 시작합니다. 이 작업을 수행하려면 루��� 액세스 권한이 필요합니다.

초기 구성

아직 그렇게하지 않았다면 /etc/doas.conf파일 을 만들어야 합니다. 이 doas명령은 OpenBSD를 쉽게 대체합니다 sudo.

su -
echo "permit nopass keepenv :wheel" > /etc/doas.conf

패키지가 어디에 있는지 OpenBSD에 알려줘야합니다. 이것은 /etc/installurl파일 에서 발생 합니다.

doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit

이제 이미지 및 암호화와 같은 것을 처리하기 위해 WordPress에 필요한 PHP 및 일부 추가 모듈을 추가해야합니다. 메시지가 표시되면 최신 PHP 패키지를 설치하도록 선택하십시오. ini샘플 디렉토리에서 기본 디렉토리로 모듈 파일 을 복사해야합니다 . 추가 PHP 모듈을 활성화하려면이 작업을 수행해야합니다.

doas pkg_add -r mariadb-client mariadb-server php php-curl php-mysqli pecl73-mcrypt pecl73-imagick 
doas su -
cp /etc/php-7.3.sample/* /etc/php-7.3/.

인증서를 암호화합시다

OpenBSD에는 acme-client라는 훌륭한 응용 프로그램이 있습니다. 이 작은 혁신은 계정 키, 개인 키를 생성하고 인증서를 얻는 것입니다. acme-client는 웹 서버가 있어야하므로 빠른 기본 서버 정의를 정의합니다.

좋아하는 편집기로을 만듭니다 /etc/httpd.conf. 나중에 다른 서버 정의를 파일에 추가합니다. 우리가 지금해야 할 일은 무료 유효한 SSL 인증서를 얻기 위해 챌린지 응답을 수행하기 위해 httpd를 준비하는 것입니다.

prefork 5
types { include "/usr/share/misc/mime.types" }

server "default" {
    listen on egress port 80
    root "/htdocs"
    directory index "index.html"

    location "/.well-known/acme-challenge/*" {
        request strip 2
        root "/acme"
    }
}

또한 좋아하는 편집기를 사용하여을 만드십시오 /etc/acme-client.conf.

authority letsencrypt {
    api url "https://acme-v01.api.letsencrypt.org/directory"
    account key "/etc/acme/letsencrypt-privkey.pem"
}

authority letsencrypt-staging {
    api url "https://acme-staging.api.letsencrypt.org/directory"
    account key "/etc/acme/letsencrypt-staging-privkey.pem"
}

domain example.com {
    alternative names { www.example.com }
    domain key "/etc/ssl/private/example.com.key"
    domain full chain certificate "/etc/ssl/example.com.fullchain.pem"
    sign with letsencrypt
}

httpd를 활성화하고 시작한 다음 인증서를 발급받습니다. 인증서가 발급되었음을 알 수 있습니다.

doas rcctl enable httpd php73_fpm
doas rcctl start httpd
doas acme-client -ADFv example.com
doas rcctl stop httpd

서버 정의 추가

/etc/httpd.confLet 's Encrypt 정의 바로 다음에 다음 구성 줄을 추가하십시오 . 무료 SSL 인증서가 있고 안전하지 않은 링크를 통해 로그인 및 암호를 보낼 위험이 없기 때문에 httpd를 http에서 https로 리디렉션하도록 설정하십시오. 줄을 적어 두십시오. location "/posts/*"이것은 WordPress 영구 링크를 예쁘게 보이게하는 부분입니다. 또한이 구성에는 무차별 강제 실행이 WordPress 관리 사이트에 로그인하는 것을 방지하는 방법이 포함되어 있습니다.

server "example.com" {
    listen on egress port 80
    alias "www.example.com"
    block return 302 "https://$SERVER_NAME$REQUEST_URI"
}

server "example.com" {
    listen on egress tls port 443
    alias "www.example.com"
    root "/htdocs/example.com
    directory index "index.php"

     location "/posts/*" {
        fastcgi {
             param SCRIPT_FILENAME "/htdocs/example.com/index.php"
             socket "/run/php-fpm.sock"
        }
     }

     location "/wp-json/*" {
        fastcgi {
           param SCRIPT_FILENAME "/htdocs/example.com/index.php"
            socket "/run/php-fpm.sock"
        }
     }

    location "/wp-login.php*" {
        authenticate "WordPress" with "/htdocs/htpasswd"
        fastcgi socket "/run/php-fpm.sock"
     }

    #Uncomment the following lines to disable xmlrpc. You increase security 
    #at the expense of being able to use to use 
    #the Android and iPhone WordPress App.
    #location "xmlrpc.php*" {
    #    block return 404
    #}        

    location "*.php*" {
        fastcgi socket "/run/php-fpm.sock"
     }

    tls {
        certificate "/etc/ssl/example.com.fullchain.pem"
        key "/etc/ssl/private/example.com.key"
    }
}

WordPress 관리 사이트에 대한 추가적인 보안 수준을 위해 사용자 이름 및 비밀번호 파일을 작성하십시오. 올바른 비밀번호를 선택하십시오. wp-login.php스크립트 를 실행하기 위해 사용자 이름과 비밀번호를 묻는 메시지가 나타납니다 .

doas su
cd /var/www/htdocs
htpasswd htpasswd wp_user
chown www:www htpasswd
chmod 0640 htpasswd

MariaDB 준비 및 구성

MariaDB는 MySQL의 드롭 인 대체 포크입니다. WordPress에 대한 초기 구성 및 데이터베이스 준비 작업을 수행해야합니다.

MariaDB를 효과적으로 사용하려면 mysql 데몬이 기본 리소스보다 더 많은 리소스를 사용하도록 허용해야합니다. 이렇게하려면 /etc/login.conf맨 아래에이 항목을 추가 하여 다음과 같이 변경 하십시오.

mysqld:\
    :openfiles-cur=1024:\
    :openfiles-max=2048:\
    :tc=daemon:

MariaDB를 활성화하고 시작하십시오. 이 절차는 루트 암호를 설정하고 선택적으로 테스트 데이터베이스를 삭제합니다. 보안 설치 단계에서 제안을 따르는 것이 좋습니다.

 doas mysql_install_db
 doas rcctl enable mysqld
 doas rcctl start mysqld
 doas mysql_secure_installation

WordPress 데이터베이스 및 데이터베이스 사용자를 작성하십시오.

mysql -u root -p 
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
EXIT

워드 프레스 설치 및 구성

워드 프레스는 공식 OpenBSD 포트를 가지고 있지 않았다. WordPress 설치 폴더를 다운로드, 추출 및 이동하십시오.

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar xvfz latest.tar.gz
doas mv wordpress /var/www/htdocs/example.com
chown -R www:www /var/www/htdocs/example.com

우리는 복사가 /etc/resolve.conf/etc/hosts/var/www/etc. 이것은 WordPress가 시장에 성공적으로 도달 할 수 있도록하기위한 것입니다. WordPress 관리 사이트를 통해 플러그인 및 테마를 다운로드하려면이 기능이 필요합니다.

doas mkdir /var/www/etc
doas cp /etc/hosts /var/www/etc/.
doas cp /etc/resolv.conf /var/www/etc/.

httpd 및를 시작하십시오 php73_fpm.

doas rcctl start httpd php73_fpm

서버 정의에 사용한 URL을 찾으십시오. WordPress 설치 마법사가 나타납니다. 데이터베이스 서버 옵션의 경우 localhost를로 바꾸십시오 127.0.0.1.

워드 프레스가 설치되면, SEO에보다 친숙해 지도록 퍼머 링크를 설정할 차례입니다. 워드 프레스 관리 화면에서으로 이동하십시오 Settings -> Permalinks. 를 클릭하고을 Custom Structure입력하십시오 /posts/%postname%. 변경 후 Save Changes버튼을 클릭하십시오 . 이제 훨씬 더 멋진 링크가 생겼습니다. 예를 들어, 퍼머 링크는 다음과 같습니다 :https://example.com/posts/example-blog-post



Leave a Comment

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

우리 컴퓨터는 모든 데이터를 저널링 파일 시스템이라고 하는 체계적인 방식으로 저장합니다. 검색을 누르는 즉시 컴퓨터에서 파일을 검색하고 표시할 수 있는 효율적인 방법입니다.https://wethegeek.com/?p=94116&preview=true

기술적 특이점: 인류 문명의 먼 미래?

기술적 특이점: 인류 문명의 먼 미래?

과학이 빠른 속도로 발전하고 우리의 많은 노력을 인수함에 따라 설명할 수 없는 특이점에 처할 위험도 높아집니다. 특이점이 우리에게 무엇을 의미할 수 있는지 읽어보십시오.

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

2021년 의료 분야에서 인공 지능의 영향

2021년 의료 분야에서 인공 지능의 영향

의료 분야의 AI는 지난 수십 년 동안 큰 도약을 했습니다. 따라서 의료 분야에서 AI의 미래는 여전히 나날이 성장하고 있습니다.