CentOS7에 Snipe-IT 도입

Snipe-IT란?


  • 자산 관리 도구
  • OSS
  • Laravel 기반
  • hp : htps : //s에 빠져 p. 코m/
  • git : htps : // 기주 b. 이 m / s에 p / s에 p-t

  • 환경


    cat /etc/redhat-release
    CentOS Linux release 7.4.1708 (Core)
    
    uname -a
    Linux hostname 3.10.0-693.5.2.el7.x86_64 
    #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
    
    nginx -v
    nginx version: nginx/1.13.6
    
    mysql --version
    mysql  Ver 15.1 Distrib 10.1.28-MariaDB, for Linux (x86_64) using readline 5.1
    
    rpm -qa | grep Mari
    MariaDB-common-10.1.28-1.el7.centos.x86_64
    MariaDB-client-10.1.28-1.el7.centos.x86_64
    MariaDB-server-10.1.28-1.el7.centos.x86_64
    
    php -v
    PHP 7.0.25 (cli) (built: Oct 24 2017 18:17:05) ( NTS )
    Copyright (c) 1997-2017 The PHP Group
    Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    
    php-fpm -v
    PHP 7.0.25 (fpm-fcgi) (built: Oct 24 2017 18:18:32)
    Copyright (c) 1997-2017 The PHP Group
    Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    

    설치 절차



    step1 : nginx


    # install
    yum install epel-release
    rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    yum --enablerepo=epel install nginx
    
    # auto start
    systemctl enable nginx
    systemctl start nginx
    
  • httpd(80번 포트)에의 통신을 허가
  • sudo firewall-cmd --add-service=http --zone=public --permanent
    success
    
    sudo  firewall-cmd --reload
    success
    

    step2 : php, php-fpm, php-process


  • php71은 안타깝습니다
  • yum --enablerepo=remi-php70 install php php-fpm php-mbstring php-pdo php-mysqlnd php-mcrypt php-gd php-zip
    
  • php-fpm 실행 사용자 및 그룹 변경
  • " /etc/php-fpm.d/www.conf
    user = nginx
    group = nginx
    
  • php-process
  • php upgrade.php 하기 위해 필요

  • # 私の場合は 7.0.25-1.el7.remi だから
    wget https://rpms.southbridge.ru/rhel7/php-7.0/x86_64/php-process-7.0.25-1.el7.remi.x86_64.rpm
    sudo rpm -ivh php-process-7.0.25-1.el7.remi.x86_64.rpm
    
  • 서비스
  • sudo systemctl enable php-fpm
    sudo systemctl start php-fpm
    

    step3 : MariaDB


  • 10.2는 좋지 않다
  • " /etc/yum.repos.d/MariaDB.repo
    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.1/centos7-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1
    
  • 설치 및 서비스 자동화
  • # install
    yum install mariadb mariadb-server
    
    # auto start
    sudo systemctl enable mariadb.service
    sudo systemctl start mariadb.service
    
  • 설정
  • # setup
    mysql_secure_installation
    
  • DB 및 사용자 생성
  • # mysql -u root -p
    MariaDB [(none)]< create database snipeit;
    MariaDB [(none)]< grant all on snipeit.* to root@localhost identified by '*****';
    MariaDB [(none)]< flush privileges;
    MariaDB [(none)]< exit;
    

    step4 : Snipe-IT


  • 공식 추천은 git clone
  • sudo git clone https://github.com/snipe/snipe-it /var/www/snipe-it
    

    설정


    cd /var/www/snipe-it
    sudo cp .env.example .env
    
  • 변경된 부분 만 표시
  • " /var/www/snipe-it/.env
    
    # REQUIRED: BASIC APP SETTINGS
    " 不具合の原因調査に有効
    APP_DEBUG=true
    
    " Snipe-IT をインストールしたマシンのアドレス
    APP_URL= null
    
    APP_TIMEZONE='Asia/Tokyo'
    fAPP_LOCALE=ja
    
    # REQUIRED: DATABASE SETTINGS
    DB_CONNECTION=mysql
    DB_HOST=localhost
    DB_DATABASE=snipeit
    DB_USERNAME=root
    DB_PASSWORD=****
    DB_PREFIX=null
    DB_DUMP_PATH='/usr/bin'
    DB_CHARSET=utf8mb4
    DB_COLLATION=utf8mb4_unicode_ci
    

    권한


    # /var/www/snipe-it
    chown -R nginx:nginx /var/www/snipe-it
    chmod -R 755 storage
    chmod -R 755 storage/private_uploads
    chmod -R 755 public/uploads
    

    step5 : composer


  • /var/www/snipe-it에 직접 다운로드 할 수 없습니다
  • cd ~
    curl -sS https://getcomposer.org/installer | php
    sudo mv composer.phar /var/www/snipe-it
    sudo php composer.phar install --no-dev --prefer-source
    

    step6 : APP_KEY


    # /var/www/snipe-it
    sudo php artisan key:generate
    

    step7 : nginx.conf


    # /etc/nignx/nginx.conf
    http {
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile            on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
    
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
    
        # Load modular configuration files from the /etc/nginx/conf.d directory.
        # See http://nginx.org/en/docs/ngx_core_module.html#include
        # for more information.
        include /etc/nginx/conf.d/*.conf;
    
        server {
            listen       80 default_server;
            listen       [::]:80 default_server;
            server_name  snipeit;
            root         /var/www/snipe-it/public;
            index index.php index.html index.htm;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            location / {
                try_files $uri $uri/ /index.php$is_args$args;   ← 追記
            }
            ↓ 追記
            location ~ \.php$ {
                try_files $uri $uri/ =404;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
            }
        }
    sudo systemctl reload nginx
    

    Snipe-IT


  • top page


  • version



  • Snipe-IT 버전
    php version
    라라벨 버전


    v4.1.3 build 48 (g74aa562)
    7.0.25
    5.4.29


    도전



    일본어로 pdf 저장할 때의 주의점


  • 디폴트에서는 문자화 했다···
  • pdf 화할 때는 jsPDF 를 사용하고 있는 것 같다

  • 주의점



    권한


  • laravel5 설치시 파일 권한 오류 - 시스템 운영자 주말
  • sudo chcon -R -t httpd_sys_rw_content_t /var/www/laravel/storage
    sudo chcon -R -t httpd_sys_rw_content_t /var/www/laravel/bootstrap/cache
    

    메일


  • email - Connection could not be established with host smtp.gmail.com [Permission denied #13] - Stack Overflow
  • sudo setsebool -P httpd_can_network_connect on
    sudo setsebool -P httpd_can_sendmail on
    

    참고


  • Laravel 기반으로 사용하기 쉬운! Snipe-IT (오픈 소스 IT 자산 관리) – ORATTA Labs Blog
  • 오픈 소스 IT 자산 관리 도구 Snipe-IT 설치 - bnote
  • 좋은 웹페이지 즐겨찾기