如何在Debian 9上安装Snipe-IT资产管理软件

Snipe-IT是一款免费的开源IT资产管理Web应用程序,可用于跟踪许可证,附件,耗材和组件。

如何在Debian 9上安装Snipe-IT资产管理软件

Snipe-IT是一个免费的开源IT资产管理Web应用程序,可用于跟踪许可证,附件,消耗品和组件。 它是用PHP语言编写的,使用MySQL来存储数据。 它是一个跨平台的应用程序,适用于Linux,Windows和Mac OS X等所有主流操作系统。它可轻松与Active Directory,LDAP集成,并支持与Google Authenticator的双重身份验证。

在本教程中,我们将学习如何在Debian 9服务器上安装Snipe-IT。

要求

  • 运行Debian 9的服务器
  • 具有sudo权限的非root用户。

入门

在安装任何软件包之前,建议使用最新版本更新系统软件包。 您可以通过运行以下命令来执行此操作:

sudo apt-get update -y
sudo apt-get upgrade -y

接下来,重新启动系统以应用所有更新。 然后使用以下命令安装其他必需的软件包:

sudo apt-get install git curl unzip wget -y

一旦所有的软件包安装完毕,你可以继续下一步。

安装LAMP服务器

Snipe-IT运行在Apache Web服务器上,因此您需要将LAMP(Apache,MariaDB,PHP)安装到您的系统中。

首先,使用以下命令安装Apache,PHP和其他PHP库:

sudo apt-get install apache2 libapache2-mod-php php php-pdo php-mbstring php-tokenizer php-curl php-mysql php-ldap php-zip php-fileinfo php-gd php-dom php-mcrypt php-bcmath -y

一旦所有软件包安装完毕,启动Apache服务并使用以下命令启动它:

sudo systemctl start apache2
sudo systemctl enable apache2

安装和配置MariaDB

Snipe-IT使用MariaDB来存储其数据。 所以你需要安装MariaDB到你的系统。 默认情况下,最新版本的MariaDB在Debian 9资源库中不可用。 所以你需要将MariaDB存储库安装到你的系统中。

首先,使用以下命令添加APT键:

sudo apt-get install software-properties-common -y
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db

接下来,使用以下命令添加MariaDB存储库:

sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.1/debian stretch main'

接下来,使用以下命令更新存储库:

sudo apt-get update -y

更新存储库之后,可以使用以下命令安装MariaDB:

sudo apt-get install mariadb-server mariadb-client -y

接下来,启动MariaDB服务并使用以下命令在启动时启动它:

sudo systemctl start mysql
sudo systemctl start mysql

您可以使用以下命令检查MariaDB服务器的状态:

sudo systemctl status mysql

如果一切正常,您应该看到以下输出:

? mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2017-12-25 08:41:25 EST; 29min ago
  Process: 618 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 615 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 436 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemc
  Process: 429 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 418 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 574 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 27 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           ??574 /usr/sbin/mysqld

Dec 25 08:41:07 debian systemd[1]: Starting MariaDB database server...
Dec 25 08:41:14 debian mysqld[574]: 2017-12-25  8:41:14 140488893776448 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as p
Dec 25 08:41:25 debian systemd[1]: Started MariaDB database server.

接下来,通过运行以下脚本来保护您的MariaDB:

sudo mysql_secure_installation

回答所有问题,如下所示:

Set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

一旦MariaDB安全,使用以下命令登录到MariaDB shell:

mysql -u root -p

提示时输入您的root密码,然后使用以下命令为Snipe-IT创建一个数据库:

MariaDB [(none)]> create database snipeitdb character set utf8;

接下来,为Snipe-IT创建一个用户,并使用以下命令将所有权限授予Snipe-IT:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON snipeitdb.* TO 'snipeit'@'localhost' IDENTIFIED BY 'password';

接下来,使用以下命令刷新权限:

MariaDB [(none)]> flush privileges;

最后,使用以下命令退出MariaDB控制台:

MariaDB [(none)]> quit

安装Snipe-IT

您可以使用以下命令从Git存储库下载最新版本的Snipe-IT:

git clone https://github.com/snipe/snipe-it snipe-it

接下来,使用以下命令将下载的目录移动到apache根目录:

sudo mv snipe-it /var/www/

接下来,您需要将Composer安装到您的系统中。 您可以使用以下命令安装它:

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

接下来,使用以下命令将目录更改为snipe-it并使用Composer安装PHP依赖项:

cd /var/www/snipe-it
sudo composer install --no-dev --prefer-source

接下来,使用以下命令生成“APP_Key”:

sudo php artisan key:generate

您应该看到以下输出:

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Application key [base64:uWh7O0/TOV10asWpzHc0DH1dOxJHprnZw2kSOnbBXww=] set successfully.

接下来,您将需要使用Snipe-IT的默认数据库模式填充MySQL。 您可以通过运行以下命令来执行此操作:

sudo php artisan migrate

键入yes,当提示确认您要执行迁移时:

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Migration table created successfully.

接下来,复制示例.env文件并对其进行一些更改:

sudo cp .env.example .env
sudo nano .env

更改以下行:

APP_URL=http://example.com
APP_TIMEZONE=US/Eastern
APP_LOCALE=en

# --------------------------------------------
# REQUIRED: DATABASE SETTINGS
# --------------------------------------------
DB_CONNECTION=mysql
DB_HOST=localhost
DB_DATABASE=snipeitdb
DB_USERNAME=snipeit
DB_PASSWORD=password
DB_PREFIX=null
DB_DUMP_PATH='/usr/bin'

完成后保存并关闭文件。

接下来,使用以下命令提供适当的所有权和文件权限:

sudo chown -R www-data:www-data storage public/uploads
sudo chmod -R 755 storage public/uploads

为Snipe-IT配置Apache

接下来,您将需要为Snipe-IT创建一个Apache虚拟主机指令。 您可以通过在/etc/apache2/sites-available目录中创建snipeit.conf文件来完成此操作:

sudo nano /etc/apache2/sites-available/snipeit.conf

添加以下行:

<VirtualHost *:80>
ServerAdmin webmaster@example.com
<Directory /var/www/snipe-it/public>
        Require all granted
        AllowOverride All
   </Directory>
    DocumentRoot /var/www/snipe-it/public
    ServerName example.com
        ErrorLog /var/log/apache2/snipeIT.error.log
        CustomLog /var/log/apache2/access.log combined
</VirtualHost>

完成后保存并关闭文件。 然后,使用以下命令启用虚拟主机:

sudo a2ensite snipeit.conf

接下来,使用以下命令启用PHP mcrypt,mbstring模块和Apache重写模块:

sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo a2enmod rewrite

最后,重新启动Apache Web服务器以应用所有更改:

sudo systemctl restart apache2

配置防火墙

默认情况下,Snipe-IT在端口80上运行,因此您需要通过防火墙允许端口80。 默认情况下,UFW防火墙没有安装在Debian 9中,所以您需要先安装它。 您可以通过运行以下命令来安装它:

sudo apt-get install ufw -y

一旦安装了UFW,使用以下命令启动它在启动时启动:

sudo ufw enable

接下来,使用以下命令允许端口80:

sudo ufw allow 80

接下来,使用以下命令重新加载UFW防火墙规则:

sudo ufw reload

访问Snipe-IT

现在已经安装并配置了所有东西,现在是时候访问Snipe-IT Web界面了。

打开您的网络浏览器并输入http://example.com网址,您将被重定向到以下页面:

Snipe-IT检查系统

上面的页面将进行系统检查,以确保您的配置看起来正确。 接下来,点击创建数据库表按钮,你会看到以下页面:

创建数据库表

在这里,点击创建用户页面,你会看到以下页面:

创建用户

在这里,提供您的网站名称,域名,管理员用户名和密码,然后点击保存用户按钮,您应该看到如下所示的Snipe-IT默认仪表板:

鹬 -  IT仪表板

结论

在上面的教程中,我们学会了在Debian 9服务器上安装Snipe-IT。 我们也学会了通过网络界面配置Snipe-IT。我希望您现在有足够的知识在您的生产环境中部署Snipe-IT。 有关更多信息,请参阅Snipe-IT 文档页面


分享按钮