- 2018. 10.31 작성
- 무단으로 퍼가지 말아주세요. 퍼가셔도 링크로 퍼가지고, 인용할 경우 출처를 꼭 밝혀주세요.
- 막히는 부분은 댓글 달아주세요. :)
- 제 블로그에는 구글 광고가 삽입되어 있습니다. 괜찮으시다면 광고 한 번씩 눌러주세요.
- 저장할 때 노란 적용 알림이 뜰 수 있습니다. 잊지 말고 적용까지 해주세요.
Wordpress는 개인 설치형 블로그/쇼핑몰 1인자입니다. 요샌 워드프레스를 기반한 호스팅 업체도 많구요. 보기 좋은 테마도 많고 성능도 나쁘지 않으면서 기능도 많습니다. 부족한 기능은 플러그인으로 채울 수 있구요.
MySQL에 필요한 데이터베이스를 생성해놔야 합니다.
OMV에 SSH로 접속을 해야 합니다. SSH 접속을 위해 세 가지 사항을 먼저 확인해볼게요.
OMV 사용자 메뉴로 가서 자신의 사용자 계정이 ssh, sudo 그룹에 속해있는 지 확인합니다. 안 되어 있다면 링크를 참고해주세요.
OMV SSH 메뉴로 가서 활성화가 되어 있는 지 확인합니다. 안 되어 있다면 링크를 참고해주세요.
OMV MySQL 메뉴가 있는 지 확인합니다. 없다면 링크를 참고해 설치해주세요.
다 됐다면 PuTTY, XShell, Terminal 등 SSH 접속 프로그램으로 OMV에 접속합니다.
su 명령어를 통해 root 로 진행하셔도 됩니다.
su -
MySQL로 접속합니다.
sudo mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 36
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
아래 명령어를 따라 입력합니다.
새로운 사용자를 생성합니다. 전 이름은 awesometic, localhost(기기 자체)에서만 접근 가능하며 비밀번호는 odroid로 하겠습니다.
create user 'awesometic'@'localhost' identified by 'odroid';
Wordpress를 위한 데이터베이스를 생성합니다.
create database `wordpress-db`;
새로 만든 계정이 그 데이터베이스에 접근할 수 있도록 접근 권한을 줍니다. 데이터베이스에 로그인할 때 비밀번호로 odroid 라고 하겠습니다.
grant all privileges on `wordpress-db`.* to 'awesometic'@'localhost' identified by 'odroid';
새로 설정한 권한을 적용합니다.
flush privileges;
그리고 Ctrl+C 단축키 또는 exit 를 입력해 종료합니다.
최신 Wordpress를 다운로드받고 압축을 /var/www 아래에 풀어줍니다.
wget https://wordpress.org/latest.zip
sudo unzip -d /var/www latest.zip
Wordpress 기본 설정을 위해 wp-config-sample.php 파일을 복사 후 수정합니다.
cd /var/www/wordpress
sudo cp wp-config-sample.php wp-config.php
sudo vi wp-config.php
데이터베이스 관련 설정을 아래 내용을 찾아 참고해서 수정합니다.
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress-db');
/** MySQL database username */
define('DB_USER', 'awesometic');
/** MySQL database password */
define('DB_PASSWORD', 'odroid');
/** MySQL hostname */
define('DB_HOST', 'localhost');
/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE', '');
그리고 고유값과 Salts를 발급받아 입력합니다. Wordpress에선 이 고유 인증 키를 통해 각각의 사이트가 구별됩니다.
https://api.wordpress.org/secret-key/1.1/salt/ 링크로 들어가 복사한 후 아래 내용에 덮어씁니다.
define('AUTH_KEY', '...');
define('SECURE_AUTH_KEY', '...');
define('LOGGED_IN_KEY', '...');
define('NONCE_KEY', '...');
define('AUTH_SALT', '...');
define('SECURE_AUTH_SALT', '...');
define('LOGGED_IN_SALT', '...');
define('NONCE_SALT', '...');
저장합니다.
Wordpress 파일의 적절한 권한 설정을 위해 새로운 스크립트 파일을 작성합니다.
cd ~
vi fix-wordpress-permission.sh
아래 내용을 붙여넣습니다.
#!/bin/bash
#
# This script configures WordPress file permissions based on recommendations
# from http://codex.wordpress.org/Hardening_WordPress#File_permissions
#
# Author: Michael Conigliaro
#
WP_OWNER=www-data # <-- wordpress owner
WP_GROUP=www-data # <-- wordpress group
WP_ROOT=$1 # <-- wordpress root directory
WS_GROUP=www-data # <-- webserver group
# reset to safe defaults
find ${WP_ROOT} -exec chown ${WP_OWNER}:${WP_GROUP} {} \;
find ${WP_ROOT} -type d -exec chmod 755 {} \;
find ${WP_ROOT} -type f -exec chmod 644 {} \;
# allow wordpress to manage wp-config.php (but prevent world access)
chgrp ${WS_GROUP} ${WP_ROOT}/wp-config.php
chmod 660 ${WP_ROOT}/wp-config.php
# allow wordpress to manage wp-content
find ${WP_ROOT}/wp-content -exec chgrp ${WS_GROUP} {} \;
find ${WP_ROOT}/wp-content -type d -exec chmod 775 {} \;
find ${WP_ROOT}/wp-content -type f -exec chmod 664 {} \;
파일에 적절한 권한을 준 후, Wordpress 설치 경로를 인수로 넘기며 실행합니다.
chmod 755 fix-wordpress-permission.sh
sudo bash ./fix-wordpress-permission.sh /var/www/wordpress
마지막으로 아래 명령어를 입력합니다. Wordpress는 자신의 접속 주소를 알고 있어야 하기 때문에 wp-config.php 파일 마지막에 명시해두는 작업입니다.
편의를 위해 변수를 사용하겠습니다. WP_URL 변수에 자신의 IP와 접속 포트를 http://IP:포트 형식으로 넣어주세요. 전 IP는 192.168.30.3이고 접속할 포트는 8001번이므로 192.168.30.3:8001을 넣겠습니다.
WP_URL='http://192.168.30.3:8001'
그리고 아래 명령어를 입력합니다.
echo -e "\ndefine('WP_HOME', '"$WP_URL"');\ndefine('WP_SITEURL', '"$WP_URL"');" | sudo tee -a /var/www/wordpress/wp-config.php
이제 Shell에서의 Wordpress 설치는 완료되었습니다. SSH를 빠져나온 후 OMV 관리자 사이트로 이동합니다.
OMV - Nginx (websites) 메뉴로 이동한 후 풀 탭에서 추가 버튼을 누릅니다.
그리고 아래 스크린샷을 참고해 각 옵션을 수정해주세요.
저장 후 적용합니다.
서버 탭으로 가서 추가 버튼을 누릅니다. 역시 아래 스크린샷을 참고해 수정해주세요. 8001번 포트로 접속할 것입니다.
마지막에 추가 선택 사항으로는 아래 내용을 붙여넣습니다. /var/www/wordpress 경로에 Wordpress가 설치되어 있어야 합니다.
root /var/www/wordpress/;
client_max_body_size 1024M;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
# This is cool because no php is touched for static content.
# include the "?$args" part so non-default permalinks doesn't break when using query string
try_files $uri $uri/ /index.php?$args;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
저장 후 적용합니다.
설치가 거의 완료되었습니다. 8001번 포트로 접속할 것이므로, 자신의 IP 주소 뒤에 추가해 접속합니다. 예를 들어, 192.168.0.2 일 경우 http://192.168.0.2:8001 로 접속하면 됩니다.
접속 후 언어, 관리자 계정, 블로그 이름 등을 설정해줍니다.
동작 테스트 겸, Wordpress를 쇼핑몰 사이트로 바꿔주는 Woocommerce 플러그인을 설치해보겠습니다. 간단히 관리자 패널에서 설치할 수 있습니다.
플러그인, 테마 등 모두 잘 작동 하는 것을 볼 수 있습니다 :)
'NAS & ODROID > OMV 4 NAS' 카테고리의 다른 글
OMV 4 자작 NAS 구축 가이드 - Seafile (54) | 2018.10.01 |
---|---|
OMV 4 자작 NAS 구축 가이드 - Nginx, MySQL (4) | 2018.09.28 |
OMV 4 자작 NAS 구축 가이드 - Plex Media Server (14) | 2018.09.19 |
OMV 4 자작 NAS 구축 가이드 - Transmission (6) | 2018.09.16 |