序章
IT業界では、資産管理は、資産の取得、保守、保管、廃棄を含むライフサイクル全体にわたって資産を追跡するプロセスです。 特定のアセットはさまざまですが、焦点は通常、ハードウェアまたはソフトウェアの個々の部分、ライセンス、およびデジタルアートワークなどのファイルベースのリソースにあります。
Snipe-IT — IT資産管理用に特別に設計された無料のオープンソースアプリケーション—は、ライセンス、アクセサリ、消耗品、およびコンポーネントを追跡するためのWebベースのインターフェイスを提供します。 Snipe-ITには、構成可能なグループレベルのアクセス許可、カスタマイズ可能なレポート機能、およびコマンドラインまたはサードパーティアプリケーションからSnipe-ITに接続、管理、および拡張するためのJSONRESTAPIを備えたユーザーベースのアカウントが含まれています。
このチュートリアルでは、Snipe-ITをダウンロード、インストール、および構成してから、Snipe-ITに初めてログインするための管理者ユーザーアカウントを作成します。
前提条件
このチュートリアルを完了するには、次のものが必要です。
- このUbuntu16.04初期サーバーセットアップチュートリアルに従ってセットアップされた1つのUbuntu16.04サーバー。これには、sudo非rootユーザーとファイアウォールが含まれます。
- このLEMPインストールガイドに従って構成されたLEMPスタック。
- サーバー用に設定された次のDNSレコード。 それらを追加する方法の詳細については、このホスト名チュートリアルに従うことができます。 サーバーのパブリックIPアドレスを指すexample.comのAレコード。 サーバーのパブリックIPアドレスを指すwww.example.comのAレコード。
- この設定に従って、SSL証明書で保護されたNginxは、Ubuntu16.04チュートリアルでNginxサーバーブロックを使用して暗号化します。 Nginxセットアップチュートリアルのステップ4でオプション2
Redirect
を選択してください。これにより、Snipe-ITインストールでHTTPSへの自動リダイレクトが提供されます。
ステップ1—サーバーの準備
Snipe-ITをダウンロードする前に、いくつかの追加のPHPライブラリをインストールし、MySQLデータベースとデータベースユーザーSnipe-ITがデータの保存に使用するデータベースを作成してサーバーを準備します。
Snipe-ITはLaravelPHPフレームワークに基づいて構築されているため、追加のPHPライブラリのインストールと管理にはComposer依存関係マネージャーが必要です。
apt-get
を使用して、composer
およびunzip
をインストールします。これは、Zipアーカイブからファイルを抽出するために必要なユーティリティです。
- sudo apt-get install composer unzip
次に、Snipe-ITが依存する追加のPHPモジュールをインストールします。
- sudo apt-get install php7.0-mbstring php7.0-xml php7.0-mcrypt php7.0-gd php7.0-zip php7.0-curl php7.0-bcmath
追加のパッケージはPHPに以下を提供します。
- php7.0-mbstring-256文字で表現できない言語を処理するためのマルチバイト文字列モジュール
- php7.0-xml-ドキュメントオブジェクトモデル(DOM) APIを介してXMLドキュメントを操作するためのDOMモジュール、XMLをに変換するためのSimpleXMLモジュールプロパティセレクターとアレイイテレーターで操作できるオブジェクト、 Web Distributed Data Exchange(WDDX)形式のデータを交換するための WDDXモジュール、XMLパーサーモジュール[X384X ]はXMLドキュメントを解析するためのものであり、XSLモジュールはXSLT変換を実行するためのものです
- php7.0-mcrypt-ブロック暗号アルゴリズムを操作するためのMcryptモジュール
- php7.0-gd-画像処理用のGDモジュール
- php7.0-zip-Zip圧縮されたアーカイブを操作するためのZipモジュール
- php7.0-curl-さまざまなプロトコルを介してサーバーに接続および通信するためのクライアントURLライブラリモジュール
- php7.0-bcmath- BCMath任意精度数学モジュールは、小数点以下2147483647までの任意のサイズと精度の数値を処理します。
次に、コマンドラインmysql
ユーティリティを使用して、rootデータベースユーザーとしてMySQLにログインします。
- mysql -u root -p
ローカルホスト127.0.0.1
にsnipeitという名前の新しいMySQLユーザーを作成し、ユーザーにパスワードを割り当てます。
- create user snipeit@127.0.0.1 identified by 'snipeit_user_password';
次に、Snipe-ITがデータを保存するsnipeitdb
という名前のデータベースを作成します。
- create database snipeitdb;
snipeitdb
データベース内のすべてのテーブルに対するすべての権限をsnipeitユーザーに付与して、Snipe-ITがデータベースに対して必要なアクションを実行する権限を持つようにします。
- grant all on snipeitdb.* to snipeit@127.0.0.1;
最後に、flush privileges
コマンドを使用して許可テーブルをリロードして変更をアクティブにし、ユーティリティを終了します。
- flush privileges;
- exit;
これで、Snipe-ITが正しく機能するために必要な追加のPHPライブラリとMySQLデータベースがサーバーに追加されたので、Snipe-IT自体をダウンロードして構成しましょう。
ステップ2—Snipe-ITのダウンロードと構成
公式インストール手順に従って、Gitを使用してSnipe-ITの最新バージョンをダウンロードします。 Gitは既存のディレクトリが空の場合にのみクローンを作成するため、ls
を使用して、前提条件でSnipe-ITのNginxサーバーブロック用に構成したディレクトリの内容を表示します。
- ls /var/www/example.com/html/
ディレクトリが空でない場合は、基本的なLinuxナビゲーションおよびファイル管理コマンドを使用して、今すぐクリアしてください。 mv
はコンテンツを別の場所に移動し、rm
はそれらを完全に削除します。
ディレクトリが空になったら、GitHubの公式リポジトリからSnipe-ITをダウンロードします。
- git clone https://github.com/snipe/snipe-it /var/www/example.com/html/
出力は、クローンを作成している場所を確認し、Gitがコピーする予定のオブジェクトの数や、実際にコピーした数など、プロセスのリアルタイムレポートを提供します。
Output from git cloneCloning into '/var/www/example.com/html/'...
remote: Counting objects: 70975, done.
remote: Compressing objects: 100% (62/62), done.
remote: Total 70975 (delta 20), reused 37 (delta 15), pack-reused 70897
Receiving objects: 100% (70975/70975), 67.04 MiB | 14.35 MiB/s, done.
Resolving deltas: 100% (44264/44264), done.
Checking connectivity... done.
これでSnipe-ITの完全なコピーができましたが、インストールを開始する前に、Nginxがstorage
、public/uploads
、およびbootstrap/cache
ディレクトリにアクセスできるようにする必要があります。 Snipe-ITがキャッシュ、ログ、アップロードされたファイルを書き込む場所です。
インストールディレクトリに移動します。
- cd /var/www/example.com/html/
chown
を-R
オプションとともに使用して、3つのディレクトリすべてでユーザーとグループの所有権をwww-data
— Nginxのユーザーとグループ—に再帰的に変更します。
- sudo chown -R www-data:www-data storage
- sudo chown -R www-data:www-data public/uploads
- sudo chown -R www-data:www-data bootstrap/cache
次に、chmod
と-R
フラグを使用して、これらのディレクトリに再帰的にアクセス許可を設定し、所有者、読み取り、実行可能ファイルによって読み取り、書き込み、実行可能にします。彼らのグループによって、そして世界によって読み取りおよび実行可能。
- sudo chmod -R 755 storage
- sudo chmod -R 755 public/uploads
- sudo chmod -R 755 bootstrap/cache
Nginxにファイルとディレクトリのアクセス許可が正しく設定されたら、composer install
を実行する準備が整います。これにより、Snipe-ITのcomposer.json
ファイル内の追加の依存関係のリストが読み取られ、それらが解決されて[ X214X]