如何在CentOS 8上安装Snipe-IT资产管理

时间:2020-02-23 14:31:16  来源:igfitidea点击:

介绍

Snipe-IT是一个基于Laravel构建的,用于IT资产管理的免费开源项目。例如,这有助于使IT部门跟踪谁拥有哪台笔记本电脑,何时购买笔记本电脑,哪些软件许可证和附件可用等等。本指南将向我们展示如何在CentOS 8 Linux计算机上安装Snipe-IT资产管理。

这些是我们在CentOS 8 Linux系统上安装和配置Snipe-IT资产管理的步骤。我们需要具有sudo特权的服务器或者标准帐户的root用户访问权限。

更新服务器和安装依赖项

更新CentOS系统。

sudo dnf -y update

安装git并添加EPEL存储库:

sudo dnf -y install epel-release vim git

安装Apache Web服务器

Apache httpd服务器将用于在CentOS 8上托管Snipe-IT资产管理Web应用程序。请通过运行以下命令进行安装。

sudo dnf -y install httpd

启动并启用Apache httpd服务。

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

安装PHP和模块

PHP也需要作为关键的依赖项。按照本指南在系统上安装PHP 7.4

如何在CentOS 8/RHEL 8上安装PHP 7.4

Snipe-IT还需要许多其他PHP模块:

sudo dnf -y install php-openssl php-pdo php-mbstring php-tokenizer php-curl php-mysql php-ldap php-zip php-fileinfo php-gd php-dom php-mcrypt php-bcmath

安装MariaDB数据库服务器

按照本指南在系统上安装MariaDB 10.4

如何在CentOS 8/RHEL 8上安装MariaDB

启动并启用MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

创建Snipe-IT数据库

登录到上一步中已安装的数据库,创建数据库和用户。

$mysql -u root -p

CREATE DATABASE snipeit;
CREATE USER 'snipeit'@'localhost' IDENTIFIED BY 'Je1eimom4chahth'; # Make sure you have used strong password here.
GRANT ALL PRIVILEGES ON snipeit.* TO 'snipeit'@'localhost';
FLUSH PRIVILEGES;
EXIT;

安装PHP作曲家

Composer是一个PHP应用程序包管理器,旨在提供一种标准格式来管理PHP软件和所需库的依赖关系

使用此链接安装PHP作曲家

如何在CentOS 8/RHEL 8上安装PHP Composer

在CentOS 8上下载Snipe-IT

从git中拉取Snipe-IT:

sudo git clone https://github.com/snipe/snipe-it /var/www/html/snipe

配置Snipe-IT

在本地服务器中拥有Snipe-IT副本之后,现在让我们继续进行配置。
创建一个.env文件。

从下载的文件中我们已经有一个.env.example文件。切换到从git下载文件的目录,然后简单地复制.env.example,如下所示。

cd /var/www/html/snipe
sudo cp .env.example .env

现在让我们相应地编辑.env文件。我们可能已经注意到,该文件具有许多选项,但是以下是目前最重要的选项。我们可以根据自己的喜好添加其他内容,例如邮件服务器设置和其他内容。

$sudo vim .env

APP_URL=example.com           # Input the IP Address or FQDN of your Snipe App
APP_TIMEZONE='UTC'            # Input it to match the country you are at
DB_DATABASE=snipeit           # Input the name of the database we created earlier
DB_USERNAME=snipeit           # Input the username of the database we created earlier 
DB_PASSWORD=Je1eimom4chahth   # Input the password of the database we created earlier

完成后,尽管仍在目录中,我们还是下载了Snipe-IT,让我们为文件提供正确的权限和所有权,如下所示。

sudo chown -R apache:apache storage public/uploads
sudo chmod -R 755 storage
sudo chmod -R 755 public/uploads

步骤9:使用composer安装PHP依赖项

使用我们先前安装的Composer,让我们安装PHP的所有依赖项。

检查其中安装作曲家

$which composer
/usr/local/bin/composer

安装依赖项。这可能需要一段时间才能完成:

sudo /usr/local/bin/composer install --no-dev --prefer-source

我们应该看到如下所示的输出

0:生成APP_Key。

仍然在我们下载SnipeIT文件的目录中,运行以下命令

$sudo php artisan key:generate
Application In Production!     *  
Do you really wish to run this command? (yes/no) [no]:
  > yes 
Application key [base64:yXaQTcuJo/rXHoNxG+C/X/aYyHQ6/Va3NHu4YUPpBAQ=] set successfully.

1:配置Apache

配置防火墙服务以允许http端口:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

导航到Apache文件夹并创建SnipeIT虚拟主机:

cd /etc/httpd/conf.d/

为虚拟主机创建一个文件,并添加与下面所示类似的常规VirtualHost配置。

$sudo vim geeksnipe.conf
<VirtualHost *:80>
  ServerName example.com
  DocumentRoot /var/www/html/snipe/public
  <Directory  /var/www/html/snipe/public>
    Options Indexes FollowSymLinks Multiviews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>
</VirtualHost>

请参见下面的屏幕截图。

重新启动Apache:

sudo systemctl restart httpd

2:配置SELinux

运行以下命令以获取管理软件包:

sudo yum provides /usr/sbin/semanage

我们应该获得诸如policycoreutils-python-utils-2.8-16.1.el8.noarch之类的内容

安装该软件包:

sudo yum install policycoreutils-python-utils

安装后,导航至保存SnipeIT文件的目录,然后以root身份运行以下命令。

sudo semanage fcontext -a -t httpd_sys_rw_content_t " /var/www/html/snipe(/.*)/?"
sudo restorecon -R -v  /var/www/html/snipe/
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/snipe/storage(/.*)?"
sudo restorecon -RF /var/www/html/snipe/storage

SELinux可能会阻止Apache打开任何传出套接字。为了允许它,以根用户身份运行以下命令:

sudo setsebool -P httpd_can_network_connect on

3:在CentOS 8上完成Snipe-IT设置

单击创建数据库表

单击创建用户。

输入页面要求我们输入的详细信息

完成并加载仪表板