반응형
제가 관리하고 있는 사이트들이 모두 PHP로 기반되어 개발되었습니다.
개발중에 많이 사용하는 용어, 변수, 처리들을 모아서 정리하려합니다.

1. 환경변수
$_SERVER['DOCUMENT_ROOT'] : 사이트 루트의 서버 내 물리적 경로. ex) /home/test/www
$_SERVER['HTTP_USER_AGENT'] : 접속 클라이언트의 프로그램 정보. ex) Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36
$_SERVER['REMOTE_ADDR'] : 접속한 클라이언트의 IP. (고객 IP)
$_SERVER['HTTP_REFERER'] : 이전 페이지 주소값. (주로 로그인 전 화면으로 돌아가기 위해 사용)
$_SERVER['HTTP_HOST'] : 접속할 때 사용한 도메인. (서브도메인에 따라 분기처리할 때 사용)
$_SERVER['REQUEST_URI'] : 현재 접속한 사이트에서 메인 도메인을 제외한 주소 ex) /index.php?device=mobile
$_SERVER['PHP_SELF'] : 현재 접속한 사이트의 주소에서 도메인과 리퀘스트값을 뺀 주소. ex) /index.php
$_SERVER['QUERY_STRING'] : 현재 접속 사이트의 주소의 리퀘스트값.(GET방식) ex) ?device=mobile
2. 301 redirect
★ 영구적으로 이동시킬 때 ★
header( 'HTTP/1.1 301 Moved Permanently' );
header( 'Location: https://www.bsidesoft.com' );
검색 결과에서 서브도메인을 없애는 경우나 도메인을 아예 변경했을 때 301 redirect를 변경전 도메인 접속 시 처리해줘야 시간이 좀 지나고 검색에도 반영된다.
회사에서 보안인증서 결제 개수때문에 서브도메인을 지양하는 쪽이어서 정리중 자주 쓰게되어 적어놓았다. 일주일정도 경과 후 검색 결과를 확인해봐야한다.
3. 테스트작업
if ($_SERVER['REMOTE_ADDR']=="테스트 작업하는 IP"){
테스트할 코드
}
고객입장에서는 안보여야하고 나는 눈으로 확인하는게 당연히 편할테니 사용하는 코드이다. 안사용할 수가 없는 코드.
4. 서버 FTP 및 DB 생성. 초기 사이트 생성 작업
FTP 계정 생성 > /home 에서 작업 시작
groupadd {그룹명}
useradd -g {그룹명} {계정명}
passwd {계정명} (엔터 후 설정할 비밀번호 및 비밀번호 확인 입력)
chmod 705 {계정명}
chown -R {계정명}:{그룹명} {계정명}
★ 업로드되는 폴더는 chmod -R 707로 변경
일반적으로 그룹명=계정명으로 생성하고, 계정명은 곧 폴더명이라고 생각하면 된다.
DB 생성
mysql -u root -p{root계정 패스워드}
- mysql 접속 -
grant all privileges on {DB명}.* to '{계정명}'@'localhost' IDENTIFIED BY '{패스워드}';
flush privileges;
create database {DB명};
quit
지금은 베이스 홈페이지를 두고 있기 때문에 FTP와 DB 생성 후 FTP 파일들은 복사, DB는 덤프하여 복구시키는 방법으로 데이터 복사를 한다.
5. 리눅스(CentOS) - 문자열 치환 및 검색
검색 원하는 폴더로 이동 후 문자열 검색 : grep -r "{검색하려는 문자열}" ./*
문자열 치환 : find ./* -name "*.php" -exec perl -pi -e 's/변경전문자열/변경후문자열/g' {} \;
(해당 폴더 아래 파일명에 .php가 들어간 파일 중에서 '변경전문자열'을 '변경후문자열'로 모두 치환)

반응형