개발자의 끄적끄적

[php] 워드프레스 설치하기 [펌] 본문

개발/php

[php] 워드프레스 설치하기 [펌]

효벨 2020. 9. 7. 02:00
728x90
반응형

[php] 워드프레스 설치하기 [펌]

 

워드프레스를 직접 서버에 업로드하여 설치하는 방법을 다룹니다.

워드프레스 다운로드

아래의 사이트에서 원하는 버전으로 다운로드 받아 압축을 푼다.

http://wordpress.org/ (영문 버전)

http://ko.wordpress.org/ (한국어 버전)

업로드

압축을 풀면 wordpress라는 디렉토리를 발견할 수 있을텐데 이 폴더의 이름을 변경해야 한다. 이는 보안적인 측면에서 도움이 된다.

FTP를 사용해서 계정에 업로드한다.

(FTP 프로그램 - 파일질라 https://filezilla-project.org/download.php?type=client)

디렉토리 구조는 아래와 같게

wordpress(폴더명은 변경 - 예제는 편의상 그대로 사용)
└ wp-admin
└ wp-content
└ wp-includes
└ 기타 파일들

위와 같이 루트 폴더에 바로 업로드하지 않고 서브폴더(워드프레스 폴더)체로 업로드 하면 악의 적인 봇이 사이트를 스캐닝하고 검색하면서 워드프레스 파일을 찾을 수 없도록 한다. (워드프레스 폴더명을 예상치 못할 이름으로 변경하자) - 은둔 보안 방식, 또한 루트 디렉토리를 깨끗하게 유지할 수 있다.

환경설정 파일(wp-config) 만들기

http://도메인/wordpress/wp-admin/install.php에 접속한다.

서버 환경에 따라 위와 같은 페이지 대신 오류가 발생하기도 하는데 그때는 수동 설정을 하면 된다. 수동 설정은 페이지의 하단에 따로 설명한다.

양식에 맞게 자신의 데이터베이스 이름 및 MySQL 정보를 입력한다.

※ 테이블 접두어는 꼭 변경하여 보안을 강화한다. (ex. apfhd_ )

관리자 환경 설정

사이트 제목에 사이트 상호를 작성하고 사용자명은 기본 admin이지만 꼭 변경하여 보안을 강화한다. 사용자명은 사이트에 로그인할 때 사용될 관리자이다. 이메일주소도 실제 존재하는 메일주소를 입력한다.

설치에 성공하면 아래와 같은 화면을 볼 수 있다. 로그인 해서 접속해본다.

wp-config 수동 설정

wp-config 파일을 자동으로 생성할 수 없는 경우 수동으로 생성한다.

wp-config 파일 생성

wordpress폴더 아래에 있는 wp-config-sample.php 파일을 복사한후 이름을 wp-config.php로 변경한다.

wp-config.php를 메모장이나 에디터를 이용하여 양식에 맞게 수정한다.

PHP
/** The name of the database for WordPress */
define('DB_NAME', 'DB 명');

/** MySQL database username */
define('DB_USER', 'MySQL 사용자이름');

/** MySQL database password */
define('DB_PASSWORD', 'MySQL 암호');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');


출처: https://webdir.tistory.com/99 [WEBDIR]

호스팅업체를 사용한다면 DB명은 가입할때 사용한ID명으로 만들어지는 경우가 많고, 때론db_ID명혹은ID명_db으로 만들어진다.

인증키 삽입

워드프레스는 보안을 위해 인증키를 삽입할 수 있는데 아래의 주소에서 인증키를 복사후 wp-config.php에 삽입한다.https://api.wordpress.org/secret-key/1.1/salt/

PHP
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
* @since 2.6.0
*/

define('AUTH_KEY',         'xzo+hsOY%s2V]F)}lim8* */zw!2dGQ8Sl2TvGd wmj,kG@]hv:};');
define('LOGGED_IN_KEY',    'XfB%<+8]z+T^=oyr ^MK$l7u$:<10tp+6@r@]bt(f.y! i:k7T+aG`}1.pe2hjmm');
define('NONCE_KEY',        'w+ba^s{3api(Rd2-d+~a=DrpXPQoiNFPtJ%/2E%%C@?2;PV4>!QJ~GsU&,h/M|P1');
define('AUTH_SALT',        'L`|5dPaN/PsC:$o{HWb3jTqzkrt>mK0yIY2o65zVnxtnSn-6!.rmo8xSu|?K-E&<');
define('SECURE_AUTH_SALT', 'r#^b%+]1HQ Qb!tEYXvLUM!iw<6tsQjl>h.;O=YC|h(TNu{4|d4Z*z4[bq0`&q$%');
define('LOGGED_IN_SALT',   'B5+IYIi{h=e]P*E;c<_(.-eLhVQJ5u:wN84B+fndO+H=D7$OgsKF{,qF*l<`RAXi');
define('NONCE_SALT',       'qpP2K1gkua/v(#xNZzc]G,FOHY+js>HqCKy*ROjZ%$t(8wK3Ujy_lb!CP?jk


출처: https://webdir.tistory.com/99 [WEBDIR]

워드프레스는 설치할때 테이블명 앞에 이 곳에서 설정한 문자를 삽입한다. 이는 하나의 DB에 여러개의 워드프레스 사이트를 구성할 수 있게 해준다. 기본으로 설정된 'wp_' 와 같은 테이블 이름은 공개되어 있어 보안에 취약성이 따른다. 고로 이를 꼭 다른 이름으로 변경하도록 하자.

PHP
/**
 * WordPress Database Table prefix.
 *
 * You can have multiple installations in one database if you give each a unique
 * prefix. Only numbers, letters, and underscores please!
 */
$table_prefix  = 'wp_';


출처: https://webdir.tistory.com/99 [WEBDIR]

수정한 wp-config.php를 워드프레스 폴더안에 업로드 한다.

 

출처:https://webdir.tistory.com/99[WEBDIR]

반응형
Comments