AWS S3 사용 기본모듈(Ver.0.1) > 그누보드5 플러그인

그누보드5 플러그인

그누보드는 다양한 기능을 추가하기 쉽습니다.

AWS S3 사용 기본모듈(Ver.0.1) 정보

AWS S3 사용 기본모듈(Ver.0.1)

첨부파일

s3upload.zip (552byte) 10회 다운로드 2022-12-12 02:30:37
테스트한 버전5.3
호환 가능 버전5.3이상

본문

aws s3를 사용하여 상품등록과 배너이미지등을 등록할 목적으로 만들다가 필요하신분들이잇을것 같아서

샘플모듈을 업로드합니다.

 

목차

1.  php composer 설치

2.  composer 설치 확인

3. Bucket 생성 

4.  AWS= 보안자격증명 = 액세스키 생성

    csv에 key와 secretkey 확인

5. 파일업로드(Form/ Ajax multipart)

6. 해당파일 확인 (cdn서비스등, 도메인 등록후)

 

전제조건

=  그누보드나 영카트는 대부분 웹호스팅을 사용하시지만 php composer 설치가 가능한 root권한이있어야

    사용이 가능하다는걸 알게되었습니다.(웹호스팅에서도 가능한 방법이있으면 알려주세요)

 

PHP Composer 설치 ( 출처 : https://jjeongil.tistory.com/1343 )

01. Composer를 다운로드 및 설치하기 전에 먼저 패키지 인덱스를 업데이트하고 필요한 요구 사항을 설치합니다.

sudo apt update
sudo apt install wget php-cli php-zip unzip

02. 이제 php cli가 시스템에 설치되었으므로 다음을 사용하여 Composer 설치 프로그램을 다운로드할 수 있습니다.

php -r "copy('<https://getcomposer.org/installer>', 'composer-setup.php');"

03. 다음으로 스크립트 SHA-384 해시와 Composer Public Keys / Signatures 페이지에 있는 최신 설치 프로그램 해시를 비교하여 스크립트의 데이터 무결성을 확인해야 합니다.

다음 wget 명령을 사용하여 Composer의 Github 페이지에서 최신 Composer 설치 프로그램의 예상 서명을 다운로드하고 HASH라는 변수에 저장합니다.

HASH="$(wget -q -O - <https://composer.github.io/installer.sig>)"

이제 다음 명령을 실행하여 설치 스크립트가 손상되지 않았는지 확인합니다.

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

해시가 일치하면 다음 출력이 표시됩니다.

Installer verified

04. 다음 명령은 /usr/local/bin 디렉토리에 Composer를 설치합니다.

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

# All settings correct for using Composer# Downloading...## Composer (version 1.8.5) successfully installed to: /usr/local/bin/composer# Use it: php /usr/local/bin/composer

composer는 시스템 전체 명령으로 설치되며 모든 사용자가 사용할 수 있습니다.

05. 마지막 단계는 설치를 확인하는 것입니다.

root 디렉트에서 설치후 composer  명령어로 확인

  

982509662_1670778987.6626.png

 

 

 

Composer [Quick Way] 설치

다음 명령을 사용하여 Ubuntu 시스템에 Composer를 신속하게 설치할 수 있습니다.

01. PHP CLI 및 Zip을 설치합니다.

sudo apt update && sudo apt install wget php-cli php-zip unzip curl

02. curl로 Composer를 다운로드합니다.

curl -sS <https://getcomposer.org/installer> |php

03. Composer 파일을 /usr/local/bin 디렉토리로 이동합니다.

sudo mv composer.phar /usr/local/bin/composer

 

ROOT 디렉토리에서

==> 예제) /usr/share/nginx/html 에서 composer 실행

 

composer require aws/aws-sdk-php

composer require aws/aws-php-sns-message-validator

 

982509662_1670779160.6535.png

 

소스 코드 샘플

 

982509662_1670779190.6334.png

 

 

소스

<?php
    require './vendor/autoload.php';

   

    use Aws\S3\S3Client;
    use Aws\Exception\AwsException;
    use Aws\S3\MultipartUploader;
    use Aws\Exception\MultipartUploadException;

    $s3Client = new S3Client([
        'version' => 'latest',
        'region'  => 'ap-northeast-2', //서울 리젼 
        'credentials' => [
            'key' => 'XXX',
            'secret' => 'XXX'
        ]
    ]);

    $bucket = ''; //버킷이름
    $source = 'sample.mp4';
    $uploadKey = uniqid('video_', true) . '.' . end(explode('.', $source));
    $uploader = new MultipartUploader($s3Client, $source, [
        'bucket' => $bucket,
        'key' => $uploadKey,
    ]);

    try {
        $result = $uploader->upload();
        echo "Upload complete: {$result['ObjectURL']}\n";
    } catch (MultipartUploadException $e) {
        echo $e->getMessage() . "\n";
    }


?>

 

업로드이후에 해당 도메인(cdn.도메인/ 변환파일명) 으로 확인가능합니다.

 

Ver 0.2에서는 실제관리자와 도메인으로 업데이트 하겠습니다.

현재는 샘플 모듈만 만들어져있고 Form이나 ajax로 넘겨서 사용하시면될것 같습니다.

 

안되시는 분들은 댓글이나 쪽지주십시오 아는범위에서 확인후 조치해드리겠습니다.

문제가 되는 부분이있으면 말씀주시면 내리도록 하겠습니다.

 

php 버전은 7.4에서 테스트하였습니다. 

 

 

 

추천
6

댓글 전체

컴포저가 php 패키지관리겸 오토로더 생성해주는 툴이죠
개발컴에서 컴포저 설치해서 vendor폴더랑 오토로드
생성된거 그대로 업로드하면 문제될게 없습니다

카페24 노드호스팅에서 node_modules 폴더 전체 업로드 하는거랑 같습니다
전체 441
그누보드5 플러그인 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIR SOFT