설치
GitHub를 사용한 설치
다음 명령으로 NIGIX를 설치하겠습니다.
sudo apt-get update
sudo apt install nginx
다음으로 PHP 및 필수 모듈을 설치하십시오.
sudo apt install php7.0 php7.0-mysqli php7.0-fpm php7.0-mbstring php7.0-xml php7.0-imap php7.0-json php7.0-zip php7.0-gd
다음으로 다음 명령으로 mysql을 설치하십시오.
sudo apt install mysql-server libmysqlclient-dev
이제 git을 설치하려면 다음 명령을 실행하십시오.
sudo apt install git
MySQL에 로그인하고 Freescout 데이터베이스 및 사용자를 작성하십시오.
CREATE DATABASE `freescout` CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL PRIVILEGES ON `freescout`.* TO `freescout`@`localhost` IDENTIFIED BY “XXX”;
EXIT;
Github에서 Freescout Directory를 만들고 응용 프로그램을 다운로드하십시오.
mkdir -p /var/www/html
sudo chown www-data:www-data /var/www/html
cd /var/www/html
git clone https://github.com/freescout-helpdesk/freescout
소유자를 변경하고 사용자에게 권한을 할당합니다.
chown -R www-data:www-data /var/www/html
sudo usermod -a -G www-data freescout
find /var/www/html -type f -exec chmod 664 {} \;
find /var/www/html -type d -exec chmod 775 {} \;
NIGIX 구성 파일 작성 :
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
rm /etc/nginx/sites-enabled/default
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
sudo nano /etc/nginx/sites-enabled/example.com
NIGIX 구성 파일은 다음과 같아야합니다.
server {
listen 80;
listen [::]:80;
server_name example.com http://www.example.com;
root /var/www/html/public;
index index.php index.html index.htm;
error_log /var/www/html/storage/logs/web-server.log;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Uncomment this location if you want to improve attachments downloading speed.
# Also make sure to set APP_DOWNLOAD_ATTACHMENTS_VIA=nginx in the .env file.
#location ^~ /storage/app/attachment/ {
# internal;
# alias /var/www/html/storage/app/attachment/;
#}
location ~* ^/storage/attachment/ {
expires 1M;
access_log off;
try_files $uri $uri/ /index.php?$query_string;
}
location ~* ^/(?:css|js)/.*\.(?:css|js)$ {
expires 2d;
access_log off;
add_header Cache-Control “public, must-revalidate”;
}
location ~* ^/(?:css|fonts|img|installer|js|modules|[^\\\]+\..*)$ {
expires 1M;
access_log off;
add_header Cache-Control “public”;
}
location ~ /\. {
deny all;
}
}
다음으로 Nigix Reload :
nginx -t
service nginx reload
CertBot을 설치하고 HTTPS를 활성화하십시오.
apt-get update
apt-get install software-properties-common
add-apt-repository universe
add-apt-repository ppa:certbot/certbot
apt-get update
apt-get install certbot python-certbot-nginx
certbot –nginx –register-unsafely-without-email
certbot renew –dry-run
옵션 2 : 리디렉션 - 리디렉션 - 모든 요청을 리디렉션하여 HTTPS 액세스를 보호하십시오. 자동 갱신을위한 Cronjob 설정.
0 12 * * * /usr/bin/certbot renew –quiet
마지막으로, 웹 설치자 https://example.com/install을 열고 지침을 따르십시오
Docker를 사용한 #### 설치 hub.docker.com에서 Freescout Image를 뽑습니다.
docker pull tiredofit/freescout
docker-compose.yml 구성 :
version: ‘2’
services:
freescout-app:
image: tiredofit/freescout
container_name: freescout-app
links:
– freescout-db
volumes:
#### If you want to perform customizations to the source and have access to it, then uncomment this line – This includes modules
#- ./data:/www/html
#### Or, if you just want to use Stock Freescout and hold onto persistent files like cache and session use this, one or the other.
– ./data:/data
#### If you want to just keep the original source and add additional modules uncomment this line
#- ./modules:/www/html/Modules
– ./logs/:/www/logs
environment:
– VIRTUAL_HOST=freescout.example.com
– VIRTUAL_NETWORK=nginx-proxy
– VIRTUAL_PORT=80
– LETSENCRYPT_HOST=freescout.example.com
– LETSENCRYPT_EMAIL=admin@example.com
– ZABBIX_HOSTNAME=freescout-app
– DB_HOST=freescout-db
– DB_NAME=freescout
– DB_USER=freescout
– DB_PASS=freescout
– SITE_URL=https://freescout.example.com
– ADMIN_EMAIL=admin@admin.com
– ADMIN_PASS=freescout
– ENABLE_SSL_PROXY=FALSE
– DISPLAY_ERRORS=FALSE
– TIMEZONE=America/Vancouver
networks:
– proxy-tier
restart: always
freescout-db:
image: tiredofit/mariadb
container_name: freescout-db
volumes:
– ./db:/var/lib/mysql
environment:
– ROOT_PASS=password
– DB_NAME=freescout
– DB_USER=freescout
– DB_PASS=freescout
– ZABBIX_HOSTNAME=freescout-db
networks:
– proxy-tier
restart: always
freescout-db-backup:
container_name: freescout-db-backup
image: tiredofit/db-backup
links:
– freescout-db
volumes:
– ./dbbackup:/backup
environment:
– ZABBIX_HOSTNAME=freescout-db-backup
– DB_HOST=freescout-db
– DB_TYPE=mariadb
– DB_NAME=freescout
– DB_USER=freescout
– DB_PASS=freescout
– DB_DUMP_FREQ=1440
– DB_DUMP_BEGIN=0000
– DB_CLEANUP_TIME=8640
– COMPRESSION=BZ
– MD5=TRUE
networks:
– proxy-tier
restart: always
networks:
proxy-tier:
external:
name: nginx-proxy
환경 파일을 만듭니다. httpsgithubcomtiredofitdockerfreescoutenvariables에서 사용할 수있는 환경 목록
Map Persistent Storage, httpsgithubcomtiredofitdockerfreescoutdatavolumes의 데이터 볼륨 구성을 검토하십시오 원하는 포트를 사용할 수 있고 노출되어 있는지 확인하십시오. 마침내 Docker-Compose를 실행하십시오. 축하해요! Freescout을 성공적으로 설치했습니다.