각종 배포판 중에서 설치할 판 수 결정하기
FreeBSD 11.4-RELEASE
2020년 말, 2021년 초 프리비에스디 배포판 정보와 판수 지원계획에 의하면 FreeBSD 11.x와 12.x 판수에 대한 배포일과 지원종료일은 다음과 같다.
| Branch | Release | Release Date C | Expected EoL |
|---|---|---|---|
| stable/12 | n/a | n/a | June 30, 2024 |
| releng/12.2 | 12.2-RELEASE | October 27, 2020 | 12.3-RELEASE + 3 months |
| releng/12.1 | 12.1-RELEASE | November 4, 2019 | January 31, 2021 |
| stable/11 | n/a | n/a | September 30, 2021 |
| releng/11.4 | 11.4-RELEASE | June 16, 2020 | September 30, 2021 |
현재 킴서피에서 제공하는 설치판수는 11.4이고, 기존 서버에 설치된 판수는 11.3이다. 서버 전문 회사에서 어련히 알아서 판수를 골라줬을까 생각하고[(이건 단순 생각이 아니라 직접 경험한 것이다. 딴에는 미리 12.x 로 올리면 나중에 편하겠다 싶어서 12.x로 올리려고 해 봤는데 수많은 오류들을 보면서, 이를 해결하려고 애쓴 시간과 노력을 통해 배운 것도 없지는 않겠지만, 연말에 이틀 정도 아까운 시간 낭비를 한 후에 11.4에서 일단 머물기로 결정을 했다. 사실 서버 운영체제는 한 두 수 정도 천천히 적덩하다고 본다.)] 이 11.4 판수를 설치하기로 한다. 참고로 기존에 있던 2018년 8월 27일부터 써왔던 것인데, 11.0에서 시작해서 계속해서 갱신을 해서 현재 11.3으로 돌아간다. 서버 이전에 핵심적인 요소는 아니지만, 문서의 완결성을 위해서 기존 서버에서 돌아가는 FreeBSD를 11.3에서 11.4로 올리는 과정을 https://www.freebsd.org/releases/11.4R/installation.html#upgrade에 의거해서 간단히 소개한다. 대부분 설명이 sudo를 설치해서 실행하라고 하지만, 어차피 나 혼자 쓰는 서버, root 계정에서 실행했다.
# freebsd-update fetch # freebsd-update install # freebsd-update upgrade -r 11.4-RELEASE // 2022 년 12월 11.4 에서 13.1-RELEASE 로 실행해서도 성공적으로 '업'했다. # freebsd-update install # shutdown -r now # freebsd-update install
MySQL 5.7 / PHP 7.4 / Apache 2.4
기존 서버에서 돌아가는 MySQL 판수는 5.6, PHP 7.2다.
지난 몇 년 동안 직지프로젝트가 비록 문을 닫은 것처럼 보이지만, 실상 속에서는 Wordpress:워드프레스로 변신 중이기 때문에 워드프레스가 요구하는 조건을 확인하는 것이 중요하다. 이 위에 더해서 Nextcloud, 혹은 ownCloud 설치에 필요한 판수를 확인하는 것도 중요하다.
- https://wordpress.org/support/article/requirements/에 의하면, 워드프레스는 MySQL 5.6+, PHP 7.3+ 를 권장한다.
- https://docs.nextcloud.com/server/20/admin_manual/installation/system_requirements.html에 의하면, 넥스트클라우든는 MySQL 5.7+, PHP 7.3+ 를 권장한다.
- https://doc.owncloud.com/server/10.0/admin_manual/installation/system_requirements.html에 의하면, 오운클라우두는 MySQL 5.6+, PHP 5.6+를 권장한다.
그래서 MySQL은 5.7을 선택해서 설치하기로 했고, 이 판수는 2020년 12월 기준으로 FreeBSD ports에서 최신판인 8.0 바로 아래 판수이다. 한판수 늦게 가자는 생각을 적용해서 PHP 는 7.4를 선택했다. 이 또한 가장 최신 판수인 8.0보다 하나 아래 판 수다.
Apache는 서버를 돌리는 것을 가능하게 해 주는 프로그램인데, 이건 예전에 Apache 1.x 에서 Apache 2.x 로 판 수 올린 다음에 그냥 계속해서 사용하는 거라서 뭐 고민의 여지 없이 그냥 현재 최신 판수인 Apache 2.4를 선택.
다른 패키지 판수도 신경을 써서 결정을 해야하겠지만, 이 세 가지는 서버를 돌리기 위한 핵심 중의 핵심이라서 정성스럽게, 이런 저런 상황을 고려해서 선택하는 것이 좋다.
설치 순서는 MysQL, PHP, PHP-EXTENSION, 그리고 MOD_PHP 순서로 했고, 이걸 성공적으로 마치고 나면 Apache는 자동으로 설치가 된다. 이제부터 설치만 하면 되는데, /etc/make.conf 에는 다음과 같은 내용을 넣는 것이 좋다. 이 설정이 없으면 딸림 패키지를 설치할 때 마다 일일히 개별 설정을 내가 선택해 줘야 하는데, 이 줄 하나면 기본 설정값으로 사용자 입력 없이도 모든 패키지가 한 번에 설치가 된다.
BATCH="YES"
물론 나중에 PHP 설치 할 때에는 특정 패키지에서는 이 설정을 빼줘야 하는 경우도 있었는데, 이는 사용자로 하여금 특정 라이선스 조건을 수락하는 것을 확실히 하기 위해서였고, 이 또한 저 설정 문서를 바꾸는 것 보다는 그 특정 패키지 ports 에서 그것만 따로 설치하고 나서 다시 원래 하던 PHP 설치를 하면 된다.
대략적으로 계획하는 설치할 패키지와 설치 순서는 다음과 같다. 처음 세 개 패키지에 대해서는 딸림 패키지 청소한 목록을 밝혀서 FAMP (FreeBSD, Apache, MySQL, PHP)가 얼마나 많은 패키지들을 필요로 하는지를 보여주겠지만, 다른 것들에 대해서는 이 청소목록은 생략한다.
- MySQL 5.7 설치
- PHP 7.4 설치
- MOD_PHP7.4 설치
- Apache 2.4 설치 (이건 MOD_PHP7 설치 시 자동으로 설치가 되었다는…)
- Certbot 설치
- Postfix 설치
- Dovecot 설치
- Roundcube 설치
- ProFTPd 설치
- fail2ban 설치
- Wordpress 설치
- Matomo 설치
- phpMyAdmin 을 설치해서 PHP/MySQL/Apache 연동을 최종 확인.
- Piwigo 설치
- ownCloud 설치 [(난 사실 Nextcloud를 설치하려고 했는데 오류가 발생해서 설치 못하고 ownCloud는 FreeBSD는 불안정하다 불만을 나타내면서도 설치는 바로 되어버렸다는.. 이런 것을 우연이라고 할지, 인연이라고 할지… 결국 ownCloud를 쓰게 되었다.)]
- - VNC (virutal network computing) 설치
