1. 1개 도메인에 대해서 목적지 주소로 변경할 때

<?
if(strpos($HTTP_HOST, 'aaa.co.kr') == strlen($HTTP_HOST)-strlen('aaa.co.kr')) {
    header("location:http://www.aaa.com".$REQUEST_URI);
    exit;
}
?>

2. 다수의 도메인에 대해서 목적지 주소로 변경할 때

<?
if(strpos($HTTP_HOST, 'aaa.co.kr') == strlen($HTTP_HOST)-strlen('aaa.co.kr')) {
    header("location:http://www.ggg.co.kr".$REQUEST_URI);
    exit;
} elseif (strpos($HTTP_HOST, bbb.co.kr) == strlen($HTTP_HOST)-strlen('bbb.co.kr')) {
    header("location:http://www.ggg.co.kr".$REQUEST_URI);
    exit;
}
?> 

$HTTP_HOST 항목에 www. 는 적지 않는다 (자동으로 판별하는듯)
aaa.co.kr = 접속하는 주소
www.aaa.com && www.ggg.co.kr = 변경할 주소  

3. 상대경로 내에 있는 특정파일로 연결을 원할 때

<?
if(strpos($HTTP_HOST, 'bbb.co.kr') == strlen($HTTP_HOST)-strlen('bbb.co.kr')) {
    echo "<script>document.location.replace('aa.html')</script>";
    exit;
}
?>

4. 다른 방법

if ($_SERVER['HTTP_HOST'] == 'aaa.co.kr' || $_SERVER['HTTP_HOST'] == 'www.aaa.co.kr') {
header("Location: http://aaa.co.kr/v2");
exit;
}

'Works > PHP' 카테고리의 다른 글

php 퍼미션 관련 함수  (0) 2016.10.25
PHP 문자열 함수  (0) 2016.06.30
php 함수지원여부 확인 소스  (0) 2016.04.25
php 5.5 url 변수값 처리  (0) 2016.03.25
phpmyadmin 로그인 인증 방법  (0) 2016.02.26

<?

if (function_exists('imagerotate')) {
        echo "imagerotate OK";

 } else {
        echo "imagerotate NO";

}

?>

예제는 수많은 php 함수 중 imagerotate 가 있는지 판별하여 있다면 imagerotate OK 를 출력하고 없다면 imagerotate NO 를 출력한다.
function_exists('imagerotate') 에 imagerotate 외 다른 함수를 입력하면 다른 함수 체크 가능

'Works > PHP' 카테고리의 다른 글

PHP 문자열 함수  (0) 2016.06.30
도메인을 판별하여 목적도메인으로 리다이렉션  (0) 2016.04.28
php 5.5 url 변수값 처리  (0) 2016.03.25
phpmyadmin 로그인 인증 방법  (0) 2016.02.26
PHP 언어셋 컨버팅  (0) 2015.12.16


/etc/skel 디렉토리 속에 public_html 디렉토리를 만들어 놓은 후에 사용자를 생성하면 된다.

/etc/skel 디렉토리 속의 내용을 새로생성되는 사용자의 홈디렉토리 속에 copy하는 것이 useradd 명령어가 하는 일 중의 하나임

그렇기 때문에 useradd 명령으로 사용자를 추가하기 전에 /etc/skel/public_html 을 만들어 놓으면 useradd 명령으로 사용자를 추가할 때마다

사용자의 홈디렉토리에 public_html 디렉토리가 생성됨.

index 파일을 미리 만들어 /etc/skel/public_html/ 속에 넣어두고 사용자를 생성하면 index 페이지도 사용자 홈디렉토리 밑의 public_html 에 복사됨.


 

MUA (Mail User Agent) : 클라이언트 메일 관리 ( 아웃룩, 썬더버드 기타 등등 프로그램들...)

 vi /etc/mail/sendmail.mc

아래 라인의 주석을 제거 (dnl제거)
- 52 lines : TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
- 53 lines : define('confAUTH_MECHANISMS', 'EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
- 116 lines : DAEMON_OPTIONS ('Port=smtp, Addr=0.0.0.0, Name=MTA') 수정    // (127.0.0.1 → 0.0.0.0 수정, 모든 ip에서 사용가능)
- 123lines : DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea') 주석 해제

/etc/mail/sendmail.mc 파일을 새롭게 리빌드 (sendmail.cf 를 재생성)

- m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

요즘은 make -C /etc/mail 하면 변경내용이 설정파일에 적용이 된다네...

/etc/init.d/sendmail restart (정상적으로 재시작 되면 셋팅상 문제는 없을것이다) 

포트 확인 (netstat -nlp)

0.0.0.0:25 : 모든 아이피에 대해서 25번 오픈되어 있으면 정상인듯... 


모듈 직접 다운로드 시  아래 링크에서 다운로드 받을 것.

http://pecl.php.net/package/oauth

[참고] 버전 2.0.0 이상은 php7.0.0 버전 이상을 위한 것이므로 자신의 php 버전이 5.x 대이면 버전 1.2.3 을 다운로드 받을 것.

cd /usr/local/php/bin/
pecl download oauth 를 실행하면 최신버전의 oauth (2.0.1버전)만 다운로드 받아지므로 가급적 위 경로에서 맞는 버전을 직접 받을 것.

tar xvzf oauth-1.2.3.tgz 

(1.2.3 버전을 압축해제하여)

cd oauth-1.2.3

(oauth-1.2.3 디렉토리로 이동)
/usr/local/php/bin/phpize (
phpize 를 실행하여 확장 모듈 추가를 위한 환경을 구성한다)

./configure --with-php-config=/usr/local/php/bin/php-config

(기존 php설치 디렉토리의 php-config를 사용)

make && make install
(컴파일을 실행한다)

설치가 완료 되면 php.ini 파일에 모듈 위치를 절대 경로로 삽입해주면 됩니다.

extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/oauth.so"
(경로는 설치환경에 따라 다를 수 있음)

[참고] make 과정 시 make: *** [oauth.lo] 오류 1 가 발생하면

yum install pcre 실행
yum install pcre-devel 실행

oauth-1.2.3.tgz

'Works > 확장모듈설치매뉴얼' 카테고리의 다른 글

freetds 확장모듈 설치  (0) 2016.09.27
mod_mime_magic 설치  (0) 2016.08.01
CentOS6 에서 mcrypt 확장모듈 설치시의 방법  (0) 2016.02.26
PHP zip 확장모듈 설치  (0) 2016.02.26
PHP zlib 확장모듈 설치  (0) 2016.02.05


sysadm.kr/test.php?test_id=aaa

이렇게 했을때

test.php에서

<? echo $test_id ?> 하면 aaa가 찍혀야 되는데 안찍히는 이유는 php 5.5 버전에는 register_globals 옵션이 아예 존재하지 않기 때문이며

이런 경우 $test_id 대신 $_GET['test_id'] 로 변경하면 화면에 변수값이 출력된다.


1. 소스 Download

URL : http://sourceforge.net/projects/eaccelerator/files/eaccelerator/

2. 설치

# tar xvfz eaccelerator-0.9.6.1.tar.bz2
# cd eaccelerator-0.9.6.1
# PHP_PREFIX/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=PHP_PREFIX/bin/php-config
# make
# make install
# cd /var/tmp
# mkdir eaccelarator
# chmod 777 eaccelarator/

3. php.ini 파일 하단에 아래 항목 추가

[eAccelerator]
extension_dir="MAKE INSTALL시 나오는 모듈 경로"
extension=eaccelerator.so
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

'Works > 설치매뉴얼' 카테고리의 다른 글

PHP 7.4 컴파일 (CentOS 7에서)  (0) 2021.08.17
Apache에 mod_cband 설치  (0) 2016.06.24
JDK(java) & tomcat 설치 총정리  (0) 2016.01.11
php pdo-mysql 확장 모듈 설치  (0) 2015.10.28
Apache 에 GeoIP 모듈설치  (0) 2015.10.28

gz 압축포맷은 기본적으로 CentOS 계열 리눅스 운영체제에 기본적으로 내포되어 있으며 이를 확인하려면

[root@sysadm ~]# rpm -qa | grep gzip
gzip-1.3.5-13.el5.centos

위 명령 실행결과 gzip 프로그램이 이미 설치되어 있음을 확인 할 수 있으며

미설치에는 yum -y install gzip 을  실행하면 된다.

1. gz 압축풀기

gzip -d filename.gz

gzip에 옵션 -d 를 주면 되는데 -d는 decompress의 줄임 표현이다.

* 압축이 해제되면 기존 압축파일은 자동으로 제거하고 압축해제된 파일만 남게 된다.

2. gz 압축하기

예를 들어서 222.jpg를 gz으로 압축한다면 아래와 같은 명령어를 사용하면 된다.

gzip 222.jpg

수행 결과로 222.jpg는 없어지고, 압축된 222.gz 파일이 생성된다.

gz은 여러개의 파일을 하나로 압축하는 용도가 아니며

여러개의 파일을 압축하려면 7z, zip, tar 압축을 사용하는 것을 권장한다.


제로보드4를 MySQL 5.5 버전 이상환경에 설치시 '관리자 테이블 생성 실패' 메시지가 나오면 이는 제로보드4의 핵심파일인

schema.sql 파일 내의 SQL 문법의 오류 때문이다.

schema.sql 파일 139라인에 보면 no int(11) default '0' not null auto_increment primary key, 가 있는데 이를 아래처럼

no int(11) not null auto_increment primary key, 로 변경한다.

또한 '받은 쪽지 또는 보낸 쪽지 테이블 생성 실패'가 뜨면 받은 쪽지의 경우 318라인의

no int(20) default '0' not null auto_increment primary key , 를 no int(20) not null auto_increment primary key ,

보낸쪽지의 경우 332라인의 no int(20) default '0' not null auto_increment primary key , 를

no int(20) not null auto_increment primary key , 로 변경하면 설치는 큰문제 없이 진행될 것이다.

하지만 설치 이후 게시판 생성시 '게시판의 메인 테이블 생성' 가 발생할수 있기 때문에 schema.sql 파일의 create table 쿼리문 중 auto_increment

와 default '0' 가 함께 정의된 라인을 모두 찾아 default '0' 를 제거해주면 게시판이 정상 생성되는 것을 확인할 수 있다.

요약하자면 에러 메시지 없이 한번에 설치를 진행하기 위해서는 schema.sql 파일의 default '0' 를 모두 제거해주면 되는 것이다.

아래는 위의 방법으로 수정한 제로보드 4 schema.sql 파일이니 혹시 문제 발생시 첨부된 schema.sql 파일로 덮어쓰기 하면 된다.

schema.sql




CentOS 6 넘어오면서부터 yum install 에서 libmcrypt libmcrypt-devel 이 지원되지 않는다.

따라서 아래의 방법으로 진행해야하며

1. vi /etc/yum.repos.d/epel.repo

해당 파일에 아래의 내용을 저장한다.


[EPEL]
name=epel
type=rpm-md
baseurl=http://ftp.neowiz.com/fedora-epel/6/x86_64
gpgcheck=1
gpgkey=http://ftp.neowiz.com/fedora-epel/RPM-GPG-KEY-EPEL-6
enabled=1


2. yum clean all

3. yum install libmcrypt libmcrypt-devel

(Cent 5 의 경우 위 과정은 생략)

4. 동일 버전의 php 소스에서


예) php-5.2.17 의 경우


cd php-5.2.17/ext/mcrypt


/usr/local/php/bin/phpize
aclocal

./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

그러면 아래와 같이 mcrypt.so 파일이 해당 경로에 만들어졌다고 나오는데

/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613

php.ini 파일 하위에

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/mcrypt.so

처럼 추가하고 웹서버 재시작하면 된다.

'Works > 확장모듈설치매뉴얼' 카테고리의 다른 글

mod_mime_magic 설치  (0) 2016.08.01
oAuth 확장모듈 설치  (0) 2016.03.29
PHP zip 확장모듈 설치  (0) 2016.02.26
PHP zlib 확장모듈 설치  (0) 2016.02.05
PHP 수호신(Suhosin) 설치  (0) 2016.01.29