如何在 Debian 9 上安装 Snipe-IT 资产管理软件
在此页
- 要求
- 开始
- 安装 LAMP 服务器
- 安装和配置 MariaDB
- 安装 Snipe-IT
- 为 Snipe-IT 配置 Apache
- 配置防火墙
- 访问 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 权限的非根用户。
入门
在安装任何包之前,建议使用最新版本更新系统包。您可以通过运行以下命令来执行此操作:
sudo apt-get update -y
sudo apt-get upgrade -y
接下来,重新启动系统以应用所有更新。然后使用以下命令安装其他所需的包:
sudo apt-get install git curl unzip wget -y
安装所有软件包后,您可以继续下一步。
安装 LAMP 服务器
Snipe-IT 在 Apache 网络服务器上运行,因此您需要在您的系统上安装 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 dirmngr -y
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8
接下来,使用以下命令添加 MariaDB 存储库:
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.hosteurope.de/mirror/mariadb.org/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 enable 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
<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 通过防火墙。默认情况下,Debian 9 中未安装 UFW 防火墙,因此您需要先安装它。您只需运行以下命令即可安装它:
sudo apt-get install ufw -y
安装 UFW 后,使用以下命令使其在启动时启动:
sudo ufw enable
接下来,使用以下命令允许端口 80:
sudo ufw allow 80
接下来,使用以下命令重新加载 UFW 防火墙规则:
sudo ufw reload
访问 Snipe-IT
现在一切都已安装和配置,是时候访问 Snipe-IT 网络界面了。
打开您的网络浏览器并输入 http://example.com URL,您将被重定向到以下页面:

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

在这里,点击创建用户页面,您应该看到以下页面:

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

结论
在上面的教程中,我们学习了在 Debian 9 服务器上安装 Snipe-IT。我们还学习了通过 Web 界面配置 Snipe-IT。我希望您现在有足够的知识在您的生产环境中部署 Snipe-IT。有关更多信息,您可以参考 Snipe-IT 文档页面。