一,snipe IT安装
Snipe IT is an asset management tool built using PHP. It supports multi-location, Asset management and many other features. in this tutorial, we would talk about how to install snipe-it on centos 7 using PHP-fpm and nginx.
(1)install php and php-fpm
1,install epel-release and ius release.we will use php71 in this setup.
rpm -Uvh [https://rhe17.iuscommunity.org/ius-release.rpm](https://rhe17.iuscommunity.org/ius-release.rpm)
yum install epel-release -y
2,update system
yum update -y & reboot
3,install the required software.
yum install git php71u-fpm php71u-bcmath php71u-json php71u-cli hp71u-openssl php71u-pdo php71u-mbstring php71u-tokenizer php71u-curl php71u-mysqlnd php71u-ldap php71u-zip php71u-fileinfo php71u-gd php71u-dom php71u-mcrypt php71u-json
4,install nginx and php-fpm
yum -y install php71u-fpm -y
5,setup php-fpm
Vim /etc/php-fpm.d/www.conf
User = nginx
Group = nginx
Listen.owner = nginx
Listen.group = nginx
Listen.mode = 0660
#uncomment the line
Listen = /run/php-fpm/www.sock
Listen = 127.0.0.1:9000
6,start php-fpm
Systemctl enable php-fpm
Systemctl start php-fpm
7,check php-fpm run
ps -ef php-fpm
(2)clone snipe-it and configure permissions**
1,clone repository from github
#cd /var/www
#git clone https://github.com/snipe/snipe-it /var/www/snipe-it
2,set permissions for the folder
cd /var/www/snipe-it
sudo chmod -R 755 storage
sudo chmod -R 755 public/uploads
sudo chmod -R 755 bootstrap/cache
sudo chmod -R 755 bootstrap/cache
sudo chmod -R 755 public/uploads
sudo chmod -R 755 storage
3,change owner permission to nginx as the code is going to be excuted using nginx user.
Chown -Rv nginx:nginx /var/www/snipe-it
4,setup environment for snipe it
cd /var/www/snipe-it
cp .env.example .env
vim .env
# --------------------------------------------
# REQUIRED: BASIC APP SETTINGS
# --------------------------------------------
APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:OpJk1ESwRT4+NfZdnfs/G6h2Lx1SgXBcvuxglhhuLjs=
APP_URL=192.168.18.129
APP_TIMEZONE='Asia/Shanghai'
APP_LOCALE=zh-CN
MAX_RESULTS=500
# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=snipeit
DB_USERNAME=snipeit
DB_PASSWORD= securepassword
DB_PREFIX=null
DB_DUMP_PATH='/usr/bin'
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
5,install composer and install required packages.
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/bin/composer
cd /var/www/snipe-it
composer install --no-dev --prefer-source
php artisan key: generate
(3)install nginx and configure nginx**
1,install nginx
yum install nginx
2,configure nginx
vim /etc/nginx/conf.d/snipe-it.conf
server {
listen 80;
server_name 192.168.18.129;
root /var/www/snipe-it/public/;
index index.php index.html index.htm;
access_log /var/log/nginx/snipeit.access.log;
error_log /var/log/nginx/snipeit.error.log;
# return 301 https://$server_name$request_uri;
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;
fastcgi_read_timeout 300;
}
}
(4)install mysql and configure mysql**
1,uninstall mariadb
#rpm -qa mariadb
# rpm -e mariadb* --nodeps
2,install mysql
# wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
# yum localinstall mysql80-community-release-el7-1.noarch.rpm
// 安装 YUM 管理工具包,此包提供了 yum-config-manager 命令工具
# yum install yum-utils
// 禁用 8.0
# yum-config-manager --disable mysql80-community
// 启用 5.7
# yum-config-manager --enable mysql57-community
//安装mysql
# yum install -y mysql-community-server
// 启动
# systemctl start mysqld.service
// 查看状态
# systemctl status mysqld.service
// 开机自启动
# systemctl enable mysqld
// 查看监听端口,默认 3306
# ss -natl |grep 3306
//查看密码
# grep 'temporary password' /var/log/mysqld.log
//修改root密码
mysql>alter user root@localhost identified by 'QFedu123!';
mysql>flush privileges;
3,create a database and assign permissions.
mysql
4,check nginx configure.
#nginx -t
#systemctl enable nginx
#systemctl start nginx
#systemctl status nginx