이 글은 추후 가상호스팅으로 이전할 것을 대비해서 centos 6.4에 워드프레스를 설치시작하는 데 까지 정리한 내용이다. 스타크래프트에 빌드오더가 있듯이, centos를 설치 후 wordpress를 설치할 수 있을 때까지 설정을 최소화하는 것이 이 글의 목표이다.
1) 가상호스팅을 대비해서 가상머신을 준비한다. hyper-v나 esxi면 되며 가상머신의 설정은 CPU 1 core, memory 512MB, HDD 20GB로 설정한다.(가상호스팅 최저 사양으로 카페24에서 5500원/월, 스쿨호스팅에서 4500원/월 정도 사용이 된다.
2) centos를 설치하기 위해 centos image를 down받는다. 메모리가 512MB이므로 X window조차 사치이다. http://ftp.daum.net/centos/6.4/isos/x86_64/ 에 접속해서 CentosOS-6.4-x86_64-minimal.iso를 다운 받는다. (최소 image면 충분함)
3) centos를 설치한다.
4) 최초 부팅이 되면 hyper-v에서나 esxi나 모두 network이 안되는 상태로 부팅이 된다. 여기서 멘붕이 올때가 많은데 dhclient eth0를 입력해서 eth0 interface가 ip를 할당받도록 한다.
1 |
[root@localhost ~]# dhclient eth0 |
그리고, 부팅시 IP를 자동할당 받을 수 있게 ifcfg-eth0 파일에서 ONBOOT=yes로 변경하여 저장한다.
1 2 3 4 5 6 7 8 9 10 |
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 [root@localhost ~]# DEVICE=eth0 HWADDR=00:0C:29:76:D7:02 TYPE=Ethernet UUID=d35faf13-2aaf-41db-9df5-06094e99ac23 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=dhcp |
5) centos를 upgrade한다. (최신으로 upgrade하지 않으면 다 설치했는데도 wordpress가 php를 인지못하는 경우가 발생한다.)
1 |
[root@localhost ~]# yum upgrade |
6) 웹서버를 설치한다.
1 |
[root@localhost ~]# yum groupinstall "Web Server" |
7) php 및 mysql을 설치한다.
1 |
[root@localhost ~]# yum install php mysql-server php-mysql |
8) centos는 기본적으로 방화벽이 설정되어 있다. 방화벽을 꺼버리도록 설명한 블로그도 있는데, 여기서는 http만 예외로 등록하도록 한다. setuptool과 system-config-securitylevel-tui를 설치한다.
1 |
[root@localhost ~]# yum install setuptool system-config-securitylevel-tui |
system-config-firewall-tui를 실행, customize를 선택한다.
신뢰하는 서비스로 WWW (HTTP)를 선택한다. (ftp 등도 켤 수 있지만 ssh가 있으면 sftp가 되므로 딱히 필요가 없다.) 이후 Close->OK->Yes를 차례로 선택한다.
9) 웹서버 및 mysql을 실행시킨다.
1 2 3 4 5 6 7 |
[root@localhost ~]# service httpd restart httpd 를 정지 중: [실패] httpd (을)를 시작 중: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName [ OK ] [root@localhost ~]# service mysqld restart mysqld 를 정지 중: [ OK ] mysqld (을)를 시작 중: [ OK ] |
그리고, 웹서버 및 mysql이 booting시 자동 실행되도록 chkconfig명령을 수행한다. 이때 값이 3:활성(text shell only) 또는 5:활성(최초 booting시 X-window가 뜨는 경우)가 되었는 지 확인하면 된다.
1 2 3 4 5 6 7 8 9 10 |
[root@localhost ~]# chkconfig | grep httpd httpd 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제 [root@localhost ~]# chkconfig | grep mysqld mysqld 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제 [root@localhost ~]# chkconfig httpd on [root@localhost ~]# chkconfig mysqld on [root@localhost ~]# chkconfig | grep httpd httpd 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제 [root@localhost ~]# chkconfig | grep mysqld mysqld 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제 |
10) mysqladmin -u root -p 를 실행해서 root의 mysql DB password를 설정한다.
1 2 |
[root@localhost ~]# mysqladmin -u root -p Enter password: |
그리고, mysql_secure_installation을 실행해서 mysql의 보안을 설정한다.
– db password 입력 (아까 생성한 db password 입력)
– password 변경(이미 password를 만들었으므로 N)
– anonymous user 삭제(Y)
– root의 원격 mysql login 비허용(Y)
– mysql의 초기 test DB 삭제(Y)
– 변경 즉시 적용 여부(Y)
1 2 3 4 5 6 7 |
[root@localhost ~]# mysql_secure_installation Enter current password for root (enter for none): Change the root password? [Y/n] n Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y |
13) 워드프레스 파일을 다운받는다. PC에서 받아서 집어넣어도 되지만 서버에서 바로 down받아본다. wget을 설치한다.
1 |
[root@localhost ~]# yum install wget |
/var/www/html 로 이동해서, http://ko.wordpress.org/latest-ko_KR.tar.gz 를 wget을 이용하여 donw받는다. 만약 영문버젼이 필요하면 http://wordpress.org/latest.tar.gz를 down받으면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 |
[root@localhost ~]# cd /var/www/html [root@localhost html]# wget http://ko.wordpress.org/latest-ko_KR.tar.gz --2013-09-22 07:10:17-- http://ko.wordpress.org/latest-ko_KR.tar.gz Resolving ko.wordpress.org... 66.155.40.249, 66.155.40.250 Connecting to ko.wordpress.org|66.155.40.249|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 5970503 (5.7M) [application/octet-stream] Saving to: `latest-ko_KR.tar.gz' 100%[======================================>] 5,970,503 1.71M/s in 3.3s 2013-09-22 07:10:22 (1.71 MB/s) - `latest-ko_KR.tar.gz' saved [5970503/5970503] |
14) 압축파일을 푼다.
1 |
[root@localhost html]# tar xvfz latest-ko_KR.tar.gz |
wordpress 디렉토리가 생기며, 웹 서비스를 받을수 있도록 사용자 및 그룹을 변경해줘야 한다. (웹 서비스용 계정을 추가로 만들고 해도 되지만 귀차니즘이 발동하니깐)
wordpress 디렉토리의 사용자 및 그룹이 apache로 변경된 것을 확인한다.
1 2 3 4 5 6 7 8 9 10 |
[root@localhost html]# ls -l 합계 5836 -rw-r--r--. 1 root root 5970503 2013-09-12 09:13 latest-ko_KR.tar.gz drwxr-xr-x. 5 nobody 65534 4096 2013-09-12 09:12 wordpress [root@localhost html]# chown -R apache wordpress [root@localhost html]# chgrp -R apache wordpress [root@localhost html]# ls -l 합계 5836 -rw-r--r--. 1 root root 5970503 2013-09-12 09:13 latest-ko_KR.tar.gz drwxr-xr-x. 5 apache apache 4096 2013-09-12 09:12 wordpress |
15) wordpress용 DB를 생성한다. mysql에 접속해서 create database [db이름]; 을 입력하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[root@localhost html]# mysql -u root -p Enter password: mysql> create database wordress; Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | wordress | +--------------------+ 3 rows in set (0.00 sec) |
16) 외부 웹브라우저에서 http://ip address/wordpress로 접속한다.
ip address를 모르겠으면 ifconfig eth0로 확인한다.
1 2 3 4 5 6 7 8 9 |
[root@localhost html]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:76:D7:02 inet addr:192.168.0.22 Bcast:192.168.1.255 Mask:255.255.254.0 inet6 addr: fe80::20c:29ff:fe76:d702/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:24127 errors:0 dropped:0 overruns:0 frame:0 TX packets:10556 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:20689542 (19.7 MiB) TX bytes:1111188 (1.0 MiB) |
아래 화면이 나오면 wordpress 설치 준비 끝이다. 뭐 이 이상의 설명은 같은 선수끼리….
17) 선수가 아닌 분들을 위해 계속 진행하자면 데이터베이스 이름에 아까 mysql에서 생성한 DB이름, 사용자 이름은 root, 암호는 DB password, 데이터베이스 호스트와 테이블 접두어는 그대로 두면 된다. (보완상 테이블 접두어를 변경하는 경우도 있다고 하는데, 뭐 그럴 대단한 내용이 있는 것도 아니고…)
18) 이제는 워드프레스 사이트의 정보를 입력한다. 사이트 제목에는 워드프레스의 타이틀, 사용자명은 워드프레스의 관리자 id(신규 생성)를 입력한다. (admin은 예시일 뿐 아무도 추측못할 id를 관리자 id로 하는게 좋다.)
이메일주소및 프라이버시를 확인한다.
19) 워드프레스가 설치되었습니다. 더 복잡한 것을 기대하셨나요? 실망을 안겨드려서 죄송합니다. 더 할 일이 없습니다.:)
20) 최초 login을 해야 site가 개설이 된다. 여기는 main 설정창이다.
21) 이제 다시 웹으로 접속해보면 정상 설치된 것을 확인할 수 있다. 끝… OS깐 이후에 워드프레스 설치하는 건 한 20분 걸린것 같은데 정리하는데 4시간 걸리네. ㄷㄷㄷ
안녕하세요? 워드프레스 설치검색하다 님 블로그 보고 많은도움이 되었습니다.^^
설치도중에 문의 사항이 있어서요..
mysqladmin -u root -p 이 명령어 치면 헬프명령어?만 쭈욱 나오고 비번입력하라는 건 안나옵니다…ㅠㅠ
도대체 왜그런지 모르겠네요..
admin<- 이거 입력하는게 맞는지…; 검색해봐도 이렇게 붙여 쓰는건 없는거같은데..ㅠㅠ
답변 주시면 정말 감사하겠습니다.ㅠㅠ
mysqladmin -u root -p 1234 이런 식으로 입력하시면 password를 입력하라고 뜰 겁니다. (뒤에 입력한 1234는 무시됨)
저는 요즘에 이걸로 작업하지 않고 mysql_secure_installation 을 이용해서 초기 password를 설정하고 있습니다.
답변감사드립니다.ㅠㅠ
그래서 저도 님처럼 myadmin으로 안햇구요 이거 제꾸고 바로 mysql_secure_installation 으로 들어가서 설정햇습니다.
그다음 절차대로 하고 나서 아피주소/wordpress 접속해서 환경변수 설정하고 넘어갈려니까는 다음과같이 뜨네요..ㅠㅠ
데이터베이스를 선택할 수 없습니다.
사용자이름과 비밀번호가 맞다면 데이터베이스에 접속할 수 있습니다. 그러나
wordpress
데이터베이스를 선택할 수 없습니다.확실히 존재하나요?
root
사용자가wordpress
데이터베이스를 사용할 권리가 있나요?일부 시스템에서는 데이터 베이스 앞에 이름을 붙이는 경우가 있습니다. 그래서
username_wordpress
처럼 돼있습니다. 이런 문제가 아닐까요?그래서 저는 권한때문에 그런가 싶어서 다음과 같이 다시 입력해보았습니다.
mssql -u root -p
비번 치고나서
mysql>grant all privileges on wordpress.*to root@localhost identified by “aaa”;
query ok, 0 rows affected 이렇게 메시지 뜨고
mysql>flush privileges;query ok, 0 rows affected
그러고 나서 httpd 재시작햇는데도 똑같이 뜹니다.ㅠㅠ
뭐가 문제인지를 모르겟네요..ㅠㅠ
제가 centos 6.5에 워드프레스 3.8 최신 버젼으로 다시 설치해봤는데요. 설치가 잘 되네요.
위처럼 에러가 나오는 경우는 database 이름을 잘못입력한 경우만 나옵니다.
그리고, 설명에 누락된 건 워드프레스 디렉토리 및 파일 퍼미션 조정을 해야되네요. 설명대로 하면 워드프레스 디렉토리 퍼미션 에러가 뜹니다.
chown -R apache:apache *
웹에 몇 개 검색해봤는데, 호스팅 서비스를 사용하는 사람들의 문제이지 직접 설치하는 경우에 대한 얘기는 없네요.