Snipe-ITは、ライセンス、アクセサリ、消耗品、およびコンポーネントの追跡に使用できる、無料のオープンソースIT資産管理Webアプリケーションです。 PHP言語で記述されており、MySQLを使用してデータを保存します。これは、Linux、Windows、Mac OS Xなどのすべての主要なオペレーティングシステムで動作するクロスプラットフォームアプリケーションです。ActiveDirectory、LDAPと簡単に統合でき、Google認証システムによる2要素認証をサポートします。
このチュートリアルでは、Debian9サーバーにSnipe-ITをインストールする方法を学習します。
- Debian9を実行しているサーバー。
- sudo権限を持つroot以外のユーザー。
パッケージをインストールする前に、システムパッケージを最新バージョンに更新することをお勧めします。これを行うには、次のコマンドを実行します。
sudo apt-get update -y
sudo apt-get upgrade -y
次に、システムを再起動して、すべての更新を適用します。次に、次のコマンドを使用して他の必要なパッケージをインストールします。
sudo apt-get install git curl unzip wget -y
すべてのパッケージがインストールされたら、次のステップに進むことができます。
LAMPサーバーをインストールする
Snipe-ITはApacheWebサーバーで実行されるため、システムに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の最新バージョンはDebian9リポジトリで利用できません。そのため、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シェルにログインします。
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
次のコマンドを使用して、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.
次に、MySQLにSnipe-ITのデフォルトのデータベーススキーマを設定する必要があります。これを行うには、次のコマンドを実行します。
sudo php artisan migrate
移行を実行することを確認するメッセージが表示されたら、「はい」と入力します。
************************************** * 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仮想ホストディレクティブを作成する必要があります。これを行うには、snipeit.conf
を作成します /etc/apache2/sites-available
内のファイル ディレクトリ:
sudo nano /etc/apache2/sites-available/snipeit.conf
次の行を追加します:
<VirtualHost *:80> ServerAdmin [email protected] <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をインストールしたら、次のコマンドを使用して起動時にUFWを起動できるようにします。
sudo ufw enable
次に、次のコマンドを使用してポート80を許可します。
sudo ufw allow 80
次に、次のコマンドを使用してUFWファイアウォールルールをリロードします。
sudo ufw reload
これですべてがインストールおよび構成されました。次はSnipe-ITWebインターフェイスにアクセスします。
ウェブブラウザを開き、http://example.comのURLを入力すると、次のページにリダイレクトされます。
上記のページでは、システムチェックを実行して、構成が正しく表示されていることを確認します。次に、データベーステーブルの作成をクリックします ボタンをクリックすると、次のページが表示されます:
ここで、ユーザーの作成をクリックします ページには、次のページが表示されます:
ここで、サイト名、ドメイン名、管理者ユーザー名、パスワードを入力し、ユーザーの保存をクリックします。 ボタンをクリックすると、Snipe-ITのデフォルトのダッシュボードが次のように表示されます。
上記のチュートリアルでは、Debian9サーバーにSnipe-ITをインストールする方法を学びました。また、Webインターフェイスを介してSnipe-ITを構成する方法も学びました。これで、Snipe-ITを実稼働環境にデプロイするための十分な知識が得られたと思います。詳細については、Snipe-ITドキュメントページを参照してください。