서버 구축 노트.
이번에, www 서버를 이전하였다. 그래서, 이 작업에서 수행한 작업들을 메모해 보고자 한다.
목표는, wordpress 웹서버이다. (MariaDB도 같은 서버에 구동한다.)
- 
Linode 서버 구매. 
- 
Debian 9 이미지 세팅. 
- 
sudo 권한 가진 사용자 생성. - Ubuntu, AWS 같이 root를 바로 사용하지 않으려고, 
- 
ssh 키세팅. - root, 관리자 두 계정에 대해서, 모두 비밀번호를 사용하지 않고, ssh 키인증을 한다. 
- 
hostname 설정 - hostnamectl 
- 
timezone 설정 - timedatectl 
- 
logwatch + postfix 설치 - logwatch를 통해, 서버 상황 데일리 리포트를 받아보면서 건강한지 확인한다. 
- 
root 메일 수발신 테스트 
- 
방화벽 설정 - 이번에는 firewallcmd 말고, ufw를 사용해 보기로 하고, ufw 설치 및 허용포트 오픈. 
- 
mariadb-server 설치 
- 
apache 설치 
- 
certbot 설치 및 SSL 세팅. 
- 
libapache2-mod-php7.0 및 php7.0-mysql, php7.0-ldap 설치 
- 
유틸리티 설치. ( netstat, mailutils .. ) 
- 
mariadb dump.sql 파일 통해서 DB 복구, wordpress 사용자 생성 
- 
wordpress 파일 이전. 
- 
wordpress 구성 점검. 
이슈 사항. 백업을 암호화해서 보관했었다. mysqldump | openssl enc -e > dump.sql.enc 그런데, 악 ㅋㅋ 복구가 안되 openssl 버전이 달라서 안되는지 뭔지… 그래서, 아래와 같은 기술을 사용.
- 기존 백업 볼륨이 있는 서버를 ubuntu stick을 통해서 복구용으로 부팅한다.
- 기존 백업 볼륨의 OS 영역을 read-only 복구용으로 마운트 한다.
- OS 영역을 chroot해서 구버전 openssl 사용할 환경으로 만들고, 암호화된 백업을 복구해 본다.
- chroot 하고, read-only 라서, 복구한 파일을 백업 볼륨에 만들 수는 없다. ( 물론, 이동식 저장장치를 쓴다거나 할 수 있지만 귀찬다. )
- 그래서, … 아주 오래되었지만, 여전히 유효한 기술인 유닉스 파이프를 활용하는 걸로 복구를 진행한다. 로컬에서 복호화 돌리고, ssh 채널로 전송하면서, 파일로 쓰기, … 오랜만에 해본 것인데, … 역시 유닉스는 강력하다는 것을 또 느낀다.
추가 이슈. wordpress가 첫 페이지 뜰 때는, 몰랐는데, 글 작성하고 링크를 공유하려니, rewrite가 안 먹는다. rewrite 모듈 확인하고, .htaccess 확인. 문제없는데? 지만, 아래를 참조하여 수정함. https://stackoverflow.com/questions/22797931/htaccess-is-not-working-in-linuxdebian-apache2
 Deokgon Kim
Deokgon Kim