워드프레스만 운영하려는 경우라면 워드프레스 인스턴스를 생성하면 되겠지만 나같은 경우 virtual host로 여러 사이트들을 띄워놓을 생각이라 우분투 바이오닉 인스턴스를 생성한 뒤 워드프레스를 직접 세팅하기로 했다.
Package 설치하기
LAMP 환경을 만들기 위해 아래와 같은 커맨드로 패키지들을 설치해주자
1 |
sudo apt-get install apache2 mariadb-server mariadb-client libapache2-mod-php wordpress |
Database 생성하기
워드프레스가 사용할 디비를 만들기 위해 sudo mysql -uroot을 실행하고, 아래와 같은 커맨드를 입력하자.
1 2 |
create database wordpress; grant all on wordpress.* to wordpress_user@localhost identified by 'password'; |
디비 네임(wordpress), 유져 네임(wordpress_user), 비밀번호(password)는 개인 취향에 맞춰서 바꿔도 된다.
Data directory 생성하기
데이터 디렉토리를 /usr/share/wordpress/wp-content로 두고 사용하는 것도 가능하겠지만 나중에 버전 업데이트를 할 때 문제가 있을 수 있을것 같으니 데이터 디렉토리를 홈 디렉토리로 지정하는게 좋을 것 같았다.
아래 커맨드를 통해 wp-content 디렉토리를 홈디렉토리로 카피하고, www-data 유져가 파일을 생성할 수 있도록 권한을 조정해주자.
1 2 3 4 |
mkdir ~/blog/ cp -a /usr/share/wordpress/wp-content ~/blog find ~/blog/wp-content -exec chmod o+w "{}" \; |
WordPress 설정하기
package로 설치된 워드프레스용 config 파일 경로는 /etc/wordpress/config-localhost.php와 같다.
vi/nano 등의 에디터를 사용해서 아래와 같은 설정 파일을 만들어주면 된다. 참고로 관리자 화면에서 플러그인 설치를 간단히 하기 위해선 FSMODE를 direct로 설정할 필요가 있다.
1 2 3 4 5 6 7 8 9 10 |
<?php define('DB_NAME', 'wordpress'); define('DB_USER', 'wordpress_user'); define('DB_PASSWORD', 'password'); define('DB_HOST', 'localhost'); define('WP_CONTENT_DIR', '/home/ubuntu/blog/wp-content'); /** Bypass FTP */ define('FS_METHOD', 'direct'); ?> |
apache virtual host 설정하기
이제 apache virtual host 설정을 추가해주자. /etc/apache2/site-available/localhost.conf 정도에 아래 내용을 넣어주면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<Directory /usr/share/wordpress> Options FollowSymLinks AllowOverride Limit Options FileInfo DirectoryIndex index.php Require all granted </Directory> <Directory /home/ubuntu/blog/wp-content> Options FollowSymLinks Require all granted </Directory> <VirtualHost *:80> ServerName localhost DocumentRoot /usr/share/wordpress Alias /wp-content /home/ubuntu/blog/wp-content </VirtualHost> |
ubuntu 18.04 에서는 apache 버전이 2.4라 Require all granted 으로 접근을 허용해야 하는데, apache 2.2 버전에서는 Allow From all을 사용해야할 수도 있다.
apache virtualhost 등록 및 재시작하기
이제 다 끝났다. 기본으로 있는 사이트를 제거하고, 위에서 설정한 사이트를 아래 커맨드를 통해 활성화하자.
1 2 |
sudo a2dissite 000-default sudo a2ensite localhost |
재시작은 아래 있는 커맨드 중 아무거나 쓰면 된다.
1 |
sudo apachectl -k graceful |
1 |
sudo apachectl restart |
wordpress 설정 마무리하기
이제 인스턴스에 연결한 고정 아이피를 통해 사이트에 접속하고, 남은 설정들을 마무리 하면 된다.
끝!
Similar Posts:
- ubuntu에서 letsencrypt ssl 인증서 사용하기 (with cloudflare dns)
- CentOS 삽질 후기: 잘못된 정보여 안녕!
- exim 으로 메일 서버 구성하기…
- backup script 도 작성 완료 -_-v
- 요 며칠 삽질기 -_-! with Exim