오드로이드 XU4 를 개인 클라우드 서버로 - 8. Wordpress
Wordpress 는 무료 웹 사이트, 블로그를 만드는데 좋은 프로그램입니다. 전세계 수많은 사용자들로 이루어진 커뮤니티는 물론이고, 다양한 플러그인을 통해 간단한 동작 만으로도 알찬 웹 사이트/블로그를 만들 수 있어요.
여기선 워드프레스를 올리는 것, 웹에서 다루기에 무리가 없는 수준까지만 하겠습니다.
Apache나 Nginx 등 웹 서버와 PHP, MySQL(MariaDB)가 필요합니다. 이 포스트 시리즈의 처음부터 따라오신 분은 그대로 진행하시면 돼요
0. MariaDB에 워드프레스에서 사용할 DB 추가
워드프레스의 각종 데이터는 데이터베이스를 이용합니다. 따라서 서버에 워드프레스를 위한 데이터베이스를 마련해 줘야 합니다.
sudo mysql -u root
MariaDB 커맨드로 넘어오면 DB를 추가해 줍니다.
create database wordpress;
이후 워드프레스 설정 시 root 계정 정보를 넣으면 됩니다만..
(옵션, 추천) 사용자 추가
새로운 사용자를 추가하는 게 여러가지 이유로 더 낫습니다.
추가한 뒤 wordpress 데이터베이스에 대한 모든 권한을 부여하겠습니다.
참고: http://link2me.tistory.com/431
계정을 생성한 후 localhost(오드로이드 내)에선 {비밀번호} 로 로그인 가능하게끔 하겠습니다.
create user {계정이름};
create user {계정이름}@localhost identified by '{비밀번호}';
앞서 만든 wordpress DB에 관해 모든 권한을 부여하겠습니다.
grant all privileges on wordpress.* to {계정이름}@localhost identified by '{비밀번호}';
flush privileges;
완료 스크린샷입니다. 기본 문자열 인코딩 설정(UTF8MB4)도 중요한데, 이건 MariaDB 설치할 때 기본값을 설정해줬으니 신경 안 쓰셔도 됩니다.
워드프레스 설정 시 새로 만든 계정 정보를 사용하겠습니다.
1. 워드프레스 설치
1.1 최신 버전 다운로드 및 압축 풀기
wget https://ko.wordpress.org/wordpress-4.7.4-ko_KR.zip
그리고 원하는 장소에 압축을 풀어줍니다. 전 nas 옆인 /var/www/html 에 압축을 풀겠습니다. wordpress 디렉토리가 생길 겁니다.
sudo unzip -d /var/www/html wordpress-4.7.4-ko_KR.zip
다운로드한 파일은 지워줍시다.
rm wordpress-4.7.4-ko_KR.zip
1.2 wp-config-sample.php 파일 수정
워드프레스에서 사용할 DB 정보와 계정 정보를 입력해줘야 합니다.
sudo vi /var/www/html/wordpress/wp-config-sample.php
열고 아래 DB_NAME, DB_USER, DB_PASSWORD에 해당하는 부분에 좀 전에 만든 새로운 DB, 계정 정보를 입력해줍니다.
그리고 바로 아래 워드프레스 내 다양한 키를 입력할 수 있는데, 이를 입력해주면 저장되는 다양한 쿠키값에 대해 보안성을 높여줍니다. 워드프레스는 로그인 정보 관리에 PHP 세션을 이용하지 않고 사용자의 쿠키로 저장하기 때문에 필요한 작업이라네요.
참고: https://blogvault.net/everything-about-wordpress-security-keys/
아무튼,
https://api.wordpress.org/secret-key/1.1/salt/
로 접속하면 이상한 define 값들이 많이 뜨는데, 그대로 복사해
여기에 있던 define들을 지우고 붙여넣으시면 됩니다.
그리고 wp-config.php 란 이름으로 복사해줍시다.
cd /var/www/html/wordpress
sudo cp wp-config-sample.php wp-config.php
설치는 이것으로 완료입니다. 이제 Nginx에서 접근할 수 있도록 해줘야 합니다.
1.3 웹 서버에서 접근할 수 있도록 권한 변경
워드프레스는 웹 관리자 페이지에서 플러그인을 추가, 삭제합니다. 게시글을 올릴 때 첨부 파일도 저장하겠죠. 이런 다양한 행동들은 웹 서버를 통해 이루어지니 필요한 디렉토리에 대해 웹 서버에서 접근할 수 있도록 소유권을 바꿔줘야 하고, 권한도 새로 부여해야 합니다.
매우 중요한 과정입니다. 꼭 해주세요.
참고: https://gist.github.com/Adirael/3383404
/* Github Gist */
/* Github Gist */
다운받아 실행합시다.
wget https://gist.github.com/Adirael/3383404/archive/2ce9e58cb48a3a85f4c8b667ebd3a42cdcda848b.zip
압축을 풀면,
unzip 2ce2ce9e58cb48a3a85f4c8b667ebd3a42cdcda848b.zip
이상한 디렉토리 3383~ 이 생기는데, 그 곳에 저 코드가 담긴 파일이 있습니다.
실행 권한을 줘서 실행해줍시다.
chmod +x 3383404-2ce9e58cb48a3a85f4c8b667ebd3a42cdcda848b/fix-wordpress-permissions.sh
sudo ./3383404-2ce9e58cb48a3a85f4c8b667ebd3a42cdcda848b/fix-wordpress-permissions.sh /var/www/html/wordpress
뒤의 /var/www/html/wordpress 는 워드프레스 설치 경로입니다.
아래와 같이 바뀌면 됩니다.
제대로 되었으면 남은 파일들은 삭제해줍시다.
rm -rf 2ce9e58cb48a3a85f4c8b667ebd3a42cdcda848b.zip 3383404-2ce9e58cb48a3a85f4c8b667ebd3a42cdcda848b/
2. Nginx 설정 변경
NAS에 접속하기 위해 3000번 포트를 준 것 처럼, 워드프레스로 접속하기 위해 새로운 포트를 할당해 줘야 합니다. NAS 설정 시 진행한 것과 동일하게 진행합니다.
먼저 nginx/sites-available/default 설정 파일을 복사합니다. wordpress 란 이름으로 복사하겠습니다.
cd /etc/nginx
sudo cp sites-available/default sites-available/wordpress
파일을 열어 listen 부분에 새로운 포트를 할당해줍니다. 전 4000으로 하겠습니다.
sudo vi sites-available/wordpress
아래와 같이 변경하겠습니다.
server {
listen 4000;
server_name localhost;
root /var/www/html/wordpress;
location / {
index index.php index.html;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
생성한 파일을 적용해 사용하기 위해 nginx/sites-enabled에 소프트 링크를 생성합니다.
sudo ln -s /etc/nginx/sites-available/wordpress sites-enabled/wordpress
Nginx를 다시 로드합니다.
sudo service nginx reload
3. 접속 및 초기 설정
먼저 아래 주소로 접근해줍니다.
외부에서 접속하시려면 4000번 포트에 대한 포트포워딩/방화벽설정을 해주시는 걸 잊지 마세요.
http://{오드로이드IP}:4000/wp-admin/index.php
간단히 정보를 입력한 후 설치하기를 누르면, (비밀번호는 꼭 새로 설정해 주세요. 기존에 쓰시던 게 자동으로 입력되는 것이 아닙니다)
즐거운 시간을!
로그인하면 아래와 같은 화면이 뜰 겁니다.
마지막으로 설정-일반에 들어가 워드프레스 주소와 사이트 주소를 외부 아이피로 제대로 바꿔줍시다.
두 곳 다 http://{외부IP}:{포트} 로 바꿔주시면 됩니다.
4. 테마 추가를 위한 FTP 계정 정보 입력
4.1 vsftpd 설치
워드프레스에서 테마를 새로 설치하려면 서버에 대한 FTP 계정이 필요하다, 계정 정보를 달라는 알림이 뜹니다.
하지만 저흰 FTP 프로그램이 설치되어 있지 않으니 새로 설치해줍시다.
sudo apt-get install vsftpd
서비스가 켜져있는지 확인해줍니다.
sudo service vsftpd start
그리고 FTP 기본 포트인 21번 포트에 대해 방화벽/포트포워딩 설정을 해주세요.
마지막으로 테마 설치 시 입력하는 FTP 계정 정보에 기존 오드로이드 내의 내 사용자 정보를 입력하시면 됩니다.
이렇게요, 외부IP는 공유기를 통해 받은 사설 아이피(192.168.~) 이 아닌 실제로 외부에서 보여지는 IP를 말합니다.
예시로 하나 설치해봤는데 잘 되네요
170505
젯팩 플러그인 연결 시 이런 에러가 뜨는데, 간단히 터미널에서
sudo apt-get install php-xml
하시면 됩니다.
워드프레스 설치가 다 되었습니다. 나머지 추가적인 부분에 관해선 워드프레스 커뮤니티 등등을 통해 꾸며가세요.
이제 도메인, SSL 관련 작업만 남았네요!
참고사이트:
본문 내 링크
마지막 업데이트: 2017. 07. 10
출처 : http://awesometic.tistory.com/19?category=964086