워드프레스 블로그만 운영한다면 굳이 높은 금액의 EC2 인스턴스를 이용할 필요가 없습니다.
저는 워드프레스뿐만 아니라 프로그램앱 구동과 시스템구축의 데이터베이스를 위해 사용중입니다.
최근에 $5 플랜의 라이트세일로 어느정도 성능과 방문자를 유지할수 있는지 알고 싶어 라이트세일을 구입해보았습니다.
그냥 눈 딱 감고 처음에 실행해야하는 명령어입니다.
복사 붙여넣기하셔서 접속하신 다음 붙여넣기 하면됩니다.
라이트세일 워드프레스 초기 설정
단, root 암호입력과 vi를 통하여 세팅해야할 부분은 아래에서 각각 찾아 해야합니다.
sudo passwd
#암호 새로 입력 후
sudo su -
#root 바로 접속하기 위함
vi /root/.ssh/authorized_keys
#alias 연결하기 위함 (주석제거)
vi /root/.bashrc
#SSH Port 22 변경
vi /etc/ssh/sshd_config
#파일 SSH전송
sudo apt-get install lrzsz
sudo apt-get install python3-distutils
reboot
#wp-cache 설치 후 다시 644 되돌려놓기
chmod 664 /opt/bitnami/wordpress/wp-config.php
chmod 644 /opt/bitnami/wordpress/wp-config.php
#마우스 복사 할 경우 위의 선행작업 후 아래를 복사 붙여넣기 해야합니다.
#phpmyadmin URL
vi /opt/bitnami/apache/conf/bitnami/phpmyadmin.conf
Alias /phpmyadmin “/opt/bitnami/phpmyadmin”
<Directory “/opt/bitnami/phpmyadmin”>
Options -Indexes +FollowSymLinks -MultiViews
AllowOverride All
Require local
ErrorDocument 403 “For security reasons, this URL is only accessible using localhost (127.0.0.1) as the hostname.”
# AuthType Basic
# AuthName phpmyadmin
# AuthUserFile “/opt/bitnami/apache/users”
# Require valid-user
<IfVersion < 2.3 >
Order allow,deny
Allow from all
Satisfy all
</IfVersion>
<IfVersion >= 2.3>
Require all granted
</IfVersion>
ErrorDocument 403 “For security reasons, this URL is only accesible using localhost (127.0.0.1) as the hostname”
</Directory>
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
sudo apt-get install lrzsz
sudo apt-get install python3-distutils
라이트세일 워드프레스 세팅이 까다롭다
EC2 인스턴스를 주로 사용하다보니 이미 짜여진 각본?으로 만들어진 라이트세일 워드프레스 VM은 상당히 다루기가 어렵더군요.
Bitnami를 이용하여 아파치와 php, DB를 이미 구성해놓은 기성품이라보니 거기에 제가 맞춰야하는 상황이 벌어졌습니다.
EC2 인스턴스에 아파치서버와 mariadb, php 8 버전까지 제가 원하는 버젼별로 설치를 해서 맘대로 구성했다면…
라이트세일 워드프레스는 아마존에서 사바 전문가들이 워드프레스 최적화 서버를 만들어놓았다? 정도로 해석할수 있습니다.
그렇기 때문에 구성이 저랑 달라서 힘들었을뿐이지 워드프레스 최적화가 잘 되어있는지 제가 세팅한 EC2의 워드프레스보다 여러모로 잘 되어져있어보이고
또 속도도 $5플랜치고는 t2.samll 에서 운영하는 제 워드프레스보다 빠른것같아 하나 돌려보고 괜찮으면 계속 늘려가볼 계획입니다.
이 글 작성이 2021년 10월 27일이니… 이후에 시간이 꽤 많이 지난상태에서도 제가 지속적으로 라이트세일을 사용하고 있는지 확인해본다면…
그 가치가 EC2 보다 좋다 못하다를 알수 있을겁니다.
하지만 오늘은 라이트세일 워드프레스를 제 입맛?에 맞도록 구성해야합니다.
몇번을 더 삭제하고 생성해야 하는지 모르겠습니다.
제가 이미 작성한 글을 보면서 한번에 쉽고 빠르게 만드실 수 있을겁니다.
저는 이 글을 작성하기전에 이미 2번의 라이트세일 워드프레스 VM이미지를 삭제한 상태입니다.
이번이 3번째입니다. (글 수정) 4번째 생성해서 진행 중 입니다.
방금 아래처럼 페이지가 작동하지 않습니다. 라고 나와서 또 삭제하고 새로 설치중입니다.
라이트세일 워드프레스 설치 과정
1. ll 명령어 연결 활성화
ll
-bash: ll: command not found
LL, ll, 엘엘 명령어 많이 치시죠?
처음에 들어가면 초기화상태라서 심볼릭이 연결되어져있지 않습니다.
그래서 ls -a 이런 명령어를 사용해야하는데 리눅스를 처음 접하시는 분들은 심볼릭? 이게 뭐야? 그러실수 있습니다.
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
.bashrc 파일을 vi 명령어로 접속하면 대부분 주석이 되어져있는데 주석을 풀어도 되며 echo 명령어로 위의 명령어를 입력하여도 됩니다.
2. lrzsz install ssh 툴 업로드 다운로드
rz명령어와 sz 명령어를 이용하여 ssh 툴로z-modem 업/다운로드 하는 모듈을 설치해야합니다.
이거는 사실 안해도되지만 제가 EC2 인스턴스에서 매번 서버에 다운받고 업로드 할 일이 많아서 설치를 했습니다.
ssl 인증서를 업로드 할 경우와 워드프레스 블로그에 직접적으로 파일을 업로드 받을때, 백업 등등 에 활용합니다.
sudo apt-get install lrzsz
3. 라이트세일 워드프레스 ssh root 바로 접속
보안상 이부분에 대해서는 나뉠수 있습니다.
root접속을 바로 할 경우에는 여러모로 작업들이 편해지지만 user라던지 bitnami 계정으로 접근하게된다면
매번 명령어를 사용할때마다 root권한을 얻은 sudo 명령어를 포함해서 입력해야합니다.
vi 명령어를 이용하여 .ssh 숨은폴더 안의 인증서를 수정해야합니다.
vi /root/.ssl/authorized_keys
처음부터 [ ssh-rsa AAA…… ] 시작하는 앞 부분 싹 지워야합니다.
sleep 10″ 이라고 나온 저부분까지 싹 지워야하죠.
지우고 ESC -> wq 누르고 저장해서 나간다음 ssh가 그대로 접속된 상태에서 새로운 세션을 열어서 root로 접속해야합니다.
만약 내가 실수를 해서 잘못지우거나 하면 바로 수정해야하기때문이죠.
저는 이 부분을 너무 많이 해봐서 그냥 삭제하고 바로 접속했습니다.
root 접속이 잘 되는군요.
※ root 접속하기 위해서는 먼저 root passwd 암호부터 설정해놓고 접속하셔야합니다.
라이트세일 워드프레스는 이미 워드프레스가 설치가 된 상태이므로 따로 아파치를 설치한다거나
가상호스트를 만들어준다거나 하지 않아도 이미 고정 ip만 입력하면 워드프레스에 접속됩니다.
초기에 정해진 사용자와 암호는 user 이고 암호는 cat /home/bitnami/bitnami_application_password 명령어로 찾을 수 있습니다.
※ bncert 모듈을 이용하면 80일마다 자동으로 갱신되기때문에 따로 설정을 할 필요가없습니다.
sudo /opt/bitnami/bncert-tool
이미 설치된 경우라면 저처럼 업데이트 될 경우 업데이트부터 하라고 나옵니다.
업데이트까지 마친 상태라면 아래처럼 도메인 리스트[] 라고 콘솔창을 보게됩니다.
자신이 인증서를 발급 받고자 하는 도메인 주소를 입력합니다.
그 이후로는 대부분 Y와 동의를 눌러주면 설치가 진행됩니다.
Changes to perform
The following changes will be performed to your Bitnami installation:
1. Stop web server
2. Configure web server to use a free Let's Encrypt certificate for the domains:
mYDomain.com www.mYDomain.com
3. Configure a cron job to automatically renew the certificate each month
4. Configure web server name to: www.mYDomain.com
5. Enable HTTP to HTTPS redirection (example: redirect http://mYDomain.com to
https://mYDomain.com)
6. Enable non-www to www redirection (example: redirect mYDomain.com to
www.mYDomain.com)
7. Start web server once all changes have been performed
위의 내용이 무슨 말이냐하면…
쉽게 말씀드리면 아파치 서버를 잠시 멈추고 모든 세팅이 완료되면 아피치를 실행하라는 이야기입니다.
저는 그냥 뭐 아파치가 실행중인 상태에서 진행을 했으며 세팅 끝에 아파치를 종료하고 새로 시작해주었습니다.
정상적으로 HTTPs 설치가 되었고 접속이 되는것을 확인하였습니다.
※ SSL 플러그인은 사실 설치 안해도 큰 문제는 안되지만 설치를 해놓으면 Redirect 등 자동으로 세팅을 해주니 편합니다.
무슨말이냐하면… 혹시 나중에 보면서 또 잊을수도 있으니..
글을 작성하고 제목이 바뀌어서 URL 까지 바꾸게될때 이때 Redirect 플러그인이 자동으로 글 주소를 지정해줍니다.
다음으로 워드프레스 관리자에 접속부터 합니다.
그리고 기본으로 설치되어져 있는 플러그인을 모두 활성화합니다.
(SSL 플러그인을 설치 하기 위한 기본 확인단게입니다)
저는 일단 업데이트까지 모두 하였습니다.
나중에 필요없는 플러그인을 삭제는 하겠지만… 일단은 모두 활성화 & 업데이트 했습니다.
Really Simple SSL 플러그인 플러그인 검색에서 찾아 설치합니다.
Install Now 클릭하고 Active 활성화까지 눌러주세요.
플러그인 리스트중에서 Really Simple SSL 플러그인이 아래처럼 보이면 정상 작동하는중입니다.
Settings 눌러서 SSL을 설치합니다.
혹시라도 아래처럼 나온다면 wp-config 파일을 664 권한을 변경해주면 자동으로 등록됩니다.
linux crontab settings
The 1st item - > Minute 0 ~ 59
The 2nd item -> Hour 0 ~ 23
The 3rd item -> Day of month 1 ~ 31
The 4th item -> Month 1 ~ 12 or jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec
The 5th item -> Day of week 0 ~ 6 or sun, mon, tue, wed, thu, fri, sat
Scheduler can be created through the Crontab-e command.
이부분은 각 도메인 업체에 웹 DNS 같은 부가서비스 항목으로 제공하기때문에 도메인 업체마다 참고하셔서 등록해야합니다.
아래 내용을 자신의 홈페이지 도메인에 맞게끔 넣어야합니다.
vi /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ServerAdmin 이메일주소@이메일.com
DocumentRoot /홈페이지폴더주소
ServerName 도메인명
ServerAlias 서브도메인명
ErrorLog logs/error_log
CustomLog logs/access_log common
<Directory /홈페이지폴더주소>
Options FollowSymLinks
AllowOverride all
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
1부에서도 말씀드렸다싶이 큰 틀 위주로 설명을 빠르게 진행합니다.
그 이유는 제가 이 글을 작성하면서 실제로 서버구축과 워드프레스를 설치하고 있기때문입니다.
지금 카페에서 서버 구축하면서 글도 함께 작성하는 중입니다. 도중에 스냅샷 만들기 위해서 또 삭제하고 반복중입니다.
그렇기 때문에 저도 빨리 만들어야해서 중간중간 설명까지 다 할수 없어 큰 틀에 대해서 알려드리고 있는것입니다.
vhost 등록도 예전에 글로 다 작성해놓았기에 군데군데 필요한 부분들을 리눅스맨 블로그에서 검색하면 다 나옵니다.
아래 데이터베이스 생성과 워드프레스 설치도 마찬가지입니다.
도메인도 오늘 홈페이지를 만들기 위해서 오늘 글 작성(2021년 10월 12일) 하기 직전에 구입하였습니다.
지난번에 워드프레스 만들때에는 애드센스 얼마를 벌수 있을까? 하고 막연했는데..
오늘 만드는 워드프레스 홈페이지는 글로벌하게 꽤 많은 사람들이 사용할 서비스라서 엄청난 수익으로 늘어날듯합니다.
아! 그리고 저는 제가 만들 프로그램 중에서 vHost를 자동으로 생성해주는 프로그램이 있습니다.
덕분에 vHost에 대해서 크게 생각하지않고 도메인명만 입력하면 자동으로 미리 짜여진 스크립트대로 결과물이 만들어집니다.
암튼 위에 제가 vhost 간단하게 올려놓았으니 그부분이라도 보시고 복사 붙여넣기 하시면됩니다.
4. 데이터베이스를 생성합니다.
vhost가 등록되었고 도메인에 아이피가 포워딩 되었다면 이제 도메인명으로 데이터베이스에 접속합니다.
그리고 user와 database를 생성하고 나오면 됩니다.
그리 어려운 작업은 아닙니다.
유저명을 영어로 만들고 아래쪽 동명의 데이터베이스를 생성하고 모든 권한을 부여. 체크한 다음 생성하면 자동으로 데이터베이스까지 만들어집니다.
호스트명에는 꼭 % 대신 localhost 로 지정해야합니다.
그렇지 않으면 해킹 걱정을해야합니다. 로컬로 바꾸셔도 관리 소홀하면 해킹은 마찬가지긴하지만 그대로 조금 더 안심이 됩니다.
5. 워드프레스를 설치합니다.
워드프레스 설치는 그냥 프로그램 설치보다 더 쉽습니다.
도메인으로 접속하면 모든부분이 정상적으로 만들어졌다면 아래처럼 설치 언어를 묻고 진행합니다.
만약 위의 언어선택이 나오지 않고 아래처럼 나온다면 권한문제입니다.
Let’s go!
Database Name 과 Username 그리고 Password를 입력합니다.
Submit
아랫부분은 wp-config.php 파일을 아래 내용그대로 복사해서 서버에 입력하라는 이야기입니다.
Run the installation
저는 에디트플러스를 이용하여 위의 내용을 복사해서 붙여넣고 다시 실행하였습니다.
보통 이 부분이 진행되는데 왜 이렇게 뜨냐하면… 권한 지정을 안해주어서 그렇습니다.
저도 이거 하면서 생각난 부분입니다.
꼭 워드프레스 복사 하고나서 chown apache.apache -R 워드프레스설치된폴더명 해주시고 또 chmod 이용해서 701 권한도 주어야합니다.
644 권한인데 그부분도 제 리눅스 워드프레스 블로그에서 644검색하면 자세히 나온 글이 있습니다.