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


PHP zip 확장모듈 설치

* php source 위치 : /usr/local/src/php-5.2.17
* php.ini 위치 : /usr/local/apache/conf/php.ini

1. 설치된 버전의 php 소스 다운로드 또는 원소스 디렉토리로 이동

 - cd /usr/local/src/php-5.2.17/ext/zip

2. 1번의 해당 경로에서 아래의 명령어 실행

 - /usr/local/php/bin/phpize

3. configure

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

4. make

5. make install (make install 시 마지막 zip.so 경로 확인)

6. php.ini 설정

7. apache 재시작

/etc/init.d httpd restart or /usr/local/apache/bin/apachectl restart



출처 : http://wnstjqdl.tistory.com

 

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

oAuth 확장모듈 설치  (0) 2016.03.29
CentOS6 에서 mcrypt 확장모듈 설치시의 방법  (0) 2016.02.26
PHP zlib 확장모듈 설치  (0) 2016.02.05
PHP 수호신(Suhosin) 설치  (0) 2016.01.29
soap 모듈 추가 설치  (0) 2016.01.08


config.inc.php 파일을 열어 보면 여러 항목들 중

$cfg['Servers'][$i]['auth_type']     = 'cookie';  항목이 있는데 'cookie' 값을 http 또는 config 로 변경가능하며

아래는 지시자별 세부 내용이다.

http : .htaccess를 이용해서 MySQL 내의 계정(리눅스나 유닉스의 계정이 아닌 MySQL 내의 계정)을
이용해서 접속을 하는 방식

config : config.inc.php 파일 내에 아이디와 비밀번호를 저장하는 방식 (보안상 위험해 권장할 만한 사항이 아님)

만일 config 로 인증할 때 아래 변수에 User name 과 패스워드를 입력해야한다.

$cfg['Servers'][$i]['user']          = '';            // MySQL user
$cfg['Servers'][$i]['password']      = '';          // MySQL password (only needed with 'config' auth_type) 

cookie : session 방식으로 ID&Password 을 입력받아 암호화 해서 기록하는 방식

 


1. 현재폴더에서 하위 폴더 삭제

ll | grep ^d | awk '{print $NF}' | xargs rm -rf

2. 특정폴더에서 하위 폴더 삭제

ll /폴더/경로/ | grep ^d | awk '{print $NF}' | xargs rm -rf

common.php 파일 내부에

include_once("$g4[path]/$dbconfig_file");
$connect_db = sql_connect($mysql_host, $mysql_user, $mysql_password);
$select_db = sql_select_db($mysql_db, $connect_db);
mysql_query("set names euckr");

mysql_query("set names euckr"); 를 최하단에 추가해준다.

제로보드4 와 같이 MySQL euckr 을 사용 한글 깨짐

제로보드4 와 같이 euckr사용하시는분께서는 아래와 같이 꼭 수정해주셔야 한글깨짐이 없습니다.
(물론 안깨지시면 안하셔도 됩니다.)

제로보드4 버전상관없이 euckr만 해당, lib.php 파일중 기본적으로 약 297번째줄쯤
@mysql_select_db($f[4], $connect) or Error("DB Select 에러가 발생했습니??,"");

                return $connect;
        }



@mysql_select_db($f[4], $connect) or Error("DB Select 에러가 발생했습니다","");
@mysql_query("set names euckr");
               return $connect;
      }
이렇게 return $connect; 바로 위에 @mysql_query("set names euckr"); 를 꼭 삽입해주세요.

소스컴파일시 zlib 이 누락되어있을 경우 재컴파일 없이 확장모듈로 zlib을 올리는 방법이다.

[root@sysadm ~]# cd php소스파일디렉토리/ext/zlib

[root@sysadm ~]# cp -rp config0.m4 config.m4
[root@sysadm ~]# /usr/local/php/bin/phpize
[root@sysadm ~]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@sysadm ~]# make
[root@sysadm ~]# make install


php.ini 파일내부에

[zlib]
extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/"  (extension 경로는 php 버전에 따라 다를수 있음)
extension="zlib.so"

웹서버 재시작


[root@lvm07 src]# wget http://download.suhosin.org/suhosin-0.9.29.tgz

[root@lvm07 src]# tar xvfz suhosin-0.9.29.tgz

[root@lvm07 src]# cd suhosin-0.9.29

[root@lvm07 suhosin-0.9.29]# /usr/local/php/bin/phpize

[root@lvm07 suhosin-0.9.29]# ./configure --with-php-config=/usr/local/php/bin/php-config

[root@lvm07 suhosin-0.9.29]# make && make install

 

- php.ini Suhosin 설정 추가

[root@lvm07 ~]# vi /etc/httpd/conf/php.ini (서버 설정에 따라 php.ini 경로는 다를 수 있음)

[Suhosin]

;extension_dir=/usr/lib64/php/modules/

extension=suhosin.so

 

[root@lvm07 ~]# /usr/local/php/bin/php -v

PHP 5.3.3 (cli) (built: Jul  9 2015 17:39:00)

Copyright (c) 1997-2010 The PHP Group

Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

    with Suhosin v0.9.29, Copyright (c) 2007, by SektionEins GmbH

 

Download

http://suhosin.org/stories/download.html

 

[자체추가]

php.ini에 아래와같이 설정하면 mail함수가 안됨

disable_functions = mail  (서버내 전체계정에 영향을 받음)


수호신을 이용해 계정별 php 함수 제한을 걸고 싶을때에는 아래의 룰을 <VirtualHost *> </VirtualHost> 사이에 넣어주면 된다.


php_admin_value suhosin.executor.func.blacklist "함수명"
예) php_admin_value suhosin.executor.func.blacklist "mail" (mail 함수를 사용불가하게 할경우)

 

1개 이상의 함수를 막는경우에는

 

php_admin_value suhosin.executor.func.blacklist "함수명1,함수명2"

 

[출처] http://sangchul.kr/551


[질문]
UTF-8 버전인데요,
설치 과정은 이상없이 진행이 되었습니다.
설치완료후 보드 생성도 정상이구요.
그런데 게시판에서 글을 저장하고 본문 열어 보면 영문으로 작성한 내용은
정상으로 보이는데 한글로 작성한 부분은 ????? ??? ?? ?????? 처럼 깨져서 나옵니다.

[답변]
lib.php 소스에서
$db_selected = @mysql_select_db($DB_access[4],$connect);
위 코드를 찾으십시오. 원본에선 120 번 줄 정도 입니다.
위 줄의 바로 아래에
@mysql_query("set names utf8");
이걸 새로 넣어 주십시오.


1. JDK(java) 설치

JDK 7 다운로드 URL

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
 

rpm -ivh jdk-7u40-linux-x64.rpm

설치 확인 : rpm -qa | grep jdk
whereis java (jdk 가 설치된 경로 확인)

cd /usr/java
mv jdk1.7.0_40 /usr/local/java
vi /etc/profile 해서 아래의 내용을 최하단에 추가할 것!
#JAVA JDK7
export JAVA_HOME=/usr/local/java
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:/usr/local/bin:$JAVA_HOME/bin:$CATALINA_HOME/bin


source /etc/profile (/etc/profile의 내용을 적용시킴)
javac --version   (java가 연동되었는지 버전을 확인하는 것으로 검증) 

2. Apache Tomcat 설치

다운로드 사이트 http://tomcat.apache.org

tar zxxf apache-tomcat-7.0.37.tar.gz
cd apache-tomcat-7.0.37
mv apache-tomcat-7.0.37 /usr/local/
cd /usr/local
ln -s apache-tomcat-7.0.37/ tomcat
vi /usr/local/tomcat/conf/server.xml  해서 아래의 내용을 기존에 등록된 </Host> 하단에 추가!

        <Host name="hasudo24.com" appBase="/home/hasudo24/public_html"
              unpackWARs="true" autoDeploy="true">
         <context path="" docBase="/home/hasudo24/public_html"></context>
        </Host>

만일 다수의 계정을 Port 별로 추가하고 싶다면 아래의 <Service> 항목을 최하단에 추가

<Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    <Connector port="8012" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
      <Host name="sudo04.com"  appBase="/home/sudo04/public_html"
            unpackWARs="true" autoDeploy="true">
            <context path="" docBase="/home/sudo04/public_html"></context>
      </Host>
    </Engine>
  </Service>
/usr/local/tomcat/bin/startup.sh
ll /usr/local/tomcat/conf/Catalina/ 하위에 적용을 원하는 도메인명 폴더가 있는지 확인하고 없으면
mkdir 호스트네임명폴더 해서 만든다.  (대부분 자동으로 만들어질 것이다.
cd 호스트네임명폴더
vi ROOT.xml 해서 아래의 내용을 추가한다.!
<?xml version="1.0" encoding="utf-8"?>
<Context crossContext="true" docBase="/home/계정명/public_html" path="/" reloadable="true">
</Context>
netstat -nlp 해서 8080 포트가 java 로 사용되는지 확인


3. Tomcat-Connector 설치
tar zxvf tomcat-connectors-1.2.37-src.tar.gz
cd tomcat-connectors-1.2.37-src/native/
./configure --with-apxs=/usr/local/apache/bin/apxs
make && make install
cd apache-2.0/ (주의 : 자신의 apache 버전에 맞는 것으로 이동) mod_jk 가 설치된 것을 확인
* 정상적으로 설치가 되면 apache 모듈디렉토리에도 동일한 모듈이 만들어져있다.
 
(호스트먼트의 경우 first_setup/home/httpd/build 디렉토리를 /home/httpd/ 에 복사하면 에러 안남)
컴파일 에러가 발생하는 서버를 위해 완성된 모듈을 첨부한다. (첨부파일 참조)

vi /etc/httpd/conf/httpd.conf 해서 아래의 항목 추가
apache 1.3.x 의 경우 LoadModule jk_module     libexec/mod_jk.so
apache 2.x.x 의 경우 LoadModule jk_module          modules/mod_jk.so
 
그리고 아래의 Tomcat connector 설정 파일을 적절한 위치에 추가
 
# JSP TOMCAT
JkWorkersFile "/etc/httpd/conf/workers.properties"
JkLogFile "/var/log/httpd/mod_jk.log"
JkLogLevel emerg
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /*.do ajp13
JkMount /*.pts ajp13
JkMount /*.app ajp13
JkMount /*.bbs ajp13
 
vi /etc/httpd/conf/workers.properties 해서 아래의 내용을 추가할 것!
 
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
#worker.ajp13.lbfactor=1
 
vi /etc/httpd/conf/virtualhosts.conf 해서 적용을 원하는 계정의 </Virtualhost> 상단에 아래내용 추가!
 
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /*.do ajp13
 
해당 계정 public_html 하단에 test.jsp 파일을 만들어 아래내용 추가
 
<%@ page contentType="text/html; charset=euc-kr" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
 </HEAD>
 <BODY>
<% out.print("이 페이지가 보이신다면 JSP 환경이 정상적으로 구성된 것입니다.");%>
 </BODY>
</HTML>

또다른 내용의 test.jsp (현재 시스템 시각을 호출함)

<%@ page language="java" contentType="text/html; charset=EUC-KR"
     pageEncoding="EUC-KR"%>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <%@ page import="java.util.Date" %>

<head>
 <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
 <title>Insert title here</title>
 </head>
 <body>
안녕하세요!<br>
아래의 현재시각이 보인다면 정상적으로 jsp 가 구동된 것입니다.<br>

<%
  Date d = new Date();
 
  //out객체는 클라이언트 웹브라우져에 출력할 수 있는 jsp 내장객체
 out.println(d);//클라이언트 웹브라우져로 출력됨
%>
 </body>
 </html>