The Pursuit of Happyness

반응형


PHPMailer 에 대한 새로운 사용법을 새로운 포스트에 남겨두었습니다. 참고하세요.


1. 다음 링크에서 필요한 모듈을 다운로드 받는다. (PHPMailer)

http://code.google.com/a/apache-extras.org/p/phpmailer/

개발자가 코드를 github 로 옮겼습니다. 아래 링크에서 다운로드 받으세요..

=> https://github.com/PHPMailer/PHPMailer

 

2. 다운로드 받은 파일을 적당한 경로에 압축을 푼다.

ex)

/var/www/html/inc/PHPMailer

 

3. 메일 보낼 코드 작성

/var/www/html/mailSample.php

 

<?php

require_once("inc/PHPMailer/class.phpmailer.php");

 

$mail = new PHPMailer(true);

$mail->IsSMTP();

try {

  $mail->Host = "smtp.gmail.com";    // email 보낼때 사용할 서버를 지정

  $mail->SMTPAuth = true;              // SMTP 인증을 사용함

  $mail->Port = 465;                        // email 보낼때 사용할 포트를 지정

  $mail->SMTPSecure = "ssl";        // SSL을 사용함

  $mail->Username   = "GMAIL ACCOUNT";    // Gmail 계정

  $mail->Password   = "PASSWORD";            // 패스워드

 

  $mail->SetFrom('from email address', 'Display Name'); // 보내는 사람 email 주소와 표시될 이름 (표시될 이름은 생략가능)

  $mail->AddAddress('to email address', 'Display Name'); // 받을 사람 email 주소와 표시될 이름 (표시될 이름은 생략가능)

  $mail->Subject = 'Email Subject';        // 메일 제목

  $mail->MsgHTML("Email Content");    // 메일 내용 (HTML 형식도 되고 그냥 일반 텍스트도 사용 가능함)

 

  $mail->Send();                                // 실제로 메일을 보냄

  echo "Message Sent OK<p></p>\n";

} catch (phpmailerException $e) {

  echo $e->errorMessage(); //Pretty error messages from PHPMailer

} catch (Exception $e) {

  echo $e->getMessage(); //Boring error messages from anything else!

}

?>

 

 

 

반응형

반응형

웹서버로 많이 사용하는 Apache-Tomcat 에서 tomcat 기본적으로 8080 포트에서 동작하는데,

기본 웹서버 포트인 80 포트로 동작시키기 위해서는 mod_proxy mod_jk 이용해서 포트를 연결해 줘야 한다.

 

mod_proxy mod_jk 장단점은 다음과 같다.

@ mod-proxy

- 장점

                1. 추가 모듈이 따로 필요 없다.  (Apache 2.2 이상에서는 mod_proxy, mod_proxy_http, mod_proxy_ajp, mod_proxy_balancer 모두 포함되어 있다.)

                2. http, https 혹은 AJP 사용가능

- 단점

                1. mod_proxy_ajp 8K+ 크기의 패킷을 지원하지 않는다.

                2. 기본 load balancer 사용한다.

                3. Domain model clusterig 지원하지 않는다.

@ mod_jk

- 장점

                1. 향상된 load balancer

                2. 향상된 node failure detection

                3. 패킷 사이즈의 AJP 지원

- 단점

                1. 별도의 모듈을 설치해야 한다.

 

위의 내용은 아래 링크에서 가져온 내용임.

 https://community.jboss.org/people/mladen.turk/blog/2007/07/16/comparing-modproxy-and-modjk

 


@ mod_proxy 설정

                1. Apache 설치되어 있으면 별다른 설치는 필요없다.

                2. 설정

httpd.conf

 

                    ProxyPass /app http://127.0.0.1:8080/app

                    ProxyPassReverse /app http://127.0.0.1:8080/app

 

 

@ mod_jk 설정

                1. Httpd Developer 버전을 준비한다. (yum install httpd-devel)

                2. Connector 모듈을 다운로드 한다.  (http://tomcat.apache.org/connectors-doc/)

                3.  설치

 

                    cd native/

                    ./configure --with-apxs=/usr/sbin/apxs

                    make

                    sure make install

 

                4. 설정

httpd.conf

 

                    LoadModule jk_module modules/mod_jk.so


                   <IfModule jk_module>

                         JkWorkersFile  conf.d/workers.properties

                         JkMountFile  conf.d/uriworkermap.properties

                         JkShmFile  logs/mod_jk.shm

                         JkLogFile  logs/mod_jk.log

                         JkLogLevel  info

                         JkLogStampFormat  "[%a %b %d %H:%M:%S %Y] "

                    </IfModule>

 

 workers.properties

 

worker.list=ajp

worker.ajp.port=8009

worker.ajp.host=localhost

worker.ajp.type=ajp13

worker.ajp.lbfactor=1

worker.ajp.socket_timeout=60


uriworkermap.properties

 

/*.do=ajp

/*.jsp=ajp

/*.js=ajp

/*.gif=ajp

/*.jpg=ajp

/*.css=ajp



반응형

반응형

Cached memory purge

@ Check memory status with top command

> top


@ purge cached memory

> sync

> echo 3 > /proc/sys/vm/drop_caches


반응형

반응형
Wordpress 블로그 설치하기

먼저apache (httpd), mysql, php, php-mysql 을 설치합니다.
참고로 최신 버전(3.3.1) 의 Wordpress 는 php 5.2.x 설치를 요구합니다.

설치 과정
1. 블로그에서 사용할 DB를 생성합니다.
@ mysql DB 생성하기
- mysql> CREATE DATABASE [blogDBname]
@ 데이터베이스 사용자 생성
-mysql> GRANT ALL PRIVILEGES ON [blogDBname].* TO ‘[blogDBUser]’@’[blogServerHost]’ IDENTIFIED BY ‘[blogDBpassword]’;

2. Wordpress  최신버전을 다운로드 하여 해당 경로에 압축을 풉니다. 
(최신버전 다운로드 경로 http://wordpress.org/latest.zip)
CentOS 기준 /var/www/html 에서 압축을 풀면
/var/www/html/wordpress 폴더가 생성됩니다.
wordpress 폴더를 사용할 블로그 이름으로 바꾸어 줍니다.
mv /var/www/html/wordpress /var/www/html/[blogname]

3. 연결할 DB에 대한 설정을 합니다.
먼저wp-config-sample.php 파일을 복사하여wp-config.php 을 생성합니다.

cd /var/www/html/[blogname]
cp wp-config-sample.php wp-config.php

wp-config.php 파일을 편집합니다.
vi wp-config.php

define 된 값들 중에 다음 값을 변경합니다.
define('DB_NAME', '[blogDBName]'); 
define('DB_USER', '[blogDBUser]'); 
define('DB_PASSWORD', ‘[blogDBpassword]’);
define('DB_HOST', ‘[blogServerHost]’);

4. 파일을 업로드할 폴더의 권한을 설정합니다.
cd /var/www/html/[blogname]
chmod 777 –R wp-content

5. 웹브라우저를 통해 접속하여 admin 설정을 하면 블로그가 생성됩니다.
위의 방법대로 설치를 하게 되면 한 서버에서 여러 블로그를  생성하기도 간단합니다.
DB를 생성하고 해당 경로마다 압축된 Wordpress  파일들을 복사해 넣고, 폴더명을 변경하고 DB 설정을 해주면 됩니다.


 
반응형

반응형
패키지 설치
rpm -ivh [패키지 파일 이름]

설치된 패키지 확인
rpm -qa

패키지 업그레이드
rpm -Uvh [패키지 파일 이름]

패키지 삭제
rpm -ev [패키지 파일 이름]

반응형

반응형
이 포스트는 아래 링크에 있는 자료를 요약한 자료 입니다.

http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/ 



ssh-keygen 과 ssh-copy-id 를 이용하면  패스워드를 입력하지 않고 리눅스 서버에 접속할수 있습니다.

ssh-keygen 은 public / private 키를 생성하는 명령어이고,

ssh-copy-id 는 로컬 호스트에 있는 public 키를 원격 서버에 있는 인증된 키를 저장하는 파일 (authorized_keys)  에 추가해 주는 명령어 입니다.

ssh-copy-id 는 원격 호스트의 홈 폴더에 있는 ~/.ssh 폴더, ~/.ssh/ authorized_keys 파일에 적절한 권한을 부여해줍니다.


1 단계 로컬호스트에서 ssh-key-gen 을 이용하여 public / private 키를 생성하기

userid@local-host$ [Note: You are on local-host here]

userid@local-host$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/userid/.ssh/id_rsa):[Enter key]
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Pess enter key]
Your identification has been saved in /home/userid/.ssh/id_rsa.
Your public key has been saved in /home/userid/.ssh/id_rsa.pub.
The key fingerprint is:
73:b4:ee:aa:b5:c5:d8:e1:f1:a5:1e:26:5f:2f:53:9f userid@local-host

2 단계 ssh-copy-id 를 이용해서 원격 서버로 public 키를 복사하기

userid@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host
userid@remote-host's password:
Now try logging into the machine, with "ssh 'remote-host'", and check in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.
Note: ssh-copy-id 는 원격 서버에 있는 .ssh/authorized_key 에 public 키를 추가해 주는 작업입니다.


3단계 패스워드없이 원격서버에 로그인하기

userid@local-host$ ssh remote-host
Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2
[Note: SSH did not ask for password.]

userid@remote-host$ [Note: You are on remote-host here]

정리를 해 보면 서버1에서 서버2에 접속하기 위해서는 서버1에서 공용키를 생성해서 서버2에 복사해서 인증을 해 두어야 한다는 것입니다.

맥에서는 ssh-copy-id 라는 명령어가 없기 때문에 ssh-copy-id 에 해당하는 부분은 수동으로 설정을 해야 합니다.

방법은 서버1에서 ssh-keygen 으로 생성한 ~/.ssh/id_rsa.pub 파일을 서버2로 보냅니다. 

scp ~/.ssh/id_rsa.pub remote-host:home/userid

서버2에 로그인 하여, 다음의 명령어를 이용하여 public 키를 추가합니다.

cat ~/id_rsa.pub >> ~/.ssh/authorized_key



반응형

반응형
서비스 목록 보기
chkconfig --list

부팅시 서비스가 자동으로 실행되게 하기
chkconfig [서비스명] on

부팅시 서비스가 자동으로 실행되지 않게 하기
chkconfig [서비스명] off

ex)
chkconfig httpd on
chkconfig httpd off

참고로 부팅 레벨에 따라서 서비스 실행여부를 자세히 설정할 수도 있다.



 
반응형

반응형

sudo dmidecode --type 17

관련 링크
http://www.cyberciti.biz/faq/check-ram-speed-linux/  

dmidecode 가 설치되어 있지 않은 경우는 아래 명령을 이용하여 설치할 수 있다.

yum install dmidecode 

 
반응형

반응형
<?php

function post_request($url, $data) {
// Convert the data array into URL Parameters like a=b&foo=bar etc.
$data = http_build_query($data);

// parse the given URL
$url = parse_url($url);

if ($url['scheme'] != 'http') {
return "Error:Only HTTP request are supported!";
}

// extract host and path:
$host = $url['host'];
$path = $url['path'];
$res = '';

// open a socket connection on port 80 - timeout: 300 sec
if ($fp = fsockopen($host, 80, $errno, $errstr, 300)) {
$reqBody = $data;
$reqHeader = "POST $path HTTP/1.1\r\n" . "Host: $host\r\n";
$reqHeader .= "Content-type: application/x-www-form-urlencoded\r\n"
. "Content-length: " . strlen($reqBody) . "\r\n"
. "Connection: close\r\n\r\n";

/* send request */
fwrite($fp, $reqHeader);
fwrite($fp, $reqBody);

while(!feof($fp)) {
$res .= fgets($fp, 1024);
}

fclose($fp);
} else {
return "Error:Cannot Connect!";
}

// split the result header from the content
$result = explode("\r\n\r\n", $res, 2);

$header = isset($result[0]) ? $result[0] : '';
$content = isset($result[1]) ? $result[1] : '';

return $content;
}

// usage
$url =  "http://www.example.com/receiver.php";
$data = array("key" => "value");
$res = post_request($url, $value);

?> 
 
반응형

반응형
구글코드에 있는 소스

http://code.google.com/p/php-excel-reader/


반응형