stack 설치 과정에서 오류 원인 파악이 쉽도록, yum 패키지 설치 오류시 바로 중단하고 화면 출력을 간소화하였습니다.
전체 추가 및 개선된 사항은 다음과 같습니다.
v1.5.0 (2024年11月17日)
Added
- PHP 8.3 , 8.4 설치 추가 https://github.com/php79/stack/issues/109
— PHP 8.4 는 Rocky Linux 8 에서만 지원
- stack.defaults.conf 설정 추가
— PHP_MODULES_72, PHP_MODULES_80 – PHP 버전별로 설치할 모듈 직접 정의 가능
— YUM_INSTALL_QUIET=1 – YUM(DNF) 패키지 설치시 상세 출력 생략
- Rocky Linux 8, rsyslog 설치하여 /var/log/messages 로그 기록 지원
- app-install.sh default(앱 미선언시 기본값), laravel 앱 템플릿 추가
— PHP 버전 미선언시 /usr/bin/php 버전 사용
- SSL 설정에 ssl-hosting.conf 추가
— ssl-stable.conf 에서 HSTS 옵션만 끄기 (호스팅 서비스 등 고려)
Fixed
- Nginx 1.25.1 이상 버전의 http2 on 설정 분기 지원 https://github.com/php79/stack/issues/110
- yum 패키지 설치 실패시 중단하여 오류 원인 쉽게 파악 가능하도록 함
- CentOS 7 에서 MariaDB MaxScale 저장소 오류가 있어 제외
- 설치 과정에서 화면 출력 최소화
— 설치 프로그램에서 이미 설치된 프로그램은 안내 생략 (locks/ 파일 존재 여부로 확인)
stack 소스 업데이트 방법
[root@rocky810 master]# cd /root/stack/
[root@rocky810 stack]# ./self-update.sh
stack 신규 설치 – https://github.com/php79/stack
사례 : PHP 5.5 이전 버전에서 운영중인 사이트에서 비밀번호 해시를 bcrypt 로 교체한 경험을 정리했습니다.
목표 : 최악의 경우 서버내 해시된 비밀번호 데이터가 유출되더라도, bcrypt 알고리즘을 적용하여 실제 비밀번호를 유추하기 어렵게 만듭니다.
비밀번호 해시 고도화 사례 (bcrypt) 더보기 →
Undo commit
PhpStorm에서 드디어 마지막 커밋을 취소할 수 있는 Undo commit 기능이 추가되었습니다. (PhpStorm 2016.3)
복잡한 git 명령이 아닌, 클릭만으로 취소하여 되돌릴 수 있습니다.
여기서 더 막강한 것은 취소된 내용을 ChangeList 로 묶어 다시 커밋할 수 있다는 것이죠.
PhpStorm의 git commit 취소 더보기 →
디비 접속 정보 암호화 하기
보안 강화을 위해, 디비 접속 정보 등이 담긴 설정 파일을 암호화하는 방법을 소개해드립니다.
물론 실제 동작시엔 실행단이나 메모리에서 해당 정보를 파악할 수 있어 완벽한 보안 기법은 아니지만, 하나의 보안 관문을 추가하는 정도라 생각하시면 됩니다.
테스트 환경
김정균님이 제작하신 screwim 확장 모듈을 사용해, 개발 서버에서 설정 파일을 암호화하여 운영 서버에 적용하는 과정을 살펴보겠습니다.
CentOS 6/7 + PHP 7.0 (remi repo) 환경을 기준으로 테스트하였으며, php79 stack을 사용중이신 분들은 PHP 7.0 이 설치된 상태에서 따라 해보시면 됩니다.
screwim 로 디비 접속 정보 암호화 하기 더보기 →
https://github.com/php79/backup 에서는 다음 3가지 백업 솔루션을 제공하고 있습니다.
이 가운데 ‘로컬 및 원격 증분 백업’은 rsnapshot 이란 백업 프로그램을 사용중입니다.
rsnaphsot은 크론 데몬에 스케쥴을 등록해두고, 매일/매주/매월 실행되도록 되어 있습니다.
그런데 ‘매월 백업’이 실행되지 않는 설정 오류가 발견되었습니다.
즉, 매일 7일간 백업과 매주 4주간 백업은 정상 실행됩니다.
그러나 4주가 지난 최근 3개월 간의 월 단위 백업이 되지 않고 있었습니다.
따라서 꼭 다음 내용대로 설정을 수정해주셔야 월 단위 백업이 정상적으로 실행됩니다.
기존 증분 백업 사용자 해결 방법 – https://github.com/php79/backup/issues/4
‘로컬 풀 백업’은 rsnapshot 을 사용하지 않아, 따로 하실 작업이 없습니다.