如何在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默认仪表板:
结论
在上面的教程中,我们学会了在Debian 9服务器上安装Snipe-IT。 我们也学会了通过网络界面配置Snipe-IT。我希望您现在有足够的知识在您的生产环境中部署Snipe-IT。 有关更多信息,请参阅Snipe-IT 文档页面 。