Ubuntu 리눅스에 WordPress 설치하기.


아래 글은 제가 알고 지내는 Dr.Jung의 블로그에서 퍼온 글입니다.
저도 기회가 된다면 WordPress도 사용해 보고 싶네요. ^^
Dr.Jung 블로그 오픈한건 축하해~^^

아참. 그리고 아래 글의 링크입니다.
Ubuntu 리눅스에 WordPress 설치하기.

Dr.Jung의 블로그는 Dr. Jung의 블로그 이 링크를 클릭하거나 오른쪽에 있는 첫번째 사이드바의 아래 링크 모음에 보면 있습니다.

A. 시작하기 전에..

1. 이 글의 목적

이 글은 Ubuntu 리눅스 데스크톱에 블로그 툴인 WordPress를 설치하는 방법에 대하여 설명합니다. 사용자는 이를 이용하여 블로그를 호스팅하거나, 테스트 목적의 블로그를 로컬에서 빠르게 사용할 수 있습니다.

2. 사용한 소프트웨어 버전

  • Ubuntu 8.10 Intrepid Ibex Desktop Edition
  • WordPress 2.7.1


B. 필요한 소프트웨어 준비

먼저, 필요한 소프트웨어들을 준비하도록 하겠습니다.

1. Ubuntu 패키지 설치와 설정

Ubuntu 리눅스에 WordPress를 설치하기 위해선 LAMP (Linux-Apache-MySQL-PHP) 서버와 php5-gd 패키지가 필요합니다. MySQL 서버에 대한 작업을 보다 편하게 하기 위하여 phpmyadmin 패키지도 설치하시는 것이 좋습니다. 이 글에서는 phpmyadmin 패키지가 설치되어 있다고 가정하고 설명을 진행할 것입니다.

시냅틱 패키지 관리자에서 작업 기준으로 LAMP server를 선택하고, php5-gd 패키지와 phpmyadmin 패키지를 설치합니다. 또는 다음 콘솔 명령을 이용하여 LAMP server와 php5-gd, phpmyadmin 패키지를 설치해도 됩니다.

$ sudo tasksel install lamp-server
$ sudo aptitude install php5-gd phpmyadmin

설치할 때 주의할 사항은 MySQL의 root 계정의 비밀번호를 기억하는 것과, phpMyAdmin이 apache2에서 동작하도록 올바르게 설정하는 것입니다.

이 패키지들을 설치하기 전에, Ubuntu 리눅스에서 패키지를 설치하는 방법에 대한 자세한 사항을 SynapticHowTo(영문)에서, LAMP 서버를 설치하는 방법을 ApacheMySQLPHP 웹 페이지에서 참고하여 주시기 바랍니다. 서버 작업은 예외 상황이 많이 일어나는 작업에 속하니, 당신이 이러한 작업에 익숙하지 않다면 때때로 발생할 수 있는 문제들을 해결할 수 있도록 위에서 언급된 사이트를 방문하여 자세한 사항을 알아두는 것이 좋습니다.

WordPress의 Permalink 또는 사용자 URL 구조 기능을 사용하기 위해서는 Apache의 mod_rewrite 모듈을 활성화하는 작업이 필요합니다. 이에 대해서는 Ubuntu 리눅스에서 Apache 모듈 mod_rewrite 활성화하기 게시글을 참고하여 설정을 완료한 후 진행해 주시기 바랍니다.

2. WordPress 설치

이제, 워드프레스 배포 파일을 웹 페이지에서 받아올 차례입니다. Ubuntu 리눅스에 wordpress라는 패키지가 존재하기는 하나, 공식 버전과의 version mismatch가 꽤 있기 때문에 WordPress 공식 홈페이지에서 직접 받아서 설치하는 것을 추천합니다. firefox등의 선호하는 웹 브라우저를 이용하거나 혹은 아래처럼 wget 콘솔 명령으로 직접 최신버전의 압축 파일을 받으셔도 됩니다.

$ wget http://wordpress.org/latest.tar.gz

만약 위의 명령이 잘 작동하지 않는다면, 웹 브라우저를 이용하여 WordPress 공식 홈페이지를 방문하셔서 다운로드 하시기 바랍니다.

다운로드를 완료하였으면 이제 압축파일을 웹 서버의 경로에 해제할 차례입니다. 다음 콘솔 명령을 사용해서 압축을 해제합니다. Ubuntu 리눅스에서 웹 서버 콘텐트의 루트 경로의 기본값은 /var/www입니다. 만약 당신의 시스템에서 웹 서버 콘텐트의 루트 경로가 /var/www가 아니라면, 적절히 변경해서 입력하시기 바랍니다. 다운로드 받아 놓은 WordPress 압축 파일의 이름이 latest.tar.gz가 아니라면 이 역시 올바른 파일 이름으로 변경해야 합니다.

$ sudo tar xvzpf latest.tar.gz --directory=/var/www/

이제 압축 해제한 WordPress 디렉터리들의 소유자(ownership)를 변경할 차례입니다. 이 과정이 필요한 이유는, WordPress에서 웹을 통하여 파일을 업로드하고 수정할 수 있도록 하기 위함입니다.

$ cd /var/www
$ sudo chown -R www-data wordpress
$ sudo chgrp -R www-data wordpress

정상적으로 파일을 설정하고 소유자를 변경하였다면, 웹 서버 주소는 http://localhost/wordpress 형식으로 만들어질 것입니다. 뒷 부분의 wordpress를 다른 이름으로 바꾸고 싶다면 다음 콘솔 명령을 입력합니다. 여기에서는 wordpress를 wp1(http://localhost/wp1)으로 바꾸어 보겠습니다. wp1이 아닌 다른 이름으로 변경하고 싶다면 다음 명령에서 해당하는 부분을 바꾸어서 입력하시기 바랍니다.

$ cd /var/www
$ sudo mv wordpress wp1

앞으로 WordPress는 /var/www/wp1 디렉터리에 설치했다고 가정하고 진행하겠습니다.


C. MySQL 데이터베이스 설정 구성

여기에서는, WordPress가 사용할 MySQL 데이터베이스와 MySQL 사용자 계정을 만드는 방법에 대해서 알아보겠습니다.

이 글에서 사용할 데이터베이스 이름과 사용자 계정 이름은 다음과 같습니다. 만약 다른 이름을 원하신다면 과정 중 입력하는 사항을 적절히 변경하여 진행하시기 바랍니다.

  • 데이터베이스 이름: wp1db
  • 사용자 계정 이름: wp1user
  • 사용자 계정 비밀번호: wp1password

우선, Ubuntu 리눅스에서 웹 브라우저를 열고 http://localhost/phpmyadmin 웹 사이트를 표시합니다. 정상적으로 표시되지 않는다면 다음 경우들 중 하나를 생각해볼 수 있습니다.

  • 웹 서버가 제대로 설치되지 않았음
  • phpmyadmin이 정상적으로 설치되지 않음
  • phpmyadmin이 80포트를 사용하고 있는 웹 서버를 사용하도록 정상적으로 구성되지 않음

문제가 발생하였다면, Ubuntu 홈페이지phpMyAdmin 홈페이지를 참고하여 문제를 해결한 후 진행하시기 바랍니다.

phpMyAdmin으로 해야 할 작업은 다음 세 가지입니다.

  1. 데이터베이스 생성
  2. 사용자 계정 생성
  3. 생성한 사용자 계정에 생성한 데이터베이스에 대한 권한 부여

정상적으로 설치되었다면, phpMyAdmin 로그인 페이지가 표시됩니다. Username으로는 root, Password는 MySQL을 설치할 때 입력했던 root 계정의 비밀번호를 입력합니다.

로그인 후 나타나는 화면을 보면, localhost의 MySQL을 관리할 수 있는 화면임을 알 수 있을 것입니다.

1. 데이터베이스 생성

  1. Databases 항목을 클릭합니다. 데이터베이스를 관리할 수 화면이 나옵니다.
  2. Create new database 항목에 wp1db를 입력하고, Collation을 utf8_general_ci로 선택한 후에 Create 버튼을 누릅니다.

참고: 위 작업은 다음 쿼리를 실행하는 것과 같습니다.
CREATE DATABASE `wp1db` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

웹 페이지 좌측 상단의 phpMyAdmin 로고를 클릭하여 메인 화면으로 돌아옵니다.

2. 사용자 계정 생성

  1. Privileges 항목을 클릭합니다. MySQL 사용자 계정을 관리할 수 있는 화면이 나옵니다.
  2. 아래의 Add a new User를 클릭합니다.
  3. 다음 정보를 이용하여 적절한 항목을 입력합니다. 나머지는 기본값으로 둡니다.
    • User name: wp1user
    • Host: localhost
    • Password: wp1password
    • Re-type: wp1password
  4. Go 버튼을 클릭합니다.

참고: 위 작업은 다음 쿼리를 실행하는 것과 같습니다.
CREATE USER 'wp1user'@'localhost' IDENTIFIED BY 'wp1password';
GRANT USAGE ON * . * TO 'wp1user'@'localhost' IDENTIFIED BY 'wp1password' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

웹 페이지 좌측 상단의 phpMyAdmin 로고를 클릭하여 다시 메인 화면으로 돌아옵니다.

3. 사용자 계정에 데이터베이스에 대한 권한 부여

  1. Privileges 항목을 클릭합니다. MySQL 사용자 계정을 관리할 수 있는 화면이 나옵니다.
  2. User overview 항목 중에서 생성한 wp1user 항목에서 오른쪽 끝의 Edit Privileges 아이콘을 클릭합니다.
  3. 다음 나타나는 화면에서 Database-specific privileges 박스의 Add privileges on the following database: 오른쪽에 있는 드롭 다운 박스에서 생성한 wp1db를 선택합니다.
  4. 다음 나타나는 화면에서 Check All을 선택하거나 모든 체크 박스를 선택한 이후 GO 버튼을 클릭합니다.

참고: 위 작업은 다음 쿼리를 실행하는 것과 같습니다.
GRANT ALL PRIVILEGES ON `wp1db` . * TO 'wp1user'@'localhost' WITH GRANT OPTION ;

데이터베이스 설정이 모두 끝났습니다.


D. WordPress 설정 구성

이제 WordPress의 wp-config.php 파일을 생성할 차례입니다. 두 가지의 방법 중 하나를 선택할 수 있습니다.

  1. 수동으로 파일 생성(권장)
  2. WordPress 웹 인터페이스를 통하여 생성

방법 1. 수동으로 파일 생성하기(권장)

콘솔 창에서 다음 콘솔 명령을 사용합니다.

$ cd /var/www/wp1
$ sudo cp -p wp-config-sample.php wp-config.php
$ sudo vi wp-config.php

마지막 명령을 입력했다면, 설정 파일 편집 창이 열릴 것입니다. 여기에서는 vi를 사용했지만, 만약 당신이 vi 사용 경험이 없거나 gedit, nano, emacs 등의 다른 에디터를 사용하고 싶다면 vi 부분을 사용하고 싶은 에디터 명령으로 치환할 수 있습니다. 이들 에디터가 당신에게 모두 생소하다면, 사용법이 쉬운 gedit를 추천합니다.

편집해야 할 부분은 다음 세 줄입니다. 각각의 줄을 다음을 참고하여 적절히 수정하시기 바랍니다.

  1. define('DB_NAME', 'putyourdbnamehere'); –> putyourdbnamehere 위치에 wp1db를 입력합니다.
  2. define('DB_USER', 'usernamehere'); –> usernamehere 위치에 wp1user를 입력합니다.
  3. define('DB_PASSWORD', 'yourpasswordhere'); –> userpasswordhere 위치에 wp1password를 입력합니다.

수정이 끝났으면, 파일을 저장하고 종료합니다. WordPress 설치 확인 과정으로 진행합니다.

방법 2. WordPress 웹 인터페이스를 통하여 생성하기

Ubuntu 리눅스에서 웹 브라우저를 열고 http://localhost/wp1 웹 사이트를 표시합니다. wp-config.php 파일이 없다는 메시지와 함께, Create a Configuration File 버튼이 나옵니다. 버튼을 클릭하면, 안내 화면이 나옵니다. Let’s go 버튼을 클릭합니다. 이제 설치 정보를 입력하는 화면이 나타납니다.

이 글의 이름을 그대로 사용하였다면, Database Name에 wp1db, User Name에 wp1user그리고 Password에 wp1password을 입력합니다. 만약 다른 값을 사용하였다면 각 항목을 적절히 변경해 줍니다. Database Host는 변경하지 않고, Table Prefix는 하나의 데이터베이스로 여러 개의 WordPress를 사용할 생각이라면, 적절하게 변경해 줍니다.(예: wp1_)

Submit 버튼을 클릭합니다. 만약 에러가 발생하면 설정을 다시 확인합니다. 정상적으로 진행되면, Run the install 버튼을 클릭합니다.


E. WordPress 설치 확인

이제 Ubuntu 리눅스에서 웹 브라우저를 열고 http://localhost/wp1 웹 사이트를 표시합니다.

Welcome 화면이 나타나면, 정상적으로 설정된 것입니다. 그렇지 않다면, 지금까지 한 설정을 확인하시기 바랍니다. Welcome 화면에서 블로그 이름과 E-mail 주소를 입력하면, admin 계정이 생성되고 로그인 화면이 나타납니다. admin 아이디와 생성된 비밀번호로 로그인 하게 되면 WordPress 관리자 화면이 나올 것입니다.

이후, 상단의 블로그 제목을 클릭하거나 웹 브라우저로 http://localhost/wp1 사이트로 이동하면 생성된 블로그가 보일 것입니다. 생성된 블로그가 보인다면 성공입니다.


F. 맺음말

이제 이를 이용하여 설치한 블로그를 테스트 용도로 사용하거나 실제 블로그 호스팅을 할 수도 있습니다.


G. 문제해결

문제 1. 설치한 Ubuntu 리눅스 시스템에서는 WordPress 사이트가 제대로 표시되지만, 그 외의 다른 호스트에서 Ubuntu 리눅스 시스템의 IP 주소나 도메인 이름으로 WordPress 사이트에 접근했을 때 내용이 제대로 표시되지 않는다.

원인: WordPress의 설치가 이루어질 때, WordPress는 사용자가 접근한 URL을 기억해 이 URL을 사용하여 WordPress 자신의 리소스를 표시하는 데 사용합니다. 이 글은 로컬 호스트에서 WordPress 웹 페이지에 접근하도록 쓰여졌고, 이를 그대로 따라한 경우 WordPress의 설정에 사이트 주소가 http://localhost/wp1으로 저장됩니다.

해결책: 우선 로컬에서 WordPress 웹 페이지 관리자 화면(http://localhost/wp1/wp-admin)으로 접근한 뒤 Settings 메뉴의 General 항목을 선택합니다. WordPress address (URL) 항목과 Blog address (URL) 항목에 Ubuntu 리눅스 시스템의 IP 주소나 도메인 이름을 이용하여 localhost 부분을 치환(예: http://localhost/wp1 –> http://(원격 호스트에서 Ubuntu 리눅스에 접근할 수 있는 IP 주소나 DNS 이름)/wp1)합니다.