[ERROR] libphp5.so: cannot restore segment prot after reloc: Permission denied

리눅스/APACHE|2015. 1. 16. 16:35
반응형

httpd: Syntax error on line 105 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

아파치 실행시 위와 같은 에러가 출력되면서 구동이 되지 않을때 해결 방법


[첫번째 방법]
# vi /etc/sysconfig/selinux
내용중 SELINUX=disabled


* 바로 적용을 위해 setenforce 0 명령 수행



[두번째 방법]
# chcon -t texrel_shlib_t /usr/local/apache/modules/*.so

반응형

댓글()

apache - tomcat 커넥터 다운로드 받는곳

리눅스/APACHE|2015. 1. 16. 16:34
반응형

http://archive.apache.org/dist/tomcat/tomcat-connectors/

반응형

댓글()

톰캣 도메인 추가하기

리눅스/APACHE|2015. 1. 16. 16:34
반응형

1. apache 의 virtualhost 부분 추가 (생략)

2. # vi /usr/local/tomcat/conf/server.xml

하단 <Host> </Host> 부분 바로 뒤에 아래 내용을 추가해줍니다.

       <Host name="example.com" appBase="/home/sysdocu/public_html"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
       <Context path="" docBase="/home/sysdocu/public_html" crossContext="true" debug="0" reloadable="true"/>
       <Alias>www.example.com</Alias>
      </Host>


※ 아파치와 톰캣이 연동된 경우 94번째줄의 Connector port="8080" 은 "80"으로 변경할 필요 없습니다.

3. /usr/local/tomcat/webapps/ROOT/WEB-INF 를 추가할 도메인의 홈디렉토리로 복사합니다.
    # cp -arp /usr/local/tomcat/webapps/ROOT/WEB-INF /home/sysdocu/public_html

4. 톰캣 재시작을 해줍니다.
    # shutdown.sh
    # startup.sh
 

반응형

댓글()

[warn] _default_ VirtualHost overlap on port 80, the first has precedence

리눅스/APACHE|2015. 1. 16. 16:34
반응형

NameVirtualHost 이 활성화 되지 않은 상태에서
VirtualHost *:80 가 여러개 등록되었을경우 나타나는 에러메세지입니다.

httpd.conf 파일에서

NameVirtualHost *:80 부분이 활성화 되었는지 확인해보고 주석처리 되어있다면 주석해제를 합니다.

등록한 VirtualHost 항목과 NameVirtualHost항목을 동일하게 맞추어줍니다.

예1) NameVirtualHost *
        <VirtualHost *>
        <VirtualHost *>

예2) NameVirtualHost *:80
        <VirtualHost *:80>
        <VirtualHost *:80>

반응형

댓글()

apache 2.2.x 설치중 libexpat.so 에러

리눅스/APACHE|2015. 1. 16. 16:33
반응형

에러 메세지
/usr/lib/libexpat.so: could not read symbols: File in wrong format


해결방안
./configure --with-expat=builtin 추가

반응형

댓글()

Warning: Cannot modify header information - headers already sent by

리눅스/APACHE|2015. 1. 16. 16:32
반응형

소스 에러 출력 메세지가 아래와 같을때


Warning: Cannot modify header information - headers already sent by (output started at /home/yourdomain/public_html/test.php:3) 



소스 상단에 아래 코드를 삽입해봅니다.


ob_start();



반응형

댓글()

보안서버 ssl 키, csr 및 crt 파일 생성

리눅스/APACHE|2015. 1. 16. 16:32
반응형

1 . 키 생성
# openssl genrsa -des3 -out /usr/local/apache/conf/yourdomain.key 1024
키 패스워드 입력

 

2. csr 생성
# openssl req -new -key /usr/local/apache/conf/yourdomain.key > /usr/local/apache/conf/yourdomain.csr
방금 전 생성한키 패스워드 입력

Contry Name : KR  
Stat or Province Name : SEOUL (입력예시)  
Locality Name : Kangnamgu (입력예시)

Organization Name : yourcompany (입력예시)  --> 회사명

Organization Unit Name : yourteam (입력예시)  --> 부서명

Common Name : www.yourdomain.com (입력예시)  --> ssl적용할 도메인 정확히 적어야 합니다.

나머지는 그냥 엔터치고 넘어가도 됩니다.

 

3. 생성된 csr파일을 vi로 열어서
-----BEGIN CERTIFICATE REQUEST----- 부터 -----END CERTIFICATE REQUEST-----의 내용을
복사해서 해당 업체에 보내시면 됩니다.


* CRT 파일 만들기

테스트 용으로 아래와 같이 생성이 가능합니다.

# openssl req -x509 -key /usr/local/apache/conf/yourdomain.key -in /usr/local/apache/conf/yourdomain.csr -out /usr/local/apache/conf/yourdomain.crt -days 3650



반응형

댓글()

도메인 리다이렉트(포워딩) 설정

리눅스/APACHE|2015. 1. 16. 16:32
반응형

아파치의 virtual host 형식으로 아래 항목처럼 추가해주면 됩니다.

<VirtualHost *:80>
     ServerName 
www.new-yourdomain.co.kr            # 본 도메인을 입력하면 아래 주소로 포워딩
     ServerAlias new-yourdomain.co.kr                           # 본 도메인을 입력하면 아래 주소로 포워딩
     Redirect / 
http://www.old-yourdomain.com/       # 이곳으로 포워딩, 주소도 자동 변경
</VirtualHost>

반응형

댓글()

아파치 로그 쌓이지 않게하는 방법

리눅스/APACHE|2015. 1. 16. 16:32
반응형
아파치 설정 파일을 열고

# vi /usr/local/apache2/conf/httpd.conf


아래 옵션으로 된 부분을 주석 처리 합니다.

# ErrorLog /logs/error_log   // 또는 주석 없이 /dev/null 처리 가능
# CustomLog logs/access_log common 


반응형

댓글()

아파치 웹서버 기본 출력 캐릭터셋 변경

리눅스/APACHE|2015. 1. 16. 16:31
반응형
아파치 웹서버 기본 출력 언어셋을 utf-8 이 아닌 euckr 방식으로 사용하고 싶을경우, 아래 옵션을 httpd.conf 에 추가해주세요.
AddDefaultCharset  EUC-KR
만약 AddCharset  EUC-KR  .euc-kr 이 없다면 함께 추가해 주세요.

 

반응형

댓글()

아파치 최대 동시 접속자수(max_clients) 수정

리눅스/APACHE|2015. 1. 16. 16:31
반응형

1. 아파치 2.0.xx 버전

기본 동시접속자수는 최대 256명. 이를 더 많은 숫자로 변경하기 위해서는 아래 파일 수정 후 재펌파일이 필요하다.

/apache/../server/mpm/prefork/prefork.c 파일에서
#define DEFAULT_SERVER_LIMIT 256    // 원하는 최대 접속자를 입력한다.

위에서 숫자 부분을 적당하게 늘려주고

/apache/../server/mpm/worker/worker.c 파일에서
#define DEFAULT_SERVER_LIMIT 16    // 아래 계산법 참고

위에서 숫자 부분을 적당하게 늘려준다.

예를 들어 prefork.c 파일에서 1280으로 늘려주었다면, worker.c 파일은 20으로 늘려주는데, 그 이유는 아래와 같다.

worker 방식은 기본적으로 16개의 child process와 그 안에 64개의 thread를 생성가능하므로, 16*64 = 1024가 된다. 따라서 prefork.c 파일에서 1280으로 늘려주게 되면, worker.c는 1280/64 = 20이 되므로 20으로 수정해 줘야 똑같이 1280명의 동시접속자가 가능하게 된다.


-----------------------------------------------------------------------------

[참고]

1. prefork.c 파일과 worker.c 파일을 같이 늘려줘야 합니다.

 

2. worker 의 경우 아래와 같은 방법으로 수정합니다. (prefork 는 MaxClients 만 늘려주면 됩니다.)

 <IfModule worker.c>
StartServers         1024    // 기본값이 2 입니다.
MaxClients         65536    // 이처럼 최대 접속자를 높게 재설정할 경우 아래 계산법을 따릅니다.
ThreadsPerChild     64    // 프로세스당 쓰레드 수입니다. 기본값이 25 이며, 최대 64 까지 가능합니다.
</IfModule>

 

공식 : MaxClients / ThredsPerChild =< StartServers

           MaxClients 를 정하고 ThreadsPerChild 를 나누면 StartServers 값이 나옵니다.


- 내용추가 (글쓴이)

-----------------------------------------------------------------------------

 


2. 아파치 1.3.xx 버전

기본 동시접속자수는 최대 256명인데, 이는 MaxClients에 입력가능한 최대치를 말합니다.
256명 이상의 동시접속을 허용하고자 할 경우에는 아파치를 다시 재 컴파일해야 합니다.
아파치 디렉토리로 이동하여 ../src/include 안의 httpd.h 에서 다음과 같은 부분을 찾아
값을 높여 주시면 됩니다.

 

#define HARD_SERVER_LIMIT 512    // 원하는 최대 접속자를 입력한다.

 

위와같이 설정 한 후 http.h 파일을 재컴파일해야 정상적으로 적용이 됩니다.

만약 클라이언트가 512명 이상의 접속을 넘어서 이루어질 경우에는 다음과 같은 메시지가 
로그파일에 남게 되며, 클라이언 트는 다른 요청의 접속이 끝날 때 까지 대기하거나 
또는 특정시간이 지난 후 접속이 이루어질 수 없다는 메시지를 보여주게 된답니다 .

[error] server reached MaxClients setting, consider raising the MaxClients setting.


만약, 동시접속자 수를 기본 동시접속자 최대 수인 256명 미만으로 조정하고자 한다면,
재컴파일이 필요없이 아래 파일만 수정합니다.

../conf/httpd.conf 
MaxClients 150
 
그리고, 아파치를 리스타트 하면 됩니다. 
# apachectl restart


 

[출처] 내가사는이유 (http://kikook.tistory.com/492)

반응형

댓글()